#[enumeration]Expand description
Implements a helper function _to_mlua_variants for a Rust `enum’.
This function registers all unit variants (e.g., MyEnum::VariantA)
as static properties on the Lua UserData. This allows accessing
them in Lua as MyEnum.VariantA.
Variants with data (e.g., MyEnum::VariantB(i32)) are not
automatically registered. You should expose these by creating
a static constructor function in an #[mlua_magic::implementation]
block.
§Example:
ⓘ
#[derive(Clone, Copy)] // Required for UserData methods
#[mlua_magic::enumeration]
enum MyEnum {
VariantA,
VariantB(i32),
}
#[mlua_magic::implementation]
impl MyEnum {
// This will expose `MyEnum.new_variant_b(123)` in Lua
pub fn new_variant_b(val: i32) -> Self {
Self::VariantB(val)
}
}This is intended to be used with impl mlua::UserData.