Skip to content

Conversation

@Zalathar
Copy link
Member

@Zalathar Zalathar commented Dec 19, 2025

Successful merges:

r? @ghost
@rustbot modify labels: rollup

Create a similar rollup

Zalathar and others added 7 commits December 18, 2025 17:48
This avoids having to awkwardly ignore the `Pinnedness` field.
It turns out that lifetime `'a` is just `'tcx` in disguise.
mir_build: Don't use a mixture of THIR pattern kinds for pin-patterns

While looking for improvements to match-lowering, I had been trying to figure out why pin-patterns sometimes use `PatKind::Deref` and sometimes use `PatKind::DerefPattern`, which seemed confusing to me. In particular, both pattern kinds are being used with an inner type of `&` or `&mut`, which is very surprising.

The conclusion I came to was that `DerefPattern` (normally associated with calls to Deref/DerefMut) was only being used for *implicit* pin-patterns produced by match-ergonomics adjustment, whereas `Deref` was being used for explicit pin-patterns.

The inconsistency seems like a mistake to me, so this PR removes all uses of `DerefPattern` for pin-patterns, and consistently uses `PatKind::Deref` for pin-patterns instead. I'm not entirely happy with that outcome, because I think pin-patterns should probably have their own `thir::PatKind` variant, but this change will at least make that easier to achieve in a later PR.

r? Nadrieril
mir_build: Remove unnecessary lifetime from THIR `PatCtxt`

It turns out that lifetime `'a` is just `'tcx` in disguise.
…athanBrouwer

move eii tests

Just a little housekeeping. This feature is getting a lot of tests, so it felt good to put some tests for type checking in its own folder to organise a little. Should be trivial!
@rustbot rustbot added S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. T-compiler Relevant to the compiler team, which will review and decide on the PR/issue. rollup A PR which is a rollup labels Dec 19, 2025
@Zalathar
Copy link
Member Author

Rollup of everything.

@bors r+ rollup=never p=5

@bors
Copy link
Collaborator

bors commented Dec 19, 2025

📌 Commit 77491e7 has been approved by Zalathar

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 Dec 19, 2025
@bors
Copy link
Collaborator

bors commented Dec 19, 2025

⌛ Testing commit 77491e7 with merge b889870...

@bors
Copy link
Collaborator

bors commented Dec 19, 2025

☀️ Test successful - checks-actions
Approved by: Zalathar
Pushing b889870 to main...

@bors bors added the merged-by-bors This PR was explicitly merged by bors. label Dec 19, 2025
@bors bors merged commit b889870 into rust-lang:main Dec 19, 2025
12 checks passed
@rustbot rustbot added this to the 1.94.0 milestone Dec 19, 2025
@rust-timer
Copy link
Collaborator

📌 Perf builds for each rolled up PR:

PR# Message Perf Build Sha
#150121 mir_build: Don't use a mixture of THIR pattern kinds for pi… f1405697e9f3daa6657f6c1c04ef1161b7317b8d (link)
#150148 mir_build: Remove unnecessary lifetime from THIR PatCtxt cb34419ae02f354f933b19b5578d9fe497d95a76 (link)
#150150 move eii tests 1f1301e83198836f7a64b0aa44fa2a67f3ba4c8d (link)

previous master: 1d8f9c548d

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

@github-actions
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 1d8f9c5 (parent) -> b889870 (this PR)

Test differences

Show 90 test diffs

Stage 1

  • [ui] tests/ui/eii/attribute_targets.rs: [missing] -> pass (J0)
  • [ui] tests/ui/eii/subtype_1.rs: pass -> [missing] (J0)
  • [ui] tests/ui/eii/subtype_2.rs: pass -> [missing] (J0)
  • [ui] tests/ui/eii/subtype_3.rs: pass -> [missing] (J0)
  • [ui] tests/ui/eii/subtype_4.rs: pass -> [missing] (J0)
  • [ui] tests/ui/eii/type_checking/subtype_1.rs: [missing] -> pass (J0)
  • [ui] tests/ui/eii/type_checking/subtype_2.rs: [missing] -> pass (J0)
  • [ui] tests/ui/eii/type_checking/subtype_3.rs: [missing] -> pass (J0)
  • [ui] tests/ui/eii/type_checking/subtype_4.rs: [missing] -> pass (J0)
  • [ui] tests/ui/eii/type_checking/wrong_ret_ty.rs: [missing] -> pass (J0)
  • [ui] tests/ui/eii/type_checking/wrong_ty.rs: [missing] -> pass (J0)
  • [ui] tests/ui/eii/type_checking/wrong_ty_2.rs: [missing] -> pass (J0)
  • [ui] tests/ui/eii/wrong_ret_ty.rs: pass -> [missing] (J0)
  • [ui] tests/ui/eii/wrong_target.rs: pass -> [missing] (J0)
  • [ui] tests/ui/eii/wrong_ty.rs: pass -> [missing] (J0)
  • [ui] tests/ui/eii/wrong_ty_2.rs: pass -> [missing] (J0)

