Skip to content

Rollup of 7 pull requests #142697

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 21 commits into from
Jun 19, 2025
Merged

Rollup of 7 pull requests #142697

merged 21 commits into from
Jun 19, 2025

Conversation

tgross35
Copy link
Contributor

@tgross35 tgross35 commented Jun 19, 2025

Successful merges:

r? @ghost
@rustbot modify labels: rollup

Create a similar rollup

github-actions and others added 21 commits June 15, 2025 00:26
compiler & tools dependencies:
     Locking 31 packages to latest compatible versions
    Updating adler2 v2.0.0 -> v2.0.1
    Updating cfg-if v1.0.0 -> v1.0.1
    Updating clap v4.5.39 -> v4.5.40
    Updating clap_builder v4.5.39 -> v4.5.40
    Updating clap_derive v4.5.32 -> v4.5.40
    Updating clap_lex v0.7.4 -> v0.7.5
    Updating getopts v0.2.21 -> v0.2.23
    Updating hermit-abi v0.5.1 -> v0.5.2
    Updating jiff v0.2.14 -> v0.2.15
    Updating jiff-static v0.2.14 -> v0.2.15
    Updating libc v0.2.172 -> v0.2.173
    Updating memchr v2.7.4 -> v2.7.5
    Updating minifier v0.3.5 -> v0.3.6
    Updating miniz_oxide v0.8.8 -> v0.8.9
    Updating object v0.37.0 -> v0.37.1
    Updating redox_syscall v0.5.12 -> v0.5.13
    Updating rustc-demangle v0.1.24 -> v0.1.25
    Updating syn v2.0.101 -> v2.0.103
    Updating thread_local v1.1.8 -> v1.1.9
    Updating unicode-width v0.2.0 -> v0.2.1
    Updating wasi v0.11.0+wasi-snapshot-preview1 -> v0.11.1+wasi-snapshot-preview1
    Updating wasm-encoder v0.233.0 -> v0.235.0
    Removing wasmparser v0.232.0
    Removing wasmparser v0.233.0
      Adding wasmparser v0.234.0
      Adding wasmparser v0.235.0
    Updating wast v233.0.0 -> v235.0.0
    Updating wat v1.233.0 -> v1.235.0
    Updating windows v0.61.1 -> v0.61.3
    Updating windows-link v0.1.1 -> v0.1.3
      Adding windows-sys v0.60.2
    Updating windows-targets v0.53.0 -> v0.53.2
    Updating winnow v0.7.10 -> v0.7.11
note: pass `--verbose` to see 39 unchanged dependencies behind latest

library dependencies:
     Locking 1 package to latest compatible version
    Updating libc v0.2.172 -> v0.2.173
note: pass `--verbose` to see 4 unchanged dependencies behind latest

rustbook dependencies:
     Locking 19 packages to latest compatible versions
    Updating adler2 v2.0.0 -> v2.0.1
    Updating cc v1.2.26 -> v1.2.27
    Updating cfg-if v1.0.0 -> v1.0.1
    Updating clap v4.5.39 -> v4.5.40
    Updating clap_builder v4.5.39 -> v4.5.40
    Updating clap_complete v4.5.52 -> v4.5.54
    Updating clap_derive v4.5.32 -> v4.5.40
    Updating clap_lex v0.7.4 -> v0.7.5
    Updating getopts v0.2.21 -> v0.2.23
    Updating jiff v0.2.14 -> v0.2.15
    Updating jiff-static v0.2.14 -> v0.2.15
    Updating libc v0.2.172 -> v0.2.173
    Updating memchr v2.7.4 -> v2.7.5
    Updating miniz_oxide v0.8.8 -> v0.8.9
    Updating redox_syscall v0.5.12 -> v0.5.13
    Updating syn v2.0.101 -> v2.0.103
    Removing unicode-width v0.1.14
    Removing unicode-width v0.2.0
      Adding unicode-width v0.2.1
    Updating windows-link v0.1.1 -> v0.1.3
    Updating winnow v0.7.10 -> v0.7.11
Most likely caused by updating unicode-width v0.2.0 -> v0.2.1,
the change seems reasonable enough.
This includes a fix for building on gnux32.

