Skip to content

Conversation

Zalathar
Copy link
Contributor

@Zalathar Zalathar commented May 6, 2025

Successful merges:

r? @ghost
@rustbot modify labels: rollup

Create a similar rollup

joboet and others added 30 commits April 28, 2025 11:13
Move the public `CommandEnvs` into the `process` module (and make it a wrapper type for an internal iterator type) and everything else into `sys::process` as per rust-lang#117276.
This fixes issues with RustAnalyzer not finding stable_mir crate.
It is also part of the long term architecture plan for these crates,
since we are moving towards having stable_mir depend on rustc_smir and
not the other way around.

I believe this is an utility function that will come handy eventually
for stable_mir users, but I'm keeping it as part of rustc_internal since
it initializes the StableMir context and requires `TyCtxt`.

Finally, I added the rustc_internal crate under a feature since the APIs
from this module shall not be stabilized.
This also causes the coverage-dump unit tests to run in CI and `./x test` by
default.
Actually printing the filenames is deferred to a subsequent commit that will
simultaneously bless all affected tests.
@rustbot rustbot added A-run-make Area: port run-make Makefiles to rmake.rs A-rustdoc-search Area: Rustdoc's search feature A-testsuite Area: The testsuite used to check the correctness of rustc S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. T-bootstrap Relevant to the bootstrap subteam: Rust's build system (x.py and src/bootstrap) T-compiler Relevant to the compiler team, which will review and decide on the PR/issue. T-libs Relevant to the library team, which will review and decide on the PR/issue. T-rustdoc Relevant to the rustdoc team, which will review and decide on the PR/issue. T-rustdoc-frontend Relevant to the rustdoc-frontend team, which will review and decide on the web UI/UX output. rollup A PR which is a rollup labels May 6, 2025
@Zalathar
Copy link
Contributor Author

Zalathar commented May 6, 2025

@bors r+ rollup=never p=5

@bors
Copy link
Collaborator

bors commented May 6, 2025

📌 Commit 546c1c2 has been approved by Zalathar

It is now in the queue for this repository.

@bors bors added S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion. and removed S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. labels May 6, 2025
@bors
Copy link
Collaborator

bors commented May 6, 2025

⌛ Testing commit 546c1c2 with merge 651e9cf...

@bors
Copy link
Collaborator

bors commented May 6, 2025

☀️ Test successful - checks-actions
Approved by: Zalathar
Pushing 651e9cf to master...

@bors bors added the merged-by-bors This PR was explicitly merged by bors. label May 6, 2025
@bors bors merged commit 651e9cf into rust-lang:master May 6, 2025
7 checks passed
@rustbot rustbot added this to the 1.88.0 milestone May 6, 2025
Copy link
Contributor

github-actions bot commented May 6, 2025

What is this? This is an experimental post-merge analysis report that shows differences in test outcomes between the merged PR and its parent PR.

Comparing 7295b08 (parent) -> 651e9cf (this PR)

Test differences

Show 2291 test diffs

