25 lines
1.6 KiB
Plaintext
25 lines
1.6 KiB
Plaintext
error[E0277]: the type `UnsafeCell<mlua::lua::LuaInner>` may contain interior mutability and a reference may not be safely transferrable across a catch_unwind boundary
|
|
--> tests/compile/ref_nounwindsafe.rs:8:5
|
|
|
|
|
8 | catch_unwind(move || table.set("a", "b").unwrap());
|
|
| ^^^^^^^^^^^^ `UnsafeCell<mlua::lua::LuaInner>` may contain interior mutability and a reference may not be safely transferrable across a catch_unwind boundary
|
|
|
|
|
= help: within `Lua`, the trait `RefUnwindSafe` is not implemented for `UnsafeCell<mlua::lua::LuaInner>`
|
|
= note: required because it appears within the type `alloc::sync::ArcInner<UnsafeCell<mlua::lua::LuaInner>>`
|
|
= note: required because it appears within the type `PhantomData<alloc::sync::ArcInner<UnsafeCell<mlua::lua::LuaInner>>>`
|
|
= note: required because it appears within the type `Arc<UnsafeCell<mlua::lua::LuaInner>>`
|
|
= 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 `mlua::types::LuaRef<'_>`
|
|
= note: required because it appears within the type `LuaTable<'_>`
|
|
note: required because it's used within this closure
|
|
--> tests/compile/ref_nounwindsafe.rs:8:18
|
|
|
|
|
8 | catch_unwind(move || table.set("a", "b").unwrap());
|
|
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
note: required by a bound in `catch_unwind`
|
|
--> $RUST/std/src/panic.rs
|
|
|
|
|
| pub fn catch_unwind<F: FnOnce() -> R + UnwindSafe, R>(f: F) -> Result<R> {
|
|
| ^^^^^^^^^^ required by this bound in `catch_unwind`
|