T Compiler Meeting Agenda 2026 02 19

T-compiler Meeting Agenda 2026-02-19

Announcements

  • Reminder: if you see a PR/issue that seems like there might be legal implications due to copyright/IP/etc, please let us know (or at least message @davidtwco or @Wesley Wiser so we can pass it along).

MCPs/FCPs

Backport nominations

T-compiler beta / T-compiler stable

  • :beta: “Consider captures to be used by closures that unwind” rust#152103
    • Authored by eggyal
    • Voting Zulip topic in favor
    • Fixes #152079, p-high regression from #142390
  • :beta: “Fix feature gating for new try bikeshed expressions” rust#152519
    • Authored by scottmcm
    • Voting Zulip topic, in favor
    • PR now merged, fixes p-high #152501
  • :beta: “reject inline const patterns pre-expansion” rust#152548
    • Authored by dianne
    • Voting Zulip topic, in favor
    • partial revert changes in #149667 to fix #152499
  • :beta: “layout_of unexpected rigid alias delayed bug” rust#152575
    • Authored by lcnr
    • Voting Zulip topic, in favor (already discussed lasat week?)
    • fixes a P-high #152545
  • :beta: “resolve: Disable an assert that no longer holds” rust#152711
  • :stable: “layout: handle rigid aliases without params” rust#151814
    • Authored by lcnr
    • Voting Zulip topic
    • mentioned here for completeness, discussed last week (comment), we agreed it might get into a .2 in case is planned

T-types beta / T-types stable

  • No beta nominations for T-types this time.
  • No stable nominations for T-types this time.

PRs S-waiting-on-t-compiler

T-compiler

Issues of Note

Short Summary

P-critical

T-compiler

  • No P-critical issues for T-compiler this time.

T-types

  • No P-critical issues for T-types this time.

P-high regressions

P-high beta regressions

  • No P-high beta regressions this time.

Unassigned P-high nightly regressions

  • No unassigned P-high nightly regressions this time.

Performance logs

2026-02-17 Triage Log

Several pull requests introduced (usually very small) regressions across the board this week. On the other hand, #151380 provided a nice performance win in the inference engine. I would also like to bring attention to #152375, which improved the parallel frontend. It is not shown in this report, because we don’t yet have many benchmarks for the parallel frontend, but this PR seemingly improved the check (wall-time) performance with multiple frontend threads on several real-world crates by 5-10%!

Triage done by @kobzol. Revision range: 39219ceb..3c9faa0d

Summary:

(instructions:u)meanrangecount
Regressions (primary)0.7%[0.2%, 3.1%]96
Regressions (secondary)1.1%[0.0%, 5.7%]62
Improvements (primary)-0.4%[-0.9%, -0.2%]8
Improvements (secondary)-2.6%[-7.0%, -0.0%]45
All (primary)0.6%[-0.9%, 3.1%]104

2 Regressions, 0 Improvements, 9 Mixed; 4 of them in rollups 36 artifact comparisons made in total

Regressions

Rollup of 17 pull requests #152562 (Comparison Link)

(instructions:u)meanrangecount
Regressions (primary)--0
Regressions (secondary)0.3%[0.2%, 0.5%]11
Improvements (primary)--0
Improvements (secondary)--0
All (primary)--0
  • Noise that got reverted in a follow-up PR.
  • Already marked as triaged.

replace box_new with lower-level intrinsics #148190 (Comparison Link)

(instructions:u)meanrangecount
Regressions (primary)0.8%[0.5%, 1.9%]8
Regressions (secondary)1.8%[0.4%, 5.5%]24
Improvements (primary)-0.8%[-0.8%, -0.8%]1
Improvements (secondary)-0.3%[-0.3%, -0.3%]1
All (primary)0.6%[-0.8%, 1.9%]9
  • Small performance hit across the board caused by refactoring how Box works internally.
  • Was deemed acceptable pre-merge.
  • Marked as triaged.

Mixed

Rollup of 12 pull requests #152399 (Comparison Link)

(instructions:u)meanrangecount
Regressions (primary)0.2%[0.2%, 0.2%]3
Regressions (secondary)0.8%[0.1%, 1.4%]26
Improvements (primary)--0
Improvements (secondary)-0.2%[-0.3%, -0.1%]8
All (primary)0.2%[0.2%, 0.2%]3
  • The largest regressions seem to be caused by #152327.
  • That PR fixed some compiler bugs, so the regression on a secondary benchmarks seems justifiable.
  • Marked as triaged.

Update mgca to use type const syntax instead of the #[type_const] attribute. #152324 (Comparison Link)