[1]: https://github.com/rust-lang/libc/releases/tag/0.2.174
This recently spuriously failed in a rollup, so I think we can afford to
increase the base timeout and the amount of time slept for to provide
a much wider margin for the timeout to be reached.
Right now it's used for functions with `fn_align`, in the future it will
get more uses (statics, struct fields, etc.)
It doesn't seem to be needed, we can just use `Kind::Check` explicitly.
We should always just use `Kind::Check` for the check steps, as Clippy now has an entirely separate set of steps.
Don't build `ParamEnv` and do trait solving in `ItemCtxt`s when lowering IATs

Fixes rust-lang#108491

Fixes rust-lang#125879
This was due to updating inhabited predicate stuff which I had to do to make constructing ADTs with IATs in fields not ICE

Fixes rust-lang#136678 (but no test added, I don't rly care about weird IAT edge cases under GCE)
Fixes rust-lang#138131

Avoids doing "fully correct" candidate selection for IATs during hir ty lowering when in item signatures as it almost always leads to a query cycle from trying to build a `ParamEnv`. I replaced it with a use `DeepRejectCtxt` which should be able to handle this kind of conservative "could these types unify" while in a context where we don't want to do type equality.

This is a relatively simple scheme and should be forwards compatible with doing something more complex/powerful.

I'm not really sure how this interacts with rust-lang#126651, though I'm also not really sure its super important to support projecting IATs from IAT self types given we don't even support `T::Assoc::Other` for trait-associated types so didn't give much thought to how this might fit in with that.

r? `@compiler-errors`
cc `@fmease`
…e, r=jdonszelmann

use `#[align]` attribute for `fn_align`

Tracking issue: rust-lang#82232

rust-lang/rfcs#3806 decides to add the `#[align]` attribute for alignment of various items. Right now it's used for functions with `fn_align`, in the future it will get more uses (statics, struct fields, etc.)

(the RFC finishes FCP today)

r? `@ghost`
…ulacrum

Weekly `cargo update`

Automation to keep dependencies in `Cargo.lock` current.

The following is the output from `cargo update`:

```txt

compiler & tools dependencies:
     Locking 31 packages to latest compatible versions
    Updating adler2 v2.0.0 -> v2.0.1
    Updating cfg-if v1.0.0 -> v1.0.1
    Updating clap v4.5.39 -> v4.5.40
    Updating clap_builder v4.5.39 -> v4.5.40
    Updating clap_derive v4.5.32 -> v4.5.40
    Updating clap_lex v0.7.4 -> v0.7.5
    Updating getopts v0.2.21 -> v0.2.23
    Updating hermit-abi v0.5.1 -> v0.5.2
    Updating jiff v0.2.14 -> v0.2.15
    Updating jiff-static v0.2.14 -> v0.2.15
    Updating libc v0.2.172 -> v0.2.173
    Updating memchr v2.7.4 -> v2.7.5
    Updating minifier v0.3.5 -> v0.3.6
    Updating miniz_oxide v0.8.8 -> v0.8.9
    Updating object v0.37.0 -> v0.37.1
    Updating redox_syscall v0.5.12 -> v0.5.13
    Updating rustc-demangle v0.1.24 -> v0.1.25
    Updating syn v2.0.101 -> v2.0.103
    Updating thread_local v1.1.8 -> v1.1.9
    Updating unicode-width v0.2.0 -> v0.2.1
    Updating wasi v0.11.0+wasi-snapshot-preview1 -> v0.11.1+wasi-snapshot-preview1
    Updating wasm-encoder v0.233.0 -> v0.235.0
    Removing wasmparser v0.232.0
    Removing wasmparser v0.233.0
      Adding wasmparser v0.234.0
      Adding wasmparser v0.235.0
    Updating wast v233.0.0 -> v235.0.0
    Updating wat v1.233.0 -> v1.235.0
    Updating windows v0.61.1 -> v0.61.3
    Updating windows-link v0.1.1 -> v0.1.3
      Adding windows-sys v0.60.2
    Updating windows-targets v0.53.0 -> v0.53.2
    Updating winnow v0.7.10 -> v0.7.11
note: pass `--verbose` to see 39 unchanged dependencies behind latest

library dependencies:
     Locking 1 package to latest compatible version
    Updating libc v0.2.172 -> v0.2.173
note: pass `--verbose` to see 4 unchanged dependencies behind latest

rustbook dependencies:
     Locking 19 packages to latest compatible versions
    Updating adler2 v2.0.0 -> v2.0.1
    Updating cc v1.2.26 -> v1.2.27
    Updating cfg-if v1.0.0 -> v1.0.1
    Updating clap v4.5.39 -> v4.5.40
    Updating clap_builder v4.5.39 -> v4.5.40
    Updating clap_complete v4.5.52 -> v4.5.54
    Updating clap_derive v4.5.32 -> v4.5.40
    Updating clap_lex v0.7.4 -> v0.7.5
    Updating getopts v0.2.21 -> v0.2.23
    Updating jiff v0.2.14 -> v0.2.15
    Updating jiff-static v0.2.14 -> v0.2.15
    Updating libc v0.2.172 -> v0.2.173
    Updating memchr v2.7.4 -> v2.7.5
    Updating miniz_oxide v0.8.8 -> v0.8.9
    Updating redox_syscall v0.5.12 -> v0.5.13
    Updating syn v2.0.101 -> v2.0.103
    Removing unicode-width v0.1.14
    Removing unicode-width v0.2.0
      Adding unicode-width v0.2.1
    Updating windows-link v0.1.1 -> v0.1.3
    Updating winnow v0.7.10 -> v0.7.11
```
…-sync-drop-error, r=oli-obk

