Skip to content

Rollup of 28 pull requests - #160725

Merged
rust-bors[bot] merged 85 commits into
rust-lang:mainfrom
JonathanBrouwer:rollup-0yOaQhP
Aug 8, 2026
Merged

Rollup of 28 pull requests#160725
rust-bors[bot] merged 85 commits into
rust-lang:mainfrom
JonathanBrouwer:rollup-0yOaQhP

Conversation

@JonathanBrouwer

Copy link
Copy Markdown
Contributor

Successful merges:

r? @ghost

Create a similar rollup

sjwang05 and others added 30 commits June 12, 2026 22:03
Proving `T::Assoc<_>: Sized` while a where-clause bound `T::Assoc<u8>: Sized`
was in scope used to over-eagerly infer the unconstrained argument to `u8`,
causing a spurious "mismatched types" error. It should compile; lock that in.
Add tests for generic function pointers
Change FnPtr tests to use assert_eq!() rather than println!()
It had to be in rustc_resolve because there was no general attribute parsing infra back then, but now there is, so it should be there
LLVM 21 preserves the bounds assumption but does not eliminate the aggregate phi that LLVM 22 removes. Check each version's supported optimization and restore the shared postcondition so direct callers can eliminate bounds checks.
These extra layers of indirection are more confusing than helpful.
This has the pleasant side-effect of making `./x fix compiler` actually work,
without breaking `./x clippy` (which relied on the hardcoded `Kind::Check`).
Also change the pkgsrc-wip link to indicate a more current rust version.

To be re-visited again once 9.x reaches end of maintnance and EoL by
the end of the current month.
…from`

* Add support for wrapping of the return value of delegation
* Cleanups
* Review: use `make_lang_item_qpath`
Fixes the builds of rustc and library/std for the L4Re target OS.
A major change was done in linking binaries: The need for the L4Bender
tool was removed and linking parameters are now fully configured in the
rustc target config.
The field of `BodyOwnerKind` is computed via the exact same way
as this check.
@rust-bors

rust-bors Bot commented Aug 7, 2026

Copy link
Copy Markdown
Contributor

📌 Commit f07399c 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 Aug 7, 2026
@rust-bors

This comment has been minimized.

@rust-log-analyzer

Copy link
Copy Markdown
Collaborator

The job optional-x86_64-gnu-autodiff failed! Check out the build log: (web) (plain enhanced) (plain)

Click to see the possible cause of the failure (guessed by this bot)
46 
+ error[E0658]: macro attributes on statements are unstable
+   --> $DIR/autodiff_illegal.rs:49:5
+    |
+ LL |     #[autodiff_forward(df7, Dual)]
+    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+    |
+    = note: see issue #54727 <https://github.com/rust-lang/rust/issues/54727> for more information
+    = help: add `#![feature(proc_macro_hygiene)]` to the crate attributes to enable
+    = note: this compiler was built on YYYY-MM-DD; consider upgrading it if it is out of date
+ 
47 error: autodiff must be applied to function
48   --> $DIR/autodiff_illegal.rs:50:5
49    |

50 LL |     let mut x = 5;
51    |     ^^^^^^^^^^^^^^
52 
+ error[E0658]: macro attributes on expressions are unstable
+   --> $DIR/autodiff_illegal.rs:53:5
+    |
+ LL |     #[autodiff_forward(df7, Dual)]
+    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+    |
+    = note: see issue #54727 <https://github.com/rust-lang/rust/issues/54727> for more information
+    = help: add `#![feature(proc_macro_hygiene)]` to the crate attributes to enable
+    = note: this compiler was built on YYYY-MM-DD; consider upgrading it if it is out of date
+ 
53 error: autodiff must be applied to function
54   --> $DIR/autodiff_illegal.rs:54:5
55    |

56 LL |     x = x + 3;
57    |     ^
58 
+ error[E0658]: macro attributes on statements are unstable
+   --> $DIR/autodiff_illegal.rs:58:5
+    |
+ LL |     #[autodiff_forward(df7, Dual)]
+    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+    |
+    = note: see issue #54727 <https://github.com/rust-lang/rust/issues/54727> for more information
+    = help: add `#![feature(proc_macro_hygiene)]` to the crate attributes to enable
+    = note: this compiler was built on YYYY-MM-DD; consider upgrading it if it is out of date
+ 
59 error: autodiff must be applied to function
60   --> $DIR/autodiff_illegal.rs:59:5
61    |

