Merge pull request #224 from andrewrk/fix-error-trait

fix for latest rustc
This commit is contained in:
tomaka 2015-01-24 07:57:01 +01:00
commit aa92625064
3 changed files with 22 additions and 11 deletions

View file

@ -1,4 +1,4 @@
#[derive(Clone, Show, Copy)]
#[derive(Clone, Debug, Copy)]
pub enum Event {
/// The size of the window has changed.
Resized(u32, u32),
@ -38,13 +38,13 @@ pub enum Event {
pub type ScanCode = u8;
#[derive(Show, Hash, PartialEq, Eq, Clone, Copy)]
#[derive(Debug, Hash, PartialEq, Eq, Clone, Copy)]
pub enum ElementState {
Pressed,
Released,
}
#[derive(Show, Hash, PartialEq, Eq, Clone, Copy)]
#[derive(Debug, Hash, PartialEq, Eq, Clone, Copy)]
pub enum MouseButton {
LeftMouseButton,
RightMouseButton,
@ -52,7 +52,7 @@ pub enum MouseButton {
OtherMouseButton(u8),
}
#[derive(Show, Hash, PartialEq, Eq, Clone, Copy)]
#[derive(Debug, Hash, PartialEq, Eq, Clone, Copy)]
pub enum VirtualKeyCode {
/// The '1' key over the letters.
Key1,

View file

@ -67,14 +67,14 @@ mod events;
pub struct MonitorID(winimpl::MonitorID);
/// Error that can happen while creating a window or a headless renderer.
#[derive(Clone, Show, PartialEq, Eq)]
#[derive(Clone, Debug, PartialEq, Eq)]
pub enum CreationError {
OsError(String),
NotSupported,
}
impl std::error::Error for CreationError {
fn description(&self) -> &str {
impl CreationError {
fn to_string(&self) -> &str {
match self {
&CreationError::OsError(ref text) => text.as_slice(),
&CreationError::NotSupported => "Some of the requested attributes are not supported",
@ -82,8 +82,20 @@ impl std::error::Error for CreationError {
}
}
impl std::fmt::Display for CreationError {
fn fmt(&self, formatter: &mut std::fmt::Formatter) -> Result<(), std::fmt::Error> {
formatter.write_str(self.to_string())
}
}
impl std::error::Error for CreationError {
fn description(&self) -> &str {
self.to_string()
}
}
/// All APIs related to OpenGL that you can possibly get while using glutin.
#[derive(Show, Clone, Copy, PartialEq, Eq)]
#[derive(Debug, Clone, Copy, PartialEq, Eq)]
pub enum Api {
/// The classical OpenGL. Available on Windows, Linux, OS/X.
OpenGl,
@ -91,7 +103,7 @@ pub enum Api {
OpenGlEs,
}
#[derive(Show, Copy)]
#[derive(Debug, Copy)]
pub enum MouseCursor {
/// The platform-dependent default cursor.
Default,

View file

@ -519,8 +519,7 @@ impl Window {
mem::transmute(buffer.as_mut_ptr()),
buffer.len() as libc::c_int, ptr::null_mut(), ptr::null_mut());
str::from_utf8(buffer.as_slice().slice_to(count as usize))
.unwrap_or("").to_string()
str::from_utf8(&buffer.as_slice()[..count as usize]).unwrap_or("").to_string()
};
for chr in written.as_slice().chars() {