AsyncDrop trait without sync Drop generates an error

When type implements `AsyncDrop` trait, it must also implement sync `Drop` trait to be used in sync context and unwinds.
This PR adds error generation in such a case.

Fixes: rust-lang#140696
Add a missing colon at the end of the panic location details in location-detail-unwrap-multiline.rs

The `location-detail-unwrap-multiline` test was failing when trying to enable `aarch64-pc-windows-msvc` CI Runners: rust-lang#140136 (comment)

When debugging, the normalized stderr was:

```
thread 'main' panicked at $DIR/location-detail-unwrap-multiline.rs:11:10:
called `Option::unwrap()` on a `None` value
stack backtrace:
note: Some details are omitted, run with `RUST_BACKTRACE=full` for a verbose backtrace.
```

Note the trailing colon at the end of the location details in the panic message. This was missing in the error pattern regex. No idea why it has been passing for all other targets and failed for `aarch64-pc-windows-msvc`, but with the trailing colon it is now passing for all.
…ctor-on-mpmc-test, r=joshtriplett

library: Increase timeout on mpmc test to reduce flakes

This recently spuriously failed in a rollup, so I think we can afford to increase the base timeout and the amount of time slept for to provide a much wider margin for the timeout to be reached.
…up, r=jieyouxu

Assorted bootstrap cleanups (step 3)

I keep failing to unwrap the gordic knot of the logic of checking tools in bootstrap 😖 So in the meantime I at least want to upstream some cleanups I did along the way.

Since some time ago, we have separate steps for Clippy, so it shouldn't ever happen again that the check steps would be invoked with `builder.kind == Clippy`.

r? `@jieyouxu`
@rustbot rustbot added A-attributes Area: Attributes (`#[…]`, `#![…]`) 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. rollup A PR which is a rollup labels Jun 19, 2025
@tgross35
Copy link
Contributor Author

@bors r+ rollup=never p=5

@bors
Copy link
Collaborator

bors commented Jun 19, 2025

📌 Commit 986f8cd has been approved by tgross35

It is now in the queue for this repository.

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

bors commented Jun 19, 2025

⌛ Testing commit 986f8cd with merge 8a65ee0...

@bors
Copy link
Collaborator

bors commented Jun 19, 2025

☀️ Test successful - checks-actions
Approved by: tgross35
Pushing 8a65ee0 to master...

@bors bors added the merged-by-bors This PR was explicitly merged by bors. label Jun 19, 2025
@bors bors merged commit 8a65ee0 into rust-lang:master Jun 19, 2025
11 checks passed
@rustbot rustbot added this to the 1.89.0 milestone Jun 19, 2025
@rust-timer
Copy link
Collaborator

📌 Perf builds for each rolled up PR:

