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.
One email a day. Unsubscribe in one click.
Keep up with Rust in about 3 minutes a day: what actually shipped — the commits, pull requests, releases, and security advisories that matter.
One email a day. Unsubscribe in one click. Read a past issue →
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