# rustq v0.9.2 - Table of Contents

> Rust templates and quasiquoting for Elixir

## Pages

- [RustQ](readme.md)
- [Using RustQ Well](using-rustq-well.md)
- [SKILL](skill.md)
- [Changelog](changelog.md)
- [LICENSE](license.md)

## Modules

- [RustQ](RustQ.md): Rust template quasiquoting and code generation.
- [RustQ.Atom](RustQ.Atom.md): Utilities for converting Elixir names into valid Rust identifiers and atoms.

- [RustQ.Binding.Callable](RustQ.Binding.Callable.md): Normalized callable signature metadata for RustQ lowering and binding generation.
- [RustQ.Binding.Index](RustQ.Binding.Index.md): Lookup table for normalized RustQ callable metadata.
- [RustQ.Binding.Source](RustQ.Binding.Source.md): Resolves callable metadata from RustQ modules, Rust source files, and Cargo packages.
- [RustQ.Cargo](RustQ.Cargo.md): Helpers for discovering Rust package metadata through Cargo.
- [RustQ.Cargo.Metadata](RustQ.Cargo.Metadata.md): Decoded subset of `cargo metadata` used by RustQ.
- [RustQ.Cargo.Package](RustQ.Cargo.Package.md): Package entry from `cargo metadata`.
- [RustQ.Clippy](RustQ.Clippy.md): Idiomatic Rusty-Elixir helpers for Clippy lint attribute paths.
- [RustQ.Codegen](RustQ.Codegen.md): Generates RustQ's native AST support crate fragments.

- [RustQ.Codegen.DecoderHelpers](RustQ.Codegen.DecoderHelpers.md): Shared Rust helper functions used by generated AST decoders.

- [RustQ.Codegen.Decoders](RustQ.Codegen.Decoders.md): Aggregates AST decoder support items by Rust syntax category.

- [RustQ.Codegen.Decoders.Arm](RustQ.Codegen.Decoders.Arm.md): Emits native decoder helpers for Rust match arms.

- [RustQ.Codegen.Decoders.Expr](RustQ.Codegen.Decoders.Expr.md): Emits native decoder helpers for Rust expressions.

- [RustQ.Codegen.Decoders.Item](RustQ.Codegen.Decoders.Item.md): Emits native decoder helpers for Rust items.

- [RustQ.Codegen.Decoders.Pat](RustQ.Codegen.Decoders.Pat.md): Emits native decoder helpers for Rust patterns.

- [RustQ.Codegen.Decoders.Stmt](RustQ.Codegen.Decoders.Stmt.md): Emits native decoder helpers for Rust statements.

- [RustQ.Codegen.Decoders.Type](RustQ.Codegen.Decoders.Type.md): Emits native decoder helpers for Rust types.

- [RustQ.Codegen.DefrustModule](RustQ.Codegen.DefrustModule.md): Compile-time bridge for modules that define native support helpers with `defrust`.

- [RustQ.Codegen.Dispatch](RustQ.Codegen.Dispatch.md): Generates native dispatch functions for RustQ AST node decoding and rendering.

- [RustQ.Codegen.Helpers](RustQ.Codegen.Helpers.md): General Rust helper functions emitted into RustQ's native support crate.

- [RustQ.Codegen.ModuleHelpers](RustQ.Codegen.ModuleHelpers.md): Rust helper functions for constructing generated native Rust modules.

- [RustQ.Codegen.Modules](RustQ.Codegen.Modules.md): Builds Rust module declarations for generated native support code.

- [RustQ.Config](RustQ.Config.md): DSL for declaring generated RustQ files in `rustq.exs`.
- [RustQ.Config.State](RustQ.Config.State.md): Process-local state and rendering helpers used by the `RustQ.Config` DSL.

- [RustQ.Diagnostic](RustQ.Diagnostic.md): Structured RustQ diagnostic data for lowering/rendering failures.

- [RustQ.Generated](RustQ.Generated.md): File sync helpers for RustQ-generated sources.
- [RustQ.Meta](RustQ.Meta.md): Valid-Elixir macro frontend for generating RustQ Rust fragments.
- [RustQ.Meta.AST](RustQ.Meta.AST.md): Builds RustQ AST items from `defrust` metadata and explicit quoted bodies.

- [RustQ.Meta.Attrs](RustQ.Meta.Attrs.md): Collects Rust-facing attributes declared around `defrust` definitions.

