Skip to content

Rollup of 5 pull requests#153519

Merged
rust-bors[bot] merged 22 commits intorust-lang:mainfrom
JonathanBrouwer:rollup-Soq8THm
Mar 7, 2026
Merged

Rollup of 5 pull requests#153519
rust-bors[bot] merged 22 commits intorust-lang:mainfrom
JonathanBrouwer:rollup-Soq8THm

Conversation

@JonathanBrouwer
Copy link
Contributor

Successful merges:

r? @ghost

Create a similar rollup

homersimpsons and others added 22 commits March 4, 2026 12:02
- Hide common linker output behind `linker-info`
- Add tests
- Account for different capitalization on windows-gnu when removing
  "warning" prefix
- Add some more comments
- Add macOS deployment-target test
- Ignore linker warnings from trying to statically link glibc

  I don't know what's going on in `nofile-limit.rs` but I want no part
  of it.

- Use a fake linker so tests are platform-independent
Fallback to no LTO doesn't work in practice as Cargo asks rustc to
produce LTO-only rlibs with -Clinker-plugin-lto without providing any
indication if they will be used for thin or fat LTO, so we can't disable
-Clinker-plugin-lto for ThinLTO when using cg_gcc.
…=antoyo

Fallback to fat LTO for -Clto=thin in cg_gcc

Fallback to no LTO doesn't work in practice as Cargo asks rustc to produce LTO-only rlibs with -Clinker-plugin-lto without providing any indication if they will be used for thin or fat LTO, so we can't disable -Clinker-plugin-lto for ThinLTO when using cg_gcc.

r? @antoyo
…youxu

move never type tests to subdirectories and add some comments

This hopefully makes things a little bit clearer
…alueFormat-arm, r=marcoieni

Fix LegacyKeyValueFormat report from docker build: arm

Part of rust-lang#152305

r? @marcoieni
…mat, r=GuillaumeGomez

Clean up the eager formatting API

For rust-lang#151366 (comment)

Previously eager formatting worked by throwing the arguments into a diag, formatting, then removing the args again. This is ugly so instead we now just do the formatting completely separately.
This PR has nice commits, so I recommend reviewing commit by commit.

r? @GuillaumeGomez
@rust-bors rust-bors bot added the rollup A PR which is a rollup label Mar 7, 2026
@rustbot rustbot added A-attributes Area: Attributes (`#[…]`, `#![…]`) A-CI Area: Our Github Actions CI A-LLVM Area: Code generation parts specific to LLVM. Both correctness bugs and optimization-related issues. A-run-make Area: port run-make Makefiles to rmake.rs A-testsuite Area: The testsuite used to check the correctness of rustc A-tidy Area: The tidy tool A-translation Area: Translation infrastructure, and migrating existing diagnostics to SessionDiagnostic labels Mar 7, 2026
@rustbot rustbot added the S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. label Mar 7, 2026
@JonathanBrouwer
Copy link
Contributor Author

@bors r+ rollup=never p=5

@rustbot rustbot added 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. labels Mar 7, 2026
@JonathanBrouwer
Copy link
Contributor Author

Trying commonly failed jobs
@bors try jobs=test-various,x86_64-gnu-aux,x86_64-gnu-llvm-21-3,x86_64-msvc-1,aarch64-apple,x86_64-mingw-1

@rust-bors
Copy link
Contributor

rust-bors bot commented Mar 7, 2026

📌 Commit f540b27 has been approved by JonathanBrouwer

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

This comment has been minimized.

rust-bors bot pushed a commit that referenced this pull request Mar 7, 2026
Rollup of 5 pull requests


try-job: test-various
try-job: x86_64-gnu-aux
try-job: x86_64-gnu-llvm-21-3
try-job: x86_64-msvc-1
try-job: aarch64-apple
try-job: x86_64-mingw-1
@rust-bors

This comment has been minimized.

@rust-bors
Copy link
Contributor

rust-bors bot commented Mar 7, 2026

☀️ Try build successful (CI)
Build commit: 79d09b4 (79d09b44caa32060e5502f57382927ed589cb394, parent: 80282b130679a654eaa22f028a908c51be53d436)

