Skip to content

Conversation

dianqk
Copy link
Member

@dianqk dianqk commented Oct 10, 2025

Successful merges:

r? @ghost
@rustbot modify labels: rollup

Create a similar rollup

Qelxiros and others added 29 commits August 21, 2025 16:21
This is the target for 32-bit Cortex-A bare-metal, when using the FPU.

The target is well tested by the Embedded Devices Working Group, and the
soft-float target (armv7a-none-eabi) is already Tier 2.
This is the target for supporting Arm Cortex-R52 bare-metal systems,
which are common in safety-critical systems.
Regression test for const promotion with Option<Ordering>

https://rust.godbolt.org/z/EjxqE8WcT

Fixes rust-lang#139093

Add a regression test to ensure that comparing `Option<Ordering>` to
`Some(Ordering::Equal)` does not trigger unnecessary const promotion
in MIR.

Previously, inlined constants like `Some(Ordering::Equal)` would get
promoted, leading to more complex MIR and redundant LLVM IR checks.
This test verifies that both the direct form and the `let`-binding form
now generate equivalent, simplified MIR.

r? cjgillot
…, r=dtolnay

implement Extend<{Group, Literal, Punct, Ident}> for TokenStream

Tracking issue: rust-lang#112815
…, r=petrochenkov

Promote armv8r-none-eabihf target to Tier 2

This PR promotes armv8r-none-eabihf to Tier 2, joining armv7r-none-eabi, armv7r-none-eabihf and armv7a-none-eabi.

This PR wil be rebased once rust-lang#146419 completes the queue.

> - A tier 2 target must have value to people other than its maintainers. (It may
>   still be a niche target, but it must not be exclusively useful for an
>   inherently closed group.)

The `armv8r-none-eabihf` target is for the Arm Cortex-R52 processor, as found in a number of Automotive SoCs that have just been released, or are about to be released. Currently SoCs are available from NXP and Renesas.

