Remove expected field from FromLuaConversionError

This commit is contained in:
Jonas Schievink 2017-08-02 13:56:28 +02:00
parent a1626399c4
commit a43bfd8f63
3 changed files with 11 additions and 34 deletions

View File

@ -42,7 +42,6 @@ impl<'lua> FromLua<'lua> for Table<'lua> {
_ => Err(Error::FromLuaConversionError { _ => Err(Error::FromLuaConversionError {
from: value.type_name(), from: value.type_name(),
to: "table", to: "table",
expected: None,
message: None, message: None,
}), }),
} }
@ -62,7 +61,6 @@ impl<'lua> FromLua<'lua> for Function<'lua> {
_ => Err(Error::FromLuaConversionError { _ => Err(Error::FromLuaConversionError {
from: value.type_name(), from: value.type_name(),
to: "function", to: "function",
expected: None,
message: None, message: None,
}), }),
} }
@ -82,7 +80,6 @@ impl<'lua> FromLua<'lua> for Thread<'lua> {
_ => Err(Error::FromLuaConversionError { _ => Err(Error::FromLuaConversionError {
from: value.type_name(), from: value.type_name(),
to: "thread", to: "thread",
expected: None,
message: None, message: None,
}), }),
} }
@ -102,7 +99,6 @@ impl<'lua> FromLua<'lua> for AnyUserData<'lua> {
_ => Err(Error::FromLuaConversionError { _ => Err(Error::FromLuaConversionError {
from: value.type_name(), from: value.type_name(),
to: "userdata", to: "userdata",
expected: None,
message: None, message: None,
}), }),
} }
@ -122,7 +118,6 @@ impl<'lua, T: UserData + Clone> FromLua<'lua> for T {
_ => Err(Error::FromLuaConversionError { _ => Err(Error::FromLuaConversionError {
from: value.type_name(), from: value.type_name(),
to: "userdata", to: "userdata",
expected: None,
message: None, message: None,
}), }),
} }
@ -177,7 +172,6 @@ impl<'lua> FromLua<'lua> for LightUserData {
_ => Err(Error::FromLuaConversionError { _ => Err(Error::FromLuaConversionError {
from: value.type_name(), from: value.type_name(),
to: "light userdata", to: "light userdata",
expected: None,
message: None, message: None,
}), }),
} }
@ -262,8 +256,7 @@ impl<'lua, T: FromLua<'lua>> FromLua<'lua> for Vec<T> {
Err(Error::FromLuaConversionError { Err(Error::FromLuaConversionError {
from: value.type_name(), from: value.type_name(),
to: "Vec", to: "Vec",
expected: Some("table"), message: Some("expected table".to_string()),
message: None,
}) })
} }
} }
@ -283,8 +276,7 @@ impl<'lua, K: Eq + Hash + FromLua<'lua>, V: FromLua<'lua>> FromLua<'lua> for Has
Err(Error::FromLuaConversionError { Err(Error::FromLuaConversionError {
from: value.type_name(), from: value.type_name(),
to: "HashMap", to: "HashMap",
expected: Some("table"), message: Some("expected table".to_string()),
message: None,
}) })
} }
} }
@ -304,8 +296,7 @@ impl<'lua, K: Ord + FromLua<'lua>, V: FromLua<'lua>> FromLua<'lua> for BTreeMap<
Err(Error::FromLuaConversionError { Err(Error::FromLuaConversionError {
from: value.type_name(), from: value.type_name(),
to: "BTreeMap", to: "BTreeMap",
expected: Some("table"), message: Some("expected table".to_string()),
message: None,
}) })
} }
} }

View File

@ -42,11 +42,6 @@ pub enum Error {
from: &'static str, from: &'static str,
/// Name of the Rust type that could not be created. /// Name of the Rust type that could not be created.
to: &'static str, 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. /// A string containing more detailed error information.
message: Option<String>, message: Option<String>,
}, },
@ -121,14 +116,11 @@ impl fmt::Display for Error {
Some(ref message) => write!(fmt, " ({})", message), 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)?; write!(fmt, "error converting Lua {} to {}", from, to)?;
match (expected.as_ref(), message.as_ref()) { match *message {
(None, None) => Ok(()), None => Ok(()),
(None, Some(ref message)) => write!(fmt, " ({})", message), 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),
} }
} }
Error::CoroutineInactive => write!(fmt, "cannot resume inactive coroutine"), Error::CoroutineInactive => write!(fmt, "cannot resume inactive coroutine"),

View File

@ -211,7 +211,6 @@ impl<'lua> String<'lua> {
str::from_utf8(self.as_bytes()).map_err(|e| Error::FromLuaConversionError { str::from_utf8(self.as_bytes()).map_err(|e| Error::FromLuaConversionError {
from: "string", from: "string",
to: "&str", to: "&str",
expected: Some("utf-8 string"),
message: Some(e.to_string()), message: Some(e.to_string()),
}) })
} }
@ -1109,8 +1108,7 @@ impl<'lua, T: UserData> UserDataMethods<'lua, T> {
} else { } else {
Err(Error::FromLuaConversionError { Err(Error::FromLuaConversionError {
from: "missing argument", from: "missing argument",
to: "UserData", to: "userdata",
expected: Some("userdata"),
message: None, message: None,
}) })
}) })
@ -1130,8 +1128,7 @@ impl<'lua, T: UserData> UserDataMethods<'lua, T> {
} else { } else {
Err(Error::FromLuaConversionError { Err(Error::FromLuaConversionError {
from: "missing argument", from: "missing argument",
to: "UserData", to: "userdata",
expected: Some("userdata"),
message: None, message: None,
}) })
}) })
@ -1643,8 +1640,7 @@ impl Lua {
Err(Error::FromLuaConversionError { Err(Error::FromLuaConversionError {
from: ty, from: ty,
to: "String", to: "String",
expected: Some("string or number"), message: Some("expected string or number".to_string()),
message: None,
}) })
} else { } else {
Ok(String(self.pop_ref(self.state))) Ok(String(self.pop_ref(self.state)))
@ -1673,7 +1669,6 @@ impl Lua {
Err(Error::FromLuaConversionError { Err(Error::FromLuaConversionError {
from: ty, from: ty,
to: "integer", to: "integer",
expected: None,
message: None, message: None,
}) })
} else { } else {
@ -1703,8 +1698,7 @@ impl Lua {
Err(Error::FromLuaConversionError { Err(Error::FromLuaConversionError {
from: ty, from: ty,
to: "number", to: "number",
expected: Some("number or string coercible to number"), message: Some("number or string coercible to number".to_string()),
message: None,
}) })
} else { } else {
Ok(n) Ok(n)