Skip to content

Rollup of 16 pull requests - #162767

Merged
rust-bors[bot] merged 90 commits into
rust-lang:mainfrom
JonathanBrouwer:rollup-fqbZkYF
Sep 14, 2026
Merged

rust-bors[bot] merged 90 commits into
rust-lang:mainfrom
JonathanBrouwer:rollup-fqbZkYF

Conversation

@JonathanBrouwer

Copy link
Copy Markdown
Member

Successful merges:

r? @ghost

Create a similar rollup

RalfJung and others added 30 commits August 24, 2026 16:23
The `require-explicit-cpu.json` case currently prints a "default target
CPU" line; test for this. (It will change in the next commit.)
Specifically, don't print it when `need_explicit_cpu` is set, because it
doesn't really make sense in that context. Right now among builtin
targets this only affects the `amdgcn-amd-amdhsa` target, but it will
also be relevant for the `avr2` target in the next commit. It also
affects the `require-explicit-cpu.json` case in
`tests/run-make/target-specs/rmake.rs`.
Currently rustc uses LLVM's `TargetMachine::getMCSubtargetInfo` method
to access an `MCSubtargetInfo` to do feature testing. The next commit
will change the feature testing to instead use an alternative pathway,
LLVM's `Target::createMCSubtargetInfo` method. The two pathways have
some slight differences.

One difference relates to the `avr-none` target. Currently its `cpu`
field isn't set so it gets the default "generic" value, which is not a
valid AVR CPU name. This was hidden by the fact that the current LLVM
pathway goes through the `getCPU` function in `AVRTargetMachine.cpp`,
which rewrites "generic" as "avr2". But the alternative LLVM pathway
doesn't rewrite "generic". Without an adjustment, we would get some
behavioural differences with the alternative pathway, such as
"unrecognized processor" errors and empty base feature sets.

Therefore, this commit sets `cpu` to "avr2", a more obviously correct
choice, and what the current LLVM pathway is effectively doing behind
the scenes.

You might think this would change the code generated by default, but
`avr-none` has `need_explicit_cpu` set to true, so that's not the case,
because a missing `-Ctarget-cpu` will trigger a fatal error before
codegen. But `cpu` can still reach non-codegen paths (e.g. feature/cfg
computation in session setup, and `--print`) so we need a valid backend
name.

A consequence of this is that `--print target-spec-json` will emit `cpu:
"avr2"`.

Another consequence is that the `requires_consistent_cpu` check will
compare a crate built without `-Ctarget-cpu` (non-codegen only) against
"avr2" instead of "generic".

The commit also modifies two tests. In both cases, the test passes in
this commit with or without the explicit `cpu` field. But in the next
commit (using the alternative pathway) both tests would fail without the
explicit `cpu` field:

- `tests/ui/abi/avr-sram.rs` would fail with
  ```
  'generic' is not a recognized processor for this target (ignoring processor)
  'generic' is not a recognized processor for this target (ignoring processor)
  warning: target feature `sram` must be enabled to ensure that the ABI of the current target can be implemented correctly
  ```

- `tests/run-make/print-cfg/rmake.rs` would fail because all features
  would be missing.

Finally, the field docs for `TargetOptions` are tweaked to clarify the
interplay between `cpu` and `need_explicit_cpu`.
The `repr(transparent)` isn't necessary: there are no casts or
transmutes involving it, and it's not passed by value across an FFI
boundary.

The `PhantomData` also isn't necessary: the type isn't generic so
variance isn't a factor; the `Drop` impl doesn't involve `may_dangle`;
and the `NonNull` field means the type is `!Send`/`!Sync` with or
without the `PhantomData`.
`llvm::target_config` creates `target_machine` by calling
`create_informational_target_machine`, which calls
`target_machine_factory`, which uses `internal_target_features`. But
this is just before `internal_target_features` is initialized! So we
should move `internal_target_features` initialization before
`target_machine`, right?

But `internal_target_features` initialization involves a closure that
inspects `target_machine`. There is a cyclic dependency. There is enough
function nesting here that it's hard to spot.

