mlua 0.11.4

High level bindings to Lua 5.4/5.3/5.2/5.1 (including LuaJIT) and Luau with async/await features and support of writing native Lua modules in Rust.
Documentation
use mlua::Lua;

struct Test {
    field: i32,
}

fn main() {
    let lua = Lua::new();
    lua.scope(|scope| {
        let f = {
            let mut test = Test { field: 0 };

            scope.create_function_mut(|_, ()| {
                test.field = 42;
                //~^ error: `test` does not live long enough
                Ok(())
            })?
        };

        f.call::<()>(())
    });
}