diff --git a/src/conversion.rs b/src/conversion.rs index 0c9574b..5a1a1bf 100644 --- a/src/conversion.rs +++ b/src/conversion.rs @@ -42,7 +42,6 @@ impl<'lua> FromLua<'lua> for Table<'lua> { _ => Err(Error::FromLuaConversionError { from: value.type_name(), to: "table", - expected: None, message: None, }), } @@ -62,7 +61,6 @@ impl<'lua> FromLua<'lua> for Function<'lua> { _ => Err(Error::FromLuaConversionError { from: value.type_name(), to: "function", - expected: None, message: None, }), } @@ -82,7 +80,6 @@ impl<'lua> FromLua<'lua> for Thread<'lua> { _ => Err(Error::FromLuaConversionError { from: value.type_name(), to: "thread", - expected: None, message: None, }), } @@ -102,7 +99,6 @@ impl<'lua> FromLua<'lua> for AnyUserData<'lua> { _ => Err(Error::FromLuaConversionError { from: value.type_name(), to: "userdata", - expected: None, message: None, }), } @@ -122,7 +118,6 @@ impl<'lua, T: UserData + Clone> FromLua<'lua> for T { _ => Err(Error::FromLuaConversionError { from: value.type_name(), to: "userdata", - expected: None, message: None, }), } @@ -177,7 +172,6 @@ impl<'lua> FromLua<'lua> for LightUserData { _ => Err(Error::FromLuaConversionError { from: value.type_name(), to: "light userdata", - expected: None, message: None, }), } @@ -262,8 +256,7 @@ impl<'lua, T: FromLua<'lua>> FromLua<'lua> for Vec { Err(Error::FromLuaConversionError { from: value.type_name(), to: "Vec", - expected: Some("table"), - message: None, + message: Some("expected table".to_string()), }) } } @@ -283,8 +276,7 @@ impl<'lua, K: Eq + Hash + FromLua<'lua>, V: FromLua<'lua>> FromLua<'lua> for Has Err(Error::FromLuaConversionError { from: value.type_name(), to: "HashMap", - expected: Some("table"), - message: None, + message: Some("expected table".to_string()), }) } } @@ -304,8 +296,7 @@ impl<'lua, K: Ord + FromLua<'lua>, V: FromLua<'lua>> FromLua<'lua> for BTreeMap< Err(Error::FromLuaConversionError { from: value.type_name(), to: "BTreeMap", - expected: Some("table"), - message: None, + message: Some("expected table".to_string()), }) } } diff --git a/src/error.rs b/src/error.rs index 1509651..73cfd3f 100644 --- a/src/error.rs +++ b/src/error.rs @@ -42,11 +42,6 @@ pub enum Error { from: &'static str, /// Name of the Rust type that could not be created. to: &'static str, - /// A string indicating the possible Lua values/types for this conversion. - /// - /// To avoid redundancy, this should only be set to `Some` when there are nontrivial rules - /// about valid conversions, since the `to` string should already hint at the problem. - expected: Option<&'static str>, /// A string containing more detailed error information. message: Option, }, @@ -121,14 +116,11 @@ impl fmt::Display for Error { Some(ref message) => write!(fmt, " ({})", message), } } - Error::FromLuaConversionError { from, to, ref expected, ref message } => { + Error::FromLuaConversionError { from, to, ref message } => { write!(fmt, "error converting Lua {} to {}", from, to)?; - match (expected.as_ref(), message.as_ref()) { - (None, None) => Ok(()), - (None, Some(ref message)) => write!(fmt, " ({})", message), - (Some(ref expected), None) => write!(fmt, " (expected {})", expected), - (Some(ref expected), Some(ref message)) => - write!(fmt, " ({}; expected {})", message, expected), + match *message { + None => Ok(()), + Some(ref message) => write!(fmt, " ({})", message), } } Error::CoroutineInactive => write!(fmt, "cannot resume inactive coroutine"), diff --git a/src/lua.rs b/src/lua.rs index 359babc..e422922 100644 --- a/src/lua.rs +++ b/src/lua.rs @@ -211,7 +211,6 @@ impl<'lua> String<'lua> { str::from_utf8(self.as_bytes()).map_err(|e| Error::FromLuaConversionError { from: "string", to: "&str", - expected: Some("utf-8 string"), message: Some(e.to_string()), }) } @@ -1109,8 +1108,7 @@ impl<'lua, T: UserData> UserDataMethods<'lua, T> { } else { Err(Error::FromLuaConversionError { from: "missing argument", - to: "UserData", - expected: Some("userdata"), + to: "userdata", message: None, }) }) @@ -1130,8 +1128,7 @@ impl<'lua, T: UserData> UserDataMethods<'lua, T> { } else { Err(Error::FromLuaConversionError { from: "missing argument", - to: "UserData", - expected: Some("userdata"), + to: "userdata", message: None, }) }) @@ -1643,8 +1640,7 @@ impl Lua { Err(Error::FromLuaConversionError { from: ty, to: "String", - expected: Some("string or number"), - message: None, + message: Some("expected string or number".to_string()), }) } else { Ok(String(self.pop_ref(self.state))) @@ -1673,7 +1669,6 @@ impl Lua { Err(Error::FromLuaConversionError { from: ty, to: "integer", - expected: None, message: None, }) } else { @@ -1703,8 +1698,7 @@ impl Lua { Err(Error::FromLuaConversionError { from: ty, to: "number", - expected: Some("number or string coercible to number"), - message: None, + message: Some("number or string coercible to number".to_string()), }) } else { Ok(n)