PR# Message Perf Build Sha
#140247 Don't build ParamEnv and do trait solving in ItemCtxts … 6f54069a2862cbd95988c57cc7db002fb7e0f654 (link)
#142507 use #[align] attribute for fn_align 7135ba0a805354a073ac718dacd960a1aab10d1f (link)
#142524 Weekly cargo update e23ee5e86bbc7af5e10c839ce8baf3cbe9113d95 (link)
#142606 AsyncDrop trait without sync Drop generates an error 5d204bbe1b9623117eb706b22c3003ae7c24d52a (link)
#142639 Add a missing colon at the end of the panic location detail… 996c5834101716043dd46d2c7e9f5b8df577a69a (link)
#142654 library: Increase timeout on mpmc test to reduce flakes a1783e83ab139809522f6419fcca0537a5e4cd25 (link)
#142692 Assorted bootstrap cleanups (step 3) 097a5814d0d689c44c5fafb23e9eebf3f448e180 (link)

previous master: d1d8e386c5

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

Copy link
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 d1d8e38 (parent) -> 8a65ee0 (this PR)

Test differences

Show 112 test diffs

Stage 1

  • errors::verify_passes_align_should_be_repr_align_175: [missing] -> pass (J0)
  • errors::verify_passes_attr_application_struct_enum_function_method_union_141: pass -> [missing] (J0)
  • errors::verify_passes_cannot_stabilize_deprecated_144: [missing] -> pass (J0)
  • errors::verify_passes_cannot_stabilize_deprecated_145: pass -> [missing] (J0)
  • errors::verify_passes_const_stable_not_stable_154: [missing] -> pass (J0)
  • errors::verify_passes_const_stable_not_stable_155: pass -> [missing] (J0)
  • errors::verify_passes_deprecated_attribute_142: [missing] -> pass (J0)
  • errors::verify_passes_deprecated_attribute_143: pass -> [missing] (J0)
  • errors::verify_passes_duplicate_feature_err_152: [missing] -> pass (J0)
  • errors::verify_passes_duplicate_feature_err_153: pass -> [missing] (J0)
  • errors::verify_passes_implied_feature_not_exist_151: [missing] -> pass (J0)
  • errors::verify_passes_ineffective_unstable_impl_162: [missing] -> pass (J0)
  • errors::verify_passes_ineffective_unstable_impl_163: pass -> [missing] (J0)
  • errors::verify_passes_missing_const_err_153: [missing] -> pass (J0)
  • errors::verify_passes_missing_const_stab_attr_147: [missing] -> pass (J0)
  • errors::verify_passes_missing_const_stab_attr_148: pass -> [missing] (J0)
  • errors::verify_passes_missing_stability_attr_146: [missing] -> pass (J0)
  • errors::verify_passes_missing_stability_attr_147: pass -> [missing] (J0)
  • errors::verify_passes_no_sanitize_164: [missing] -> pass (J0)
  • errors::verify_passes_proc_macro_bad_sig_155: [missing] -> pass (J0)
  • errors::verify_passes_proc_macro_bad_sig_156: pass -> [missing] (J0)
  • errors::verify_passes_repr_align_should_be_align_174: [missing] -> pass (J0)
  • errors::verify_passes_rustc_const_stable_indirect_pairing_165: [missing] -> pass (J0)
  • errors::verify_passes_rustc_const_stable_indirect_pairing_166: pass -> [missing] (J0)
  • errors::verify_passes_trait_impl_const_stable_148: [missing] -> pass (J0)
  • errors::verify_passes_trait_impl_const_stable_149: pass -> [missing] (J0)
  • errors::verify_passes_transparent_incompatible_141: [missing] -> pass (J0)
  • errors::verify_passes_transparent_incompatible_142: pass -> [missing] (J0)
  • errors::verify_passes_unexportable_adt_with_private_fields_173: [missing] -> pass (J0)
  • errors::verify_passes_unexportable_adt_with_private_fields_174: pass -> [missing] (J0)
  • errors::verify_passes_unexportable_fn_abi_169: [missing] -> pass (J0)
  • errors::verify_passes_unexportable_fn_abi_170: pass -> [missing] (J0)
  • errors::verify_passes_unexportable_generic_fn_168: [missing] -> pass (J0)
  • errors::verify_passes_unexportable_generic_fn_169: pass -> [missing] (J0)
  • errors::verify_passes_unexportable_item_167: [missing] -> pass (J0)
  • errors::verify_passes_unexportable_item_168: pass -> [missing] (J0)
  • errors::verify_passes_unexportable_priv_item_172: [missing] -> pass (J0)
  • errors::verify_passes_unexportable_priv_item_173: pass -> [missing] (J0)
  • errors::verify_passes_unexportable_type_in_interface_171: [missing] -> pass (J0)
  • errors::verify_passes_unexportable_type_in_interface_172: pass -> [missing] (J0)
  • errors::verify_passes_unexportable_type_repr_170: [missing] -> pass (J0)
  • errors::verify_passes_unexportable_type_repr_171: pass -> [missing] (J0)
  • errors::verify_passes_unknown_feature_149: [missing] -> pass (J0)
  • errors::verify_passes_unknown_feature_150: pass -> [missing] (J0)
  • errors::verify_passes_unknown_feature_alias_150: [missing] -> pass (J0)
  • errors::verify_passes_unknown_feature_alias_151: pass -> [missing] (J0)
  • errors::verify_passes_unnecessary_partial_stable_feature_161: [missing] -> pass (J0)
  • errors::verify_passes_unnecessary_partial_stable_feature_162: pass -> [missing] (J0)
  • errors::verify_passes_unnecessary_stable_feature_160: [missing] -> pass (J0)
  • errors::verify_passes_unnecessary_stable_feature_161: pass -> [missing] (J0)
  • errors::verify_passes_unreachable_due_to_uninhabited_156: [missing] -> pass (J0)
  • errors::verify_passes_unreachable_due_to_uninhabited_157: pass -> [missing] (J0)
  • errors::verify_passes_unstable_attr_for_already_stable_feature_145: [missing] -> pass (J0)
  • errors::verify_passes_unstable_attr_for_already_stable_feature_146: pass -> [missing] (J0)
  • errors::verify_passes_unsupported_attributes_in_where_166: [missing] -> pass (J0)
  • errors::verify_passes_unsupported_attributes_in_where_167: pass -> [missing] (J0)
  • errors::verify_passes_unused_assign_passed_163: [missing] -> pass (J0)
  • errors::verify_passes_unused_assign_passed_164: pass -> [missing] (J0)
  • errors::verify_passes_unused_capture_maybe_capture_ref_158: [missing] -> pass (J0)
  • errors::verify_passes_unused_var_assigned_only_159: [missing] -> pass (J0)
  • errors::verify_passes_unused_var_assigned_only_160: pass -> [missing] (J0)
  • errors::verify_passes_unused_var_maybe_capture_ref_157: [missing] -> pass (J0)
  • errors::verify_passes_unused_var_maybe_capture_ref_158: pass -> [missing] (J0)
  • errors::verify_passes_useless_stability_143: [missing] -> pass (J0)
  • errors::verify_passes_useless_stability_144: pass -> [missing] (J0)
  • session_diagnostics::verify_attr_parsing_invalid_alignment_value_32: [missing] -> pass (J0)
  • session_diagnostics::verify_attr_parsing_repr_ident_32: pass -> [missing] (J0)
  • session_diagnostics::verify_attr_parsing_unrecognized_repr_hint_33: pass -> [missing] (J0)
  • [crashes] tests/crashes/125879.rs: pass -> [missing] (J2)
  • [crashes] tests/crashes/136678.rs: pass -> [missing] (J2)
  • [crashes] tests/crashes/138131.rs: pass -> [missing] (J2)
  • [ui] tests/ui/associated-inherent-types/bound_vars_in_args.rs: [missing] -> pass (J2)
  • [ui] tests/ui/associated-inherent-types/bugs/cycle-iat-inside-of-adt.rs: pass -> [missing] (J2)
  • [ui] tests/ui/associated-inherent-types/bugs/cycle-iat-inside-of-where-predicate.rs: pass -> [missing] (J2)
  • [ui] tests/ui/associated-inherent-types/candidate-with-alias-2.rs: [missing] -> pass (J2)
  • [ui] tests/ui/associated-inherent-types/candidate-with-alias.rs: [missing] -> pass (J2)
  • [ui] tests/ui/associated-inherent-types/iat-in-where-bound.rs: [missing] -> pass (J2)
  • [ui] tests/ui/associated-inherent-types/iat-inside-of-adt.rs: [missing] -> pass (J2)
  • [ui] tests/ui/associated-inherent-types/impl_params_are_infers.rs: [missing] -> pass (J2)
  • [ui] tests/ui/associated-inherent-types/inhabited-predicates.rs: [missing] -> pass (J2)
  • [ui] tests/ui/associated-inherent-types/multiple-candidates-in-adt-field-1.rs: [missing] -> pass (J2)
  • [ui] tests/ui/associated-inherent-types/multiple-candidates-in-adt-field-2.rs: [missing] -> pass (J2)
  • [ui] tests/ui/associated-inherent-types/multiple-candidates-in-adt-field-3.rs: [missing] -> pass (J2)
  • [ui] tests/ui/associated-inherent-types/really_deep_self_ty_mismatch.rs: [missing] -> pass (J2)
  • [ui] tests/ui/async-await/async-drop/async-without-sync.rs: [missing] -> pass (J2)