@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 Mar 7, 2026
@rust-bors
Copy link
Contributor

rust-bors bot commented Mar 7, 2026

☀️ Test successful - CI
Approved by: JonathanBrouwer
Duration: 3h 43m 31s
Pushing ea5573a to main...

@rust-bors rust-bors bot merged commit ea5573a into rust-lang:main Mar 7, 2026
13 checks passed
@rustbot rustbot added this to the 1.96.0 milestone Mar 7, 2026
@rust-timer
Copy link
Collaborator

📌 Perf builds for each rolled up PR:

PR# Message Perf Build Sha
#149937 spliit out linker-info from linker-messages 5032a6d4a3e763a73eca54d2a733a5b767785e47 (link)
#153346 move never type tests to subdirectories and add some commen… cb9990b80da6404c98132fa50fcda571aa15c5d9 (link)
#153371 Fix LegacyKeyValueFormat report from docker build: arm d6f45074600a3695c7ee4b9755f3a99fff380c5e (link)
#153503 Fallback to fat LTO for -Clto=thin in cg_gcc a6f1e7460842a2f30fc0b795b304210d95660461 (link)
#153508 Clean up the eager formatting API 4ec5c50ff2116779602e959148a35bb8769895df (link)

previous master: 80282b1306

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

@github-actions
Copy link
Contributor

github-actions bot commented Mar 7, 2026

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 80282b1 (parent) -> ea5573a (this PR)

Test differences

Show 866 test diffs

