Generates Rustler keyword/options structs, decoders, and option helper functions.
Summary
Functions
Whether the module's Rust file appeared or went since the module compiled.
The RustQ AST of each defrust definition.
Callable metadata for the module's definitions.
The Rust items the module generates, in order.
The module's defrustmacro definitions.
The macro_rules! items defrustmacro emits.
The Rust modules the module's defrustmods map its aliases, or itself ([]), to.
The Rust source the module generates.
The RustQ AST of each declared Rust type.
The Rust items the module's types generate.
The Rust types the module's @types declare.
A Rust function defrust generates. It runs only as Rust; calling it from Elixir
raises.
A Rust function defrust generates. It runs only as Rust; calling it from Elixir
raises.
Builds an options struct and its decoder from structural field metadata.
Builds reusable keyword/options decoding helpers.
A Rust function defrust generates. It runs only as Rust; calling it from Elixir
raises.
A Rust function defrust generates. It runs only as Rust; calling it from Elixir
raises.
A Rust function defrust generates. It runs only as Rust; calling it from Elixir
raises.
A Rust function defrust generates. It runs only as Rust; calling it from Elixir
raises.
A Rust function defrust generates. It runs only as Rust; calling it from Elixir
raises.
A Rust function defrust generates. It runs only as Rust; calling it from Elixir
raises.
Functions
Whether the module's Rust file appeared or went since the module compiled.
The RustQ AST of each defrust definition.
Callable metadata for the module's definitions.
The Rust items the module generates, in order.
The module's defrustmacro definitions.
The macro_rules! items defrustmacro emits.
The Rust modules the module's defrustmods map its aliases, or itself ([]), to.
The Rust source the module generates.
The RustQ AST of each declared Rust type.
The Rust items the module's types generate.
The Rust types the module's @types declare.
@spec decode_args(term()) :: RustQ.Type.nif_result(RustQ.Type.vec(term()))
A Rust function defrust generates. It runs only as Rust; calling it from Elixir
raises.
@spec decode_opts(term()) :: RustQ.Type.nif_result(RustQ.Type.vec({RustQ.Type.path(:Atom), term()}))
A Rust function defrust generates. It runs only as Rust; calling it from Elixir
raises.
@spec decoder( atom() | String.t(), keyword() ) :: [RustQ.Rust.AST.Struct.t() | RustQ.Rust.AST.Function.t()]
Builds an options struct and its decoder from structural field metadata.
@spec helpers(keyword()) :: [RustQ.Rust.AST.Function.t()]
Builds reusable keyword/options decoding helpers.
@spec opt_atom_option( RustQ.Type.slice({RustQ.Type.path(:Atom), term()}), RustQ.Type.path(:Atom) ) :: RustQ.Type.nif_result(RustQ.Type.option(RustQ.Type.path(:Atom)))
A Rust function defrust generates. It runs only as Rust; calling it from Elixir
raises.
@spec opt_bool_option( RustQ.Type.slice({RustQ.Type.path(:Atom), term()}), RustQ.Type.path(:Atom) ) :: RustQ.Type.nif_result(RustQ.Type.option(boolean()))
A Rust function defrust generates. It runs only as Rust; calling it from Elixir
raises.
@spec opt_f32( RustQ.Type.slice({RustQ.Type.path(:Atom), term()}), RustQ.Type.path(:Atom) ) :: RustQ.Type.nif_result(RustQ.Type.f32())
A Rust function defrust generates. It runs only as Rust; calling it from Elixir
raises.
@spec opt_f32_default( RustQ.Type.slice({RustQ.Type.path(:Atom), term()}), RustQ.Type.path(:Atom), RustQ.Type.f32() ) :: RustQ.Type.nif_result(RustQ.Type.f32())
A Rust function defrust generates. It runs only as Rust; calling it from Elixir
raises.
@spec opt_f32_option( RustQ.Type.slice({RustQ.Type.path(:Atom), term()}), RustQ.Type.path(:Atom) ) :: RustQ.Type.nif_result(RustQ.Type.option(RustQ.Type.f32()))
A Rust function defrust generates. It runs only as Rust; calling it from Elixir
raises.
@spec opt_term( RustQ.Type.slice({RustQ.Type.path(:Atom), term()}), RustQ.Type.path(:Atom) ) :: RustQ.Type.option(term())
A Rust function defrust generates. It runs only as Rust; calling it from Elixir
raises.