Skip to content

Rollup of 22 pull requests#154958

Merged
rust-bors[bot] merged 59 commits intorust-lang:mainfrom
JonathanBrouwer:rollup-PEahluH
Apr 7, 2026
Merged

Rollup of 22 pull requests#154958
rust-bors[bot] merged 59 commits intorust-lang:mainfrom
JonathanBrouwer:rollup-PEahluH

Conversation

@JonathanBrouwer
Copy link
Copy Markdown
Contributor

@JonathanBrouwer JonathanBrouwer commented Apr 7, 2026

Successful merges:

r? @ghost

Create a similar rollup

mati865 and others added 30 commits March 20, 2026 16:39
…ax_by

A recent regression swapped the argument order passed to the compare
closure in min_by, max_by and minmax_by (compare(&v2, &v1) instead of
compare(&v1, &v2)). This was fixed, but no regression test was added.

Add tests that record the arguments the compare closure receives and
assert they match (v1, v2) — the documented contract.
abort_internal() is used in panics; if it calls
core::intrinsics::abort(), the process triggers an
invalid op code (on x86_64), which is a much harder "abort"
than a user-controlled exit via a panic.

Most other OSes don't use core::intrinsics::abort() here,
but either libc::abort(), or a native OS abort/exit API.
Same as 147495, just keeping it up-to-date.
Since a1feab1 ("Use libm for acosh and asinh"), the standard
library may link these functions to get a more accurate approximation;
however, some targets do not have the needed symbols available. Add them
to the compiler-builtins export list to make sure the fallback is
usable.
@rustbot rustbot added 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 Apr 7, 2026
@JonathanBrouwer
Copy link
Copy Markdown
Contributor Author

@bors r+ rollup=never p=5

Trying commonly failed jobs
@bors try jobs=dist-various-1,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
Copy Markdown
Contributor

rust-bors bot commented Apr 7, 2026

📌 Commit 2895451 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 Apr 7, 2026
@rust-bors

This comment has been minimized.

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


try-job: dist-various-1
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
Copy link
Copy Markdown
Contributor

rust-bors bot commented Apr 7, 2026

☀️ Try build successful (CI)
Build commit: a84d9ed (a84d9edf7d8ac6bfe8436f4b435b43624bab1317, parent: 49b6ac01d6f4c3da812039ae846407a20961aa4c)

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

rust-bors bot commented Apr 7, 2026

☀️ Test successful - CI
Approved by: JonathanBrouwer
Duration: 3h 11m 21s
Pushing c756124 to main...

@rust-bors rust-bors bot merged commit c756124 into rust-lang:main Apr 7, 2026
13 checks passed
@github-actions
Copy link
Copy Markdown
Contributor

github-actions bot commented Apr 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 ad4b935 (parent) -> c756124 (this PR)

Test differences

Show 2207 test diffs

Stage 1

  • [codegen] tests/codegen-llvm/dont_codegen_private_const_fn_only_used_in_const_eval.rs: pass -> [missing] (J2)
  • [codegen] tests/codegen-llvm/private-const-fn-only-used-in-const-eval.rs: [missing] -> pass (J2)
  • cmp::max_by_compare_argument_order: [missing] -> pass (J2)
  • cmp::min_by_compare_argument_order: [missing] -> pass (J2)
  • cmp::minmax_by_compare_argument_order: [missing] -> pass (J2)
  • [run-make] tests/run-make/raw-dylib-elf-extern-types: [missing] -> ignore (ignored when rustc is built with debug assertions) (J4)
  • [rustdoc-js] tests/rustdoc-js/doc-alias-symbols-150921.rs: [missing] -> pass (J4)
  • [ui] tests/ui/delegation/unlowered-path-ice-154820.rs: [missing] -> pass (J4)
  • [ui] tests/ui/generic-const-items/trivially-unsatisfied-bounds-0.rs: pass -> [missing] (J4)
  • [ui] tests/ui/generic-const-items/trivially-unsatisfied-bounds-1.rs: pass -> [missing] (J4)
  • [ui] tests/ui/generic-const-items/trivially-unsatisfied-bounds.rs#mentioned: [missing] -> pass (J4)
  • [ui] tests/ui/generic-const-items/trivially-unsatisfied-bounds.rs#unmentioned: [missing] -> pass (J4)
  • [ui] tests/ui/impl-trait/associated-impl-trait-type-into-emplacable.rs: [missing] -> pass (J4)
  • [ui] tests/ui/intrinsics/transmute-phantomdata-generic-unequal-size.rs: [missing] -> pass (J4)
  • [ui] tests/ui/issues/issue-25746-bool-transmute.rs: pass -> [missing] (J4)
  • [ui] tests/ui/issues/issue-32377.rs: pass -> [missing] (J4)
  • [ui] tests/ui/transmute/transmute-bool-u8.rs: [missing] -> pass (J4)