Stage 1

  • [run-make] tests/run-make/windows-gnu-corrupt-drective: [missing] -> ignore (only executed when the operating system and target environment are windows-gnu) (J0)
  • [ui] tests/ui/linking/macos-search-path.rs: [missing] -> ignore (only executed when the target vendor is Apple) (J0)
  • [ui] tests/ui/never_type/auto-traits.rs: pass -> [missing] (J0)
  • [ui] tests/ui/never_type/basic/adjust_never.rs: [missing] -> pass (J0)
  • [ui] tests/ui/never_type/basic/call-fn-never-arg-wrong-type.rs: [missing] -> pass (J0)
  • [ui] tests/ui/never_type/basic/never-type-arg.rs: [missing] -> pass (J0)
  • [ui] tests/ui/never_type/basic/never-type-in-nested-fn-decl.rs: [missing] -> pass (J0)
  • [ui] tests/ui/never_type/basic/never-type-rvalues.rs: [missing] -> pass (J0)
  • [ui] tests/ui/never_type/basic/never_transmute_never.rs: [missing] -> pass (J0)
  • [ui] tests/ui/never_type/basic/return-never-coerce.rs: [missing] -> pass (J0)
  • [ui] tests/ui/never_type/eq-never-types.rs: pass -> [missing] (J0)
  • [ui] tests/ui/never_type/expr-empty-ret.rs: pass -> [missing] (J0)
  • [ui] tests/ui/never_type/fallback-closure-ret.rs#e2024: pass -> [missing] (J0)
  • [ui] tests/ui/never_type/fallback_change/defaulted-never-note.rs#e2021: [missing] -> pass (J0)
  • [ui] tests/ui/never_type/fallback_change/dependency-on-fallback-to-unit.rs: [missing] -> pass (J0)
  • [ui] tests/ui/never_type/fallback_change/diverging-fallback-unconstrained-return.rs#e2021: [missing] -> pass (J0)
  • [ui] tests/ui/never_type/fallback_change/fallback-closure-ret.rs#e2021: [missing] -> pass (J0)
  • [ui] tests/ui/never_type/fallback_change/fallback-closure-ret.rs#e2024: [missing] -> pass (J0)
  • [ui] tests/ui/never_type/fallback_change/fallback-closure-wrap.rs#e2024: [missing] -> pass (J0)
  • [ui] tests/ui/never_type/fallback_change/from_infer_breaking_with_unit_fallback.rs#never: [missing] -> pass (J0)
  • [ui] tests/ui/never_type/fallback_change/lint-never-type-fallback-flowing-into-unsafe.rs#e2024: [missing] -> pass (J0)
  • [ui] tests/ui/never_type/fallback_change/question_mark_from_never.rs#never: [missing] -> pass (J0)
  • [ui] tests/ui/never_type/fallback_change/question_mark_from_never.rs#unit: [missing] -> pass (J0)
  • [ui] tests/ui/never_type/fallback_change/try-block-never-type-fallback.rs#e2024: [missing] -> pass (J0)
  • [ui] tests/ui/never_type/field-access-never-type-13847.rs: pass -> [missing] (J0)
  • [ui] tests/ui/never_type/from_infer_breaking_with_unit_fallback.rs#never: pass -> [missing] (J0)
  • [ui] tests/ui/never_type/issue-13352.rs: pass -> [missing] (J0)
  • [ui] tests/ui/never_type/issue-52443.rs: pass -> [missing] (J0)
  • [ui] tests/ui/never_type/issue-96335.rs: pass -> [missing] (J0)
  • [ui] tests/ui/never_type/lint-never-type-fallback-flowing-into-unsafe.rs#e2015: pass -> [missing] (J0)
  • [ui] tests/ui/never_type/lint-never-type-fallback-flowing-into-unsafe.rs#e2024: pass -> [missing] (J0)
  • [ui] tests/ui/never_type/never-deref.rs: pass -> [missing] (J0)
  • [ui] tests/ui/never_type/never-pattern-as-closure-param-141592.rs: pass -> [missing] (J0)
  • [ui] tests/ui/never_type/never-result.rs: pass -> [missing] (J0)
  • [ui] tests/ui/never_type/never-type-fallback-option.rs: pass -> [missing] (J0)
  • [ui] tests/ui/never_type/never-type-rvalues.rs: pass -> [missing] (J0)
  • [ui] tests/ui/never_type/never_pattern/unused_trait_in_never_pattern_body.rs: [missing] -> pass (J0)
  • [ui] tests/ui/never_type/never_transmute_never.rs: pass -> [missing] (J0)
  • [ui] tests/ui/never_type/regress/field-access-never-type-13847.rs: [missing] -> pass (J0)
  • [ui] tests/ui/never_type/regress/loop-in-array-length.rs: [missing] -> pass (J0)
  • [ui] tests/ui/never_type/regress/malformed-range-to-never.rs: [missing] -> pass (J0)
  • [ui] tests/ui/never_type/regress/never-type-fallback-option.rs: [missing] -> pass (J0)
  • [ui] tests/ui/never_type/return-never-coerce.rs: pass -> [missing] (J0)
  • [ui] tests/ui/never_type/span-bug-issue-121445.rs: pass -> [missing] (J0)
  • [ui] tests/ui/never_type/try-block-never-type-fallback.rs#e2024: pass -> [missing] (J0)

