Skip to content

Rollup of 13 pull requests - #165582

Merged
rust-bors[bot] merged 40 commits into
rust-lang:mainfrom
Zalathar:rollup-Eq9hkv5
Nov 7, 2026
Merged

rust-bors[bot] merged 40 commits into
rust-lang:mainfrom
Zalathar:rollup-Eq9hkv5

Conversation

@Zalathar

@Zalathar Zalathar commented Nov 7, 2026

Copy link
Copy Markdown
Member

Successful merges:

r? @ghost

Create a similar rollup

ChayimFriedman2 and others added 30 commits October 25, 2026 17:24
This phase contains a lot of checks, not only borrowck
Local runs don't emit metrics, trying to update the metrics.json file
will always fail.
I became a bit lost when I encountered these links, for example at:
<https://doc.rust-lang.org/nightly/nightly-rustc/rustc_errors/diagnostic/struct.Diag.html#method.span_label>

It appears that these were caused by commit
f6f8779 ("Reduce capabilities of
`Diagnostic`.").

Formerly, the docs for with_foo and foo would both link to the docs for
foo on an "impl" struct, but that commit moved those methods over to the
outer struct and changed the links to point to the original method
there, for both the original and with_ variants.

This *is* the appropriate target ... except you don't need to go see
it when you're already seeing it.

It's a bit of a big refactoring moving a bunch of code, so it is
understandable that such a small detail wasn't really noticed with all
of those method bodies flying around.
right now, an opt-dist run starts with:
- clear its opt-artifacts folder
- copy a rustc-perf tree there
- build the collector

So, on every run, the built rustc-perf is deleted and rebuilt, even though
there is a "prebuilt rustc-perf" configuration.

This commit does not rebuild rustc-perf if there's a prebuilt dir,
and returning that as the rustc-perf path to run benchmarks in.
Local runs are usually more concerned about optimizing the compiler, so
optimizing rustdoc is off by default for these, but it still is on
by default otherwise, to keep optimizing it on CI as we do today.
Make optimizing cranelift and clippy off by default for local runs.
The default is still on for CI, because we optimize by default, but off
for local runs.
At least for now, only `lto=fat` is supported
…, r=JohnTitor

Specialize more builtin types for `<[MaybeUninit<_>]>::write_default()`

r? libs
…rs, r=notriddle

rustdoc: Make implementors collapseable if there is more than one line of docs

Fixes rust-lang#165383.

Apply the same logic as for non-implementors impl blocks: if there is an empty impl block only containing more than one line of docs, it should be collapseable.

r? @notriddle
@rustbot rustbot added A-CI Area: Our Github Actions CI A-LLVM Area: Code generation parts specific to LLVM. Both correctness bugs and optimization-related issues. A-meta Area: Issues & PRs about the rust-lang/rust repository itself A-rustdoc-js Area: Rustdoc's JS front-end A-str Area: `str` and `String` A-testsuite Area: The testsuite used to check the correctness of rustc F-autodiff `#![feature(autodiff)]` 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-infra Relevant to the infrastructure 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. labels Nov 7, 2026
@Zalathar

Zalathar commented Nov 7, 2026

Copy link
Copy Markdown
Member Author

Rollup of everything.

@bors r+ rollup=never p=5 force

@rust-bors

rust-bors Bot commented Nov 7, 2026

Copy link
Copy Markdown
Contributor

📌 Commit 4c17534 has been approved by Zalathar

It is now in the queue for this repository.

@rust-bors rust-bors Bot 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 Nov 7, 2026
@rust-bors

This comment has been minimized.

@rust-bors rust-bors Bot added merged-by-bors This PR was explicitly merged by bors. and removed S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion. labels Nov 7, 2026
@rust-bors

rust-bors Bot commented Nov 7, 2026

Copy link
Copy Markdown
Contributor

☀️ Test successful - CI
Approved by: Zalathar
Duration: 3h 20m 48s
Pushing e30d778 to main...

@github-actions

github-actions Bot commented Nov 7, 2026

Copy link
Copy Markdown
Contributor
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 a267dc9 (parent) -> e30d778 (this PR)

Test differences

Show 478 test diffs

Stage 1

  • [ui] tests/ui/codegen/virtual-function-elimination.rs: pass -> [missing] (J0)
  • [ui] tests/ui/codegen/virtual-function-elimination/basic.rs: [missing] -> pass (J0)
  • [ui] tests/ui/codegen/virtual-function-elimination/invalid-lto.rs#lto_missing: [missing] -> pass (J0)
  • [ui] tests/ui/codegen/virtual-function-elimination/invalid-lto.rs#lto_no: [missing] -> pass (J0)
  • [ui] tests/ui/codegen/virtual-function-elimination/invalid-lto.rs#lto_thin: [missing] -> pass (J0)
  • [ui (polonius)] tests/ui/codegen/virtual-function-elimination.rs: pass -> [missing] (J4)
  • [ui (polonius)] tests/ui/codegen/virtual-function-elimination/basic.rs: [missing] -> pass (J4)
  • [ui (polonius)] tests/ui/codegen/virtual-function-elimination/invalid-lto.rs#lto_missing: [missing] -> pass (J4)
  • [ui (polonius)] tests/ui/codegen/virtual-function-elimination/invalid-lto.rs#lto_no: [missing] -> pass (J4)
  • [ui (polonius)] tests/ui/codegen/virtual-function-elimination/invalid-lto.rs#lto_thin: [missing] -> pass (J4)

Stage 2

  • [ui] tests/ui/codegen/virtual-function-elimination.rs: ignore (only executed when the architecture is x86_64) -> [missing] (J1)
  • [ui] tests/ui/codegen/virtual-function-elimination/basic.rs: [missing] -> ignore (only executed when the architecture is x86_64) (J1)
  • [ui] tests/ui/codegen/virtual-function-elimination.rs: ignore (gcc backend is marked as ignore) -> [missing] (J2)
  • [ui] tests/ui/codegen/virtual-function-elimination/basic.rs: [missing] -> ignore (gcc backend is marked as ignore) (J2)
  • [ui] tests/ui/codegen/virtual-function-elimination/invalid-lto.rs#lto_missing: [missing] -> ignore (gcc backend is marked as ignore) (J2)
  • [ui] tests/ui/codegen/virtual-function-elimination/invalid-lto.rs#lto_no: [missing] -> ignore (gcc backend is marked as ignore) (J2)
  • [ui] tests/ui/codegen/virtual-function-elimination/invalid-lto.rs#lto_thin: [missing] -> ignore (gcc backend is marked as ignore) (J2)
  • [ui] tests/ui/codegen/virtual-function-elimination/invalid-lto.rs#lto_missing: [missing] -> pass (J3)
  • [ui] tests/ui/codegen/virtual-function-elimination/invalid-lto.rs#lto_no: [missing] -> pass (J3)
  • [ui] tests/ui/codegen/virtual-function-elimination/invalid-lto.rs#lto_thin: [missing] -> pass (J3)
  • [ui] tests/ui/codegen/virtual-function-elimination.rs: pass -> [missing] (J5)
  • [ui] tests/ui/codegen/virtual-function-elimination/basic.rs: [missing] -> pass (J5)

Additionally, 456 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 e30d778f3029b78bb9c2e0dbe11a3b7389b652c4 --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-loongarch64-musl: 1h 17m -> 2h 12m (+71.2%)
  2. dist-i686-msvc: 31m 10s -> 51m 8s (+64.1%)
  3. dist-loongarch64-linux: 1h 19m -> 2h 7m (+60.2%)
  4. dist-powerpc64-linux-gnu: 1h 2m -> 1h 37m (+56.9%)
  5. dist-x86_64-llvm-mingw: 1h 17m -> 2h 1m (+56.8%)
  6. test-x86_64-msvc-1: 1h 43m -> 2h 39m (+53.9%)
  7. dist-x86_64-msvc: 2h 7m -> 3h 11m (+49.7%)
  8. test-x86_64-gnu-aux: 1h 54m -> 2h 49m (+48.8%)
  9. test-x86_64-gnu-next-trait-solver-polonius: 45m 43s -> 1h 7m (+47.0%)
  10. test-x86_64-msvc-ext1: 2h 19m -> 1h 18m (-43.3%)
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
Copy Markdown
Collaborator

Finished benchmarking commit (e30d778): comparison URL.

Overall result: ✅ improvements - no action needed

@rustbot label: -perf-regression

Instruction count

Our most reliable metric. Used to determine the overall result above. However, even this metric can be noisy.

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

Max RSS (memory usage)

Results (secondary 6.1%)

A less reliable metric. May be of interest, but not used to determine the overall result above.

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

Cycles

This perf run didn't have relevant results for this metric.

Binary size

Results (primary -0.1%)

A less reliable metric. May be of interest, but not used to determine the overall result above.

mean range count
Regressions ❌
(primary)
0.0% [0.0%, 0.1%] 6
Regressions ❌
(secondary)
- - 0
Improvements ✅
(primary)
-0.2% [-0.2%, -0.2%] 6
Improvements ✅
(secondary)
- - 0
All ❌✅ (primary) -0.1% [-0.2%, 0.1%] 12

Bootstrap: 483.513s -> 484.651s (0.24%)
Artifact size: 406.18 MiB -> 406.22 MiB (0.01%)

@rust-bors

rust-bors Bot commented Nov 7, 2026

Copy link
Copy Markdown
Contributor

📌 Perf builds for each rolled up PR:

PR# Message Perf Build Sha
#164914 Specialize more builtin types for `<[MaybeUninit<_>]>::writ… 3581c8be1a4204a4515df85831d630bdc2ab0998
(link)
#165078 Use the 2.38 binutils version in CI 3c8f8764d544582da02a08ab98f2d5937cfa68a4
(link)
#165427 rustdoc: Make implementors collapseable if there is more th… 4d1f8c16d80ef43f2f9589ddc222bb420dc17367
(link)
#165444 Suggest using ExitCode instead of calling exit 8847a3dde75dbfc0655b6529cbc6221a1d1f81fb
(link)
#165571 Support mutable captures in move expressions f8500eb9130abe8fbc64c589263a6054b3a404c6
(link)
#165379 Autolabel std::sys modules 1824e184dd906569c61854911de3d79418bd2c5b
(link)
#165503 update Enzyme submodule 6fa12dfc086916e26845a90894b8ddfe5b620a38
(link)
#165519 Update books 40495a855b30e2d2da1898db37850a4d4f6219cc
(link)
#165534 rename MIR_borrow_checking timing scope to less confusing n… 8d54d8807846176f9967b68e41b3e2619afc7062
(link)
#165546 Expose str::split_at_[mut_]unchecked and `OsStr::split_at… 6c2b8b08c2cc7a64b27ba434e5db3490ccb52d00
(link)
#165561 Assorted opt-dist fixes and improvements 02d59d708b967fd046d8576ed858f94146f00fea
(link)
#165564 fix: Remove confusing self-links from Diag docs 0eb8e53e5c61bcb5b57dbafc6fef70fe7d4b996d
(link)
#165570 fix -Zvirtual-function-elimination error message f6db0d995d8d18e674ef471854f9e7c13262a181
(link)

parent commit: a267dc9278

In the case of a perf regression, run the following command with the SHAs of each PR you suspect might be the cause: @rust-timer triage $SHA $SHA $SHA..., or run @rust-timer triage all to benchmark all rollup members.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

A-CI Area: Our Github Actions CI A-LLVM Area: Code generation parts specific to LLVM. Both correctness bugs and optimization-related issues. A-meta Area: Issues & PRs about the rust-lang/rust repository itself A-rustdoc-js Area: Rustdoc's JS front-end A-str Area: `str` and `String` A-testsuite Area: The testsuite used to check the correctness of rustc F-autodiff `#![feature(autodiff)]` merged-by-bors This PR was explicitly merged by bors. rollup A PR which is a rollup 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-infra Relevant to the infrastructure 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.