Definition

Rust compiler pipelining overlaps crate compilation by starting downstream crates before upstream crates fully finish — using dependency metadata (.rmeta) rather than waiting for complete type-checking of function bodies.

Key Points

  • 2019: Cargo pipelined compilation starts dependents when .rmeta appears (rust-compiler-pipelining historical baseline)
  • 2026-10-04: headstart moves the signal earlier via analysis_interfaces query — writes .early-rmeta at interface-check boundary (2026-10-04-rust-headstart-faster-builds)
  • cargo check: dependents complete on early metadata alone
  • cargo build: dependents analyze on early metadata, pause and release job slots until full metadata available for codegen
  • Tradeoffs: potential wasted downstream work on late upstream errors; delayed cross-crate error ordering; higher peak memory

Sources