T Compiler Meeting Agenda 2026 05 14

T-compiler Meeting Agenda 2026-05-14

Announcements

  • Opened a request for a small slot at the RustWeek to discuss and receive feedback about the weekly triage meeting: let’s talk about how we can improve it!
  • 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).

Other WG meetings

MCPs/FCPs

Backport nominations

T-compiler beta / T-compiler stable

  • :beta: “resolve: Set correct parent and expansion for self declarations” rust#156353
    • Authored by petrochenkov
    • From comment:

      The backport is mostly for the use of self_decl (#146972) and trivial fixes to it (#154313 and this PR) to go into the same release. I’m not sure if the ICE can be triggered before #156185 is merged. Maybe it’s not so important to backport after all.

    • Voting Zulip topic, general vibe is “doesn’t need to be backported but it’s a nice to have”
  • :beta: “Fix unused assignments in diverging branches” rust#156425
    • Authored by chenyukang
    • Fixes diag issue #156425, self-contained
    • Voting Zulip topic, no strong opinions in either way
  • :stable: “resolve: Set correct parent and expansion for self declarations” rust#156353
    • Authored by petrochenkov
    • Voting Zulip topic, same reasoning for the beta nomination. A nice to have for a dot release, currently not 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

  • None

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-05-12 Triage Log

This week saw a couple of PRs affecting the new trait solver, which is steadily moving forward, in particular #156139 was a massive perf. win. #156185 optimized visibility computation, resulting in an up to 8% win on the typenum crate.

Triage done by @Kobzol. Revision range: 1d72d7e8..aa31d6d8

Summary:

(instructions:u)meanrangecount
Regressions (primary)0.3%[0.1%, 0.4%]62
Regressions (secondary)0.5%[0.1%, 1.5%]77
Improvements (primary)-1.7%[-8.8%, -0.2%]18
Improvements (secondary)-13.6%[-85.6%, -0.0%]34
All (primary)-0.2%[-8.8%, 0.4%]80

2 Regressions, 2 Improvements, 5 Mixed; 4 of them in rollups 31 artifact comparisons made in total

Regressions

Lint unused pub items in binary crates #149509 (Comparison Link)

(instructions:u)meanrangecount
Regressions (primary)0.3%[0.1%, 0.4%]4
Regressions (secondary)0.1%[0.1%, 0.1%]1
Improvements (primary)--0
Improvements (secondary)--0
All (primary)0.3%[0.1%, 0.4%]4
  • The regression looks genuine, but it is very small. The compiler now runs a new allow-by-default lint, so that is expected.
  • Marked as triaged.

@rustbot label: +perf-regression-triaged

-Zassumptions-on-binders #155887 (Comparison Link)

(instructions:u)meanrangecount
Regressions (primary)0.2%[0.1%, 0.2%]10
Regressions (secondary)0.5%[0.1%, 1.1%]25
Improvements (primary)--0
Improvements (secondary)-0.0%[-0.0%, -0.0%]1
All (primary)0.2%[0.1%, 0.2%]10
  • Tiny regressions across the board, mostly in trait-heavy crates and the new trait solver.
  • Not marking as triaged yet.

Improvements

Rollup of 12 pull requests #156267 (Comparison Link)

(instructions:u)meanrangecount
Regressions (primary)--0
Regressions (secondary)--0
Improvements (primary)-0.3%[-0.3%, -0.2%]8
Improvements (secondary)-0.2%[-0.2%, -0.2%]2
All (primary)-0.3%[-0.3%, -0.2%]8

resolve: Evaluate private visibilities eagerly in eff vis computation #156185 (Comparison Link)

(instructions:u)meanrangecount
Regressions (primary)--0
Regressions (secondary)--0
Improvements (primary)-2.5%[-8.6%, -0.2%]11
Improvements (secondary)-1.8%[-2.5%, -0.3%]13
All (primary)-2.5%[-8.6%, -0.2%]11

Mixed

Short-circuit calculate_fallback_to_f32 when no float vars #156139 (Comparison Link)

(instructions:u)meanrangecount
Regressions (primary)--0
Regressions (secondary)0.1%[0.0%, 0.1%]4
Improvements (primary)--0
Improvements (secondary)-21.0%[-87.6%, -0.0%]18
All (primary)--0
  • Massive wins in the new trait solver.
  • Already marked as triaged.

Rollup of 7 pull requests #156190 (Comparison Link)

(instructions:u)meanrangecount
Regressions (primary)0.2%[0.1%, 0.3%]3
Regressions (secondary)0.5%[0.2%, 0.7%]25
Improvements (primary)-0.3%[-0.3%, -0.3%]1
Improvements (secondary)-1.2%[-1.8%, -0.5%]2
All (primary)0.1%[-0.3%, 0.3%]4
  • Regression caused by #156172, discussion is continuing there.
  • Marked as triaged.

Rollup of 15 pull requests #156217 (Comparison Link)

(instructions:u)meanrangecount
Regressions (primary)--0
Regressions (secondary)0.6%[0.1%, 1.0%]10
Improvements (primary)--0
Improvements (secondary)-0.0%[-0.1%, -0.0%]3
All (primary)--0
  • The wg-grammar regression was caused by #155808.
  • Marked as triaged.

Improve caching by introducing TypingMode::ErasedNotCoherence #155443 (Comparison Link)

(instructions:u)meanrangecount
Regressions (primary)--0
Regressions (secondary)2.5%[0.0%, 16.6%]18
Improvements (primary)--0
Improvements (secondary)-9.0%[-26.2%, -0.1%]11
All (primary)--0
  • This only really affects the new solver, where it is a big win for wg-grammar, though also a big regression for deeply-nested-multi.
  • Marked as triaged.

Rollup of 4 pull requests #156324 (Comparison Link)

(instructions:u)meanrangecount
Regressions (primary)0.3%[0.3%, 0.3%]1
Regressions (secondary)0.3%[0.2%, 0.3%]3
Improvements (primary)--0
Improvements (secondary)-1.5%[-1.5%, -1.5%]1
All (primary)0.3%[0.3%, 0.3%]1
  • Tiny regression on hyper doc benchmark and the bitmaps benchmark with the new trait solver, overall a wash. I don’t think it’s worth digging further.
  • 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

  • “Unconstrained parameter fix” rust#148788 (last review activity: about 49 days ago)
    • cc: @davidtwco
  • “Hand-written Debug implementation for TypeTestrust#153785 (last review activity: about 47 days ago)
    • cc @_Martin Nordholts (Enselic) (ok to leave a comment on the PR?)
  • “debuginfo: emit DW_TAG_call_site entries on optimized builds” rust#154532 (last review activity: about 46 days ago)
    • @Ding Xiang Fei (wieDasDing) (this should recover a perf. loss from beginning of April)
  • “Fix marker trait winnowing depending on impl order” rust#153847 (last review activity: about 44 days ago)
    • Unsure if it needs a first look by T-lang? T-types? cc @oli
  • “GVN: transmute adts to their fields if a field projection is immediately transmuted anyway” rust#153085 (last review activity: 2 months ago)
    • I think waiting on @_scottmcm (not in this channel, ok to leave a comment?)

Next meeting will probably skip due to RustWeek?