In practice this cycle doesn't cause problems because the closure
doesn't inspect the parts of `target_machine` that depend on
`internal_target_features`. But it demonstrates how startup
initialization is all tangled up, and it's blocking some cleanups I am
doing in rust-lang#161432 relating to the dangerous uses of `Session` before it's
fully initialized.

Therefore, this commit changes the first part: instead of creating
an `OwnedTargetMachine` we create an `OwnedMCSubtargetInfo`. This is a
smaller type that has the feature information we need but doesn't depend
on `internal_target_features`. Under the covers we are now using LLVM's
`Target::createMCSubtargetInfo` instead of
`TargetMachine::getMCSubtargetInfo` so that we avoid having to create a
`TargetMachine` at this early stage. This eliminates the cycle.
(`TargetMachine` can still be created later on, once we're past this
fraught initialization.) There are some slight differences between these
two approaches, and the preceding commits fixed up some issues there.

Some details about this commit:
- The new `OwnedMCSubtargetInfo` is similar to the existing
  `OwnedTargetMachine`.
- `create_informational_target_machine` no longer needs a `for_cfg`
  parameter, because the one site where `for_cfg` was true has been
  removed.
- `LLVMRustCreateMCSubtargetInfo` mostly replicates part of
  `LLVMRustCreateTargetMachine`
- `LLVMRustMCSubtargetInfoHasFeature` partly replicates
  `LLVMRustHasFeature`.
- `LLVMRustHasFeature` is no longer needed.
- The error message for `custom-target-invalid-llvm-target.rs` changed.
The panic was fixed in 7fbbd2039c30fa944ec534d6f54569015b36e939, but
it didn't have a test. Add a test as suggested by @A4-Tacks, based on
a minimised repro I'd seen (this panic was the most common I'd seen on
the latest rust-analyzer version).

AI disclosure: Test code with some help by Claude Opus 5, commit
message by me.
…-regression-test

internal: Add regression test for 'failed to unify type errors' panic
Mostly thanks to FPs having gotten fixed
By not giving anon consts their own owner. This eases work and does not cause harm.