>- A tier 2 target must have a designated team of developers (the "target
>  maintainers") available to consult on target-specific build-breaking issues,
>  or if necessary to develop target-specific language or library implementation
>  details. This team must have at least 2 developers.

The Embedded Devices Working Group's Arm Team have just started maintaining this target.

> - The target must not place undue burden on Rust developers not specifically
>   concerned with that target. Rust developers are expected to not gratuitously
>   break a tier 2 target, but are not expected to become experts in every tier 2
>   target, and are not expected to provide target-specific implementations for
>   every tier 2 target.

This target is highly similar to a number of existing Tier 2 targets, including `armv7r-none-eabihf` and so it should not add undue burden.

> - The target must provide documentation for the Rust community explaining how
>   to build for the target using cross-compilation, and explaining how to run
>   tests for the target. If at all possible, this documentation should show how
>   to run Rust programs and tests for the target using emulation, to allow
>   anyone to do so. If the target cannot be feasibly emulated, the documentation
>   should explain how to obtain and work with physical hardware, cloud systems,
>   or equivalent.

https://doc.rust-lang.org/nightly/rustc/platform-support/armv8r-none-eabihf.html exists and was updated in rust-lang#146419

> - The target must document its baseline expectations for the features or
>   versions of CPUs, operating systems, libraries, runtime environments, and
>   similar.

I believe it does.

> - If introducing a new tier 2 or higher target that is identical to an existing
>   Rust target except for the baseline expectations for the features or versions
>   of CPUs, operating systems, libraries, runtime environments, and similar,
>   then the proposed target must document to the satisfaction of the approving
>   teams why the specific difference in baseline expectations provides
>   sufficient value to justify a separate target.

The Armv8-R architecture introduces a new FPU type, the fp-armv8, and so this requires a unique target.

> - Tier 2 targets must not leave any significant portions of `core` or the
>  standard library unimplemented or stubbed out, unless they cannot possibly be
>  supported on the target.

It has a full libcore, as per the other arm*-none-* targets.

> - The code generation backend for the target should not have deficiencies that
>  invalidate Rust safety properties, as evaluated by the Rust compiler team.

It should be the same backend as `armv7r-none-eabihf` and friends, except for FPU support, which is already covered in `thumbv8m.main-none-eabihf`. There are no issues that I know of.

> - If the target supports C code, and the target has an interoperable calling
>   convention for C code, the Rust target must support that C calling convention
>   for the platform via `extern "C"`. The C calling convention does not need to
>   be the default Rust calling convention for the target, however.

The ABI is EABI, the same as many other Arm targets.

> - The target must build reliably in CI, for all components that Rust's CI
>   considers mandatory.

The https://github.com/rust-embedded/cortex-ar repository regularly builds this target with `-Zbuild-std=core` and it seems fine.

> - The approving teams may additionally require that a subset of tests pass in
>  CI, such as enough to build a functional "hello world" program, `./x.py test
>  --no-run`, or equivalent "smoke tests". In particular, this requirement may
>  apply if the target builds host tools, or if the tests in question provide
>  substantial value via early detection of critical problems.

There are no no-std tests in the tree that I'm aware of.

> - Building the target in CI must not take substantially longer than the current
>   slowest target in CI, and should not substantially raise the maintenance
>   burden of the CI infrastructure. This requirement is subjective, to be
>   evaluated by the infrastructure team, and will take the community importance
>   of the target into account.

Building libcore is quite fast.

> - Tier 2 targets should, if at all possible, support cross-compiling. Tier 2
>   targets should not require using the target as the host for builds, even if
>   the target supports host tools.

It does.

> - In addition to the legal requirements for all targets (specified in the tier
>   3 requirements), because a tier 2 target typically involves the Rust project
>   building and supplying various compiled binaries, incorporating the target
>   and redistributing any resulting compiled binaries (e.g. built libraries,
>   host tools if any) must not impose any onerous license requirements on any
>   members of the Rust project, including infrastructure team members and those
>   operating CI systems. This is a subjective requirement, to be evaluated by
>   the approving teams.

Just libcore required (and liballoc). No known issues here.

> - Tier 2 targets must not impose burden on the authors of pull requests, or
>   other developers in the community, to ensure that tests pass for the target.

Noted

> - The target maintainers should regularly run the testsuite for the target

The https://github.com/rust-embedded/cortex-ar repository will be changed to use the rustup component when available.

> and should fix any test failures in a reasonably timely fashion.

Noted
…hf, r=petrochenkov

Promote armv7a-none-eabihf to Tier 2

This PR promotes armv7a-none-eabihf to Tier 2, to join armv7r-none-eabihf and armv7a-none-eabi. I believe it was simply an oversight that it wasn't made Tier 2 before, as most Armv7-A targets have an FPU and it often makes sense to use it.

This PR wil be rebased once rust-lang#146419 completes the queue.

> - A tier 2 target must have value to people other than its maintainers. (It may
>   still be a niche target, but it must not be exclusively useful for an
>   inherently closed group.)

The `armv7a-none-eabihf` target is for all Arm Cortex-A processors (either 32-bit only, or in 32-bit mode) where the user wants to use the FPU.

>- A tier 2 target must have a designated team of developers (the "target
>  maintainers") available to consult on target-specific build-breaking issues,
>  or if necessary to develop target-specific language or library implementation
>  details. This team must have at least 2 developers.

The Embedded Devices Working Group's Arm Team have just started maintaining this target.

> - The target must not place undue burden on Rust developers not specifically
>   concerned with that target. Rust developers are expected to not gratuitously
>   break a tier 2 target, but are not expected to become experts in every tier 2
>   target, and are not expected to provide target-specific implementations for
>   every tier 2 target.

This target is highly similar to a number of existing Tier 2 targets, including `armv7r-none-eabihf` and `armv7a-none-eabi` and so it should not add undue burden.

> - The target must provide documentation for the Rust community explaining how
>   to build for the target using cross-compilation, and explaining how to run
>   tests for the target. If at all possible, this documentation should show how
>   to run Rust programs and tests for the target using emulation, to allow
>   anyone to do so. If the target cannot be feasibly emulated, the documentation
>   should explain how to obtain and work with physical hardware, cloud systems,
>   or equivalent.

https://doc.rust-lang.org/nightly/rustc/platform-support/armv7a-none-eabi.html was added in rust-lang#146419. It covers the `-eabi` and the `-eabihf` targets.

> - The target must document its baseline expectations for the features or
>   versions of CPUs, operating systems, libraries, runtime environments, and
>   similar.

I believe it does.

> - If introducing a new tier 2 or higher target that is identical to an existing
>   Rust target except for the baseline expectations for the features or versions
>   of CPUs, operating systems, libraries, runtime environments, and similar,
>   then the proposed target must document to the satisfaction of the approving
>   teams why the specific difference in baseline expectations provides
>   sufficient value to justify a separate target.

It uses very similar FPUs to `armv7r-none-eabihf` but is otherwise the same as `armv7a-none-eabi`.

> - Tier 2 targets must not leave any significant portions of `core` or the
>  standard library unimplemented or stubbed out, unless they cannot possibly be
>  supported on the target.

It has a full libcore, as per the other arm*-none-* targets.

> - The code generation backend for the target should not have deficiencies that
>  invalidate Rust safety properties, as evaluated by the Rust compiler team.

It should be the same backend as `armv7r-none-eabihf` and friends, except for FPU support, which is already covered in `thumbv8m.main-none-eabihf`. There are no issues that I know of.

> - If the target supports C code, and the target has an interoperable calling
>   convention for C code, the Rust target must support that C calling convention
>   for the platform via `extern "C"`. The C calling convention does not need to
>   be the default Rust calling convention for the target, however.

The ABI is EABI, the same as many other Arm targets.

> - The target must build reliably in CI, for all components that Rust's CI
>   considers mandatory.

The https://github.com/rust-embedded/cortex-ar repository has been changed in rust-embedded/cortex-ar#57 to build this target with `-Zbuild-std=core`. Locally it seems fine.

> - The approving teams may additionally require that a subset of tests pass in
>  CI, such as enough to build a functional "hello world" program, `./x.py test
>  --no-run`, or equivalent "smoke tests". In particular, this requirement may
>  apply if the target builds host tools, or if the tests in question provide
>  substantial value via early detection of critical problems.

There are no no-std tests in the tree that I'm aware of.

> - Building the target in CI must not take substantially longer than the current
>   slowest target in CI, and should not substantially raise the maintenance
>   burden of the CI infrastructure. This requirement is subjective, to be
>   evaluated by the infrastructure team, and will take the community importance
>   of the target into account.

Building libcore is quite fast.

> - Tier 2 targets should, if at all possible, support cross-compiling. Tier 2
>   targets should not require using the target as the host for builds, even if
>   the target supports host tools.

It does.

> - In addition to the legal requirements for all targets (specified in the tier
>   3 requirements), because a tier 2 target typically involves the Rust project
>   building and supplying various compiled binaries, incorporating the target
>   and redistributing any resulting compiled binaries (e.g. built libraries,
>   host tools if any) must not impose any onerous license requirements on any
>   members of the Rust project, including infrastructure team members and those
>   operating CI systems. This is a subjective requirement, to be evaluated by
>   the approving teams.

Just libcore required (and liballoc). No known issues here.

> - Tier 2 targets must not impose burden on the authors of pull requests, or
>   other developers in the community, to ensure that tests pass for the target.

Noted

> - The target maintainers should regularly run the testsuite for the target

The https://github.com/rust-embedded/cortex-ar repository will be changed to use the rustup component when available.

> and should fix any test failures in a reasonably timely fashion.

Noted
…w-mitigate, r=joboet

Mitigate `thread_local!` shadowing issues

Mitigates rust-lang#147006 and rust-lang#99018.

`@rustbot` label T-libs A-macros A-thread-locals A-hygiene
…ethercote

Update rustc-perf submodule

To bring in rust-lang/rustc-perf#2274, rust-lang/rustc-perf#2275 and rust-lang/rustc-perf#2276.

r? `@nnethercote`

try-job: dist-x86_64-linux
try-job: dist-x86_64-msvc
compiletest: Use the same directive lines for EarlyProps and ignore/only/needs

Currently we load each discovered test file to scan it for directives once for EarlyProps parsing, then reload and scan it once *per revision* for ignore processing. If a revision is not ignored, we then reload and scan it again during actual execution.

That's a bit silly, so this PR tries to reduce the number of unnecessary file loads and line scans for directive parsing, by reusing the same collection of `DirectiveLine` values for EarlyProps and for each revision's ignores.

Each individual directive still needs to be re-parsed a bunch of times, but those steps can at least avoid scanning the whole file, or having to split out names from values.

---

There's more that could be done after this, such as only doing known-directive checks once per file, or embedding file paths in each `DirectiveLine`, but I decided to stop here to allow review in modest chunks.

r? jieyouxu
Replace locals in debuginfo records during ref_prop and dest_prop

Fixes rust-lang#147485.

r? cjgillot
Remove StatementKind::Deinit.

It is a remnant from the time we deaggreated MIR.

Now, it is only constructed by the `LargeEnums` MIR pass, which is disabled by default.
…-checks, r=Amanieu

remove `#[rustc_inherit_overflow_checks]` from `is_multiple_of`

Most likely this was just a result of copy-pasting. The attribute has no effect, because `%` always uses overflow checks.

r? `@Amanieu`
cc `@RalfJung`
…nkov

Move `wasm32-wasip3`  to the tier 3 table

rust-lang#147205 says it wanted to add this as a tier 3 target but accidentally added it to the tier 2 table.
…iv_ceil, r=joboet

Stabilize `NonZero<u*>::div_ceil`

As per rust-lang#132968 (comment)

r? libs
@rustbot rustbot added the A-compiletest Area: The compiletest test runner label Oct 10, 2025
@rustbot rustbot added A-testsuite Area: The testsuite used to check the correctness of rustc 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-clippy Relevant to the Clippy team. 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 Oct 10, 2025
@dianqk
Copy link
Member Author

dianqk commented Oct 10, 2025

@bors r+ rollup=never p=5

@bors
Copy link
Collaborator

bors commented Oct 10, 2025

📌 Commit ab7d63a has been approved by dianqk

It is now in the queue for this repository.

@bors bors 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 Oct 10, 2025
@bors
Copy link
Collaborator

bors commented Oct 10, 2025

⌛ Testing commit ab7d63a with merge cfce400...

bors added a commit that referenced this pull request Oct 10, 2025
Rollup of 12 pull requests

Successful merges:

 - #145651 (Regression test for const promotion with Option<Ordering>)
 - #145722 (implement Extend<{Group, Literal, Punct, Ident}> for TokenStream)
 - #146520 (Promote armv8r-none-eabihf target to Tier 2)
 - #146522 (Promote armv7a-none-eabihf to Tier 2)
 - #147289 (Mitigate `thread_local!` shadowing issues)
 - #147515 (Update rustc-perf submodule)
 - #147522 (compiletest: Use the same directive lines for EarlyProps and ignore/only/needs)
 - #147525 (Replace locals in debuginfo records during ref_prop and dest_prop)
 - #147544 (Remove StatementKind::Deinit.)
 - #147551 (remove `#[rustc_inherit_overflow_checks]` from `is_multiple_of`)
 - #147553 (Move `wasm32-wasip3`  to the tier 3 table)
 - #147562 (Stabilize `NonZero<u*>::div_ceil`)

r? `@ghost`
`@rustbot` modify labels: rollup
@rust-log-analyzer
Copy link
Collaborator

The job aarch64-gnu-debug failed! Check out the build log: (web) (plain enhanced) (plain)

Click to see the possible cause of the failure (guessed by this bot)

  --- stderr
  clang: error: unsupported option '-print-multi-os-directory'
  clang: error: no input files
  config.status: error: in `/checkout/obj/build/aarch64-unknown-linux-gnu/stage2-tools/aarch64-unknown-linux-gnu/release/build/libffi-sys-6562d98fd0e95724/out/libffi-build/aarch64-unknown-linux-gnu':
  config.status: error: Something went wrong bootstrapping makefile fragments
      for automatic dependency tracking.  If GNU make was not used, consider
      re-running the configure script with MAKE="gmake" (or whatever is
      necessary).  You can also try re-running configure with the
      '--disable-dependency-tracking' option to at least be able to build
      the package (albeit without support for automatic dependency tracking).
  See `config.log' for more details

  thread 'main' (101487) panicked at /cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libffi-sys-3.3.2/build/not_msvc.rs:154:5:
  Configuring libffi: exit status: 1 (cd "/checkout/obj/build/aarch64-unknown-linux-gnu/stage2-tools/aarch64-unknown-linux-gnu/release/build/libffi-sys-6562d98fd0e95724/out/libffi-build" && CC="clang" CFLAGS="-O3 -ffunction-sections -fdata-sections -fPIC -gdwarf-4 -fno-omit-frame-pointer --target=aarch64-unknown-linux-gnu -Wno-implicit-function-declaration" LC_ALL="C" "sh" "./configure" "--with-pic" "--disable-shared" "--disable-docs" "--prefix" "/checkout/obj/build/aarch64-unknown-linux-gnu/stage2-tools/aarch64-unknown-linux-gnu/release/build/libffi-sys-6562d98fd0e95724/out/libffi-root")
  stack backtrace:
     0: __rustc::rust_begin_unwind
               at /checkout/library/std/src/panicking.rs:698:5
     1: core::panicking::panic_fmt
               at /checkout/library/core/src/panicking.rs:80:14
     2: build_script_build::common::run_command
               at ./build/common.rs:13:13
     3: build_script_build::not_msvc::configure_libffi
               at ./build/not_msvc.rs:154:5
     4: build_script_build::not_msvc::build_and_link
               at ./build/not_msvc.rs:39:5
     5: build_script_build::main
               at ./build/build.rs:16:9
     6: core::ops::function::FnOnce::call_once
               at /checkout/library/core/src/ops/function.rs:250:5
  note: Some details are omitted, run with `RUST_BACKTRACE=full` for a verbose backtrace.

@bors
Copy link
Collaborator

bors commented Oct 11, 2025

💔 Test failed - checks-actions

@bors bors added S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. and removed S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion. labels Oct 11, 2025
@dianqk
Copy link
Member Author

dianqk commented Oct 11, 2025

@bors retry (clang: error: unsupported option '-print-multi-os-directory')

@bors bors 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 Oct 11, 2025
@bors
Copy link
Collaborator

bors commented Oct 11, 2025

⌛ Testing commit ab7d63a with merge 4422885...

@bors
Copy link
Collaborator

bors commented Oct 11, 2025

☀️ Test successful - checks-actions
Approved by: dianqk
Pushing 4422885 to master...

@bors bors added the merged-by-bors This PR was explicitly merged by bors. label Oct 11, 2025
@bors bors merged commit 4422885 into rust-lang:master Oct 11, 2025
11 checks passed
@rustbot rustbot added this to the 1.92.0 milestone Oct 11, 2025
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 b3f8586 (parent) -> 4422885 (this PR)

Test differences

Show 1050 test diffs

Stage 1

  • [mir-opt] tests/mir-opt/debuginfo/dest_prop.rs: [missing] -> pass (J2)
  • [mir-opt] tests/mir-opt/debuginfo/ref_prop.rs: [missing] -> pass (J2)
  • [mir-opt] tests/mir-opt/pre-codegen/const_promotion_option_ordering_eq.rs: [missing] -> pass (J2)
  • [ui] tests/ui/debuginfo/dest_prop_debuginfo-147485.rs: [missing] -> pass (J2)
  • [ui] tests/ui/debuginfo/ref_prop_debuginfo-147485.rs: [missing] -> pass (J2)

Stage 2

  • [mir-opt] tests/mir-opt/debuginfo/dest_prop.rs: [missing] -> pass (J0)
  • [mir-opt] tests/mir-opt/debuginfo/ref_prop.rs: [missing] -> pass (J0)
  • [mir-opt] tests/mir-opt/pre-codegen/const_promotion_option_ordering_eq.rs: [missing] -> pass (J0)
  • [ui] tests/ui/debuginfo/dest_prop_debuginfo-147485.rs: [missing] -> pass (J1)
  • [ui] tests/ui/debuginfo/ref_prop_debuginfo-147485.rs: [missing] -> pass (J1)

Additionally, 1040 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 442288534b6cf9ec4899b00c4332433b17760d96 --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. aarch64-apple: 6500.8s -> 7792.3s (19.9%)
  2. pr-check-1: 1406.7s -> 1624.5s (15.5%)
  3. aarch64-gnu-llvm-20-2: 2199.5s -> 2534.9s (15.2%)
  4. dist-loongarch64-linux: 6082.5s -> 5190.8s (-14.7%)
  5. arm-android: 5629.7s -> 6378.8s (13.3%)
  6. x86_64-gnu-llvm-20: 2437.0s -> 2758.2s (13.2%)
  7. aarch64-gnu-debug: 3764.0s -> 4254.6s (13.0%)
  8. x86_64-gnu-tools: 3261.5s -> 3669.9s (12.5%)
  9. i686-gnu-nopt-1: 7136.2s -> 7987.6s (11.9%)
  10. x86_64-rust-for-linux: 2607.4s -> 2906.8s (11.5%)
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

📌 Perf builds for each rolled up PR:

PR# Message Perf Build Sha
#145651 Regression test for const promotion with Option 2ba44283d2ed54bef286bdc2825dd18d7fd233f1 (link)
#145722 implement Extend<{Group, Literal, Punct, Ident}> for TokenS… fbbd819a05298d5b97e96be8ae46c09058d3314e (link)
#146520 Promote armv8r-none-eabihf target to Tier 2 50763218767b58f2df127f1eb0a5eb69cf26e807 (link)
#146522 Promote armv7a-none-eabihf to Tier 2 1f24cdcd5755a3f8a85cda569ea51699982900f0 (link)
#147289 Mitigate thread_local! shadowing issues b8ad43ebc53e350d410e80e9f038d6cc5290ed18 (link)
#147515 Update rustc-perf submodule 85c6b4ceee916c9f6041b924320f5c5ac1190c94 (link)
#147522 compiletest: Use the same directive lines for EarlyProps an… 722f01cfc28f9f6d771b2d20b19a7c0572a87d3d (link)
#147525 Replace locals in debuginfo records during ref_prop and des… b1710884a89dc5a81ca4bbf4b9f0aad176ca3bd2 (link)
#147544 Remove StatementKind::Deinit. b641c6d67ebce8f64362f4ea18e52655fb864edb (link)
#147551 remove #[rustc_inherit_overflow_checks] from `is_multiple… 58a36272a35bb735fa293602c7a8ca332487a1a9 (link)
#147553 Move wasm32-wasip3 to the tier 3 table 562be4ab53181c6db5c8f5ecf497673622a1c088 (link)
#147562 Stabilize NonZero<u*>::div_ceil 470528249d4cd7862e7c264fbf9e3bd21030feda (link)

previous master: b3f8586fb1

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
Collaborator

Finished benchmarking commit (4422885): 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)
1.5% [1.5%, 1.5%] 1
Improvements ✅
(primary)
- - 0
Improvements ✅
(secondary)
-0.2% [-0.2%, -0.2%] 1
All ❌✅ (primary) - - 0

Max RSS (memory usage)

Results (primary -0.2%, secondary -1.3%)

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

mean range count
Regressions ❌
(primary)
2.6% [2.6%, 2.6%] 1
Regressions ❌
(secondary)
- - 0
Improvements ✅
(primary)
-1.6% [-2.3%, -0.9%] 2
Improvements ✅
(secondary)
-1.3% [-1.3%, -1.3%] 1
All ❌✅ (primary) -0.2% [-2.3%, 2.6%] 3

Cycles

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

Binary size

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

Bootstrap: 473.801s -> 473.161s (-0.14%)
Artifact size: 388.06 MiB -> 388.04 MiB (-0.00%)

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

Labels

A-compiletest Area: The compiletest test runner 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 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-clippy Relevant to the Clippy team. 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.