error[E0277]: the type `UnsafeCell<()>` may contain interior mutability and a reference may not be safely transferrable across a catch_unwind boundary --> $DIR/lua_norefunwindsafe.rs:7:5 | 7 | catch_unwind(|| lua.create_table().unwrap()); | ^^^^^^^^^^^^ `UnsafeCell<()>` may contain interior mutability and a reference may not be safely transferrable across a catch_unwind boundary | ::: $RUST/std/src/panic.rs | | pub fn catch_unwind R + UnwindSafe, R>(f: F) -> Result { | ---------- required by this bound in `catch_unwind` | = help: within `Lua`, the trait `RefUnwindSafe` is not implemented for `UnsafeCell<()>` = note: required because it appears within the type `PhantomData>` = note: required because it appears within the type `Lua` = note: required because of the requirements on the impl of `UnwindSafe` for `&Lua` = note: required because it appears within the type `[closure@$DIR/tests/compile/lua_norefunwindsafe.rs:7:18: 7:48]` error[E0277]: the type `UnsafeCell<(dyn for<'r, 's> FnMut(&'r Lua, mlua::Debug<'s>) -> Result<(), LuaError> + 'static)>` may contain interior mutability and a reference may not be safely transferrable across a catch_unwind boundary --> $DIR/lua_norefunwindsafe.rs:7:5 | 7 | catch_unwind(|| lua.create_table().unwrap()); | ^^^^^^^^^^^^ `UnsafeCell<(dyn for<'r, 's> FnMut(&'r Lua, mlua::Debug<'s>) -> Result<(), LuaError> + 'static)>` may contain interior mutability and a reference may not be safely transferrable across a catch_unwind boundary | ::: $RUST/std/src/panic.rs | | pub fn catch_unwind R + UnwindSafe, R>(f: F) -> Result { | ---------- required by this bound in `catch_unwind` | = help: within `Lua`, the trait `RefUnwindSafe` is not implemented for `UnsafeCell<(dyn for<'r, 's> FnMut(&'r Lua, mlua::Debug<'s>) -> Result<(), LuaError> + 'static)>` = note: required because it appears within the type `RefCell<(dyn for<'r, 's> FnMut(&'r Lua, mlua::Debug<'s>) -> Result<(), LuaError> + 'static)>` = note: required because it appears within the type `alloc::sync::ArcInner FnMut(&'r Lua, mlua::Debug<'s>) -> Result<(), LuaError> + 'static)>>` = note: required because it appears within the type `PhantomData FnMut(&'r Lua, mlua::Debug<'s>) -> Result<(), LuaError> + 'static)>>>` = note: required because it appears within the type `Arc FnMut(&'r Lua, mlua::Debug<'s>) -> Result<(), LuaError> + 'static)>>` = note: required because it appears within the type `Option FnMut(&'r Lua, mlua::Debug<'s>) -> Result<(), LuaError> + 'static)>>>` = note: required because it appears within the type `mlua::lua::ExtraData` = note: required because it appears within the type `*mut mlua::lua::ExtraData` = note: required because it appears within the type `Lua` = note: required because of the requirements on the impl of `UnwindSafe` for `&Lua` = note: required because it appears within the type `[closure@$DIR/tests/compile/lua_norefunwindsafe.rs:7:18: 7:48]` error[E0277]: the type `UnsafeCell` may contain interior mutability and a reference may not be safely transferrable across a catch_unwind boundary --> $DIR/lua_norefunwindsafe.rs:7:5 | 7 | catch_unwind(|| lua.create_table().unwrap()); | ^^^^^^^^^^^^ `UnsafeCell` may contain interior mutability and a reference may not be safely transferrable across a catch_unwind boundary | ::: $RUST/std/src/panic.rs | | pub fn catch_unwind R + UnwindSafe, R>(f: F) -> Result { | ---------- required by this bound in `catch_unwind` | = help: within `Lua`, the trait `RefUnwindSafe` is not implemented for `UnsafeCell` = note: required because it appears within the type `Cell` = note: required because it appears within the type `RefCell<(dyn for<'r, 's> FnMut(&'r Lua, mlua::Debug<'s>) -> Result<(), LuaError> + 'static)>` = note: required because it appears within the type `alloc::sync::ArcInner FnMut(&'r Lua, mlua::Debug<'s>) -> Result<(), LuaError> + 'static)>>` = note: required because it appears within the type `PhantomData FnMut(&'r Lua, mlua::Debug<'s>) -> Result<(), LuaError> + 'static)>>>` = note: required because it appears within the type `Arc FnMut(&'r Lua, mlua::Debug<'s>) -> Result<(), LuaError> + 'static)>>` = note: required because it appears within the type `Option FnMut(&'r Lua, mlua::Debug<'s>) -> Result<(), LuaError> + 'static)>>>` = note: required because it appears within the type `mlua::lua::ExtraData` = note: required because it appears within the type `*mut mlua::lua::ExtraData` = note: required because it appears within the type `Lua` = note: required because of the requirements on the impl of `UnwindSafe` for `&Lua` = note: required because it appears within the type `[closure@$DIR/tests/compile/lua_norefunwindsafe.rs:7:18: 7:48]`