Stage 1

  • [rustdoc] tests/rustdoc/anchor-id-trait-tymethod-28478.rs: pass -> [missing] (J0)
  • [rustdoc] tests/rustdoc/assoc/assoc-type-bindings-20646.rs: [missing] -> pass (J0)
  • [rustdoc] tests/rustdoc/blanket-impl-29503.rs: pass -> [missing] (J0)
  • [rustdoc] tests/rustdoc/constant/generic_const_exprs.rs: [missing] -> pass (J0)
  • [rustdoc] tests/rustdoc/constant/rfc-2632-const-trait-impl.rs: [missing] -> pass (J0)
  • [rustdoc] tests/rustdoc/decl_macro.rs: pass -> [missing] (J0)
  • [rustdoc] tests/rustdoc/doc-assoc-item.rs: pass -> [missing] (J0)
  • [rustdoc] tests/rustdoc/doc-cfg-hide.rs: pass -> [missing] (J0)
  • [rustdoc] tests/rustdoc/doc-cfg-implicit.rs: pass -> [missing] (J0)
  • [rustdoc] tests/rustdoc/doc-cfg-traits.rs: pass -> [missing] (J0)
  • [rustdoc] tests/rustdoc/enum-variant-private-46767.rs: pass -> [missing] (J0)
  • [rustdoc] tests/rustdoc/impl-trait-precise-capturing.rs: pass -> [missing] (J0)
  • [rustdoc] tests/rustdoc/impl/impl-trait-precise-capturing.rs: [missing] -> pass (J0)
  • [rustdoc] tests/rustdoc/impl/method-link-foreign-trait-impl-17476.rs: [missing] -> pass (J0)
  • [rustdoc] tests/rustdoc/jump-to-def/jump-to-def-doc-links-calls.rs: [missing] -> pass (J0)
  • [rustdoc] tests/rustdoc/link-extern-crate-title-33178.rs: pass -> [missing] (J0)
  • [rustdoc] tests/rustdoc/macro-generated-macro.rs: pass -> [missing] (J0)
  • [rustdoc] tests/rustdoc/must_implement_one_of.rs: pass -> [missing] (J0)
  • [rustdoc] tests/rustdoc/negative-impl.rs: pass -> [missing] (J0)
  • [rustdoc] tests/rustdoc/no_std-primitive.rs: pass -> [missing] (J0)
  • [rustdoc] tests/rustdoc/primitive/primitive-raw-pointer-link-no-inlined-15318-2.rs: [missing] -> pass (J0)
  • [rustdoc] tests/rustdoc/primitive/primitive-tuple-variadic.rs: [missing] -> pass (J0)
  • [rustdoc] tests/rustdoc/private/inner-private-110422.rs: [missing] -> pass (J0)
  • [rustdoc] tests/rustdoc/reexport-check.rs: pass -> [missing] (J0)
  • [rustdoc] tests/rustdoc/reexport-hidden-macro.rs: pass -> [missing] (J0)
  • [rustdoc] tests/rustdoc/reexport/alias-reexport2.rs: [missing] -> pass (J0)
  • [rustdoc] tests/rustdoc/reexport/blanket-reexport-item.rs: [missing] -> pass (J0)
  • [rustdoc] tests/rustdoc/reexport/duplicated-glob-reexport-60522.rs: [missing] -> pass (J0)
  • [rustdoc] tests/rustdoc/reexport/foreigntype-reexport.rs: [missing] -> pass (J0)
  • [rustdoc] tests/rustdoc/reexport/reexport-macro.rs: [missing] -> pass (J0)
  • [rustdoc] tests/rustdoc/rustc-macro-crate.rs: pass -> [missing] (J0)
  • [rustdoc] tests/rustdoc/source-file.rs: pass -> [missing] (J0)
  • [rustdoc] tests/rustdoc/src-links-inlined-34274.rs: pass -> [missing] (J0)
  • [rustdoc] tests/rustdoc/src-mod-path-absolute-26995.rs: pass -> [missing] (J0)
  • [rustdoc] tests/rustdoc/strip-enum-variant.rs: pass -> [missing] (J0)
  • errors::verify_parse_async_impl_160: pass -> [missing] (J2)
  • errors::verify_parse_async_move_block_in_2015_61: pass -> [missing] (J2)
  • errors::verify_parse_async_move_block_in_2015_67: [missing] -> pass (J2)
  • errors::verify_parse_async_use_block_in_2015_68: [missing] -> pass (J2)
  • errors::verify_parse_bounds_not_allowed_on_trait_aliases_73: pass -> [missing] (J2)
  • errors::verify_parse_bounds_not_allowed_on_trait_aliases_79: [missing] -> pass (J2)
  • errors::verify_parse_box_not_pat_155: [missing] -> pass (J2)
  • errors::verify_parse_dotdotdot_rest_pattern_113: [missing] -> pass (J2)
  • errors::verify_parse_fn_pointer_cannot_be_async_133: [missing] -> pass (J2)
  • errors::verify_parse_frontmatter_invalid_infostring_34: [missing] -> pass (J2)
  • errors::verify_parse_inclusive_range_no_end_41: [missing] -> pass (J2)
  • errors::verify_parse_invalid_label_103: [missing] -> pass (J2)
  • errors::verify_parse_missing_const_type_79: pass -> [missing] (J2)
  • errors::verify_parse_missing_fn_params_67: pass -> [missing] (J2)
  • errors::verify_parse_mut_on_non_ident_pattern_118: [missing] -> pass (J2)
  • errors::verify_parse_non_string_abi_literal_37: pass -> [missing] (J2)
  • errors::verify_parse_path_double_colon_65: [missing] -> pass (J2)
  • errors::verify_parse_self_argument_pointer_69: [missing] -> pass (J2)
  • errors::verify_parse_unexpected_token_after_dot_64: pass -> [missing] (J2)
  • errors::verify_parse_unexpected_token_after_struct_name_found_keyword_82: pass -> [missing] (J2)