Stage 2

  • [ui] tests/ui/associated-inherent-types/bound_vars_in_args.rs: [missing] -> pass (J1)
  • [ui] tests/ui/associated-inherent-types/bugs/cycle-iat-inside-of-adt.rs: pass -> [missing] (J1)
  • [ui] tests/ui/associated-inherent-types/bugs/cycle-iat-inside-of-where-predicate.rs: pass -> [missing] (J1)
  • [ui] tests/ui/associated-inherent-types/candidate-with-alias-2.rs: [missing] -> pass (J1)
  • [ui] tests/ui/associated-inherent-types/candidate-with-alias.rs: [missing] -> pass (J1)
  • [ui] tests/ui/associated-inherent-types/iat-inside-of-adt.rs: [missing] -> pass (J1)
  • [ui] tests/ui/associated-inherent-types/impl_params_are_infers.rs: [missing] -> pass (J1)
  • [ui] tests/ui/associated-inherent-types/inhabited-predicates.rs: [missing] -> pass (J1)
  • [ui] tests/ui/associated-inherent-types/multiple-candidates-in-adt-field-1.rs: [missing] -> pass (J1)
  • [ui] tests/ui/associated-inherent-types/multiple-candidates-in-adt-field-2.rs: [missing] -> pass (J1)
  • [ui] tests/ui/associated-inherent-types/multiple-candidates-in-adt-field-3.rs: [missing] -> pass (J1)
  • [ui] tests/ui/associated-inherent-types/really_deep_self_ty_mismatch.rs: [missing] -> pass (J1)
  • [ui] tests/ui/async-await/async-drop/async-without-sync.rs: [missing] -> pass (J1)
  • [crashes] tests/crashes/136678.rs: pass -> [missing] (J3)
  • [crashes] tests/crashes/138131.rs: pass -> [missing] (J3)