- [RustQ.Meta.Decoder](RustQ.Meta.Decoder.md): Builds decoder AST fragments for Rust types derived from Elixir type aliases.

- [RustQ.Meta.Inference](RustQ.Meta.Inference.md): Performs block-local type inference used by Rusty-Elixir lowering.
- [RustQ.Meta.Lower](RustQ.Meta.Lower.md): Lowers Rusty-Elixir quoted expressions into RustQ AST nodes.

- [RustQ.Meta.Lower.Env](RustQ.Meta.Lower.Env.md): Tracks return type, variables, aliases, callable metadata, and position while lowering a body.

- [RustQ.Meta.Options](RustQ.Meta.Options.md): Validates and normalizes `use RustQ.Meta` options.
- [RustQ.Meta.Pattern](RustQ.Meta.Pattern.md): Structural helpers for Rusty-Elixir binding and tuple patterns.

- [RustQ.Meta.RustMacro](RustQ.Meta.RustMacro.md): Builds compact Rust `macro_rules!` items from Rusty-Elixir `defrustmacro`
declarations.
- [RustQ.Meta.RustMacro.Definition](RustQ.Meta.RustMacro.Definition.md): Normalized `defrustmacro` declaration metadata.

- [RustQ.Meta.RustMacro.Item](RustQ.Meta.RustMacro.Item.md): Rust AST item emitted from a normalized `defrustmacro` declaration.

- [RustQ.Meta.Type](RustQ.Meta.Type.md): Structural metadata for an Elixir typespec lowered by RustQ.
- [RustQ.Meta.Typing](RustQ.Meta.Typing.md): Small bidirectional typing nucleus for Rusty-Elixir lowering.
- [RustQ.Meta.Typing.Check](RustQ.Meta.Typing.Check.md): Result of checking an expression against an expected type.
- [RustQ.Meta.Typing.Env](RustQ.Meta.Typing.Env.md): Typing environment threaded through synthesis/checking.
- [RustQ.Meta.Validate](RustQ.Meta.Validate.md): Validates generated RustQ AST items by rendering and parsing them as Rust.

- [RustQ.Native](RustQ.Native.md): Rustler NIF boundary for parsing, rendering, and decoding Rust syntax.

- [RustQ.Native.Descriptor](RustQ.Native.Descriptor.md): Resolved metadata for a `RustQ.Native.Ref`.
- [RustQ.Native.EnumDescriptor](RustQ.Native.EnumDescriptor.md): Resolved metadata for a native Rust enum.
- [RustQ.Native.Ref](RustQ.Native.Ref.md): Reference to a Rust native item used by code generators.
- [RustQ.Reach](RustQ.Reach.md): Reach plugin for RustQ dogfooding rules.
- [RustQ.Reach.Smells.BlocklessDefrustmod](RustQ.Reach.Smells.BlocklessDefrustmod.md): Detects blockless `defrustmod` declarations.
- [RustQ.Reach.Smells.LowLevelControlFlow](RustQ.Reach.Smells.LowLevelControlFlow.md): Detects low-level Rusty-Elixir exits inside `defrust` bodies.
- [RustQ.Reach.Smells.RawRustEscape](RustQ.Reach.Smells.RawRustEscape.md): Detects large raw Rust escape hatches in RustQ generator code.
- [RustQ.Reach.Smells.TrivialDefrustWrapper](RustQ.Reach.Smells.TrivialDefrustWrapper.md): Detects `defrust` functions that appear to wrap one call and return `:ok`.
- [RustQ.Rust](RustQ.Rust.md): Elixir-friendly builders for Rust fragments.
- [RustQ.Rust.AST](RustQ.Rust.AST.md): Small Rust AST/IR used by macro frontends before final RustQ validation.
- [RustQ.Rust.AST.Arm](RustQ.Rust.AST.Arm.md): RustQ AST node generated by `RustQ.Rust.AST.NodeDSL.defnode/4`.

- [RustQ.Rust.AST.ArrayLiteral](RustQ.Rust.AST.ArrayLiteral.md): RustQ AST node generated by `RustQ.Rust.AST.NodeDSL.defnode/4`.

- [RustQ.Rust.AST.Assign](RustQ.Rust.AST.Assign.md): RustQ AST node generated by `RustQ.Rust.AST.NodeDSL.defnode/4`.

- [RustQ.Rust.AST.AssignOp](RustQ.Rust.AST.AssignOp.md): RustQ AST node generated by `RustQ.Rust.AST.NodeDSL.defnode/4`.

- [RustQ.Rust.AST.AtomValue](RustQ.Rust.AST.AtomValue.md): RustQ AST node generated by `RustQ.Rust.AST.NodeDSL.defnode/4`.

- [RustQ.Rust.AST.Attribute](RustQ.Rust.AST.Attribute.md): RustQ AST node generated by `RustQ.Rust.AST.NodeDSL.defnode/4`.

- [RustQ.Rust.AST.BinaryOp](RustQ.Rust.AST.BinaryOp.md): RustQ AST node generated by `RustQ.Rust.AST.NodeDSL.defnode/4`.

- [RustQ.Rust.AST.BlockExpr](RustQ.Rust.AST.BlockExpr.md): RustQ AST node generated by `RustQ.Rust.AST.NodeDSL.defnode/4`.

- [RustQ.Rust.AST.Break](RustQ.Rust.AST.Break.md): RustQ AST node generated by `RustQ.Rust.AST.NodeDSL.defnode/4`.

- [RustQ.Rust.AST.Builder](RustQ.Rust.AST.Builder.md): Small builder DSL for `RustQ.Rust.AST` nodes.
- [RustQ.Rust.AST.ByteString](RustQ.Rust.AST.ByteString.md): RustQ AST node generated by `RustQ.Rust.AST.NodeDSL.defnode/4`.

- [RustQ.Rust.AST.Cast](RustQ.Rust.AST.Cast.md): RustQ AST node generated by `RustQ.Rust.AST.NodeDSL.defnode/4`.

- [RustQ.Rust.AST.Closure](RustQ.Rust.AST.Closure.md): RustQ AST node generated by `RustQ.Rust.AST.NodeDSL.defnode/4`.

- [RustQ.Rust.AST.Const](RustQ.Rust.AST.Const.md): RustQ AST node generated by `RustQ.Rust.AST.NodeDSL.defnode/4`.

- [RustQ.Rust.AST.Continue](RustQ.Rust.AST.Continue.md): RustQ AST node generated by `RustQ.Rust.AST.NodeDSL.defnode/4`.

- [RustQ.Rust.AST.Derive](RustQ.Rust.AST.Derive.md): RustQ AST node generated by `RustQ.Rust.AST.NodeDSL.defnode/4`.

- [RustQ.Rust.AST.EarlyReturn](RustQ.Rust.AST.EarlyReturn.md): RustQ AST node generated by `RustQ.Rust.AST.NodeDSL.defnode/4`.

- [RustQ.Rust.AST.Enum](RustQ.Rust.AST.Enum.md): RustQ AST node generated by `RustQ.Rust.AST.NodeDSL.defnode/4`.

- [RustQ.Rust.AST.EnumVariant](RustQ.Rust.AST.EnumVariant.md): RustQ AST node generated by `RustQ.Rust.AST.NodeDSL.defnode/4`.

- [RustQ.Rust.AST.Err](RustQ.Rust.AST.Err.md): RustQ AST node generated by `RustQ.Rust.AST.NodeDSL.defnode/4`.

- [RustQ.Rust.AST.EscapeExpr](RustQ.Rust.AST.EscapeExpr.md): RustQ AST node generated by `RustQ.Rust.AST.NodeDSL.defnode/4`.

- [RustQ.Rust.AST.ExprStmt](RustQ.Rust.AST.ExprStmt.md): RustQ AST node generated by `RustQ.Rust.AST.NodeDSL.defnode/4`.

- [RustQ.Rust.AST.Field](RustQ.Rust.AST.Field.md): RustQ AST node generated by `RustQ.Rust.AST.NodeDSL.defnode/4`.

- [RustQ.Rust.AST.For](RustQ.Rust.AST.For.md): RustQ AST node generated by `RustQ.Rust.AST.NodeDSL.defnode/4`.

- [RustQ.Rust.AST.Function](RustQ.Rust.AST.Function.md): RustQ AST node generated by `RustQ.Rust.AST.NodeDSL.defnode/4`.

- [RustQ.Rust.AST.FunctionArg](RustQ.Rust.AST.FunctionArg.md): RustQ AST node generated by `RustQ.Rust.AST.NodeDSL.defnode/4`.

- [RustQ.Rust.AST.If](RustQ.Rust.AST.If.md): RustQ AST node generated by `RustQ.Rust.AST.NodeDSL.defnode/4`.

- [RustQ.Rust.AST.IfLet](RustQ.Rust.AST.IfLet.md): RustQ AST node generated by `RustQ.Rust.AST.NodeDSL.defnode/4`.

- [RustQ.Rust.AST.Impl](RustQ.Rust.AST.Impl.md): RustQ AST node generated by `RustQ.Rust.AST.NodeDSL.defnode/4`.

- [RustQ.Rust.AST.Index](RustQ.Rust.AST.Index.md): RustQ AST node generated by `RustQ.Rust.AST.NodeDSL.defnode/4`.

- [RustQ.Rust.AST.ItemBuilder](RustQ.Rust.AST.ItemBuilder.md): Macro helpers for constructing Rust item AST nodes with Elixir block syntax.

- [RustQ.Rust.AST.Let](RustQ.Rust.AST.Let.md): RustQ AST node generated by `RustQ.Rust.AST.NodeDSL.defnode/4`.

- [RustQ.Rust.AST.LetElse](RustQ.Rust.AST.LetElse.md): RustQ AST node generated by `RustQ.Rust.AST.NodeDSL.defnode/4`.

- [RustQ.Rust.AST.Literal](RustQ.Rust.AST.Literal.md): RustQ AST node generated by `RustQ.Rust.AST.NodeDSL.defnode/4`.

- [RustQ.Rust.AST.LocalCall](RustQ.Rust.AST.LocalCall.md): RustQ AST node generated by `RustQ.Rust.AST.NodeDSL.defnode/4`.

- [RustQ.Rust.AST.Loop](RustQ.Rust.AST.Loop.md): RustQ AST node generated by `RustQ.Rust.AST.NodeDSL.defnode/4`.

- [RustQ.Rust.AST.MacroCall](RustQ.Rust.AST.MacroCall.md): RustQ AST node generated by `RustQ.Rust.AST.NodeDSL.defnode/4`.

- [RustQ.Rust.AST.MacroCapture](RustQ.Rust.AST.MacroCapture.md): RustQ AST node generated by `RustQ.Rust.AST.NodeDSL.defnode/4`.

- [RustQ.Rust.AST.MacroItem](RustQ.Rust.AST.MacroItem.md): RustQ AST node generated by `RustQ.Rust.AST.NodeDSL.defnode/4`.

- [RustQ.Rust.AST.MacroItemCall](RustQ.Rust.AST.MacroItemCall.md): RustQ AST node generated by `RustQ.Rust.AST.NodeDSL.defnode/4`.

- [RustQ.Rust.AST.MacroRepeat](RustQ.Rust.AST.MacroRepeat.md): RustQ AST node generated by `RustQ.Rust.AST.NodeDSL.defnode/4`.

- [RustQ.Rust.AST.MacroRepeatExpr](RustQ.Rust.AST.MacroRepeatExpr.md): RustQ AST node generated by `RustQ.Rust.AST.NodeDSL.defnode/4`.

- [RustQ.Rust.AST.MacroRule](RustQ.Rust.AST.MacroRule.md): RustQ AST node generated by `RustQ.Rust.AST.NodeDSL.defnode/4`.

- [RustQ.Rust.AST.MacroRules](RustQ.Rust.AST.MacroRules.md): RustQ AST node generated by `RustQ.Rust.AST.NodeDSL.defnode/4`.

- [RustQ.Rust.AST.MacroVar](RustQ.Rust.AST.MacroVar.md): RustQ AST node generated by `RustQ.Rust.AST.NodeDSL.defnode/4`.

- [RustQ.Rust.AST.Match](RustQ.Rust.AST.Match.md): RustQ AST node generated by `RustQ.Rust.AST.NodeDSL.defnode/4`.

- [RustQ.Rust.AST.MethodCall](RustQ.Rust.AST.MethodCall.md): RustQ AST node generated by `RustQ.Rust.AST.NodeDSL.defnode/4`.

- [RustQ.Rust.AST.Module](RustQ.Rust.AST.Module.md): RustQ AST node generated by `RustQ.Rust.AST.NodeDSL.defnode/4`.

- [RustQ.Rust.AST.NifRaiseAtom](RustQ.Rust.AST.NifRaiseAtom.md): RustQ AST node generated by `RustQ.Rust.AST.NodeDSL.defnode/4`.

- [RustQ.Rust.AST.NodeDSL](RustQ.Rust.AST.NodeDSL.md): Defines RustQ AST node modules with schema metadata and typed structs.

- [RustQ.Rust.AST.None](RustQ.Rust.AST.None.md): RustQ AST node generated by `RustQ.Rust.AST.NodeDSL.defnode/4`.

- [RustQ.Rust.AST.Ok](RustQ.Rust.AST.Ok.md): RustQ AST node generated by `RustQ.Rust.AST.NodeDSL.defnode/4`.

- [RustQ.Rust.AST.PatAtomGuard](RustQ.Rust.AST.PatAtomGuard.md): RustQ AST node generated by `RustQ.Rust.AST.NodeDSL.defnode/4`.

- [RustQ.Rust.AST.PatErr](RustQ.Rust.AST.PatErr.md): RustQ AST node generated by `RustQ.Rust.AST.NodeDSL.defnode/4`.

- [RustQ.Rust.AST.PatLiteral](RustQ.Rust.AST.PatLiteral.md): RustQ AST node generated by `RustQ.Rust.AST.NodeDSL.defnode/4`.

- [RustQ.Rust.AST.PatNone](RustQ.Rust.AST.PatNone.md): RustQ AST node generated by `RustQ.Rust.AST.NodeDSL.defnode/4`.

- [RustQ.Rust.AST.PatOk](RustQ.Rust.AST.PatOk.md): RustQ AST node generated by `RustQ.Rust.AST.NodeDSL.defnode/4`.

- [RustQ.Rust.AST.PatPath](RustQ.Rust.AST.PatPath.md): RustQ AST node generated by `RustQ.Rust.AST.NodeDSL.defnode/4`.

- [RustQ.Rust.AST.PatPathTuple](RustQ.Rust.AST.PatPathTuple.md): RustQ AST node generated by `RustQ.Rust.AST.NodeDSL.defnode/4`.

- [RustQ.Rust.AST.PatSome](RustQ.Rust.AST.PatSome.md): RustQ AST node generated by `RustQ.Rust.AST.NodeDSL.defnode/4`.

- [RustQ.Rust.AST.PatStruct](RustQ.Rust.AST.PatStruct.md): RustQ AST node generated by `RustQ.Rust.AST.NodeDSL.defnode/4`.

- [RustQ.Rust.AST.PatTuple](RustQ.Rust.AST.PatTuple.md): RustQ AST node generated by `RustQ.Rust.AST.NodeDSL.defnode/4`.

- [RustQ.Rust.AST.PatVar](RustQ.Rust.AST.PatVar.md): RustQ AST node generated by `RustQ.Rust.AST.NodeDSL.defnode/4`.

- [RustQ.Rust.AST.PatWildcard](RustQ.Rust.AST.PatWildcard.md): RustQ AST node generated by `RustQ.Rust.AST.NodeDSL.defnode/4`.

- [RustQ.Rust.AST.Path](RustQ.Rust.AST.Path.md): RustQ AST node generated by `RustQ.Rust.AST.NodeDSL.defnode/4`.

- [RustQ.Rust.AST.PathCall](RustQ.Rust.AST.PathCall.md): RustQ AST node generated by `RustQ.Rust.AST.NodeDSL.defnode/4`.

- [RustQ.Rust.AST.PatternBuilder](RustQ.Rust.AST.PatternBuilder.md): Small constructor API for RustQ pattern AST nodes.

- [RustQ.Rust.AST.Range](RustQ.Rust.AST.Range.md): RustQ AST node generated by `RustQ.Rust.AST.NodeDSL.defnode/4`.

- [RustQ.Rust.AST.Ref](RustQ.Rust.AST.Ref.md): RustQ AST node generated by `RustQ.Rust.AST.NodeDSL.defnode/4`.

- [RustQ.Rust.AST.Render](RustQ.Rust.AST.Render.md): Renders RustQ AST nodes through the native Rust renderer.

- [RustQ.Rust.AST.Return](RustQ.Rust.AST.Return.md): RustQ AST node generated by `RustQ.Rust.AST.NodeDSL.defnode/4`.

- [RustQ.Rust.AST.Schema](RustQ.Rust.AST.Schema.md): Runtime schema view over RustQ AST node modules and their Rust decoder names.

- [RustQ.Rust.AST.Schema.Node](RustQ.Rust.AST.Schema.Node.md): Describes one RustQ AST node module, category, fields, and native decoder mapping.

- [RustQ.Rust.AST.Some](RustQ.Rust.AST.Some.md): RustQ AST node generated by `RustQ.Rust.AST.NodeDSL.defnode/4`.

- [RustQ.Rust.AST.Static](RustQ.Rust.AST.Static.md): RustQ AST node generated by `RustQ.Rust.AST.NodeDSL.defnode/4`.

- [RustQ.Rust.AST.Struct](RustQ.Rust.AST.Struct.md): RustQ AST node generated by `RustQ.Rust.AST.NodeDSL.defnode/4`.

- [RustQ.Rust.AST.StructField](RustQ.Rust.AST.StructField.md): RustQ AST node generated by `RustQ.Rust.AST.NodeDSL.defnode/4`.

- [RustQ.Rust.AST.StructLiteral](RustQ.Rust.AST.StructLiteral.md): RustQ AST node generated by `RustQ.Rust.AST.NodeDSL.defnode/4`.

- [RustQ.Rust.AST.TokenMacro](RustQ.Rust.AST.TokenMacro.md): RustQ AST node generated by `RustQ.Rust.AST.NodeDSL.defnode/4`.

- [RustQ.Rust.AST.Try](RustQ.Rust.AST.Try.md): RustQ AST node generated by `RustQ.Rust.AST.NodeDSL.defnode/4`.

- [RustQ.Rust.AST.Tuple](RustQ.Rust.AST.Tuple.md): RustQ AST node generated by `RustQ.Rust.AST.NodeDSL.defnode/4`.

- [RustQ.Rust.AST.TypeAlias](RustQ.Rust.AST.TypeAlias.md): RustQ AST node generated by `RustQ.Rust.AST.NodeDSL.defnode/4`.

- [RustQ.Rust.AST.TypeArray](RustQ.Rust.AST.TypeArray.md): RustQ AST node generated by `RustQ.Rust.AST.NodeDSL.defnode/4`.

- [RustQ.Rust.AST.TypeBuilder](RustQ.Rust.AST.TypeBuilder.md): Small constructor API for RustQ type AST nodes.

- [RustQ.Rust.AST.TypeNifResult](RustQ.Rust.AST.TypeNifResult.md): RustQ AST node generated by `RustQ.Rust.AST.NodeDSL.defnode/4`.

- [RustQ.Rust.AST.TypeOption](RustQ.Rust.AST.TypeOption.md): RustQ AST node generated by `RustQ.Rust.AST.NodeDSL.defnode/4`.

- [RustQ.Rust.AST.TypePath](RustQ.Rust.AST.TypePath.md): RustQ AST node generated by `RustQ.Rust.AST.NodeDSL.defnode/4`.

- [RustQ.Rust.AST.TypeRaw](RustQ.Rust.AST.TypeRaw.md): RustQ AST node generated by `RustQ.Rust.AST.NodeDSL.defnode/4`.

- [RustQ.Rust.AST.TypeRef](RustQ.Rust.AST.TypeRef.md): RustQ AST node generated by `RustQ.Rust.AST.NodeDSL.defnode/4`.

- [RustQ.Rust.AST.TypeResult](RustQ.Rust.AST.TypeResult.md): RustQ AST node generated by `RustQ.Rust.AST.NodeDSL.defnode/4`.

- [RustQ.Rust.AST.TypeSlice](RustQ.Rust.AST.TypeSlice.md): RustQ AST node generated by `RustQ.Rust.AST.NodeDSL.defnode/4`.

- [RustQ.Rust.AST.TypeUnit](RustQ.Rust.AST.TypeUnit.md): RustQ AST node generated by `RustQ.Rust.AST.NodeDSL.defnode/4`.

- [RustQ.Rust.AST.TypeVec](RustQ.Rust.AST.TypeVec.md): RustQ AST node generated by `RustQ.Rust.AST.NodeDSL.defnode/4`.

- [RustQ.Rust.AST.UnaryOp](RustQ.Rust.AST.UnaryOp.md): RustQ AST node generated by `RustQ.Rust.AST.NodeDSL.defnode/4`.

- [RustQ.Rust.AST.Use](RustQ.Rust.AST.Use.md): RustQ AST node generated by `RustQ.Rust.AST.NodeDSL.defnode/4`.

- [RustQ.Rust.AST.Var](RustQ.Rust.AST.Var.md): RustQ AST node generated by `RustQ.Rust.AST.NodeDSL.defnode/4`.