124 LL | #[autodiff_reverse(df21, Active, Duplicated)]
125    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
126 
- error: aborting due to 18 previous errors
+ error: aborting due to 21 previous errors
128 
---
-   --> /checkout/tests/ui/autodiff/autodiff_illegal.rs:58:5
+ error[E0658]: macro attributes on statements are unstable
+   --> $DIR/autodiff_illegal.rs:49:5
+    |
+ LL |     #[autodiff_forward(df7, Dual)]
+    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+    |
+    = note: see issue #54727 <https://github.com/rust-lang/rust/issues/54727> for more information
+    = help: add `#![feature(proc_macro_hygiene)]` to the crate attributes to enable
+    = note: this compiler was built on YYYY-MM-DD; consider upgrading it if it is out of date
+ 
+ error[E0658]: macro attributes on expressions are unstable
+   --> $DIR/autodiff_illegal.rs:53:5
+    |
+ LL |     #[autodiff_forward(df7, Dual)]
+    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+    |
+    = note: see issue #54727 <https://github.com/rust-lang/rust/issues/54727> for more information
+    = help: add `#![feature(proc_macro_hygiene)]` to the crate attributes to enable
+    = note: this compiler was built on YYYY-MM-DD; consider upgrading it if it is out of date
+ 
+ error[E0658]: macro attributes on statements are unstable
+   --> $DIR/autodiff_illegal.rs:58:5
+    |
+ LL |     #[autodiff_forward(df7, Dual)]
+    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+    |
+    = note: see issue #54727 <https://github.com/rust-lang/rust/issues/54727> for more information
+    = help: add `#![feature(proc_macro_hygiene)]` to the crate attributes to enable
+    = note: this compiler was built on YYYY-MM-DD; consider upgrading it if it is out of date
+ 
+ error: aborting due to 21 previous errors


The actual stderr differed from the expected stderr
To update references, rerun the tests and pass the `--bless` flag
To only update this specific test, also pass `--test-args autodiff/autodiff_illegal.rs`

error: 1 errors occurred comparing output.
status: exit status: 1
command: env -u RUSTC_LOG_COLOR RUSTC_ICE="0" RUST_BACKTRACE="short" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage2/bin/rustc" "/checkout/tests/ui/autodiff/autodiff_illegal.rs" "-Zsimulate-remapped-rust-src-base=/rustc/FAKE_PREFIX" "-Ztranslate-remapped-path-to-local-path=no" "-Z" "ignore-directory-in-diagnostics-source-blocks=/cargo" "-Z" "ignore-directory-in-diagnostics-source-blocks=/checkout/vendor" "--sysroot" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage2" "--target=x86_64-unknown-linux-gnu" "--check-cfg" "cfg(test,FALSE)" "--error-format" "json" "--json" "future-incompat" "-Ccodegen-units=1" "-Zui-testing" "-Zdeduplicate-diagnostics=no" "-Zwrite-long-types-to-disk=no" "-Cstrip=debuginfo" "--emit" "metadata" "-C" "prefer-dynamic" "--out-dir" "/checkout/obj/build/x86_64-unknown-linux-gnu/test/ui/autodiff/autodiff_illegal" "-A" "unused" "-W" "unused_attributes" "-A" "internal_features" "-A" "incomplete_features" "-A" "unused_parens" "-A" "unused_braces" "-Crpath" "-Cdebuginfo=0" "-Lnative=/checkout/obj/build/x86_64-unknown-linux-gnu/native/rust-test-helpers"
stdout: none
--- stderr -------------------------------
error[E0658]: attributes on expressions are experimental
##[error]  --> /checkout/tests/ui/autodiff/autodiff_illegal.rs:53:5
   |
LL |     #[autodiff_forward(df7, Dual)]
   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
   |
   = note: see issue #15701 <https://github.com/rust-lang/rust/issues/15701> for more information
   = help: add `#![feature(stmt_expr_attributes)]` to the crate attributes to enable
   = note: this compiler was built on YYYY-MM-DD; consider upgrading it if it is out of date

error: Duplicated can not be used for this type
##[error]  --> /checkout/tests/ui/autodiff/autodiff_illegal.rs:14:14
   |
