diff --git a/lib/roblox_emulator/src/runner/enum.rs b/lib/roblox_emulator/src/runner/enum.rs index 390ab03..32a4f2f 100644 --- a/lib/roblox_emulator/src/runner/enum.rs +++ b/lib/roblox_emulator/src/runner/enum.rs @@ -47,11 +47,13 @@ pub fn set_globals(_lua:&mlua::Lua,globals:&mlua::Table)->Result<(),mlua::Error> globals.set("Enum",Enums) } -impl mlua::UserData for EnumItems<'_>{ +impl mlua::UserData for EnumItems<'static>{ fn add_fields<F:mlua::UserDataFields<Self>>(_fields:&mut F){ } fn add_methods<M:mlua::UserDataMethods<Self>>(methods:&mut M){ - methods.add_meta_function("GetEnumItems",|_,this:EnumItems|Ok(this.ed.items.iter().map(EnumItem::known_name).collect::<Vec<_>>())); + methods.add_method("GetEnumItems",|_,this:&EnumItems,()|->mlua::Result<Vec<EnumItem>>{ + Ok(this.ed.items.iter().map(EnumItem::known_name).collect()) + }); methods.add_meta_function(mlua::MetaMethod::Index,|_,(this,val):(EnumItems,mlua::String)|{ let index=&*val.to_str()?; Ok(this.ed.items.get_key_value(index).map(EnumItem::known_name))