Stage 2

  • [ui] tests/ui/delegation/unlowered-path-ice-154820.rs: [missing] -> pass (J0)
  • [ui] tests/ui/generic-const-items/trivially-unsatisfied-bounds-0.rs: pass -> [missing] (J0)
  • [ui] tests/ui/generic-const-items/trivially-unsatisfied-bounds-1.rs: pass -> [missing] (J0)
  • [ui] tests/ui/generic-const-items/trivially-unsatisfied-bounds.rs#mentioned: [missing] -> pass (J0)
  • [ui] tests/ui/generic-const-items/trivially-unsatisfied-bounds.rs#unmentioned: [missing] -> pass (J0)
  • [ui] tests/ui/impl-trait/associated-impl-trait-type-into-emplacable.rs: [missing] -> pass (J0)
  • [ui] tests/ui/intrinsics/transmute-phantomdata-generic-unequal-size.rs: [missing] -> pass (J0)
  • [ui] tests/ui/issues/issue-25746-bool-transmute.rs: pass -> [missing] (J0)
  • [ui] tests/ui/issues/issue-32377.rs: pass -> [missing] (J0)
  • [ui] tests/ui/transmute/transmute-bool-u8.rs: [missing] -> pass (J0)
  • [run-make] tests/run-make/raw-dylib-elf-extern-types: [missing] -> ignore (only executed when the target environment is gnu) (J1)
  • cmp::max_by_compare_argument_order: [missing] -> pass (J3)
  • cmp::min_by_compare_argument_order: [missing] -> pass (J3)
  • cmp::minmax_by_compare_argument_order: [missing] -> pass (J3)
  • [codegen] tests/codegen-llvm/dont_codegen_private_const_fn_only_used_in_const_eval.rs: pass -> [missing] (J5)
  • [codegen] tests/codegen-llvm/private-const-fn-only-used-in-const-eval.rs: [missing] -> pass (J5)
  • [rustdoc-js] tests/rustdoc-js/doc-alias-symbols-150921.rs: [missing] -> pass (J6)
  • [run-make] tests/run-make/raw-dylib-elf-extern-types: [missing] -> ignore (ignored when rustc is built with debug assertions) (J7)
  • [run-make] tests/run-make/raw-dylib-elf-extern-types: [missing] -> pass (J8)
  • [run-make] tests/run-make/raw-dylib-elf-extern-types: [missing] -> ignore (only executed when the architecture is x86_64) (J9)

Additionally, 2170 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 c756124775121dea0e640652c5ee3c89e3dd0eb4 --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-powerpc-linux: 1h 11m -> 1h 28m (+24.2%)
  2. pr-check-1: 26m 15s -> 32m 30s (+23.8%)
  3. aarch64-gnu-llvm-21-2: 46m 45s -> 55m 42s (+19.2%)
  4. x86_64-gnu: 2h 4m -> 2h 24m (+16.3%)
  5. optional-x86_64-gnu-parallel-frontend: 2h 21m -> 2h 43m (+16.0%)
  6. x86_64-rust-for-linux: 46m 47s -> 53m 17s (+13.9%)
  7. i686-gnu-2: 1h 33m -> 1h 45m (+12.1%)
  8. dist-i686-msvc: 2h 9m -> 2h 24m (+11.7%)
  9. x86_64-gnu-aux: 2h 12m -> 2h 27m (+11.4%)
  10. aarch64-msvc-1: 1h 59m -> 2h 12m (+10.8%)
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

📌 Perf builds for each rolled up PR:

