Update cargo submodule#159857
Conversation
|
Some changes occurred in src/tools/cargo cc @ehuss |
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
|
Need to update those rmake tests to reflect nightly build-dir layout changes. |
|
The run-make-support library was changed cc @jieyouxu |
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
|
r? ranger-ross Mind reviewing 86a4c65 is good? |
|
| let file_name = path.file_name().unwrap().to_str().unwrap(); | ||
| file_name.starts_with("libcompiler_builtins") && file_name.ends_with(".rlib") | ||
| }); | ||
| assert_eq!(rlibs.len(), 1, "expected exactly one compiler_builtins rlib: {rlibs:?}"); |
There was a problem hiding this comment.
length assertion should guard us well to only get the one and only artifact.
|
Or @jieyouxu if you are willing to take a look at the rmake change? 🥺 |
| .unwrap(); | ||
| // The rlib file is emitted as an intermediate build artifacts. | ||
| // Do not hardcode the path. | ||
| let mut rlibs = recursive_find_files(&target_dir, |path| { |
There was a problem hiding this comment.
should we change this to target_dir.join("debug")?
If it's built in release mode we could end up finding the debug and release .rlibs and hit the assert below.
Not sure if that is applicable for run-make tests
Cargo enables build-dir layout v2 by default on nightly (rust-lang/cargo PR 17258). Intermediate build artifacts no longer live in `<target-dir>/<triple>/<profile>/deps/` but in per-unit `build/<pkg>/<hash>/out/` directories.
|
Okay. Going to merge this. @bors r=ranger-ross p=1 rollup=never If the remake test changes are bad, please call them out! |
This comment has been minimized.
This comment has been minimized.
Update cargo submodule 17 commits in 3efb1f477e99b42974b982d939fd100303cdf7db..54b61f13a4eea47ec3ee95237d4107976d7909ed 2026-07-17 23:53:19 +0000 to 2026-07-24 13:23:18 +0000 - chore: bump to `[email protected]+1.9.6` (rust-lang/cargo#17259) - Enable build-dir layout v2 on nightly by default (rust-lang/cargo#17258) - fix(path): clarify error message when path dependency has wrong package (rust-lang/cargo#16927) - fix(toml): warn on hyphenated lint names and duplicates (rust-lang/cargo#17051) - fix(test): gate trim-paths tests on split debuginfo support (rust-lang/cargo#17256) - test(git): Explicitly test for git injection attacks (rust-lang/cargo#17253) - fix(git): Suggest libgit2 if git-cli fails (rust-lang/cargo#17252) - fix(diag): bound transitive unused dependency traversal (rust-lang/cargo#17251) - fix(git): Hide git fetch output without progress (rust-lang/cargo#17243) - revert(lint): Remove `new_implicit_minimum_version_req` (rust-lang/cargo#16321) (rust-lang/cargo#17249) - fix: Add haiku's dylib path (rust-lang/cargo#17248) - Zsh completion: Add `-p` and `--package` flags for `cargo add` (rust-lang/cargo#17247) - refactor(source): Clarify the name of the remote git registry (rust-lang/cargo#17240) - fix(timings): only report units the job queue actually ran (rust-lang/cargo#17238) - Do not include proc-macro deps in rustc search path args (rust-lang/cargo#17236) - chore(deps): update cargo-semver-checks to v0.49.0 (rust-lang/cargo#17237) - rustdoc: rename the doc parts metadata params (rust-lang/cargo#17234) r? ghost
|
💔 Test for 2799e29 failed: CI. Failed job:
|
|
A job failed! Check out the build log: (web) (plain enhanced) (plain) Click to see the possible cause of the failure (guessed by this bot) |
@bors retry |
|
githubstatus says outage was mitigated |
This comment has been minimized.
This comment has been minimized.
Update cargo submodule 17 commits in 3efb1f477e99b42974b982d939fd100303cdf7db..54b61f13a4eea47ec3ee95237d4107976d7909ed 2026-07-17 23:53:19 +0000 to 2026-07-24 13:23:18 +0000 - chore: bump to `[email protected]+1.9.6` (rust-lang/cargo#17259) - Enable build-dir layout v2 on nightly by default (rust-lang/cargo#17258) - fix(path): clarify error message when path dependency has wrong package (rust-lang/cargo#16927) - fix(toml): warn on hyphenated lint names and duplicates (rust-lang/cargo#17051) - fix(test): gate trim-paths tests on split debuginfo support (rust-lang/cargo#17256) - test(git): Explicitly test for git injection attacks (rust-lang/cargo#17253) - fix(git): Suggest libgit2 if git-cli fails (rust-lang/cargo#17252) - fix(diag): bound transitive unused dependency traversal (rust-lang/cargo#17251) - fix(git): Hide git fetch output without progress (rust-lang/cargo#17243) - revert(lint): Remove `new_implicit_minimum_version_req` (rust-lang/cargo#16321) (rust-lang/cargo#17249) - fix: Add haiku's dylib path (rust-lang/cargo#17248) - Zsh completion: Add `-p` and `--package` flags for `cargo add` (rust-lang/cargo#17247) - refactor(source): Clarify the name of the remote git registry (rust-lang/cargo#17240) - fix(timings): only report units the job queue actually ran (rust-lang/cargo#17238) - Do not include proc-macro deps in rustc search path args (rust-lang/cargo#17236) - chore(deps): update cargo-semver-checks to v0.49.0 (rust-lang/cargo#17237) - rustdoc: rename the doc parts metadata params (rust-lang/cargo#17234) r? ghost
|
💔 Test for d0f85c2 failed: CI. Failed job:
|
|
The job Click to see the possible cause of the failure (guessed by this bot) |
|
@bors r- |
|
Assuming this is the problem 🤔 |
|
Yeah I guess rustc-pert isn't yet ready for the new Cargo build dir layout. Not supporting |
This PR includes * A verbatim copy of `arg_file_command.rs` from rust-lang/rust * adapted copies of some other helpers from bootstrap. This found because we tried to enable new build-dir layout for nightly in Cargo, but failed with ``` error: Unrecognized option: 'skip-this-rustc' ``` I _guess_ this was the root cause. See * https://triage.rust-lang.org/gha-logs/rust-lang/rust/89681531404 * rust-lang/rust#159857 (comment)
|
I guess this can fix it? rust-lang/rustc-perf#2509 cc @Kobzol |
|
Hmm, that means that even compiling Cargo, which has less than 400 deps, on Windows, already triggers argfiles :( |
|
I was looking at the command that failed and it was ~49,505 chars long. A couple of observations:
|
|
Hm, I'm not sure a substitution helps that much. The main pain point with arg files or substitution is that wrappers (clippy, miri, rustc-perf, sccache, probably a dozen other programs in the wild) stop doing the right thing out of the box and need custom support to pull in the extra state. (Aside: does sccache expand arg files and do the right thing in terms of including them in its fingerprint?). I suspect historically -- and now -- most of those programs are buggy already since users can see arg files even without the build directory layout changes. But it seems clear that more users are going to be exposed to that. I think it would be valuable to decide on a path that we can support long-term here so that ideally those tools migrate once (rather than N times). I suspect that's probably arg files + making sure common arguments (e.g., It may also be worth Cargo (or compiler/both?) teams publishing a library to crates.io that handles expanding and compressing back into arg files on rustc invocations. That would make it cheaper to integrate once and lets us add functionality a bit more easily (though I'm sure there will be ports to other languages). |
View all comments
17 commits in 3efb1f477e99b42974b982d939fd100303cdf7db..54b61f13a4eea47ec3ee95237d4107976d7909ed
2026-07-17 23:53:19 +0000 to 2026-07-24 13:23:18 +0000
[email protected]+1.9.6(chore: bump to[email protected]+1.9.6cargo#17259)new_implicit_minimum_version_req(feat(lint): newimplicit_minimum_version_reqlint cargo#16321) (revert(lint): Removenew_implicit_minimum_version_req(#16321) cargo#17249)-pand--packageflags forcargo add(Zsh completion: Add-pand--packageflags forcargo addcargo#17247)r? ghost