mlua 0.9.2

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| {
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
   |
10 |        let lua = Lua::new();
   |            --- binding `lua` declared here
11 |
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