Stage 2

  • [ui] tests/ui/eii/attribute_targets.rs: [missing] -> pass (J1)
  • [ui] tests/ui/eii/subtype_1.rs: pass -> [missing] (J1)
  • [ui] tests/ui/eii/subtype_2.rs: pass -> [missing] (J1)
  • [ui] tests/ui/eii/subtype_3.rs: pass -> [missing] (J1)
  • [ui] tests/ui/eii/subtype_4.rs: pass -> [missing] (J1)
  • [ui] tests/ui/eii/type_checking/subtype_1.rs: [missing] -> pass (J1)
  • [ui] tests/ui/eii/type_checking/subtype_2.rs: [missing] -> pass (J1)
  • [ui] tests/ui/eii/type_checking/subtype_3.rs: [missing] -> pass (J1)
  • [ui] tests/ui/eii/type_checking/subtype_4.rs: [missing] -> pass (J1)
  • [ui] tests/ui/eii/type_checking/wrong_ret_ty.rs: [missing] -> pass (J1)
  • [ui] tests/ui/eii/type_checking/wrong_ty.rs: [missing] -> pass (J1)
  • [ui] tests/ui/eii/type_checking/wrong_ty_2.rs: [missing] -> pass (J1)
  • [ui] tests/ui/eii/wrong_ret_ty.rs: pass -> [missing] (J1)
  • [ui] tests/ui/eii/wrong_target.rs: pass -> [missing] (J1)
  • [ui] tests/ui/eii/wrong_ty.rs: pass -> [missing] (J1)
  • [ui] tests/ui/eii/wrong_ty_2.rs: pass -> [missing] (J1)

Additionally, 58 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 b889870082dd0b0e3594bbfbebb4545d54710829 --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: 9417.7s -> 11536.2s (+22.5%)
  2. x86_64-gnu-tools: 3339.7s -> 3753.8s (+12.4%)
  3. dist-powerpc64-linux: 5297.1s -> 5940.8s (+12.2%)
  4. x86_64-gnu-distcheck: 7311.4s -> 8164.7s (+11.7%)
  5. x86_64-mingw-2: 10068.3s -> 8990.0s (-10.7%)
  6. dist-aarch64-llvm-mingw: 5646.4s -> 6241.4s (+10.5%)
  7. test-various: 6900.7s -> 7619.6s (+10.4%)
  8. i686-gnu-1: 7660.9s -> 8459.0s (+10.4%)
  9. dist-apple-various: 4164.5s -> 4594.7s (+10.3%)
  10. x86_64-gnu-gcc: 3134.0s -> 3451.6s (+10.1%)
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 (b889870): comparison URL.

Overall result: no relevant changes - no action needed

@rustbot label: -perf-regression

Instruction count

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

Max RSS (memory usage)

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

Cycles

Results (primary -2.4%, secondary -3.4%)

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.4% [-2.4%, -2.4%] 1
Improvements ✅
(secondary)
-3.4% [-4.1%, -2.6%] 2
All ❌✅ (primary) -2.4% [-2.4%, -2.4%] 1

Binary size

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

Bootstrap: 480.26s -> 479.396s (-0.18%)
Artifact size: 390.57 MiB -> 390.52 MiB (-0.01%)

@Zalathar Zalathar deleted the rollup-dqazzrn branch December 19, 2025 22:33
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

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-compiler Relevant to the compiler team, which will review and decide on the PR/issue.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants