Modules
Rust template quasiquoting and code generation.
Utilities for converting Elixir names into valid Rust identifiers and atoms.
Normalized callable signature metadata for RustQ lowering and binding generation.
Lookup table for normalized RustQ callable metadata.
Resolves callable metadata from RustQ modules, Rust source files, and Cargo packages.
Helpers for discovering Rust package metadata through Cargo.
Decoded subset of cargo metadata used by RustQ.
Package entry from cargo metadata.
Idiomatic Rusty-Elixir helpers for Clippy lint attribute paths.
Generates RustQ's native AST support crate fragments.
Shared Rust helper functions used by generated AST decoders.
Aggregates AST decoder support items by Rust syntax category.
Emits native decoder helpers for Rust match arms.
Emits native decoder helpers for Rust expressions.
Emits native decoder helpers for Rust items.
Emits native decoder helpers for Rust patterns.
Emits native decoder helpers for Rust statements.
Emits native decoder helpers for Rust types.
Compile-time bridge for modules that define native support helpers with defrust.
Generates native dispatch functions for RustQ AST node decoding and rendering.
General Rust helper functions emitted into RustQ's native support crate.
Rust helper functions for constructing generated native Rust modules.
Builds Rust module declarations for generated native support code.
DSL for declaring generated RustQ files in rustq.exs.
Process-local state and rendering helpers used by the RustQ.Config DSL.
Structured RustQ diagnostic data for lowering/rendering failures.
Exception wrapper carrying a structured RustQ.Diagnostic value.
Exception raised by bang-style RustQ parsing and rendering APIs.
File sync helpers for RustQ-generated sources.
Raised when generated files differ from the contents produced by the manifest.
Valid-Elixir macro frontend for generating RustQ Rust fragments.
Builds RustQ AST items from defrust metadata and explicit quoted bodies.
Collects Rust-facing attributes declared around defrust definitions.
Builds decoder AST fragments for Rust types derived from Elixir type aliases.
Performs block-local type inference used by Rusty-Elixir lowering.
Lowers Rusty-Elixir quoted expressions into RustQ AST nodes.
Tracks return type, variables, aliases, callable metadata, and position while lowering a body.
Validates and normalizes use RustQ.Meta options.
Structural helpers for Rusty-Elixir binding and tuple patterns.
Builds compact Rust macro_rules! items from Rusty-Elixir defrustmacro
declarations.
Normalized defrustmacro declaration metadata.
Rust AST item emitted from a normalized defrustmacro declaration.
Structural metadata for an Elixir typespec lowered by RustQ.
Small bidirectional typing nucleus for Rusty-Elixir lowering.
Result of checking an expression against an expected type.
Typing environment threaded through synthesis/checking.
Validates generated RustQ AST items by rendering and parsing them as Rust.
Rustler NIF boundary for parsing, rendering, and decoding Rust syntax.
Resolved metadata for a RustQ.Native.Ref.
Resolved metadata for a native Rust enum.
Reference to a Rust native item used by code generators.
Reach plugin for RustQ dogfooding rules.
Detects blockless defrustmod declarations.
Detects low-level Rusty-Elixir exits inside defrust bodies.
Detects large raw Rust escape hatches in RustQ generator code.
Detects defrust functions that appear to wrap one call and return :ok.
Elixir-friendly builders for Rust fragments.
Small Rust AST/IR used by macro frontends before final RustQ validation.
RustQ AST node generated by RustQ.Rust.AST.NodeDSL.defnode/4.
RustQ AST node generated by RustQ.Rust.AST.NodeDSL.defnode/4.
RustQ AST node generated by RustQ.Rust.AST.NodeDSL.defnode/4.
RustQ AST node generated by RustQ.Rust.AST.NodeDSL.defnode/4.
RustQ AST node generated by RustQ.Rust.AST.NodeDSL.defnode/4.
RustQ AST node generated by RustQ.Rust.AST.NodeDSL.defnode/4.
RustQ AST node generated by RustQ.Rust.AST.NodeDSL.defnode/4.
RustQ AST node generated by RustQ.Rust.AST.NodeDSL.defnode/4.
RustQ AST node generated by RustQ.Rust.AST.NodeDSL.defnode/4.
Small builder DSL for RustQ.Rust.AST nodes.
RustQ AST node generated by RustQ.Rust.AST.NodeDSL.defnode/4.
RustQ AST node generated by RustQ.Rust.AST.NodeDSL.defnode/4.
RustQ AST node generated by RustQ.Rust.AST.NodeDSL.defnode/4.
RustQ AST node generated by RustQ.Rust.AST.NodeDSL.defnode/4.
RustQ AST node generated by RustQ.Rust.AST.NodeDSL.defnode/4.
RustQ AST node generated by RustQ.Rust.AST.NodeDSL.defnode/4.
RustQ AST node generated by RustQ.Rust.AST.NodeDSL.defnode/4.
RustQ AST node generated by RustQ.Rust.AST.NodeDSL.defnode/4.
RustQ AST node generated by RustQ.Rust.AST.NodeDSL.defnode/4.
RustQ AST node generated by RustQ.Rust.AST.NodeDSL.defnode/4.
RustQ AST node generated by RustQ.Rust.AST.NodeDSL.defnode/4.
RustQ AST node generated by RustQ.Rust.AST.NodeDSL.defnode/4.
RustQ AST node generated by RustQ.Rust.AST.NodeDSL.defnode/4.
RustQ AST node generated by RustQ.Rust.AST.NodeDSL.defnode/4.
RustQ AST node generated by RustQ.Rust.AST.NodeDSL.defnode/4.
RustQ AST node generated by RustQ.Rust.AST.NodeDSL.defnode/4.
RustQ AST node generated by RustQ.Rust.AST.NodeDSL.defnode/4.
RustQ AST node generated by RustQ.Rust.AST.NodeDSL.defnode/4.
RustQ AST node generated by RustQ.Rust.AST.NodeDSL.defnode/4.
RustQ AST node generated by RustQ.Rust.AST.NodeDSL.defnode/4.
Macro helpers for constructing Rust item AST nodes with Elixir block syntax.
RustQ AST node generated by RustQ.Rust.AST.NodeDSL.defnode/4.
RustQ AST node generated by RustQ.Rust.AST.NodeDSL.defnode/4.
RustQ AST node generated by RustQ.Rust.AST.NodeDSL.defnode/4.
RustQ AST node generated by RustQ.Rust.AST.NodeDSL.defnode/4.
RustQ AST node generated by RustQ.Rust.AST.NodeDSL.defnode/4.
RustQ AST node generated by RustQ.Rust.AST.NodeDSL.defnode/4.
RustQ AST node generated by RustQ.Rust.AST.NodeDSL.defnode/4.
RustQ AST node generated by RustQ.Rust.AST.NodeDSL.defnode/4.
RustQ AST node generated by RustQ.Rust.AST.NodeDSL.defnode/4.
RustQ AST node generated by RustQ.Rust.AST.NodeDSL.defnode/4.
RustQ AST node generated by RustQ.Rust.AST.NodeDSL.defnode/4.
RustQ AST node generated by RustQ.Rust.AST.NodeDSL.defnode/4.
RustQ AST node generated by RustQ.Rust.AST.NodeDSL.defnode/4.
RustQ AST node generated by RustQ.Rust.AST.NodeDSL.defnode/4.
RustQ AST node generated by RustQ.Rust.AST.NodeDSL.defnode/4.
RustQ AST node generated by RustQ.Rust.AST.NodeDSL.defnode/4.
RustQ AST node generated by RustQ.Rust.AST.NodeDSL.defnode/4.
RustQ AST node generated by RustQ.Rust.AST.NodeDSL.defnode/4.
Defines RustQ AST node modules with schema metadata and typed structs.
RustQ AST node generated by RustQ.Rust.AST.NodeDSL.defnode/4.
RustQ AST node generated by RustQ.Rust.AST.NodeDSL.defnode/4.
RustQ AST node generated by RustQ.Rust.AST.NodeDSL.defnode/4.
RustQ AST node generated by RustQ.Rust.AST.NodeDSL.defnode/4.
RustQ AST node generated by RustQ.Rust.AST.NodeDSL.defnode/4.
RustQ AST node generated by RustQ.Rust.AST.NodeDSL.defnode/4.
RustQ AST node generated by RustQ.Rust.AST.NodeDSL.defnode/4.
RustQ AST node generated by RustQ.Rust.AST.NodeDSL.defnode/4.
RustQ AST node generated by RustQ.Rust.AST.NodeDSL.defnode/4.
RustQ AST node generated by RustQ.Rust.AST.NodeDSL.defnode/4.
RustQ AST node generated by RustQ.Rust.AST.NodeDSL.defnode/4.
RustQ AST node generated by RustQ.Rust.AST.NodeDSL.defnode/4.
RustQ AST node generated by RustQ.Rust.AST.NodeDSL.defnode/4.
RustQ AST node generated by RustQ.Rust.AST.NodeDSL.defnode/4.
RustQ AST node generated by RustQ.Rust.AST.NodeDSL.defnode/4.
RustQ AST node generated by RustQ.Rust.AST.NodeDSL.defnode/4.
Small constructor API for RustQ pattern AST nodes.
RustQ AST node generated by RustQ.Rust.AST.NodeDSL.defnode/4.
RustQ AST node generated by RustQ.Rust.AST.NodeDSL.defnode/4.
Renders RustQ AST nodes through the native Rust renderer.
RustQ AST node generated by RustQ.Rust.AST.NodeDSL.defnode/4.
Runtime schema view over RustQ AST node modules and their Rust decoder names.
Describes one RustQ AST node module, category, fields, and native decoder mapping.
RustQ AST node generated by RustQ.Rust.AST.NodeDSL.defnode/4.
RustQ AST node generated by RustQ.Rust.AST.NodeDSL.defnode/4.
RustQ AST node generated by RustQ.Rust.AST.NodeDSL.defnode/4.
RustQ AST node generated by RustQ.Rust.AST.NodeDSL.defnode/4.
RustQ AST node generated by RustQ.Rust.AST.NodeDSL.defnode/4.
RustQ AST node generated by RustQ.Rust.AST.NodeDSL.defnode/4.
RustQ AST node generated by RustQ.Rust.AST.NodeDSL.defnode/4.
RustQ AST node generated by RustQ.Rust.AST.NodeDSL.defnode/4.
RustQ AST node generated by RustQ.Rust.AST.NodeDSL.defnode/4.
RustQ AST node generated by RustQ.Rust.AST.NodeDSL.defnode/4.
Small constructor API for RustQ type AST nodes.
RustQ AST node generated by RustQ.Rust.AST.NodeDSL.defnode/4.
RustQ AST node generated by RustQ.Rust.AST.NodeDSL.defnode/4.
RustQ AST node generated by RustQ.Rust.AST.NodeDSL.defnode/4.
RustQ AST node generated by RustQ.Rust.AST.NodeDSL.defnode/4.
RustQ AST node generated by RustQ.Rust.AST.NodeDSL.defnode/4.
RustQ AST node generated by RustQ.Rust.AST.NodeDSL.defnode/4.
RustQ AST node generated by RustQ.Rust.AST.NodeDSL.defnode/4.
RustQ AST node generated by RustQ.Rust.AST.NodeDSL.defnode/4.
RustQ AST node generated by RustQ.Rust.AST.NodeDSL.defnode/4.
RustQ AST node generated by RustQ.Rust.AST.NodeDSL.defnode/4.
RustQ AST node generated by RustQ.Rust.AST.NodeDSL.defnode/4.
RustQ AST node generated by RustQ.Rust.AST.NodeDSL.defnode/4.
RustQ AST node generated by RustQ.Rust.AST.NodeDSL.defnode/4.
Generic traversal helpers for RustQ AST nodes.
Represents a Rust block body assembled from statement or expression fragments.
Represents a Rust const declaration built with RustQ.Rust.const/4.
Represents a Rust enum declaration built with RustQ.Rust.enum/2.
Represents a Rust struct field built with RustQ.Rust.field/3.
Represents a raw Rust fragment validated or spliced by RustQ.
Represents a Rust function declaration built with RustQ.Rust.fn/2.
Represents a Rust impl block built with RustQ.Rust.impl/2.
Represents a Rust module declaration built with RustQ.Rust.mod/2.
Represents a Rust struct declaration built with RustQ.Rust.struct/2.
Struct modules used by the RustQ.Rust string/iodata builder layer.
Represents a Rust type alias built with RustQ.Rust.type_alias/3.
Represents a Rust use declaration built with RustQ.Rust.use/2.
Builders for common Rustler NIF code.
Generates Rustler atom declarations, decoders, dispatchers, and cached atom helpers.
AST helpers for composing Rustler term decoding expressions.
Selects named Rustler helper functions from include/exclude options.
Generates Rustler NIF exports, NifStruct declarations, and raw NIF_TERM builders.
Generates Rustler keyword/options structs, decoders, and option helper functions.
Generates Rustler resource structs, handles, decoders, and initialization helpers.
Schema DSL for generating Rustler structs and tagged enums.
Generates Rust enums decoded from tagged Elixir struct or map terms.
Generates Rustler Term<'a> builders, decoders, and map access helpers.
Provides the ~R sigil for inline Rust templates.
Public helpers for lowering Elixir typespec forms into RustQ type metadata.
Helpers for composing RustQ splice replacements as plain keyword lists.
Rust function or method argument metadata. type is rendered Rust; type_ast is structured metadata.
Utilities for rendering Rust doc comments for downstream docs.
Rust enum metadata, including doc comments and variant names.
Rust struct field metadata.
Rust source file metadata.
Rust free function metadata, including doc comments, arguments, and return type.
Rust impl block metadata, including target type, optional trait, doc comments, and methods.
In-memory index of Rust source metadata parsed by RustQ.Syn.
Rust impl method metadata, including doc comments, arguments, and return type.
Receiver method call metadata found in Rust source.
Structured Rust function or method signature metadata.
Rust static item metadata.
Rust struct metadata.
Namespace for structured Rust type metadata.
Rust array type metadata.
Rust bare function pointer type metadata.
Rust impl Trait type metadata.
Rust Option<T> type metadata.
Rust path type metadata, for example Paint, skia_safe::Canvas, or AsRef<Rect>.
Fallback Rust type metadata for type forms RustQ does not model structurally yet.
Rust reference type metadata, for example &Paint or &mut Path.
Rust Result<T, E> type metadata.
Rust Self type metadata.
Rust slice type metadata.
Rust tuple type metadata.
Rust type alias metadata.
Rust use item metadata, including reexport aliases.
Parsed Rust template plus pending substitutions.
Built-in Rust/Rustler type vocabulary for RustQ.Meta.defrust/2 specs.
Mix Tasks
Checks or updates the RustQ golden lowering corpus.
Generates files declared in rustq.exs.
Verifies that RustQ template fixtures still compile against the generated Rust support code.