mlua 0.8.10

High level bindings to Lua 5.4/5.3/5.2/5.1 (including LuaJIT) and Roblox Luau with async/await features and support of writing native Lua modules in Rust.
Documentation
error[E0597]: `lua` does not live long enough
  --> tests/compile/static_callback_args.rs:12:5
   |
12 |  /     lua.create_function(|_, table: Table| {
13 |  |         BAD_TIME.with(|bt| {
   |  |_________-
14 | ||             *bt.borrow_mut() = Some(table);
15 | ||         });
   | ||__________- argument requires that `lua` is borrowed for `'static`
16 |  |         Ok(())
17 |  |     })?
   |  |______^ borrowed value does not live long enough
...
32 |    }
   |    - `lua` dropped here while still borrowed

error[E0505]: cannot move out of `lua` because it is borrowed
  --> tests/compile/static_callback_args.rs:22:10
   |
12 |  /     lua.create_function(|_, table: Table| {
13 |  |         BAD_TIME.with(|bt| {
   |  |_________-
14 | ||             *bt.borrow_mut() = Some(table);
15 | ||         });
   | ||__________- argument requires that `lua` is borrowed for `'static`
16 |  |         Ok(())
17 |  |     })?
   |  |______- borrow of `lua` occurs here
...
22 |        drop(lua);
   |             ^^^ move out of `lua` occurs here