Rusty-Elixir macro support for generated Rustler decoders.
Entrypoint wrappers are authored with defnif. Full schema decoders use the
same semantic boundary, but intentionally lower to compact Rust macro
invocations instead of expanded Rust function bodies. This keeps generator
authoring in Elixir/RustQ while preserving small generated source.
Summary
Functions
@spec enum_decoder(KiwiCodec.Schema.Enum.t()) :: RustQ.Rust.Fragment.t()
@spec message_decoder(KiwiCodec.Schema.Message.t(), String.t(), map(), (term(), map() -> iodata())) :: RustQ.Rust.Fragment.t()
@spec struct_decoder(KiwiCodec.Schema.Struct.t(), String.t(), map(), (term(), map() -> iodata())) :: RustQ.Rust.Fragment.t()