Struct rlua::RegistryKey[][src]

pub struct RegistryKey { /* fields omitted */ }

An auto generated key into the Lua registry.

This is a handle to a value stored inside the Lua registry. It is not directly usable like the Table or Function handle types, but since it doesn't hold a reference to a parent Lua and is Send + Sync + 'static, it is much more flexible and can be used in many situations where it is impossible to directly store a normal handle type. It is not automatically garbage collected on Drop, but it can be removed with Lua::remove_registry_value, and instances not manually removed can be garbage collected with Lua::expire_registry_values.

Be warned, If you place this into Lua via a UserData type or a rust callback, it is very easy to accidentally cause reference cycles that the Lua garbage collector cannot resolve. Instead of placing a RegistryKey into a UserData type, prefer instead to use UserData::set_user_value / UserData::get_user_value, and instead of moving a RegistryKey into a callback, prefer Lua::scope.

Trait Implementations

impl Debug for RegistryKey
[src]

Formats the value using the given formatter. Read more

impl Drop for RegistryKey
[src]

Executes the destructor for this type. Read more

Auto Trait Implementations

impl Send for RegistryKey

impl Sync for RegistryKey