LL | pub fn f1(x: f64) {
---

error: Dual can not be used in Reverse Mode
##[error]  --> /checkout/tests/ui/autodiff/autodiff_illegal.rs:34:1
   |
LL | #[autodiff_reverse(df5, Dual)]
   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

error: Duplicated can not be used in Forward Mode
##[error]  --> /checkout/tests/ui/autodiff/autodiff_illegal.rs:41:1
   |
---

error[E0658]: macro attributes on statements are unstable
##[error]  --> /checkout/tests/ui/autodiff/autodiff_illegal.rs:49:5
   |
LL |     #[autodiff_forward(df7, Dual)]
   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
   |
   = note: see issue #54727 <https://github.com/rust-lang/rust/issues/54727> for more information
   = help: add `#![feature(proc_macro_hygiene)]` to the crate attributes to enable
   = note: this compiler was built on YYYY-MM-DD; consider upgrading it if it is out of date

error: autodiff must be applied to function
##[error]  --> /checkout/tests/ui/autodiff/autodiff_illegal.rs:50:5
   |
LL |     let mut x = 5;
   |     ^^^^^^^^^^^^^^

error[E0658]: macro attributes on expressions are unstable
##[error]  --> /checkout/tests/ui/autodiff/autodiff_illegal.rs:53:5
   |
LL |     #[autodiff_forward(df7, Dual)]
   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
   |
   = note: see issue #54727 <https://github.com/rust-lang/rust/issues/54727> for more information
   = help: add `#![feature(proc_macro_hygiene)]` to the crate attributes to enable
   = note: this compiler was built on YYYY-MM-DD; consider upgrading it if it is out of date

error: autodiff must be applied to function
##[error]  --> /checkout/tests/ui/autodiff/autodiff_illegal.rs:54:5
   |
LL |     x = x + 3;
   |     ^

error[E0658]: macro attributes on statements are unstable
##[error]  --> /checkout/tests/ui/autodiff/autodiff_illegal.rs:58:5
   |
LL |     #[autodiff_forward(df7, Dual)]
   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
   |
   = note: see issue #54727 <https://github.com/rust-lang/rust/issues/54727> for more information
   = help: add `#![feature(proc_macro_hygiene)]` to the crate attributes to enable
   = note: this compiler was built on YYYY-MM-DD; consider upgrading it if it is out of date

error: autodiff must be applied to function
##[error]  --> /checkout/tests/ui/autodiff/autodiff_illegal.rs:59:5
   |
LL |     let add_one_v2 = |x: u32| -> u32 { x + 1 };
   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

error: autodiff requires at least a name and mode
##[error]  --> /checkout/tests/ui/autodiff/autodiff_illegal.rs:65:1
   |
---
   |
LL | fn fn_exists() {}
   | -------------- previous definition of the value `fn_exists` here
...
LL | #[autodiff_reverse(fn_exists, Active)]
   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `fn_exists` redefined here
   |
   = note: `fn_exists` must be defined only once in the value namespace of this module

error: did not recognize Activity: `Reverse`
##[error]  --> /checkout/tests/ui/autodiff/autodiff_illegal.rs:95:26
   |
LL | #[autodiff_reverse(df13, Reverse)]
   |                          ^^^^^^^

error: invalid return activity Active in Forward Mode
##[error]  --> /checkout/tests/ui/autodiff/autodiff_illegal.rs:131:1
   |
LL | #[autodiff_forward(df19, Dual, Active)]
   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

error: invalid return activity Dual in Reverse Mode
##[error]  --> /checkout/tests/ui/autodiff/autodiff_illegal.rs:137:1
   |
LL | #[autodiff_reverse(df20, Active, Dual)]
   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

error: invalid return activity Duplicated in Reverse Mode
##[error]  --> /checkout/tests/ui/autodiff/autodiff_illegal.rs:144:1
   |
LL | #[autodiff_reverse(df21, Active, Duplicated)]
   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

error: aborting due to 21 previous errors

Some errors have detailed explanations: E0428, E0658.
---
[TIMING:end] test::Ui { test_compiler: Compiler { stage: 2, host: x86_64-unknown-linux-gnu, forced_compiler: false }, target: x86_64-unknown-linux-gnu } -- 0.000

1 command(s) did not execute successfully:

  - env -u CARGO DOC_RUST_LANG_ORG_CHANNEL="https://doc.rust-lang.org/nightly" LD_LIBRARY_PATH="" RUSTC="/checkout/obj/build/x86_64-unknown-linux-gnu/stage0/bin/rustc" RUSTC_BOOTSTRAP="1" RUSTC_FORCE_RUSTC_VERSION="compiletest" RUST_TEST_THREADS="4" RUST_TEST_TMPDIR="/checkout/obj/build/tmp" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage1-tools-bin/compiletest" "--stage" "2" "--stage-id" "stage2-x86_64-unknown-linux-gnu" "--compile-lib-path" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage2/lib" "--run-lib-path" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage2/lib/rustlib/x86_64-unknown-linux-gnu/lib" "--rustc-path" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage2/bin/rustc" "--minicore-path" "/checkout/tests/auxiliary/minicore.rs" "--src-root" "/checkout" "--src-test-suite-root" "/checkout/tests/ui" "--build-root" "/checkout/obj/build" "--build-test-suite-root" "/checkout/obj/build/x86_64-unknown-linux-gnu/test/ui" "--sysroot-base" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage2" "--suite" "ui" "--mode" "ui" "--target" "x86_64-unknown-linux-gnu" "--host" "x86_64-unknown-linux-gnu" "--llvm-filecheck" "/checkout/obj/build/x86_64-unknown-linux-gnu/llvm/build/bin/FileCheck" "--default-codegen-backend" "llvm" "--has-enzyme" "--optimize-tests" "--host-rustcflags" "-Crpath" "--host-rustcflags" "-Cdebuginfo=0" "--host-rustcflags" "-Lnative=/checkout/obj/build/x86_64-unknown-linux-gnu/native/rust-test-helpers" "--target-rustcflags" "-Crpath" "--target-rustcflags" "-Cdebuginfo=0" "--target-rustcflags" "-Lnative=/checkout/obj/build/x86_64-unknown-linux-gnu/native/rust-test-helpers" "--python" "/usr/bin/python3" "autodiff" "feature-gates/feature-gate-autodiff.rs" "--verbose-run-make-subprocess-output" "--with-rustc-debug-assertions" "--with-std-debug-assertions" "--jobs" "4" "--llvm-version" "23.1.0-rust-1.99.0-nightly" "--llvm-components" "aarch64 aarch64asmparser aarch64codegen aarch64desc aarch64disassembler aarch64info aarch64utils abi aggressiveinstcombine all all-targets amdgpu amdgpuasmparser amdgpucodegen amdgpudesc amdgpudisassembler amdgpuinfo amdgputargetmca amdgpuutils analysis arm armasmparser armcodegen armdesc armdisassembler arminfo armutils asmparser asmprinter avr avrasmparser avrcodegen avrdesc avrdisassembler avrinfo binaryformat bitreader bitstreamreader bitwriter bpf bpfasmparser bpfcodegen bpfdesc bpfdisassembler bpfinfo cas cfguard cgdata codegen codegentypes core coroutines coverage csky cskyasmparser cskycodegen cskydesc cskydisassembler cskyinfo debuginfobtf debuginfocodeview debuginfodwarf debuginfodwarflowlevel debuginfogsym debuginfologicalview debuginfomsf debuginfopdb demangle dlltooldriver dtlto dwarfcfichecker dwarflinker dwarflinkerclassic dwarflinkerparallel dwp engine executionengine extensions filecheck frontendatomic frontenddirective frontenddriver frontendhlsl frontendoffloading frontendopenacc frontendopenmp fuzzercli fuzzmutate globalisel hexagon hexagonasmparser hexagoncodegen hexagondesc hexagondisassembler hexagoninfo hipstdpar instcombine instrumentation interfacestub interpreter ipo irprinter irreader jitlink libdriver lineeditor linker loongarch loongarchasmparser loongarchcodegen loongarchdesc loongarchdisassembler loongarchinfo lto m68k m68kasmparser m68kcodegen m68kdesc m68kdisassembler m68kinfo mc mca mcdisassembler mcjit mcparser mips mipsasmparser mipscodegen mipsdesc mipsdisassembler mipsinfo mirparser msp430 msp430asmparser msp430codegen msp430desc msp430disassembler msp430info native nativecodegen nvptx nvptxcodegen nvptxdesc nvptxinfo objcarcopts objcopy object objectyaml option orcdebugging orcjit orcshared orctargetprocess passes plugins powerpc powerpcasmparser powerpccodegen powerpcdesc powerpcdisassembler powerpcinfo profiledata remarks riscv riscvasmparser riscvcodegen riscvdesc riscvdisassembler riscvinfo riscvtargetmca runtimedyld sandboxir scalaropts selectiondag sparc sparcasmparser sparccodegen sparcdesc sparcdisassembler sparcinfo support supportlsp symbolize systemz systemzasmparser systemzcodegen systemzdesc systemzdisassembler systemzinfo tablegen target targetparser telemetry textapi textapibinaryreader transformutils vectorize webassembly webassemblyasmparser webassemblycodegen webassemblydesc webassemblydisassembler webassemblyinfo webassemblyutils windowsdriver windowsmanifest x86 x86asmparser x86codegen x86desc x86disassembler x86info x86targetmca xray xtensa xtensaasmparser xtensacodegen xtensadesc xtensadisassembler xtensainfo" "--cc" "" "--cxx" "" "--cflags" "" "--cxxflags" "" "--channel" "nightly" "--git-hash" "--nightly-branch" "main" "--git-merge-commit-email" "bors@rust-lang.org" (failure_mode=Exit)
Bootstrap failed while executing `test --stage 2 --no-fail-fast tests/codegen-llvm/autodiff tests/pretty/autodiff tests/ui/autodiff tests/ui/feature-gates/feature-gate-autodiff.rs`
Currently active steps:
Build completed unsuccessfully in 0:54:02
  local time: Fri Aug  7 23:40:08 UTC 2026
  network time: Fri, 07 Aug 2026 23:40:08 GMT

Important

For more information how to resolve CI failures of this job, visit this link.

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

rust-bors Bot commented Aug 8, 2026

Copy link
Copy Markdown
Contributor

☀️ Test successful - CI
Approved by: JonathanBrouwer
Duration: 3h 2m 24s
Pushing 7dfb9d0 to main...

@rust-timer

Copy link
Copy Markdown
Collaborator

📌 Perf builds for each rolled up PR:

PR# Message Perf Build Sha
#159784 Hint that memchr returns an in-bounds index 3312085feeef8998d897700270cf4daf7c28f042 (link)
#160673 Improve canonical_param_env_cache 4f8ceb322a8d7fdc7af572268eb53ae7fc2ee213 (link)
#150885 Revive L4Re target e6e28663c1db2a483f033791ef5afbfeb9207b36 (link)
#159643 Add support for splatted function pointers 360f68d890d85df75cab2ee4f9632fb76067e4c5 (link)
#160433 delegation: add support for wrapping of the return value wi… d4e7e466dcc80b3098e2cc32077948a04939c263 (link)
#160530 refactor handling of target features in Session 8b41c31ef6fcc1e3e67da6fdc394a53989d1d1ae (link)
#160606 bootstrap: Store and use an explicit CheckKind in `check::R… d13d13d15b07dc0899fc66b14e0d16992d7fb4b5 (link)
#160628 fix ICE in suggest_add_reference_to_arg for non-callable … d87fea77412aac40994be1be3d9d40e1419b1158 (link)
#160683 Add regression test for unknown feaeture name reported with… 3163af4839c756642c172e19dd1841aa51aad54b (link)
#157641 Do not promote extern statics 30489c88c8f01dbde2b09c709655fd08d3d8c06e (link)
#158904 Fix FutureDropPoll shim for by-move async closures db225d7bee08bab3fdf098b486dffad9f46956f6 (link)
#159816 added note/help about iterator invalidation when mutating a… 5c50c64473b6407e1b21b147b769a952bbafd9c8 (link)
#160103 Add regression test for GAT bound mismatched type error eb2d6ddfdf0ab4433be6c8edfa2afa2cc0b3417e (link)
#160335 dlopen offload d0959f0f7c0452c5568aac35912821b23462e08a (link)
#160445 codegen: classify localized MSVC linker progress as linker_… e0fc892ba4fd5e32a578863f56e78a921228277b (link)
#160499 rustc_resolve: move diagnostic attribute linting to attr pa… 2f737a2474634e238bd492d4d8f821ded99ac0e6 (link)
#160504 cleanup borrowck, improve c-variadic handling 326ddb57ad0d82111aa0af9f0c6f25532c8ec539 (link)
#160577 expand: Feature gate AST-based attribute macros on expressi… c01ea0b98d2006a20bf5e2a0bdbd3c1a3bb0a6ca (link)
#160587 Add regression test for associated type outlives bound at c… eb88ef15ff042672b9d1bb4744d1c3766050e32c (link)
#160625 platform-support/netbsd.md: No longer mention 8.x, due to E… 1f1d9b3ddb1d7a8561b296e75f09a6d64c74a5f4 (link)
#160633 delegation: fix determining wrong FnKind when delegation … c65db8b7ecdc41e094a035897f51d51aa3612d9b (link)
#160636 derive(Diagnostic): link to proper docs 9162df1fd6cf50e25cd3f99d3ecd0f316343eb36 (link)
#160644 Clean up some manual debug impls fd41a86a8c35f107884f7e4cbe52bb809a2d2a3e (link)
#160649 move naked function ui tests d3707ec7f26d13ebb52470ef13bb88132042c0a4 (link)
#160672 Improve MaybeLiveLocals bdb729fd9c4e2a525a47ad93e2bb9688ef15cd72 (link)
#160693 Add branch config for perf. unrolling in bors d68a8a0c2dd741d7661f492381f785327c436ac7 (link)
#160696 rustc_codegen_llvm: handle sm_101* features being an alias 65b3a276ae8afdb35924a1dceecae79ab1a5f27a (link)
#160706 renovate: clarify that vulnerability PRs are opened automat… 0cdf3fc1af13b0a15b02bc8c5751014a3cea64bd (link)

previous master: 1a98b1e135

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-log-analyzer

Copy link
Copy Markdown
Collaborator

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)

