Builds RustQ AST items from defrust metadata and explicit quoted bodies.
Summary
Functions
Returns one generated defrust function AST by name, raising when absent.
Returns all generated defrust function AST nodes from a compiled module.
Returns selected generated defrust function AST nodes.
Builds a structural invocation of a generated Rust item macro.
Returns one generated defrustmacro item AST by name, raising when absent.
Returns selected generated defrustmacro item AST nodes.
Builds Rust struct items for selected map-backed @type declarations.
Functions
@spec function!(module(), atom() | String.t()) :: RustQ.Rust.AST.Function.t()
Returns one generated defrust function AST by name, raising when absent.
@spec functions(module()) :: [RustQ.Rust.AST.Function.t()]
Returns all generated defrust function AST nodes from a compiled module.
Raises ArgumentError when the module does not contain compiled defrust
metadata.
@spec functions!(module(), [atom() | String.t()]) :: [RustQ.Rust.AST.Function.t()]
Returns selected generated defrust function AST nodes.
@spec macro_call!(module(), atom() | String.t(), keyword()) :: RustQ.Rust.AST.MacroItemCall.t()
Builds a structural invocation of a generated Rust item macro.
@spec macro_item!(module(), atom() | String.t()) :: RustQ.Rust.AST.MacroItem.t()
Returns one generated defrustmacro item AST by name, raising when absent.
@spec macro_items!(module(), [atom() | String.t()]) :: [RustQ.Rust.AST.MacroItem.t()]
Returns selected generated defrustmacro item AST nodes.
@spec struct_type_items(module(), [atom()], keyword()) :: [RustQ.Rust.AST.Struct.t()]
Builds Rust struct items for selected map-backed @type declarations.
Use :derive, :attrs, and :vis to adapt the structural type item at a
boundary such as Rustler encoding without duplicating its fields.