mlua 0.9.9

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
   |
10 |       let lua = Lua::new();
   |           --- binding `lua` declared here
11 |
12 |       lua.create_function(|_, table: Table| {
   |       ^^^ borrowed value does not live long enough
13 | /         BAD_TIME.with(|bt| {
14 | |             *bt.borrow_mut() = Some(table);
15 | |         });
   | |__________- argument requires that `lua` is borrowed for `'static`
...
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
   |
10 |       let lua = Lua::new();
   |           --- binding `lua` declared here
11 |
12 |       lua.create_function(|_, table: Table| {
   |       --- borrow of `lua` occurs here
13 | /         BAD_TIME.with(|bt| {
14 | |             *bt.borrow_mut() = Some(table);
15 | |         });
   | |__________- argument requires that `lua` is borrowed for `'static`
...
22 |       drop(lua);
   |            ^^^ move out of `lua` occurs here