Stage 2

  • [rustdoc] tests/rustdoc/anchors/anchors.rs: [missing] -> pass (J1)
  • [rustdoc] tests/rustdoc/async/async-trait.rs: [missing] -> pass (J1)
  • [rustdoc] tests/rustdoc/auto/auto-impl-primitive.rs: [missing] -> pass (J1)
  • [rustdoc] tests/rustdoc/auto/auto-trait-bounds-where-51236.rs: [missing] -> pass (J1)
  • [rustdoc] tests/rustdoc/constant/assoc-consts-underscore.rs: [missing] -> pass (J1)
  • [rustdoc] tests/rustdoc/constant/assoc-consts-version.rs: [missing] -> pass (J1)
  • [rustdoc] tests/rustdoc/constant/hide-complex-unevaluated-consts.rs: [missing] -> pass (J1)
  • [rustdoc] tests/rustdoc/deduplicate-glob-import-impl-21474.rs: pass -> [missing] (J1)
  • [rustdoc] tests/rustdoc/default-impl.rs: pass -> [missing] (J1)
  • [rustdoc] tests/rustdoc/doc-cfg-implicit-gate.rs: pass -> [missing] (J1)
  • [rustdoc] tests/rustdoc/enum/enum-variant-value.rs: [missing] -> pass (J1)
  • [rustdoc] tests/rustdoc/extern/extern-default-method.rs: [missing] -> pass (J1)
  • [rustdoc] tests/rustdoc/generic-impl.rs: pass -> [missing] (J1)
  • [rustdoc] tests/rustdoc/hidden-private.rs: pass -> [missing] (J1)
  • [rustdoc] tests/rustdoc/hide-complex-unevaluated-consts.rs: pass -> [missing] (J1)
  • [rustdoc] tests/rustdoc/ice-associated-const-equality-105952.rs: pass -> [missing] (J1)
  • [rustdoc] tests/rustdoc/impl-associated-items-sidebar.rs: pass -> [missing] (J1)
  • [rustdoc] tests/rustdoc/impl/deduplicate-trait-impl-22025.rs: [missing] -> pass (J1)
  • [rustdoc] tests/rustdoc/impl/deprecated-impls.rs: [missing] -> pass (J1)
  • [rustdoc] tests/rustdoc/impl/universal-impl-trait.rs: [missing] -> pass (J1)
  • [rustdoc] tests/rustdoc/inline-assoc-type-20727-bounds.rs: pass -> [missing] (J1)
  • [rustdoc] tests/rustdoc/inner-private-110422.rs: pass -> [missing] (J1)
  • [rustdoc] tests/rustdoc/macro/decl_macro.rs: [missing] -> pass (J1)
  • [rustdoc] tests/rustdoc/macro/decl_macro_priv.rs: [missing] -> pass (J1)
  • [rustdoc] tests/rustdoc/missing-private-inlining-109258.rs: pass -> [missing] (J1)
  • [rustdoc] tests/rustdoc/multiple-macro-rules-w-same-name-99221.rs: pass -> [missing] (J1)
  • [rustdoc] tests/rustdoc/primitive-reference.rs: pass -> [missing] (J1)
  • [rustdoc] tests/rustdoc/primitive/primitive-raw-pointer-link-15318.rs: [missing] -> pass (J1)
  • [rustdoc] tests/rustdoc/primitive/primitive-slice-auto-trait.rs: [missing] -> pass (J1)
  • [rustdoc] tests/rustdoc/private/missing-private-inlining-109258.rs: [missing] -> pass (J1)
  • [rustdoc] tests/rustdoc/private/private-fields-tuple-struct.rs: [missing] -> pass (J1)
  • [rustdoc] tests/rustdoc/private/private-non-local-fields.rs: [missing] -> pass (J1)
  • [rustdoc] tests/rustdoc/private/private-type-cycle-110629.rs: [missing] -> pass (J1)
  • [rustdoc] tests/rustdoc/pub-use-extern-macros.rs: pass -> [missing] (J1)
  • [rustdoc] tests/rustdoc/reexport/reexport-stability-tags-deprecated-and-portability.rs: [missing] -> pass (J1)
  • [rustdoc] tests/rustdoc/reexport/reexports-of-same-name.rs: [missing] -> pass (J1)
  • [rustdoc] tests/rustdoc/reexports-of-same-name.rs: pass -> [missing] (J1)
  • [rustdoc] tests/rustdoc/sidebar-trait-impl-disambiguate-78701.rs: pass -> [missing] (J1)
  • [rustdoc] tests/rustdoc/trait-impl.rs: pass -> [missing] (J1)
  • [rustdoc] tests/rustdoc/source-code-pages/src-links-inlined-34274.rs: [missing] -> pass (J3)
  • [rustdoc] tests/rustdoc/src-links-implementor-43893.rs: pass -> [missing] (J3)
  • [ui] tests/ui/frontmatter/extra-after-end.rs: [missing] -> pass (J4)
  • [ui] tests/ui/frontmatter/frontmatter-non-lexible-tokens.rs: [missing] -> pass (J4)
  • [ui] tests/ui/frontmatter/proc-macro-observer.rs: [missing] -> pass (J4)
  • [ui] tests/ui/frontmatter/shebang.rs: [missing] -> pass (J4)