@rust-timer

Copy link
Copy Markdown
Collaborator

Finished benchmarking commit (7dfb9d0): comparison URL.

Overall result: ❌✅ regressions and improvements - please read:

Our benchmarks found a performance regression caused by this PR.
This might be an actual regression, but it can also be just noise.

Next Steps:

  • If the regression was expected or you think it can be justified,
    please write a comment with sufficient written justification, and add
    @rustbot label: +perf-regression-triaged to it, to mark the regression as triaged.
  • If you think that you know of a way to resolve the regression, try to create
    a new PR with a fix for the regression.
  • If you do not understand the regression or you think that it is just noise,
    you can ask the @rust-lang/wg-compiler-performance working group for help (members of this group
    were already notified of this PR).

@rustbot label: +perf-regression
cc @rust-lang/wg-compiler-performance

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.7% [0.5%, 0.9%] 2
Improvements ✅
(primary)
-0.4% [-0.5%, -0.3%] 2
Improvements ✅
(secondary)
-0.3% [-0.3%, -0.2%] 3
All ❌✅ (primary) -0.4% [-0.5%, -0.3%] 2

Max RSS (memory usage)

Results (primary 1.4%, secondary 0.7%)

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

mean range count
Regressions ❌
(primary)
1.4% [1.4%, 1.4%] 1
Regressions ❌
(secondary)
3.5% [0.4%, 11.7%] 11
Improvements ✅
(primary)
- - 0
Improvements ✅
(secondary)
-2.1% [-5.2%, -0.5%] 11
All ❌✅ (primary) 1.4% [1.4%, 1.4%] 1