Stage 2

  • [ui] tests/ui/never_type/adjust_never.rs: pass -> [missing] (J1)
  • [ui] tests/ui/never_type/auto-traits.rs: pass -> [missing] (J1)
  • [ui] tests/ui/never_type/basic/adjust_never.rs: [missing] -> pass (J1)
  • [ui] tests/ui/never_type/basic/call-fn-never-arg-wrong-type.rs: [missing] -> pass (J1)
  • [ui] tests/ui/never_type/basic/cast-never.rs: [missing] -> pass (J1)
  • [ui] tests/ui/never_type/basic/never-assign-wrong-type.rs: [missing] -> pass (J1)
  • [ui] tests/ui/never_type/basic/never_coercions.rs: [missing] -> pass (J1)
  • [ui] tests/ui/never_type/basic/never_transmute_never.rs: [missing] -> pass (J1)
  • [ui] tests/ui/never_type/call-fn-never-arg-wrong-type.rs: pass -> [missing] (J1)
  • [ui] tests/ui/never_type/cast-never.rs: pass -> [missing] (J1)
  • [ui] tests/ui/never_type/dependency-on-fallback-to-unit.rs: pass -> [missing] (J1)
  • [ui] tests/ui/never_type/diverging-fallback-unconstrained-return.rs#e2024: pass -> [missing] (J1)
  • [ui] tests/ui/never_type/dont-suggest-turbofish-from-expansion.rs: pass -> [missing] (J1)
  • [ui] tests/ui/never_type/eq-never-types.rs: pass -> [missing] (J1)
  • [ui] tests/ui/never_type/fallback-closure-ret.rs#e2021: pass -> [missing] (J1)
  • [ui] tests/ui/never_type/fallback-closure-wrap.rs#e2024: pass -> [missing] (J1)
  • [ui] tests/ui/never_type/fallback_change/dependency-on-fallback-to-unit.rs: [missing] -> pass (J1)
  • [ui] tests/ui/never_type/fallback_change/diverging-fallback-unconstrained-return.rs#e2021: [missing] -> pass (J1)
  • [ui] tests/ui/never_type/fallback_change/diverging-fallback-unconstrained-return.rs#e2024: [missing] -> pass (J1)
  • [ui] tests/ui/never_type/fallback_change/fallback-closure-ret.rs#e2021: [missing] -> pass (J1)
  • [ui] tests/ui/never_type/fallback_change/lint-never-type-fallback-flowing-into-unsafe.rs#e2015: [missing] -> pass (J1)
  • [ui] tests/ui/never_type/fallback_change/lint-never-type-fallback-flowing-into-unsafe.rs#e2024: [missing] -> pass (J1)
  • [ui] tests/ui/never_type/fallback_change/try-block-never-type-fallback.rs#e2021: [missing] -> pass (J1)
  • [ui] tests/ui/never_type/fallback_change/try-block-never-type-fallback.rs#e2024: [missing] -> pass (J1)
  • [ui] tests/ui/never_type/field-access-never-type-13847.rs: pass -> [missing] (J1)
  • [ui] tests/ui/never_type/from_infer_breaking_with_unit_fallback.rs#never: pass -> [missing] (J1)
  • [ui] tests/ui/never_type/from_infer_breaking_with_unit_fallback.rs#unit: pass -> [missing] (J1)
  • [ui] tests/ui/never_type/issue-10176.rs: pass -> [missing] (J1)
  • [ui] tests/ui/never_type/issue-5500-1.rs: pass -> [missing] (J1)
  • [ui] tests/ui/never_type/lint-breaking-2024-assign-underscore.rs: pass -> [missing] (J1)
  • [ui] tests/ui/never_type/lint-never-type-fallback-flowing-into-unsafe.rs#e2015: pass -> [missing] (J1)
  • [ui] tests/ui/never_type/lint-never-type-fallback-flowing-into-unsafe.rs#e2024: pass -> [missing] (J1)
  • [ui] tests/ui/never_type/never-assign-wrong-type.rs: pass -> [missing] (J1)
  • [ui] tests/ui/never_type/never-pattern-as-closure-param-141592.rs: pass -> [missing] (J1)
  • [ui] tests/ui/never_type/never-type-rvalues.rs: pass -> [missing] (J1)
  • [ui] tests/ui/never_type/never_pattern/never-pattern-as-closure-param-141592.rs: [missing] -> pass (J1)
  • [ui] tests/ui/never_type/never_pattern/unused_trait_in_never_pattern_body.rs: [missing] -> pass (J1)
  • [ui] tests/ui/never_type/question_mark_from_never.rs#never: pass -> [missing] (J1)
  • [ui] tests/ui/never_type/question_mark_from_never.rs#unit: pass -> [missing] (J1)
  • [ui] tests/ui/never_type/regress/address-of-never.rs: [missing] -> pass (J1)
  • [ui] tests/ui/never_type/regress/eq-never-types.rs: [missing] -> pass (J1)
  • [ui] tests/ui/never_type/regress/field-access-never-type-13847.rs: [missing] -> pass (J1)
  • [ui] tests/ui/never_type/regress/loop-in-array-length.rs: [missing] -> pass (J1)
  • [ui] tests/ui/never_type/regress/malformed-range-to-never.rs: [missing] -> pass (J1)
  • [ui] tests/ui/never_type/regress/never-as-spec-default-associated-type.rs: [missing] -> pass (J1)
  • [ui] tests/ui/never_type/regress/never-deref.rs: [missing] -> pass (J1)
  • [ui] tests/ui/never_type/regress/never-in-range-pat.rs: [missing] -> pass (J1)
  • [ui] tests/ui/never_type/regress/never-type-fallback-option.rs: [missing] -> pass (J1)
  • [ui] tests/ui/never_type/regress/never-type-method-call-15207.rs: [missing] -> pass (J1)
  • [ui] tests/ui/never_type/regress/span-bug-issue-121445.rs: [missing] -> pass (J1)
  • [ui] tests/ui/never_type/suggestion-ice-132517.rs: pass -> [missing] (J1)
  • [ui] tests/ui/never_type/try-block-never-type-fallback.rs#e2024: pass -> [missing] (J1)
  • [ui] tests/ui/never_type/unused_trait_in_never_pattern_body.rs: pass -> [missing] (J1)
  • [ui] tests/ui/reachable/never-assign-dead-code.rs: [missing] -> pass (J1)
  • [ui] tests/ui/linking/macos-search-path.rs: [missing] -> pass (J2)

