Expand description
Procedural macros for luars userdata system.
Provides #[derive(LuaUserData)] to auto-generate UserDataTrait implementations
for Rust structs, exposing public fields and methods to Lua.
§Attributes
#[lua(skip)]on a field — exclude it from Lua access#[lua(readonly)]on a field — only allow get, not set#[lua(name = "...")]on a field — use a custom Lua-visible name
§Auto-detected trait impls
Use #[lua_impl(...)] on the struct to declare which Rust traits should map to Lua metamethods:
Display→__tostringPartialEq→__eqPartialOrd→__lt,__le
§Example
ⓘ
use luars_derive::LuaUserData;
#[derive(LuaUserData, PartialEq, PartialOrd)]
#[lua_impl(Display, PartialEq, PartialOrd)]
struct Point {
pub x: f64,
pub y: f64,
#[lua(skip)]
internal_id: u32,
}Derive Macros§
- LuaUser
Data - Derive
UserDataTraitfor a struct, exposing public fields to Lua.