Add dyn to trait objects

This commit is contained in:
Alex Orlenko 2019-09-26 20:14:36 +01:00
parent 47a8ac2b05
commit 14a68dd6d2
3 changed files with 4 additions and 4 deletions

View File

@ -183,7 +183,7 @@ impl fmt::Display for Error {
}
impl failure::Fail for Error {
fn cause(&self) -> Option<&failure::Fail> {
fn cause(&self) -> Option<&dyn failure::Fail> {
match *self {
Error::CallbackError { ref cause, .. } => Some(cause.as_ref()),
Error::ExternalError(ref err) => err.as_fail().cause(),

View File

@ -17,7 +17,7 @@ pub type Number = ffi::lua_Number;
pub struct LightUserData(pub *mut c_void);
pub(crate) type Callback<'lua, 'a> =
Box<Fn(&'lua Lua, MultiValue<'lua>) -> Result<MultiValue<'lua>> + 'a>;
Box<dyn Fn(&'lua Lua, MultiValue<'lua>) -> Result<MultiValue<'lua>> + 'a>;
/// An auto generated key into the Lua registry.
///

View File

@ -661,11 +661,11 @@ pub unsafe fn init_error_metatables(state: *mut ffi::lua_State) {
}
struct WrappedError(pub Error);
struct WrappedPanic(pub Option<Box<Any + Send>>);
struct WrappedPanic(pub Option<Box<dyn Any + Send>>);
// Pushes a WrappedError::Panic to the top of the stack. Uses two stack spaces and does not call
// lua_checkstack.
unsafe fn push_wrapped_panic(state: *mut ffi::lua_State, panic: Box<Any + Send>) {
unsafe fn push_wrapped_panic(state: *mut ffi::lua_State, panic: Box<dyn Any + Send>) {
gc_guard(state, || {
let ud = ffi::lua_newuserdata(state, mem::size_of::<WrappedPanic>()) as *mut WrappedPanic;
ptr::write(ud, WrappedPanic(Some(panic)))