(and 126 additional test diffs)

Additionally, 640 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 ea5573a6c6e5e932f917ec4a8e6d8efdeb9f394d --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: 2h 39m -> 2h 8m (-19.3%)
  2. aarch64-apple: 3h 10m -> 3h 36m (+13.8%)
  3. test-various: 2h 11m -> 1h 53m (-13.2%)
  4. aarch64-msvc-1: 2h 12m -> 1h 59m (-10.2%)
  5. x86_64-gnu-debug: 1h 52m -> 2h 4m (+10.1%)
  6. dist-x86_64-solaris: 1h 38m -> 1h 29m (-9.2%)
  7. x86_64-msvc-2: 2h 18m -> 2h 30m (+8.7%)
  8. x86_64-gnu-llvm-21-1: 1h 15m -> 1h 9m (-8.6%)
  9. tidy: 2m 46s -> 3m (+8.5%)
  10. aarch64-gnu: 2h 3m -> 2h 13m (+8.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

Finished benchmarking commit (ea5573a): comparison URL.

Overall result: no relevant changes - no action needed

@rustbot label: -perf-regression

Instruction count

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

Max RSS (memory usage)

Results (primary 0.2%, secondary -5.7%)

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

mean range count
Regressions ❌
(primary)
1.1% [1.1%, 1.1%] 1
Regressions ❌
(secondary)
- - 0
Improvements ✅
(primary)
-0.6% [-0.6%, -0.6%] 1
Improvements ✅
(secondary)
-5.7% [-5.7%, -5.7%] 1
All ❌✅ (primary) 0.2% [-0.6%, 1.1%] 2

Cycles

Results (primary -2.9%)

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)
- - 0
Improvements ✅
(primary)
-2.9% [-2.9%, -2.9%] 1
Improvements ✅
(secondary)
- - 0
All ❌✅ (primary) -2.9% [-2.9%, -2.9%] 1

Binary size

Results (primary -0.1%, secondary -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
Regressions ❌
(secondary)
- - 0
Improvements ✅
(primary)
-0.1% [-0.1%, -0.1%] 1
Improvements ✅
(secondary)
-0.1% [-0.1%, -0.1%] 8
All ❌✅ (primary) -0.1% [-0.1%, -0.1%] 1

Bootstrap: 482.9s -> 480.191s (-0.56%)
Artifact size: 397.22 MiB -> 395.10 MiB (-0.53%)

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

Labels

A-attributes Area: Attributes (`#[…]`, `#![…]`) A-CI Area: Our Github Actions CI A-LLVM Area: Code generation parts specific to LLVM. Both correctness bugs and optimization-related issues. A-run-make Area: port run-make Makefiles to rmake.rs A-testsuite Area: The testsuite used to check the correctness of rustc A-tidy Area: The tidy tool A-translation Area: Translation infrastructure, and migrating existing diagnostics to SessionDiagnostic 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.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

7 participants