(and 1301 additional test diffs)

Additionally, 890 doctest diffs were found. These are ignored, as they are noisy.

Job group index

Test dashboard

Run

cargo run --manifest-path src/ci/citool/Cargo.toml -- \
    test-dashboard 651e9cf327358b28db7e37a2ae61727f4a2ef232 --output-dir test-dashboard

And then open test-dashboard/index.html in your browser to see an overview of all executed tests.

Job duration changes

  1. dist-x86_64-apple: 10045.2s -> 7884.2s (-21.5%)
  2. x86_64-apple-2: 4724.5s -> 5133.4s (8.7%)
  3. x86_64-msvc-2: 6583.3s -> 7108.5s (8.0%)
  4. dist-arm-linux: 5215.2s -> 4807.9s (-7.8%)
  5. dist-apple-various: 7972.3s -> 7467.3s (-6.3%)
  6. x86_64-msvc-ext2: 5641.7s -> 5939.8s (5.3%)
  7. dist-riscv64-linux: 5073.0s -> 5327.2s (5.0%)
  8. x86_64-gnu-llvm-19-2: 6289.2s -> 6008.4s (-4.5%)
  9. x86_64-gnu-aux: 6234.9s -> 5964.9s (-4.3%)
  10. x86_64-gnu-llvm-20-3: 6777.1s -> 7060.5s (4.2%)
How to interpret the job duration changes?

Job durations can vary a lot, based on the actual runner instance
that executed the job, system noise, invalidated caches, etc. The table above is provided
mostly for t-infra members, for simpler debugging of potential CI slow-downs.

@rust-timer
Copy link
Collaborator

📌 Perf builds for each rolled up PR:

