mlua/tests/compile_fail/scope_userdata_borrow.rs

21 lines
513 B
Rust
Raw Normal View History

2019-10-16 09:59:40 -04:00
use mlua::{Lua, UserData, Result};
struct MyUserData<'a>(&'a i32);
impl<'a> UserData for MyUserData<'a> {}
fn main() {
// Should not allow userdata borrow to outlive lifetime of AnyUserData handle
let igood = 1;
let lua = Lua::new();
lua.scope(|scope| -> Result<()> {
let _ugood = scope.create_nonstatic_userdata(MyUserData(&igood))?;
let _ubad = {
let ibad = 42;
scope.create_nonstatic_userdata(MyUserData(&ibad))?;
};
Ok(())
});
}