- [RustQ.Rust.AST.VecLiteral](RustQ.Rust.AST.VecLiteral.md): RustQ AST node generated by `RustQ.Rust.AST.NodeDSL.defnode/4`.

- [RustQ.Rust.AST.Walk](RustQ.Rust.AST.Walk.md): Generic traversal helpers for RustQ AST nodes.
- [RustQ.Rust.Block](RustQ.Rust.Block.md): Represents a Rust block body assembled from statement or expression fragments.

- [RustQ.Rust.Const](RustQ.Rust.Const.md): Represents a Rust `const` declaration built with `RustQ.Rust.const/4`.

- [RustQ.Rust.EnumDecl](RustQ.Rust.EnumDecl.md): Represents a Rust enum declaration built with `RustQ.Rust.enum/2`.

- [RustQ.Rust.Field](RustQ.Rust.Field.md): Represents a Rust struct field built with `RustQ.Rust.field/3`.

- [RustQ.Rust.Fragment](RustQ.Rust.Fragment.md): Represents a raw Rust fragment validated or spliced by RustQ.

- [RustQ.Rust.Function](RustQ.Rust.Function.md): Represents a Rust function declaration built with `RustQ.Rust.fn/2`.

- [RustQ.Rust.Impl](RustQ.Rust.Impl.md): Represents a Rust `impl` block built with `RustQ.Rust.impl/2`.

- [RustQ.Rust.ModDecl](RustQ.Rust.ModDecl.md): Represents a Rust module declaration built with `RustQ.Rust.mod/2`.

- [RustQ.Rust.Struct](RustQ.Rust.Struct.md): Represents a Rust struct declaration built with `RustQ.Rust.struct/2`.

- [RustQ.Rust.Syntax](RustQ.Rust.Syntax.md): Struct modules used by the `RustQ.Rust` string/iodata builder layer.

- [RustQ.Rust.TypeAlias](RustQ.Rust.TypeAlias.md): Represents a Rust type alias built with `RustQ.Rust.type_alias/3`.

- [RustQ.Rust.Use](RustQ.Rust.Use.md): Represents a Rust `use` declaration built with `RustQ.Rust.use/2`.

- [RustQ.Rustler](RustQ.Rustler.md): Builders for common Rustler NIF code.
- [RustQ.Rustler.Atom](RustQ.Rustler.Atom.md): Generates Rustler atom declarations, decoders, dispatchers, and cached atom helpers.
- [RustQ.Rustler.Decode](RustQ.Rustler.Decode.md): AST helpers for composing Rustler term decoding expressions.

- [RustQ.Rustler.HelperSelection](RustQ.Rustler.HelperSelection.md): Selects named Rustler helper functions from include/exclude options.

- [RustQ.Rustler.Nif](RustQ.Rustler.Nif.md): Generates Rustler NIF exports, NifStruct declarations, and raw NIF_TERM builders.
- [RustQ.Rustler.Opts](RustQ.Rustler.Opts.md): Generates Rustler keyword/options structs, decoders, and option helper functions.

- [RustQ.Rustler.Resource](RustQ.Rustler.Resource.md): Generates Rustler resource structs, handles, decoders, and initialization helpers.

- [RustQ.Rustler.Schema](RustQ.Rustler.Schema.md): Schema DSL for generating Rustler structs and tagged enums.
- [RustQ.Rustler.TaggedEnum](RustQ.Rustler.TaggedEnum.md): Generates Rust enums decoded from tagged Elixir struct or map terms.