PR# Message Perf Build Sha
#139550 Fix -Zremap-path-scope rmeta handling 9526dc47bdcc2cdf309eedd8685ebd474638b964 (link)
#139764 Consistent trait bounds for ExtractIf Debug impls edfce758c099d0815c40f0e148463061258d7055 (link)
#139773 Implement Iterator::last for vec::IntoIter 713f63278c3cc198add9ab9524c9de53fb37f641 (link)
#140035 Implement RFC 3503: frontmatters 148238041fa848180042b70de1bc098728d841dd (link)
#140251 coverage-dump: Resolve global file IDs to filenames 4d2066031742e85181f73e3e8304137d20aaf98d (link)
#140393 std: get rid of sys_common::process 5086cfa22e36cee88ae2f94d73aa112e62b18d40 (link)
#140532 Fix RustAnalyzer discovery of rustc's stable_mir crate 68c9f5e12f8765d07adae6ef9b4a91b745337e8c (link)
#140598 Steer docs to utf8_chunks and Iterator::take a499d8400e73f295172bcd0df125dbdbef45e713 (link)
#140634 Use more accurate ELF flags on MIPS 140c26f11c677972b64026deb28fa3d4845a4ed9 (link)
#140673 Clean rustdoc tests folder 78330bdbdcfd37a58bdd7f52f5f92aa2f3d5ab9c (link)
#140678 Be a bit more relaxed about not yet constrained infer vars … e20f301499da38c6d9c6d17945fae9e4eadff8e4 (link)
#140687 Update mdbook to 0.4.49 9d2fd3ab2184ff93fb71f7397064799280daf771 (link)

previous master: 7295b08a17

In the case of a perf regression, run the following command for each PR you suspect might be the cause: @rust-timer build $SHA

@rust-timer
Copy link
Collaborator

Finished benchmarking commit (651e9cf): comparison URL.

Overall result: ❌✅ regressions and improvements - no action needed

@rustbot label: -perf-regression

Instruction count

This is the most reliable metric that we have; it was used to determine the overall result at the top of this comment. However, even this metric can sometimes exhibit noise.

mean range count
Regressions ❌
(primary)
- - 0
Regressions ❌
(secondary)
0.4% [0.4%, 0.4%] 1
Improvements ✅
(primary)
-0.3% [-0.3%, -0.3%] 1
Improvements ✅
(secondary)
- - 0
All ❌✅ (primary) -0.3% [-0.3%, -0.3%] 1

Max RSS (memory usage)

Results (primary 0.5%, secondary 2.6%)

This is a less reliable metric that may be of interest but was not used to determine the overall result at the top of this comment.

mean range count
Regressions ❌
(primary)
0.8% [0.4%, 2.6%] 16
Regressions ❌
(secondary)
2.6% [2.6%, 2.6%] 1
Improvements ✅
(primary)
-0.9% [-1.3%, -0.6%] 3
Improvements ✅
(secondary)
- - 0
All ❌✅ (primary) 0.5% [-1.3%, 2.6%] 19

Cycles

Results (primary -0.1%)

This is a less reliable metric that may be of interest but was not used to determine the overall result at the top of this comment.

mean range count
Regressions ❌
(primary)
0.5% [0.4%, 0.7%] 2
Regressions ❌
(secondary)
- - 0
Improvements ✅
(primary)
-0.5% [-0.5%, -0.4%] 3
Improvements ✅
(secondary)
- - 0
All ❌✅ (primary) -0.1% [-0.5%, 0.7%] 5

Binary size

This benchmark run did not return any relevant results for this metric.

Bootstrap: 771.005s -> 771.17s (0.02%)
Artifact size: 365.42 MiB -> 365.44 MiB (0.01%)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
A-run-make Area: port run-make Makefiles to rmake.rs A-rustdoc-search Area: Rustdoc's search feature A-testsuite Area: The testsuite used to check the correctness of rustc merged-by-bors This PR was explicitly merged by bors. rollup A PR which is a rollup S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion. T-bootstrap Relevant to the bootstrap subteam: Rust's build system (x.py and src/bootstrap) T-compiler Relevant to the compiler team, which will review and decide on the PR/issue. T-libs Relevant to the library team, which will review and decide on the PR/issue. T-rustdoc Relevant to the rustdoc team, which will review and decide on the PR/issue. T-rustdoc-frontend Relevant to the rustdoc-frontend team, which will review and decide on the web UI/UX output.
Projects
None yet
Development

Successfully merging this pull request may close these issues.