Pass Inventory

Current passes that run through the typed pass mechanism (Pass + PassContext). Rustdoc links use mdBook-relative paths (../../rustdoc/...).

Top-Level Pipeline (execution order)

  1. meta.expand_program - Expand meta constructs into runtime-facing AST.
  2. elab.elaborate_program - Elaborate types/templates in AST.
  3. hir.lower_program - Lower elaborated AST to HIR.
  4. check.check_program - Semantic/type check HIR.
  5. mir.lower_program - Lower HIR + checker facts to MIR.
  6. codegen.rust.emit_program - Emit Rust source from MIR.
  7. codegen.wasm.emit_program - Emit WAT/WASM artifacts from MIR.

Elaboration Subpasses

  1. elab.normalize_runtime_calls_and_spreads - Rewrite ...tuple call args.
  2. elab.validate_runtime_call_args - Validate normalized runtime call args.
  3. elab.bind_template_call_args - Bind template call args and build specialization key.
  4. elab.instantiate_runtime_function - Instantiate/cache concrete runtime template function.