(instructions:u)meanrangecount
Regressions (primary)0.4%[0.1%, 0.7%]18
Regressions (secondary)0.5%[0.0%, 1.7%]13
Improvements (primary)--0
Improvements (secondary)-0.2%[-0.3%, -0.0%]4
All (primary)0.4%[0.1%, 0.7%]18
  • It is unclear whether the regressions were expected or not.
  • Asked the reviewer to follow up.
  • Not marking as triaged yet.

Update to LLVM 22.1.0-rc3 #152428 (Comparison Link)

(instructions:u)meanrangecount
Regressions (primary)0.2%[0.2%, 0.2%]1
Regressions (secondary)0.1%[0.0%, 0.2%]4
Improvements (primary)--0
Improvements (secondary)-0.3%[-0.5%, -0.1%]10
All (primary)0.2%[0.2%, 0.2%]1
  • A few tiny changes that got over the noise threshold, but overall a wash.
  • Marked as triaged.

Rollup of 7 pull requests #152506 (Comparison Link)

(instructions:u)meanrangecount
Regressions (primary)0.2%[0.2%, 0.2%]1
Regressions (secondary)0.2%[0.1%, 0.2%]3
Improvements (primary)--0
Improvements (secondary)-0.1%[-0.2%, -0.1%]2
All (primary)0.2%[0.2%, 0.2%]1
  • Very small regressions across the board, but I don’t think it’s worth it to dig deeper.
  • Marked as triaged.

Start using pattern types in libcore (NonZero and friends) #148537 (Comparison Link)

(instructions:u)meanrangecount
Regressions (primary)1.9%[0.1%, 3.8%]12
Regressions (secondary)2.2%[0.1%, 3.6%]4
Improvements (primary)--0
Improvements (secondary)-0.1%[-0.1%, -0.1%]2
All (primary)1.9%[0.1%, 3.8%]12
  • The regression was deemed acceptable pre-merge, and the post-merge results correspond to the previous perf. runs.
  • Marked as triaged.

Make operational semantics of pattern matching independent of crate and module #150681 (Comparison Link)

(instructions:u)meanrangecount
Regressions (primary)0.6%[0.1%, 1.1%]7
Regressions (secondary)0.2%[0.1%, 0.2%]12
Improvements (primary)-2.6%[-2.6%, -2.6%]1
Improvements (secondary)-2.3%[-2.3%, -2.3%]1
All (primary)0.2%[-2.6%, 1.1%]8
  • A few small regressions across the board, mainly in doc builds, the rest of the profiles are a wash. Given the change made here, I suppose the perf. regression is expected.
  • Marked as triaged.

Rollup of 7 pull requests #152632 (Comparison Link)

(instructions:u)meanrangecount
Regressions (primary)0.4%[0.1%, 0.8%]6
Regressions (secondary)0.4%[0.1%, 0.8%]3
Improvements (primary)-0.5%[-1.0%, -0.2%]3
Improvements (secondary)-1.0%[-2.0%, -0.5%]5
All (primary)0.1%[-1.0%, 0.8%]9
  • Performance-wise it’s a wash.
  • Marked as triaged.

Shallow resolve ty and const vars to their root vars #151380 (Comparison Link)

(instructions:u)meanrangecount
Regressions (primary)--0
Regressions (secondary)0.3%[0.2%, 0.4%]4
Improvements (primary)-0.3%[-0.4%, -0.1%]14
Improvements (secondary)-2.7%[-7.1%, -0.1%]50
All (primary)-0.3%[-0.4%, -0.1%]14
  • Many more wins than losses.
  • Marked as triaged.

Big query system cleanups #152636 (Comparison Link)

(instructions:u)meanrangecount
Regressions (primary)0.3%[0.2%, 0.4%]10
Regressions (secondary)0.2%[0.1%, 0.3%]9
Improvements (primary)--0
Improvements (secondary)-0.4%[-0.4%, -0.3%]4
All (primary)0.3%[0.2%, 0.4%]10
  • The small performance regressions were investigated and deemed to be caused mostly by inlining perturbations.
  • Already marked as triaged.

Nominated Issues

T-compiler

  • No I-compiler-nominated issues this time.

RFC

  • No I-compiler-nominated RFCs this time.

Oldest PRs waiting for review

T-compiler

  • “Add inline asm support for amdgpu” rust#149793 (last review activity: 2 months ago)
    • this has been bouncing around for a while and landed on @Amanieu d’Antras
  • “Implement -Z allow-partial-mitigations (RFC 3855)” rust#149357 (last review activity: 2 months ago)
    • cc @Ramon de C Valle
  • “Implement method signature suggestion for trait mismatches error” rust#149027 (last review activity: 2 months ago)
    • cc: @Mads Marquart

Next meetings’ agenda draft: hackmd link