- [RustQ.Rustler.Term](RustQ.Rustler.Term.md): Generates Rustler `Term<'a>` builders, decoders, and map access helpers.
- [RustQ.Sigil](RustQ.Sigil.md): Provides the `~R` sigil for inline Rust templates.
- [RustQ.Spec](RustQ.Spec.md): Public helpers for lowering Elixir typespec forms into RustQ type metadata.
- [RustQ.Splice](RustQ.Splice.md): Helpers for composing RustQ splice replacements as plain keyword lists.
- [RustQ.Syn](RustQ.Syn.md): Structural metadata for Rust source parsed with [`syn`](https://docs.rs/syn).
- [RustQ.Syn.Arg](RustQ.Syn.Arg.md): Rust function or method argument metadata. `type` is rendered Rust; `type_ast` is structured metadata.
- [RustQ.Syn.Doc](RustQ.Syn.Doc.md): Utilities for rendering Rust doc comments for downstream docs.
- [RustQ.Syn.Enum](RustQ.Syn.Enum.md): Rust enum metadata, including doc comments and variant names.
- [RustQ.Syn.Field](RustQ.Syn.Field.md): Rust struct field metadata.
- [RustQ.Syn.File](RustQ.Syn.File.md): Rust source file metadata.
- [RustQ.Syn.Function](RustQ.Syn.Function.md): Rust free function metadata, including doc comments, arguments, and return type.
- [RustQ.Syn.Impl](RustQ.Syn.Impl.md): Rust impl block metadata, including target type, optional trait, doc comments, and methods.
- [RustQ.Syn.Index](RustQ.Syn.Index.md): In-memory index of Rust source metadata parsed by `RustQ.Syn`.
- [RustQ.Syn.Method](RustQ.Syn.Method.md): Rust impl method metadata, including doc comments, arguments, and return type.
- [RustQ.Syn.MethodCall](RustQ.Syn.MethodCall.md): Receiver method call metadata found in Rust source.
- [RustQ.Syn.Signature](RustQ.Syn.Signature.md): Structured Rust function or method signature metadata.
- [RustQ.Syn.Static](RustQ.Syn.Static.md): Rust static item metadata.
- [RustQ.Syn.Struct](RustQ.Syn.Struct.md): Rust struct metadata.
- [RustQ.Syn.Type](RustQ.Syn.Type.md): Namespace for structured Rust type metadata.
- [RustQ.Syn.Type.Array](RustQ.Syn.Type.Array.md): Rust array type metadata.
- [RustQ.Syn.Type.Fn](RustQ.Syn.Type.Fn.md): Rust bare function pointer type metadata.
- [RustQ.Syn.Type.ImplTrait](RustQ.Syn.Type.ImplTrait.md): Rust impl Trait type metadata.
- [RustQ.Syn.Type.Option](RustQ.Syn.Type.Option.md): Rust Option<T> type metadata.
- [RustQ.Syn.Type.Path](RustQ.Syn.Type.Path.md): Rust path type metadata, for example `Paint`, `skia_safe::Canvas`, or `AsRef<Rect>`.
- [RustQ.Syn.Type.Raw](RustQ.Syn.Type.Raw.md): Fallback Rust type metadata for type forms RustQ does not model structurally yet.
- [RustQ.Syn.Type.Ref](RustQ.Syn.Type.Ref.md): Rust reference type metadata, for example `&Paint` or `&mut Path`.
- [RustQ.Syn.Type.Result](RustQ.Syn.Type.Result.md): Rust Result<T, E> type metadata.
- [RustQ.Syn.Type.Self](RustQ.Syn.Type.Self.md): Rust Self type metadata.
- [RustQ.Syn.Type.Slice](RustQ.Syn.Type.Slice.md): Rust slice type metadata.
- [RustQ.Syn.Type.Tuple](RustQ.Syn.Type.Tuple.md): Rust tuple type metadata.
- [RustQ.Syn.TypeAlias](RustQ.Syn.TypeAlias.md): Rust `type` alias metadata.
- [RustQ.Syn.Use](RustQ.Syn.Use.md): Rust `use` item metadata, including reexport aliases.
- [RustQ.Template](RustQ.Template.md): Parsed Rust template plus pending substitutions.

- [RustQ.Type](RustQ.Type.md): Built-in Rust/Rustler type vocabulary for `RustQ.Meta.defrust/2` specs.

- Exceptions
  - [RustQ.Diagnostic.Error](RustQ.Diagnostic.Error.md): Exception wrapper carrying a structured `RustQ.Diagnostic` value.

  - [RustQ.Error](RustQ.Error.md): Exception raised by bang-style RustQ parsing and rendering APIs.

  - [RustQ.Generated.StaleError](RustQ.Generated.StaleError.md): Raised when generated files differ from the contents produced by the manifest.

## Mix Tasks

- [mix rustq.corpus](Mix.Tasks.Rustq.Corpus.md): Checks or updates the RustQ golden lowering corpus.
- [mix rustq.gen](Mix.Tasks.Rustq.Gen.md): Generates files declared in `rustq.exs`.
- [mix rustq.templates.check](Mix.Tasks.Rustq.Templates.Check.md): Verifies that RustQ template fixtures still compile against the generated Rust support code.