Cycles

Results (secondary 0.2%)

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.9% [0.4%, 1.4%] 10
Improvements ✅
(primary)
- - 0
Improvements ✅
(secondary)
-1.0% [-1.9%, -0.4%] 6
All ❌✅ (primary) - - 0

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.0% [0.0%, 0.1%] 7
Regressions ❌
(secondary)
0.0% [0.0%, 0.1%] 5
Improvements ✅
(primary)
-0.0% [-0.1%, -0.0%] 5
Improvements ✅
(secondary)
-0.0% [-0.1%, -0.0%] 3
All ❌✅ (primary) 0.0% [-0.1%, 0.1%] 12

Bootstrap: 458.124s -> 458.758s (0.14%)
Artifact size: 398.66 MiB -> 398.65 MiB (-0.00%)

@rustbot rustbot added the perf-regression Performance regression. label Aug 8, 2026
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-rustdoc-json Area: Rustdoc JSON backend A-testsuite Area: The testsuite used to check the correctness of rustc merged-by-bors This PR was explicitly merged by bors. O-unix Operating system: Unix-like perf-regression Performance regression. 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. WG-trait-system-refactor The Rustc Trait System Refactor Initiative (-Znext-solver)

Projects

None yet

Development

Successfully merging this pull request may close these issues.