mirror of
https://github.com/mlua-rs/mlua
synced 2026-06-08 16:05:43 +00:00
Delay "any" userdata metatable creation until first instance
This commit is contained in:
+2
-2
@@ -174,7 +174,7 @@ impl<'scope, 'env: 'scope> Scope<'scope, 'env> {
|
||||
let ud_ptr = util::push_uninit_userdata::<UserDataStorage<T>>(state, protect)?;
|
||||
|
||||
// Push the metatable and register it with no TypeId
|
||||
let mut registry = UserDataRegistry::new_unique(ud_ptr as *mut _);
|
||||
let mut registry = UserDataRegistry::new_unique(self.lua.lua(), ud_ptr as *mut _);
|
||||
T::register(&mut registry);
|
||||
self.lua.push_userdata_metatable(registry.into_raw())?;
|
||||
let mt_ptr = ffi::lua_topointer(state, -1);
|
||||
@@ -222,7 +222,7 @@ impl<'scope, 'env: 'scope> Scope<'scope, 'env> {
|
||||
let ud_ptr = util::push_uninit_userdata::<UserDataStorage<T>>(state, protect)?;
|
||||
|
||||
// Push the metatable and register it with no TypeId
|
||||
let mut registry = UserDataRegistry::new_unique(ud_ptr as *mut _);
|
||||
let mut registry = UserDataRegistry::new_unique(self.lua.lua(), ud_ptr as *mut _);
|
||||
register(&mut registry);
|
||||
self.lua.push_userdata_metatable(registry.into_raw())?;
|
||||
let mt_ptr = ffi::lua_topointer(state, -1);
|
||||
|
||||
Reference in New Issue
Block a user