factorio-mlua 0.8.0

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. Fork with added Factorio Lua support.
Documentation
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
use mlua::{Lua, UserData, UserDataMethods};

fn main() {
    let ref lua = Lua::new();

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

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