(and 8 additional test diffs)

Additionally, 4 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 8a65ee08296b36342bf7c3cdc15312ccbc357227 --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. mingw-check-tidy: 69.3s -> 96.1s (38.7%)
  2. x86_64-msvc-ext1: 10456.1s -> 6992.7s (-33.1%)
  3. mingw-check-1: 1783.1s -> 1980.9s (11.1%)
  4. x86_64-gnu-aux: 5914.7s -> 6358.5s (7.5%)
  5. dist-apple-various: 7050.9s -> 6650.8s (-5.7%)
  6. x86_64-gnu-llvm-19-3: 7004.0s -> 6628.8s (-5.4%)
  7. aarch64-gnu-debug: 3956.0s -> 4148.2s (4.9%)
  8. x86_64-mingw-1: 9185.7s -> 8762.0s (-4.6%)
  9. i686-gnu-2: 6062.9s -> 6336.5s (4.5%)
  10. dist-x86_64-musl: 7086.2s -> 7390.2s (4.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
Collaborator

Finished benchmarking commit (8a65ee0): comparison URL.

Overall result: ❌✅ regressions and improvements - please read the text below

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

Max RSS (memory usage)

Results (primary 1.3%, 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)
3.7% [3.7%, 3.7%] 1
Regressions ❌
(secondary)
6.0% [6.0%, 6.0%] 1
Improvements ✅
(primary)
-1.2% [-1.2%, -1.2%] 1
Improvements ✅
(secondary)
-3.0% [-3.9%, -2.1%] 2
All ❌✅ (primary) 1.3% [-1.2%, 3.7%] 2

Cycles

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

Binary size

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

Bootstrap: 692.944s -> 692.997s (0.01%)
Artifact size: 372.01 MiB -> 372.00 MiB (-0.00%)

@rustbot rustbot added the perf-regression Performance regression. label Jun 19, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
A-attributes Area: Attributes (`#[…]`, `#![…]`) merged-by-bors This PR was explicitly merged by bors. perf-regression Performance regression. 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.
Projects
None yet
Development

Successfully merging this pull request may close these issues.