Skip to content

Rollup of 13 pull requests #143958

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 32 commits into from
Jul 15, 2025
Merged

Rollup of 13 pull requests #143958

merged 32 commits into from
Jul 15, 2025

Conversation

samueltardieu
Copy link
Contributor

@samueltardieu samueltardieu commented Jul 15, 2025

Successful merges:

Failed merges:

r? @ghost
@rustbot modify labels: rollup

Create a similar rollup

jieyouxu and others added 30 commits July 13, 2025 14:28
Massage the `symbols` helpers to fill out {match all, match any} x
{substring match, exact match}:

|           | Substring match                        | Exact match                   |
|-----------|----------------------------------------|-------------------------------|
| Match any | `object_contains_any_symbol_substring` | `object_contains_any_symbol`  |
| Match all | `object_contains_all_symbol_substring` | `object_contains_all_symbols` |

As part of this, rename `any_symbol_contains` to
`object_contains_any_symbol_substring` for accuracy.
This PR adds `#[inline]` to the method `str::split_at_unchecked()`.
This is done for two reasons:

1. The method is tiny, e.g. on AMD-64 (<https://godbolt.org/z/ba68fdfxn>):

   ```asm
   movq    %rdi, %rax
   subq    %rcx, %rdx
   movq    %rsi, (%rdi)
   addq    %rcx, %rsi
   movq    %rcx, 8(%rdi)
   movq    %rsi, 16(%rdi)
   movq    %rdx, 24(%rdi)
   retq
   ```

2. More importantly, inlining the method enables further automatic
   optimizations. E.g. if you split at index 3, then in the compiler
   (rustc, llvm or both) knows that this code cannot fail, and the
   panicking path is omitted in the generated code:

   ```rust
   pub fn punctuation(i: &str) -> Result<(), ()> {
       const THREE_CHARS: &[[u8; 3]] = &[*b"<<=", *b">>=", *b"...", *b"..="];

       if let Some((head, _)) = i.split_at_checked(3)
           && THREE_CHARS.contains(&head.as_bytes().try_into().unwrap())
       {
           Ok(())
       } else {
           Err(())
       }
   }
   ```

   <details>
   <summary>Without PR</summary>

   <https://play.rust-lang.org/?version=stable&mode=release&edition=2024&gist=0234de8158f467eebd73286f20d6e27a>

   ```asm
   playground::punctuation:
           subq    $40, %rsp
           movq    %rsi, %rdx
           movq    %rdi, %rsi
           movb    $1, %al
           cmpq    $3, %rdx
           ja      .LBB2_2
           je      .LBB2_3
   .LBB2_11:
           addq    $40, %rsp
           retq
   .LBB2_2:
           cmpb    $-64, 3(%rsi)
           jl      .LBB2_11
   .LBB2_3:
           leaq    8(%rsp), %rdi
           movl    $3, %ecx
           callq   *core::str::<impl str>::split_at_unchecked@GOTPCREL(%rip)
           movq    8(%rsp), %rcx
           movb    $1, %al
           testq   %rcx, %rcx
           je      .LBB2_11
           cmpq    $3, 16(%rsp)
           jne     .LBB2_12
           movzwl  (%rcx), %edx
           movzbl  2(%rcx), %ecx
           shll    $16, %ecx
           orl     %edx, %ecx
           cmpl    $4013115, %ecx
           jg      .LBB2_8
           cmpl    $3026478, %ecx
           je      .LBB2_10
           cmpl    $4009518, %ecx
           je      .LBB2_10
           jmp     .LBB2_11
   .LBB2_8:
           cmpl    $4013630, %ecx
           je      .LBB2_10
           cmpl    $4013116, %ecx
           jne     .LBB2_11
   .LBB2_10:
           xorl    %eax, %eax
           addq    $40, %rsp
           retq
   .LBB2_12:
           leaq    .Lanon.d98a7fbb86d10a97c24516e267466134.2(%rip), %rdi
           leaq    .Lanon.d98a7fbb86d10a97c24516e267466134.1(%rip), %rcx
           leaq    .Lanon.d98a7fbb86d10a97c24516e267466134.6(%rip), %r8
           leaq    7(%rsp), %rdx
           movl    $43, %esi
           callq   *core::result::unwrap_failed@GOTPCREL(%rip)
   ```
   </details>

   <details>
   <summary>With PR</summary>

   <https://play.rust-lang.org/?version=stable&mode=release&edition=2024&gist=5d4058c79ce0f6cb1a434190427d2055>

   ```asm
   playground::punctuation:
           movb    $1, %al
           cmpq    $3, %rsi
           ja      .LBB0_2
           je      .LBB0_3
   .LBB0_9:
           retq
   .LBB0_2:
           cmpb    $-64, 3(%rdi)
           jl      .LBB0_9
   .LBB0_3:
           movzwl  (%rdi), %eax
           movzbl  2(%rdi), %ecx
           shll    $16, %ecx
           orl     %eax, %ecx
           movb    $1, %al
           cmpl    $4013115, %ecx
           jg      .LBB0_6
           cmpl    $3026478, %ecx
           je      .LBB0_8
           cmpl    $4009518, %ecx
           je      .LBB0_8
           jmp     .LBB0_9
   .LBB0_6:
           cmpl    $4013630, %ecx
           je      .LBB0_8
           cmpl    $4013116, %ecx
           jne     .LBB0_9
   .LBB0_8:
           xorl    %eax, %eax
           retq
   ```
   </details>
having it on the impl block is a bit weird imo
musl's dlopen returns a different error than glibc, which contains the
name of the file. This would cause the test to fail, since the filename
would appear twice in the output (once in the error from rustc, once in
the error message from musl). Split the expected test outputs for the
different libc implementations.

Signed-off-by: Jens Reidel <[email protected]>
This is quite a bit of implementation complexity, yet it is quite
broken, and we don't have the maintenance bandwidth to address.

Remove the current implementation if only to reduce bootstrap's
implementation complexity; the `suggest` flow comes with its own set of
hacks.
They are not always needed when building std, as is the case when
packaging on Fedora. Panic if building from CI, but warn otherwise.
and make internal terminology consistent

Co-authored-by: Travis Cross <[email protected]>
…-musl, r=workingjubilee,fmease,jieyouxu

tests: Fix duplicated-path-in-error fail with musl

musl's dlopen returns a different error than glibc, which contains the name of the file. This would cause the test to fail, since the filename would appear twice in the output (once in the error from rustc, once in the error message from musl). Split the expected test outputs for the different libc implementations.

Fixes rust-lang#128474
…lacrum

Drop `./x suggest`

This PR removes the current `./x suggest` implementation (rust-lang#109933, rust-lang#106249) and associated docs for several reasons:

1. Primarily, `./x suggest` is another "flow" in bootstrap that incurs extra complexity and more invariants that bootstrap has to maintain. This causes more friction when trying to investigate and fix staging problems. As far as I know, this flow has not been actively maintained in quite a while, and I'm not aware of interest in maintaining it. Bootstrap really could use less implementation complexity with a very limited maintenance bandwidth.
2. The current `./x suggest` implementation "bypasses" the usual stage defaults for the various check/build/test/etc. flows, and it's not really possible to have a stage default because `./x suggest --run` produces a *sequence* of suggestions like [`./x check`, `./x test library/std`, ..] and then tries to run all of them in sequence, based on which files are modified.
3. We've not seen a lot of interest both in using it or extending static/dynamic test suggestions. Last extensions were rust-lang#117961 and rust-lang#120763. I'm not convinced the extra implementation complexity is worth it. This was discussed in:
    - [#t-infra/bootstrap > Dropping the current &rust-lang#96;./x suggest&rust-lang#96; flow implementation](https://rust-lang.zulipchat.com/#narrow/channel/326414-t-infra.2Fbootstrap/topic/Dropping.20the.20current.20.60.2E.2Fx.20suggest.60.20flow.20implementation/with/527456699)
    - [#t-compiler > Dropping current &rust-lang#96;./x suggest&rust-lang#96; implementation](https://rust-lang.zulipchat.com/#narrow/channel/131828-t-compiler/topic/Dropping.20current.20.60.2E.2Fx.20suggest.60.20implementation/with/527528696)

Closes rust-lang#109933 (the current implementation is being removed).
Closes rust-lang#143569 (by removing `./x suggest` altogether).
…alfJung

Give all bytes of TypeId provenance

This makes all bytes of TypeId uninspectable at compile-time.

For context see rust-lang#77125 (comment)

r? ``@RalfJung``
… r=Kobzol

Don't panic if WASI_SDK_PATH not set when detecting compiler

The fedora packaging builds the wasm sysroot outside of the rust build system. Fedora applies a couple of patches related to wasm which I think make this possible. Not panicking seems consistent with the detection logic of other targets when they cannot find cc.
Adjust `run_make_support::symbols` helpers

Massage the `symbols` helpers to fill out {match all, match any} x {substring match, exact match}:

|           | Substring match                        | Exact match                   |
|-----------|----------------------------------------|-------------------------------|
| Match any | `object_contains_any_symbol_substring` | `object_contains_any_symbol`  |
| Match all | `object_contains_all_symbol_substring` | `object_contains_all_symbols` |

As I'd like to use `object_contains_all_symbols` for rust-lang#143669.

As part of this:

- Rename `any_symbol_contains` to `object_contains_any_symbol_substring` for accuracy, as `any_symbol_contains` is actually "contains any matching substring".
- Remove `with_symbol_iter`.

Noticed while working on rust-lang#143669.

r? ``@ChrisDenton`` (or compiler)
…jdonszelmann

Port `#[pointee]` to the new attribute parsing infrastructure

Ports `#[pointee]` to the new attribute parsing infrastructure for rust-lang#131229 (comment)

r? ``@jdonszelmann``
Recover and suggest to use `;` to construct array type

Fixes rust-lang#143828

r? compiler
…ked, r=Mark-Simulacrum

core: make `str::split_at_unchecked()` inline

This PR adds `#[inline]` to the method `str::split_at_unchecked()`. This is done for two reasons:

1. The method is tiny, e.g. on AMD-64 (<https://godbolt.org/z/ba68fdfxn>):

   ```asm
   movq    %rdi, %rax
   subq    %rcx, %rdx
   movq    %rsi, (%rdi)
   addq    %rcx, %rsi
   movq    %rcx, 8(%rdi)
   movq    %rsi, 16(%rdi)
   movq    %rdx, 24(%rdi)
   retq
   ```

2. More importantly, inlining the method enables further automatic optimizations. E.g. if you split at index 3, then in the compiler (rustc, llvm or both) knows that this code cannot fail, and the panicking path is omitted in the generated code:

   ```rust
   pub fn punctuation(i: &str) -> Result<(), ()> {
       const THREE_CHARS: &[[u8; 3]] = &[*b"<<=", *b">>=", *b"...", *b"..="];

       if let Some((head, _)) = i.split_at_checked(3)
           && THREE_CHARS.contains(&head.as_bytes().try_into().unwrap())
       {
           Ok(())
       } else {
           Err(())
       }
   }
   ```

   <details>
   <summary>Without PR</summary>

   <https://play.rust-lang.org/?version=stable&mode=release&edition=2024&gist=0234de8158f467eebd73286f20d6e27a>

   ```asm
   playground::punctuation:
           subq    $40, %rsp
           movq    %rsi, %rdx
           movq    %rdi, %rsi
           movb    $1, %al
           cmpq    $3, %rdx
           ja      .LBB2_2
           je      .LBB2_3
   .LBB2_11:
           addq    $40, %rsp
           retq
   .LBB2_2:
           cmpb    $-64, 3(%rsi)
           jl      .LBB2_11
   .LBB2_3:
           leaq    8(%rsp), %rdi
           movl    $3, %ecx
           callq   *core::str::<impl str>::split_at_unchecked@GOTPCREL(%rip)
           movq    8(%rsp), %rcx
           movb    $1, %al
           testq   %rcx, %rcx
           je      .LBB2_11
           cmpq    $3, 16(%rsp)
           jne     .LBB2_12
           movzwl  (%rcx), %edx
           movzbl  2(%rcx), %ecx
           shll    $16, %ecx
           orl     %edx, %ecx
           cmpl    $4013115, %ecx
           jg      .LBB2_8
           cmpl    $3026478, %ecx
           je      .LBB2_10
           cmpl    $4009518, %ecx
           je      .LBB2_10
           jmp     .LBB2_11
   .LBB2_8:
           cmpl    $4013630, %ecx
           je      .LBB2_10
           cmpl    $4013116, %ecx
           jne     .LBB2_11
   .LBB2_10:
           xorl    %eax, %eax
           addq    $40, %rsp
           retq
   .LBB2_12:
           leaq    .Lanon.d98a7fbb86d10a97c24516e267466134.2(%rip), %rdi
           leaq    .Lanon.d98a7fbb86d10a97c24516e267466134.1(%rip), %rcx
           leaq    .Lanon.d98a7fbb86d10a97c24516e267466134.6(%rip), %r8
           leaq    7(%rsp), %rdx
           movl    $43, %esi
           callq   *core::result::unwrap_failed@GOTPCREL(%rip)
   ```
   </details>

   <details>
   <summary>With PR</summary>

   <https://play.rust-lang.org/?version=stable&mode=release&edition=2024&gist=5d4058c79ce0f6cb1a434190427d2055>

   ```asm
   playground::punctuation:
           movb    $1, %al
           cmpq    $3, %rsi
           ja      .LBB0_2
           je      .LBB0_3
   .LBB0_9:
           retq
   .LBB0_2:
           cmpb    $-64, 3(%rdi)
           jl      .LBB0_9
   .LBB0_3:
           movzwl  (%rdi), %eax
           movzbl  2(%rdi), %ecx
           shll    $16, %ecx
           orl     %eax, %ecx
           movb    $1, %al
           cmpl    $4013115, %ecx
           jg      .LBB0_6
           cmpl    $3026478, %ecx
           je      .LBB0_8
           cmpl    $4009518, %ecx
           je      .LBB0_8
           jmp     .LBB0_9
   .LBB0_6:
           cmpl    $4013630, %ecx
           je      .LBB0_8
           cmpl    $4013116, %ecx
           jne     .LBB0_9
   .LBB0_8:
           xorl    %eax, %eax
           retq
   ```
   </details>
…ross35

Add experimental `backtrace-trace-only` std feature

This experimentally allows building std with backtrace but without symbolisation. It does not affect stable and requires build-std to use. This doesn't change the backtrace crate itself so relies on the optimizer to remove the unused parts.

Example usage:

```toml
# .cargo/config.toml
[unstable]
build-std = ["core", "alloc", "panic_unwind", "std"]
build-std-features = ["backtrace", "backtrace-trace-only", "panic-unwind"]
```

```toml
# Cargo.toml
[profile.release]
opt-level = 3
lto = "thin"
codegen-units = 1
```

Ideally we should split the backtrace feature into `backtrace-trace` and `backtrace-symbolize` (with the latter dependent on the former) because Cargo features tend to work better when they're positive rather than negative. But I'm keen for this experiment not to break existing users.

cc ``@joshtriplett``
…fmease

Preserve constness in trait objects up to hir ty lowering

r? ``@compiler-errors``

While we don't support `dyn const Trait`, we can at least also inform the user that `const Trait` is only legal for `#[const_trait] trait Trait {}`
…rrors

rustc_type_ir/walk: move docstring to `TypeWalker` itself

having it on the impl block is a bit weird imo
@rustbot rustbot added A-compiletest Area: The compiletest test runner A-meta Area: Issues & PRs about the rust-lang/rust repository itself A-run-make Area: port run-make Makefiles to rmake.rs A-rustc-dev-guide Area: rustc-dev-guide A-testsuite Area: The testsuite used to check the correctness of rustc A-tidy Area: The tidy tool 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 Jul 15, 2025
@samueltardieu
Copy link
Contributor Author

@bors r+ p=5 rollup=never

@bors
Copy link
Collaborator

bors commented Jul 15, 2025

📌 Commit 010e3ef has been approved by samueltardieu

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 Jul 15, 2025
@bors
Copy link
Collaborator

bors commented Jul 15, 2025

⌛ Testing commit 010e3ef with merge e27f16a...

@bors
Copy link
Collaborator

bors commented Jul 15, 2025

☀️ Test successful - checks-actions
Approved by: samueltardieu
Pushing e27f16a to master...

@bors bors added the merged-by-bors This PR was explicitly merged by bors. label Jul 15, 2025
@bors bors merged commit e27f16a into rust-lang:master Jul 15, 2025
12 checks passed
@rustbot rustbot added this to the 1.90.0 milestone Jul 15, 2025
@rust-timer
Copy link
Collaborator

📌 Perf builds for each rolled up PR:

PR# Message Perf Build Sha
#142301 tests: Fix duplicated-path-in-error fail with musl 3f77eaeee0f80eb5bd721189493035291dc4f54f (link)
#143630 Drop ./x suggest d8e5b5589a37c49e7128acaade04518c5932a50f (link)
#143736 Give all bytes of TypeId provenance 34fae69e1c330c22e4bb624a2bcb53b25efeb25e (link)
#143752 Don't panic if WASI_SDK_PATH not set when detecting compiler fa3b7a61e053af58825d71782cf4a399bf8812ce (link)
#143837 Adjust run_make_support::symbols helpers 622e8c623e9b9f2e50927ef0e4cfde199058087e (link)
#143878 Port #[pointee] to the new attribute parsing infrastructu… de1ecf4222008bf73eede5b0f58c2f08d5fac726 (link)
#143905 Recover and suggest to use ; to construct array type 3d8c5a3f1db7f5c760a59233cc81172cfa0062c6 (link)
#143907 core: make str::split_at_unchecked() inline e4fd0a31123b97f71bd8121ff2dbf3376983d11f (link)
#143910 Add experimental backtrace-trace-only std feature 5a3c13ad0726c4da9117111a340777d16654ddf2 (link)
#143927 Preserve constness in trait objects up to hir ty lowering 44f416a0c8e20b1372db79bd9350b628481cffa2 (link)
#143935 rustc_type_ir/walk: move docstring to TypeWalker itself 2ca89b959aac77cd48957d646fc4fe87035991fc (link)
#143938 Update books 7537899368ebc2081db4a22d290e055a1cf19aea (link)
#143941 update cfg_select! documentation f4ad096063ff0856d43b0124b8ed23f48fd00c77 (link)

previous master: a9fb6103b0

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 a9fb610 (parent) -> e27f16a (this PR)

Test differences

Show 296 test diffs

Stage 0

  • tests::test_error_code_docs: pass -> [missing] (J6)
  • tests::test_rustdoc: pass -> [missing] (J6)
  • tests::test_rustdoc_and_libstd: pass -> [missing] (J6)

Stage 1

  • [run-make] tests/run-make/compiletest-self-test/symbols-helpers: [missing] -> pass (J0)
  • [ui] tests/ui/codegen/duplicated-path-in-error.rs: pass -> [missing] (J0)
  • [ui] tests/ui/codegen/duplicated-path-in-error.rs#gnu: [missing] -> pass (J0)
  • [ui] tests/ui/codegen/duplicated-path-in-error.rs#musl: [missing] -> ignore (only executed when the target environment is musl) (J0)
  • [ui] tests/ui/consts/const_transmute_type_id5.rs: [missing] -> pass (J0)
  • [ui] tests/ui/issues/issue-50571.rs: pass -> [missing] (J0)
  • [ui] tests/ui/parser/issues/error-pattern-issue-50571.rs: [missing] -> pass (J0)
  • [ui] tests/ui/parser/recover/array-type-no-semi.rs: [missing] -> pass (J0)

Stage 2

  • [ui] tests/ui/codegen/duplicated-path-in-error.rs: pass -> [missing] (J1)
  • [run-make] tests/run-make/compiletest-self-test/symbols-helpers: [missing] -> ignore (only executed when the target is x86_64-unknown-linux-gnu) (J2)
  • [ui] tests/ui/codegen/duplicated-path-in-error.rs#musl: [missing] -> ignore (ignored when cross-compiling (because this relies on host libc behaviour)) (J3)
  • [ui] tests/ui/codegen/duplicated-path-in-error.rs: ignore (only executed when the operating system is linux) -> [missing] (J4)
  • [ui] tests/ui/consts/const_transmute_type_id5.rs: [missing] -> pass (J5)
  • [ui] tests/ui/issues/issue-50571.rs: pass -> [missing] (J5)
  • [ui] tests/ui/parser/issues/error-pattern-issue-50571.rs: [missing] -> pass (J5)
  • [ui] tests/ui/parser/recover/array-type-no-semi.rs: [missing] -> pass (J5)
  • [ui] tests/ui/codegen/duplicated-path-in-error.rs#musl: [missing] -> ignore (only executed when the target environment is musl) (J7)
  • [ui] tests/ui/codegen/duplicated-path-in-error.rs#gnu: [missing] -> pass (J8)
  • [ui] tests/ui/codegen/duplicated-path-in-error.rs#gnu: [missing] -> ignore (only executed when the operating system is linux) (J9)
  • [ui] tests/ui/codegen/duplicated-path-in-error.rs#gnu: [missing] -> ignore (ignored when cross-compiling (because this relies on host libc behaviour)) (J10)
  • [run-make] tests/run-make/compiletest-self-test/symbols-helpers: [missing] -> ignore (ignored when cross-compiling) (J11)
  • [run-make] tests/run-make/compiletest-self-test/symbols-helpers: [missing] -> pass (J12)
  • [ui] tests/ui/codegen/duplicated-path-in-error.rs#gnu: [missing] -> ignore (only executed when the target environment is gnu) (J13)

Additionally, 270 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 e27f16a499074ba9a87f7f7641d9f64c572863bc --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. x86_64-apple-1: 7094.5s -> 8657.9s (22.0%)
  2. aarch64-msvc-2: 6371.3s -> 5026.5s (-21.1%)
  3. aarch64-gnu: 6530.1s -> 7259.8s (11.2%)
  4. tidy: 69.6s -> 76.9s (10.5%)
  5. x86_64-msvc-1: 8455.6s -> 9131.5s (8.0%)
  6. x86_64-gnu-distcheck: 8807.9s -> 8138.3s (-7.6%)
  7. dist-ohos-x86_64: 4100.2s -> 4365.3s (6.5%)
  8. dist-arm-linux-musl: 5725.5s -> 5357.1s (-6.4%)
  9. dist-apple-various: 7387.8s -> 7852.0s (6.3%)
  10. aarch64-apple: 5959.4s -> 5605.6s (-5.9%)
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 (e27f16a): 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.4%] 3
Improvements ✅
(primary)
-0.4% [-0.4%, -0.4%] 1
Improvements ✅
(secondary)
-0.6% [-0.6%, -0.5%] 2
All ❌✅ (primary) -0.4% [-0.4%, -0.4%] 1

Max RSS (memory usage)

Results (primary -5.2%, secondary 2.7%)

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

Cycles

Results (secondary 7.8%)

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

Binary size

Results (primary 0.2%, secondary -0.3%)

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

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

Bootstrap: 463.188s -> 463.302s (0.02%)
Artifact size: 374.77 MiB -> 374.79 MiB (0.01%)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
A-attributes Area: Attributes (`#[…]`, `#![…]`) A-compiletest Area: The compiletest test runner A-meta Area: Issues & PRs about the rust-lang/rust repository itself A-run-make Area: port run-make Makefiles to rmake.rs A-rustc-dev-guide Area: rustc-dev-guide A-testsuite Area: The testsuite used to check the correctness of rustc A-tidy Area: The tidy tool 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-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.