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
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
use mlua::{UserData, UserDataMethods};

fn main() {
    #[derive(Clone)]
    struct MyUserData<'a>(&'a i64);

    impl UserData for MyUserData<'_> {
        fn add_methods<M: UserDataMethods<Self>>(methods: &mut M) {
            methods.add_async_method("print", |_, data, ()| async move {
                println!("{}", data.0);
                Ok(())
            });
        }
    }
}