diff --git a/src/conversion.rs b/src/conversion.rs index 6fac7e6..bd5cb76 100644 --- a/src/conversion.rs +++ b/src/conversion.rs @@ -103,10 +103,10 @@ impl<'lua, T: UserData> ToLua<'lua> for T { } } -impl<'lua, T: UserData + Copy> FromLua<'lua> for T { +impl<'lua, T: UserData + Clone> FromLua<'lua> for T { fn from_lua(value: Value<'lua>, _: &'lua Lua) -> Result { match value { - Value::UserData(ud) => Ok(*ud.borrow::()?), + Value::UserData(ud) => Ok(ud.borrow::()?.clone()), _ => Err(Error::FromLuaConversionError( "cannot convert lua value to userdata".to_owned(), )),