The Wire · Showcase
RUSTC DEPENDENCY CLEANUP UNLOCKS RESOLVER REFACTOR
By RepoJournal · Filed · About Rust
The compiler team removed critical circular dependencies from rustc_incremental, unblocking a major resolver architecture goal that's been in the works for months.
Both rustc_codegen_ssa [1] and rustc_metadata [2] dropped their dependencies on rustc_incremental, a structural shift that enables rustc_incremental to depend on rustc_resolve instead. This breaks a circular dependency pattern that's constrained the compiler's internal architecture and directly unblocks the resolver refactor outlined in the Rust Project Goals [1]. The timing matters: this is foundational cleanup that the team needed before moving forward on resolver improvements, and it landed without breaking anything in the rollups. Meanwhile, the standard library replacement project added pin-utils, sptr, io-lifetimes, and is_sorted [3] [4] [5] [6], expanding the toolkit for crates targeting std-free environments. Documentation updates shipped across the reference and nomicon [7] [8], tightening the safety guarantees language for users who read the fine print.
Action items
- → Review resolver refactor PRs against rustc_incremental changes - the architecture is now unblocked rust-lang/rust [plan]
- → Evaluate new std-replacement crates (pin-utils, sptr, io-lifetimes) for embedded and no_std targets rust-lang/std-replacement-data [monitor]
- → Check nomicon safety clarifications if your unsafe code relies on correctness assumptions rust-lang/nomicon [monitor]
References
- [1] Remove dependency from rustc_codegen_ssa on rustc_incremental rust-lang/rust
- [2] Rollup merge of #158616 - blyxyas:less_rustc_incremental_dependents, r=petrochenkov rust-lang/rust
- [3] Add `pin-utils` (#24) rust-lang/std-replacement-data
- [4] Add `sptr` (#22) rust-lang/std-replacement-data
- [5] Add `io-lifetimes` (#23) rust-lang/std-replacement-data
- [6] add is_sorted (#27) rust-lang/std-replacement-data
- [7] Rollup merge of #158571 - rustbot:docs-update, r=ehuss rust-lang/rust
- [8] Rollup of 7 pull requests ↗ rust-lang/rust
FAQ
- What changed in Rust on July 1, 2026?
- The compiler team removed critical circular dependencies from rustc_incremental, unblocking a major resolver architecture goal that's been in the works for months.
- What should Rust teams do about it?
- Review resolver refactor PRs against rustc_incremental changes - the architecture is now unblocked • Evaluate new std-replacement crates (pin-utils, sptr, io-lifetimes) for embedded and no_std targets • Check nomicon safety clarifications if your unsafe code relies on correctness assumptions
- Which Rust repositories shipped on July 1, 2026?
- rust-lang/rust, rust-lang/std-replacement-data