Re-stabilize build-dir layout v2 - #17354
Conversation
7cef870 to
be983b0
Compare
be983b0 to
cb74501
Compare
There was a problem hiding this comment.
I think all tests should be passing now except profile_trim_paths::unremap_file_with_cargo_clean.
I believe the target/debug/foo.trim-paths.jsonl file was previously getting removed with cargo clean -p foo -Ztrim-paths, but is not getting removed when the new build-dir layout is enabled.
So its hitting this assert:
assert!(!unremap_file_path(&p.bin("foo")).exists());There was a problem hiding this comment.
What is the intended behavior here? Does cargo clean -p foo remove target/debug/foo on both old and new build layout?
There was a problem hiding this comment.
yeah, wasn't fully sure. So I left it failing for now.
If the trim paths artifacts is generated for crate foo and you clean the foo crate it seems reasonable to me to expect that file to be removed.
There was a problem hiding this comment.
Yeah I would expect that. The foo.trim-paths.jsonl is a companion file for the root binary unit, similar to pdb on Windows, dSYM on macOS, and dwp/dwo file on Linux.
There was a problem hiding this comment.
Blocked until at least August 14th to be after beta branch: https://forge.rust-lang.org/
|
Is there anything different in this stabilization PR compared to the previous one? |
It should be largely the same with the following differences:
|
|
☔ The latest upstream changes (possibly #17333) made this pull request unmergeable. Please resolve the merge conflicts. |
…ut (rust-lang#17356) ### What does this PR try to resolve? See rust-lang#17354 (comment) for the motivating context. In rust-lang#17303 we started emitting unremap files to final artifacts. This included logic for cleaning the unremap file when running `cargo clean -p` but the logic was not added in the `.build_dir_new_layout` branch in the cargo clean logic. This PR adds the logic to both branches. ### How to test and review this PR? Primarily using the existing tests r? @weihanglo
What does this PR try to resolve?
This PR restabilizes the new build-dir layout tracked in #15010.
The previous stablization in #16807 was rolled back due to performance and scaling issues discovered on nightly.
These issues were mitigated in #17191, #17168, and #17236.
The new layout was re-enabled on nightly in #17258 and there has been no reported issues. Many tools have started migrating and the majority of well known tools have already added support for the new build-dir layout.
closes #15010
How to test and review this PR?
cargo testand the new layout has been enabled on nightly for ~2 weeks.