luau 0.732.0

Safe lifetime-bound Rust embedding API for the Luau runtime
1
2
3
4
5
6
7
8
9
10
11
12
13
14
use luau::{Lua, Result, Table};

fn main() -> Result<()> {
    let lua = Lua::new()?;
    let mut escaped: Option<Table<'_>> = None;

    lua.scope(|scope| {
        let callback = scope.create_function_mut(|_, mut arguments| {
            escaped = Some(arguments.next::<Table<'_>>()?);
            arguments.finish(())
        })?;
        callback.call::<()>(lua.create_table()?)
    })
}