PR# Message Perf Build Sha
#150965 Fix no results when searching for == in doc d9196c4f0c7312f955a799c4f35fe411de4e8150 (link)
#153269 GCI: During reachability analysis don't try to evaluate the… 59708f493ae3522c056f695a9e9858edbeb82d9f (link)
#153999 Remove TaggedQueryKey::def_kind 544b3e4c8f3ce1c44c676731ce6448971d07d088 (link)
#154146 Split out the creation of Cycle to a new process_cycle 72e00232c22713b97df20f8a1779dbce73784527 (link)
#154147 Do not attempt generating DllImport for extern types 4cd075faad7cd4e138d80a1e1a2e9f7502967cbd (link)
#154506 Migrate some tests from tests/ui/issues to appropriate di… e40ab815fc5c35c6373e9aa7d9ce883b12f1f3e5 (link)
#154673 Use a different name for fast try builds 4ac43af70d8f0ace2eda5074832015f933feadc7 (link)
#154761 coretests: add argument order regression tests for min_by/m… 5f7a37078363638966606a5898c0feb481418393 (link)
#154795 Add more info about where autodiff can be applied 2f01aebc2a87eaf068ceaebc93199fae75a4d108 (link)
#154808 Post-attribute ports cleanup pt. 1 c4687ffc4825f7640f928135d57cd88695a8dac1 (link)
#154812 Update Fira Mono License Information 1bbc863326e8af4a0519af40ba04f803123a3371 (link)
#154825 constify Step for NonZero<u*> 77f80fe6cdc923c6d1d2bb4dae36ee412030570e (link)
#154837 library: std: motor: use OS' process::exit in abort_internal db2911fcca218311c22777f6498b306d03f0d9ac (link)
#154866 add regression test for #146514 3156cad90689b915ed86a6bfae6afa78297ffb31 (link)
#154880 bootstrap: minor improvements to download-rustc 1815f0685de6f7bfd65ae3a0d668a14394ce2b9b (link)
#154886 Stabilize check-cfg suggestions for symbol 15e6fc699a45ca3731ca64b96d23faf6ff1ef09c (link)
#154889 Update wasm-component-ld to 0.5.22 376f3348e64f21284ceac4e2dee09670e7025499 (link)
#154922 c-b: Export inverse hyperbolic trigonometric functions f1a62022b1c297958bbfbb5b275e2ff61716e79a (link)
#154928 Fix pin docs 587c75db50829f43838e4e02ed0fcb1e4153f79a (link)
#154931 delegation(small cleanup): remove not needed PhantomData 4e255de24d85133e473fd08399079e0362daf185 (link)
#154942 delegation: generate more verbose error delegation b78c8d40d4366552e317952f4b65bbda9b1b5122 (link)
#154950 library: no cfg(target_arch) on scalable intrinsics 3b84fff5fab283c5efec121744ab38419f62f2ff (link)

previous master: ad4b935400

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
Copy Markdown
Collaborator

Finished benchmarking commit (c756124): comparison URL.

Overall result: ❌✅ regressions and 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.3% [0.3%, 0.3%] 1
Improvements ✅
(primary)
- - 0
Improvements ✅
(secondary)
-0.2% [-0.2%, -0.2%] 1
All ❌✅ (primary) - - 0

Max RSS (memory usage)

Results (primary 1.5%, secondary 0.4%)

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

mean range count
Regressions ❌
(primary)
1.5% [1.5%, 1.5%] 1
Regressions ❌
(secondary)
3.3% [2.2%, 5.0%] 3
Improvements ✅
(primary)
- - 0
Improvements ✅
(secondary)
-2.5% [-3.0%, -2.2%] 3
All ❌✅ (primary) 1.5% [1.5%, 1.5%] 1

Cycles

Results (primary -2.6%, secondary 3.5%)

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)
3.5% [3.1%, 4.0%] 2
Improvements ✅
(primary)
-2.6% [-2.6%, -2.6%] 1
Improvements ✅
(secondary)
- - 0
All ❌✅ (primary) -2.6% [-2.6%, -2.6%] 1

Binary size

Results (primary -0.0%, secondary -0.0%)

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

Bootstrap: 488.293s -> 494.654s (1.30%)
Artifact size: 395.52 MiB -> 395.38 MiB (-0.03%)

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-compiler-builtins Area: compiler-builtins (https://github.com/rust-lang/compiler-builtins) A-query-system Area: The rustc query system (https://rustc-dev-guide.rust-lang.org/query.html) A-run-make Area: port run-make Makefiles to rmake.rs A-rustc-dev-guide Area: rustc-dev-guide A-rustdoc-js Area: Rustdoc's JS front-end 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 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.