The Wire · Showcase
CARGO RE-STABILIZES BUILD-DIR LAYOUT V2
By RepoJournal · Filed · About Rust
Cargo is bringing back the new build-dir layout, and this time it's built to scale.
Cargo re-stabilized the build-dir layout v2 [1], rolling back the rollback after three fixes addressed the performance and scaling issues that forced it off nightly. The layout, tracked in cargo issue #15010, is back with mitigations from PRs #17191, #17168, and #17236. Meanwhile, nightly Cargo also enables `-Zembed-metadata=no` by default [2], cutting metadata from embedded rlibs for faster builds, though it's clearly still experimental. On the rust-lang/rust side, a 12-PR rollup merged [3] that includes new atomic volatile intrinsics and the `unspecified_from()` API for IP and socket addresses. Infra cleanup continues: rust-timer branches are gone [4], and jdno is out of the infra-ci rotation [5] since triagebot kept assigning him PRs he hasn't been reviewing. Docs.rs is dropping `releases.files` and `releases.archive_storage` [6], simplifying storage and removing file list generation. And the index added crates like `glimta` and `diversion` [7] [8]. Skip the lock file bumps [9] [10] - they're routine.
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
- → Test the re-stabilized build-dir layout v2 on nightly; report any regressions rust-lang/cargo [plan]
- → Monitor nightly Cargo's default -Zembed-metadata=no; watch for build script issues rust-lang/cargo [monitor]
- → Watch for docs.rs storage changes; verify your crate's docs still build rust-lang/docs.rs [monitor]
- → Ignore the lock file maintenance PRs; routine dependency refresh rust-lang/docs.rs [monitor]
References
- [1] Re-stabilize build-dir layout v2 ↗ rust-lang/cargo
- [2] Enable `-Zembed-metadata=no` by default on nightly Cargo ↗ rust-lang/cargo
- [3] Auto merge of #161256 - JonathanBrouwer:rollup-WuI2sWX, r=JonathanBrouwer rust-lang/rust
- [4] Rollup merge of #161145 - Kobzol:remove-rust-timer-branches, r=Mark-Simulacrum rust-lang/rust
- [5] Rollup merge of #161237 - Kobzol:remove-jdno-from-rotation, r=jieyouxu rust-lang/rust
- [6] drop releases.files and releases.archive_storage, don't generate file list ↗ rust-lang/docs.rs
- [7] Create crate `glimta` rust-lang/crates.io-index
- [8] Create crate `diversion` rust-lang/crates.io-index
- [9] chore(deps): lock file maintenance ↗ rust-lang/docs.rs
- [10] Lock file maintenance ↗ rust-lang/team