I had to revert making `TypeOwnerId` lifetime'd unfortunately but it was not hard (so it won't be hard to put it back when needed).
…ne_of]`

When invoking the "Add missing impl members" assist.
…flow-fork

minor: Do not run the "Generate lints and feature flags" CI workflow on forks
We tracked the depth perfectly but didn't do anything with it.

Also fix the depth tracking for expression stores (it didn't intern the new ID with an incremented depth).
..and explain the reasoning using `reason`. Sometimes `expect` wouldn't
work (for _reasons_), so keep `allow` in those cases.

`lsp-extensions.md` didn't need updating, as the changes in `lsp/ext.rs`
only touch the `allow` attribute.
Thus getting rid of the `allow`s
- `proc-macro-api` already had a dependency on `rustc_hash`, so moving
  to it in `bidirectional_protocol/msg.rs` is fine
    - Note: switching to `FxHashMap` reduced the size of
      `ExpandMacroResponse`, so `clippy::large_enum_variant` no longer
      triggers, hence its removal.
- that required mirroring the changes to `proc-macro-srv`, and therefore
  also adding the dependency to it, but it had been a transitive
  dependency already anyway.
- adding the dependency to `lsp-server` is... fine
- `smol_str` only needed a hash map for a test, so adding `rustc_hash`
  isn't justified
- `xtask` and `ungrammar` are dev tooling, so adding a dependency on
  rustc_hash is not worth it
to show that we expect it to be unused
Support for const blocks in pattern positions was removed from rustc
in
rust-lang@a9442b4

Remove Pat::ConstBlock from hir-def so rust-analyzer is consistent
with rustc lowering.

This also fixes a panic on closure calls in const blocks. This
occurred because we ended up running type inference twice on
ConstBlock in some code paths.

AI disclosure: Code partly written by GPT-5.6, commit message and
review by me.
Example
---
```rust
{"$": ""}
```

**Before this PR**

```text
panic: Failed to make ast node `syntax::ast::generated::nodes::Name` from text `mod $;`
```

**After this PR**

```text
💡 weak: JSON syntax is not valid as a Rust item
```
@rustbot rustbot added T-libs Relevant to the library team, which will review and decide on the PR/issue. T-rust-analyzer Relevant to the rust-analyzer team, which will review and decide on the PR/issue. WG-trait-system-refactor The Rustc Trait System Refactor Initiative (-Znext-solver) labels Sep 14, 2026
@JonathanBrouwer

Copy link
Copy Markdown
Member Author

@bors r+ p=5

@rust-bors

rust-bors Bot commented Sep 14, 2026

Copy link
Copy Markdown
Contributor

📌 Commit 6a36f6b 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 Sep 14, 2026
@rust-bors

This comment has been minimized.

@JonathanBrouwer

Copy link
Copy Markdown
Member Author

Trying commonly failed jobs, so we can weed out more failures if autojobs fail
@bors try jobs=dist-various-1,test-various,test-x86_64-gnu-aux,test-x86_64-gnu-llvm-21-3,test-x86_64-msvc-1,test-aarch64-apple-1,test-aarch64-apple-2,test-x86_64-mingw-1,test-i686-msvc,test-armhf-gnu

@rust-bors

This comment has been minimized.

rust-bors Bot pushed a commit that referenced this pull request Sep 14, 2026
Rollup of 16 pull requests


try-job: dist-various-1
try-job: test-various
try-job: test-x86_64-gnu-aux
try-job: test-x86_64-gnu-llvm-21-3
try-job: test-x86_64-msvc-1
try-job: test-aarch64-apple-1
try-job: test-aarch64-apple-2
try-job: test-x86_64-mingw-1
try-job: test-i686-msvc
try-job: test-armhf-gnu
@rust-bors

rust-bors Bot commented Sep 14, 2026

Copy link
Copy Markdown
Contributor

☀️ Try build successful (CI)
Build commit: 5f684aa (5f684aa4beb8a499f9f79728f547cc1eaf745b0a)
Base parent: ed77b7b (ed77b7b8699e342c2dc842c83cb5fe4025252ee8)

@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 Sep 14, 2026
@rust-bors

rust-bors Bot commented Sep 14, 2026

Copy link
Copy Markdown
Contributor

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

@github-actions

Copy link
Copy Markdown
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 ed77b7b (parent) -> a8a1e6f (this PR)

Test differences

Show 1025 test diffs

Stage 0

  • expr_store::scope::tests::closure_param_pattern_expr_scope: pass -> [missing] (J0)
  • expr_store::scope::tests::fn_param_pattern_expr_scope: pass -> [missing] (J0)
  • expr_store::scope::tests::if_let_pattern_expr_scope: pass -> [missing] (J0)
  • expr_store::scope::tests::let_pattern_expr_scope: pass -> [missing] (J0)
  • expr_store::scope::tests::pattern_const_block_expressions_have_scopes: pass -> [missing] (J0)
  • goto_definition::tests::no_panic_on_offset_inside_doc_comment_prefix: [missing] -> pass (J0)
  • handlers::add_missing_impl_members::tests::required_method_with_body: [missing] -> pass (J0)
  • handlers::add_missing_impl_members::tests::unstable_item: [missing] -> pass (J0)
  • handlers::incorrect_case::change_case::incorrect_raw_enum_variant_name: [missing] -> pass (J0)
  • handlers::incorrect_case::change_case::incorrect_raw_struct_name: [missing] -> pass (J0)
  • handlers::json_is_not_rust::tests::invalid_fields: [missing] -> pass (J0)
  • handlers::type_mismatch::tests::regression_23313: [missing] -> pass (J0)
  • handlers::typed_hole::tests::term_search_lookup_const: [missing] -> pass (J0)
  • macro_expansion_tests::builtin_fn_macro::eager_recursion_limit: [missing] -> pass (J0)
  • tests::doc_comment_on_literal_expr: [missing] -> pass (J0)
  • tests::patterns::const_block_pattern: pass -> [missing] (J0)
  • tests::regression::regression_22836: pass -> [missing] (J0)
  • alphabetical::tests::bless_multiline_types: [missing] -> pass (J2)
  • alphabetical::tests::multiline_types: [missing] -> pass (J2)

Stage 1

  • [run-make] tests/run-make/incremental-session-gc: [missing] -> pass (J0)
  • expr_store::scope::tests::closure_param_pattern_expr_scope: pass -> [missing] (J3)
  • expr_store::scope::tests::fn_param_pattern_expr_scope: pass -> [missing] (J3)
  • expr_store::scope::tests::if_let_pattern_expr_scope: pass -> [missing] (J3)
  • expr_store::scope::tests::let_pattern_expr_scope: pass -> [missing] (J3)
  • expr_store::scope::tests::pattern_const_block_expressions_have_scopes: pass -> [missing] (J3)
  • goto_definition::tests::no_panic_on_offset_inside_doc_comment_prefix: [missing] -> pass (J3)
  • handlers::add_missing_impl_members::tests::required_method_with_body: [missing] -> pass (J3)
  • handlers::add_missing_impl_members::tests::unstable_item: [missing] -> pass (J3)
  • handlers::incorrect_case::change_case::incorrect_raw_enum_variant_name: [missing] -> pass (J3)
  • handlers::incorrect_case::change_case::incorrect_raw_struct_name: [missing] -> pass (J3)
  • handlers::json_is_not_rust::tests::invalid_fields: [missing] -> pass (J3)
  • handlers::type_mismatch::tests::regression_23313: [missing] -> pass (J3)
  • handlers::typed_hole::tests::term_search_lookup_const: [missing] -> pass (J3)
  • macro_expansion_tests::builtin_fn_macro::eager_recursion_limit: [missing] -> pass (J3)
  • tests::doc_comment_on_literal_expr: [missing] -> pass (J3)
  • tests::patterns::const_block_pattern: pass -> [missing] (J3)
  • tests::regression::regression_22836: pass -> [missing] (J3)
  • [ui (polonius)] tests/ui/abi/avr-sram.rs#default_cpu: [missing] -> pass (J5)
  • [ui (polonius)] tests/ui/const-generics/mgca/unexpected-type-for-constructor.rs: [missing] -> pass (J5)
  • [ui (polonius)] tests/ui/const-generics/mgca/valtree-leaf-const.rs: [missing] -> pass (J5)
  • [ui (polonius)] tests/ui/generic-associated-types/trait-method-requires-gat-impl-trait.rs: [missing] -> pass (J5)
  • [ui] tests/ui/abi/avr-sram.rs#default_cpu: [missing] -> pass (J7)
  • [ui] tests/ui/const-generics/mgca/unexpected-type-for-constructor.rs: [missing] -> pass (J7)
  • [ui] tests/ui/const-generics/mgca/valtree-leaf-const.rs: [missing] -> pass (J7)
  • [ui] tests/ui/generic-associated-types/trait-method-requires-gat-impl-trait.rs: [missing] -> pass (J7)

Stage 2

  • [ui] tests/ui/abi/avr-sram.rs#default_cpu: [missing] -> ignore (gcc backend is marked as ignore) (J1)
  • [ui] tests/ui/const-generics/mgca/unexpected-type-for-constructor.rs: [missing] -> pass (J4)
  • [ui] tests/ui/const-generics/mgca/valtree-leaf-const.rs: [missing] -> pass (J4)
  • [ui] tests/ui/generic-associated-types/trait-method-requires-gat-impl-trait.rs: [missing] -> pass (J4)
  • [ui] tests/ui/abi/avr-sram.rs#default_cpu: [missing] -> pass (J6)
  • [run-make] tests/run-make/incremental-session-gc: [missing] -> pass (J8)

Additionally, 974 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 a8a1e6fd9df2e094d6f09c0d57991508680acc1c --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. test-x86_64-msvc-ext2: 1h 9m -> 1h 56m (+68.9%)
  2. test-x86_64-gnu-miri: 53m 9s -> 1h 18m (+48.3%)
  3. test-x86_64-gnu-gcc-core-tests: 17m 51s -> 9m 59s (-44.1%)
  4. test-x86_64-msvc-ext3: 1h 22m -> 1h 56m (+42.1%)
  5. dist-arm-linux-gnueabi: 1h 8m -> 1h 36m (+40.7%)
  6. dist-x86_64-freebsd: 1h 6m -> 1h 33m (+39.5%)
  7. test-x86_64-gnu-llvm-21-3: 1h 53m -> 1h 11m (-37.1%)
  8. test-x86_64-rust-for-linux: 1h 2m -> 40m 50s (-34.4%)
  9. test-x86_64-gnu-stdlib-semver-check: 15m 53s -> 10m 50s (-31.8%)
  10. dist-arm-linux-musl: 1h 17m -> 1h 42m (+31.6%)
How to interpret the job duration changes?

Job durations can vary a lot, based on the actual runner instance
that executed the job, system noise, invalidated caches, etc. The table above is provided
mostly for t-infra members, for simpler debugging of potential CI slow-downs.

@rust-timer

Copy link
Copy Markdown
Collaborator

Finished benchmarking commit (a8a1e6f): 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.4% [0.3%, 0.5%] 6
Improvements ✅
(primary)
-0.5% [-0.9%, -0.2%] 7
Improvements ✅
(secondary)
-0.3% [-0.6%, -0.1%] 27
All ❌✅ (primary) -0.5% [-0.9%, -0.2%] 7

Max RSS (memory usage)

Results (primary -1.1%, secondary -1.0%)

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

mean range count
Regressions ❌
(primary)
- - 0
Regressions ❌
(secondary)
4.7% [4.2%, 5.4%] 5
Improvements ✅
(primary)
-1.1% [-1.1%, -1.1%] 1
Improvements ✅
(secondary)
-5.8% [-10.4%, -2.4%] 6
All ❌✅ (primary) -1.1% [-1.1%, -1.1%] 1

Cycles

Results (secondary -2.0%)

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

mean range count
Regressions ❌
(primary)
- - 0
Regressions ❌
(secondary)
6.9% [4.4%, 8.4%] 3
Improvements ✅
(primary)
- - 0
Improvements ✅
(secondary)
-5.8% [-8.4%, -2.5%] 7
All ❌✅ (primary) - - 0

Binary size

This perf run didn't have relevant results for this metric.

Bootstrap: 495.332s -> 495.556s (0.05%)
Artifact size: 406.96 MiB -> 406.86 MiB (-0.02%)

@rustbot rustbot added the perf-regression Performance regression. label Sep 14, 2026
@rust-bors

rust-bors Bot commented Sep 14, 2026

Copy link
Copy Markdown
Contributor

📌 Perf builds for each rolled up PR:

PR# Message Perf Build Sha
#162762 Subtree sync for rustc_codegen_cranelift 8e7b86ebafcf2c0fccf4f2cae59be3abff231afe
(link)
#162752 rust-analyzer subtree update 1904b632e58c83d4988d99195f18a04e070df2bb
(link)
#161903 Fix initialization cycle in target_config 5fa9d1de0bf21918638bcd016e1e2f6168013dc7
(link)
#162240 Garbage-collect old incremental compilation sessions c41dc918ea8fef0ef80a4da947441f1378ecbd4a
(link)
#162610 fix tailcall indirect return aa11a1fd61f1433f7c8d84efc84408c00eb9ffb1
(link)
#162634 Implement semantic analysis for named Fn trait params 0c6f4b207fa0f85df5987b312689f45f943087f4
(link)
#161675 document that t-lang does not need involvement for unobserv… f559eb1d6f7dda099ddf2efac6d42002fd098dee
(link)
#162160 turn aligned-in-packed error into lint b81dab507d012ddc0c463c519c38087d22d421ca
(link)
#162504 Stabilize unsafe_cell_access e170749d8dc4f85d67b962549f70fd521f72c798
(link)
#162516 tidy: Sort multi-line types by treating > as a closing br… 55f8f94ac4a33c4e230caf74a06bd68610e0028e
(link)
#162630 Simplify the G in Diag<'a, G> e38142b2ca487358dd85304f0606aa2b5b0b9f86
(link)
#162647 Add regression test for previous overflow evaluating the re… bc445b02b1a5ef420102aa10b5ca70dc0e46237b
(link)
#162703 regression test for valtree leaf const 304818c88387c7cb43dc2d8dc1d78a84ca759613
(link)
#162723 Add regression test for unexpected type for constructor bb77d29e66191c5ea5fd005533bce6f8114504e0
(link)
#162735 Remove pointless A: Allocator bounds in boxed.rs 65f6e76ec4517bd03ec61c5fe7c33ae8dc2d7c6d
(link)
#162736 clean up trivial region constraint filtering 9d4a44407ffd76c62219828ef7bf64d415e2c5a4
(link)

parent commit: ed77b7b869

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

@panstromek

Copy link
Copy Markdown
Contributor

I suspect it's #161903

@rust-timer triage 5fa9d1d 65f6e76 0c6f4b2 9d4a444

@rust-timer

rust-timer commented Sep 14, 2026

Copy link
Copy Markdown
Collaborator
Running triage with 14 benchmarks

Triage only executes the benchmarks on rollup members, that were changed significantly on the rollup.
For this rollup, these benchmarks are:

  • await-call-tree
  • coercions
  • helloworld
  • issue-46449
  • issue-88862
  • libc-0.2.172
  • match-stress
  • projection-caching
  • regression-31157
  • token-stream-stress
  • tt-muncher
  • unify-linearly
  • unused-warnings
  • wf-projection-stress-65510

#161903 5fa9d1d Fix initialization cycle in target_config

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

Max RSS (memory usage)

Results (secondary -3.5%)

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

mean range count
Regressions ❌
(primary)
- - 0
Regressions ❌
(secondary)
- - 0
Improvements ✅
(primary)
- - 0
Improvements ✅
(secondary)
-3.5% [-4.0%, -2.7%] 3
All ❌✅ (primary) - - 0

Cycles

This perf run didn't have relevant results for this metric.

Binary size

This perf run didn't have relevant results for this metric.


#162735 65f6e76 Remove pointless A: Allocator bounds in boxed.rs

This perf run didn't have relevant results for the `instruction count` metric.

Instruction count

This perf run didn't have relevant results for this metric.

Max RSS (memory usage)

Results (primary -2.1%)

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

mean range count
Regressions ❌
(primary)
- - 0
Regressions ❌
(secondary)
- - 0
Improvements ✅
(primary)
-2.1% [-2.1%, -2.1%] 1
Improvements ✅
(secondary)
- - 0
All ❌✅ (primary) -2.1% [-2.1%, -2.1%] 1

Cycles

This perf run didn't have relevant results for this metric.

Binary size

This perf run didn't have relevant results for this metric.


#162634 0c6f4b2 Implement semantic analysis for named Fn trait params

Instruction count

Our most reliable metric. Used to determine the overall result above. However, even this metric can be noisy.

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

Max RSS (memory usage)

This perf run didn't have relevant results for this metric.

Cycles

This perf run didn't have relevant results for this metric.

Binary size

This perf run didn't have relevant results for this metric.


#162736 9d4a444 clean up trivial region constraint filtering

Instruction count

Our most reliable metric. Used to determine the overall result above. However, even this metric can be noisy.

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

Max RSS (memory usage)

This perf run didn't have relevant results for this metric.

Cycles

This perf run didn't have relevant results for this metric.

Binary size

This perf run didn't have relevant results for this metric.

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

Labels

A-attributes Area: Attributes (`#[…]`, `#![…]`) 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-rustc-dev-guide Area: rustc-dev-guide A-tidy Area: The tidy tool A-translation Area: Translation infrastructure, and migrating existing diagnostics to SessionDiagnostic F-explicit_tail_calls `#![feature(explicit_tail_calls)]` merged-by-bors This PR was explicitly merged by bors. 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-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. T-rust-analyzer Relevant to the rust-analyzer 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.