T Compiler Meeting Agenda 2026 03 26

T-compiler Meeting Agenda 2026-03-26

Announcements

  • Today, patch release 1.94.1, see blog post (patches are not for the compiler)
  • FYI from @jieyouxu: WG-linker is now an active WG :) Zulip group is @WG-linker (see https://github.com/rust-lang/team/pull/2299)
  • 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: “[beta] Revert #151380 in beta” rust#154307
    • Authored by ShoyuVanilla
    • Fixes #153816 and #153849. The fix has two parts:
    • #154307 (this backport): reverts #151380 on beta
    • #154308: reverts on nightly #151380 and #153869
    • Voting Zulip topic, in favor
  • :beta: “Init self_decl with a correct visibility” rust#154313
    • Authored by mu001999
    • Fixes #154295, code compiles that should not be accepted (debug builds only)
    • Voting Zulip topic, in favor
  • :beta: “Update LLVM to 22.1.2” rust#154344
    • Authored by dianqk
    • From (comment):

      Fixes a not so important nightly-only miscompile for the s390x f16::is_normal miscompile BUT fixes quite a few long-standing LLVM 22 issues (at least a ppc64le miscompile affecting the Rust uuid crate, a crash when building with PGO, and a build hang on s390x)

    • List of changes
    • Voting Zulip topic, in favor
  • No stable nominations for T-compiler this time.

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

  • “Significant compilation time regression starting in v1.95.0-nightly (bevy)” rust#153910
    • Still need investigation. A reduction would be useful (the bevy crate pulls in a lot of deps)
  • “Complex EH flow miscompiled on wasm” rust#153948
    • Investigated by xxx (comment), opened an upstream issue llvm-project#187302. Note: affects only legacy eh, the codegen with-wasm-use-legacy-eh=false is correct.
    • asks if in the meanwhile shouldn’t we revert #151771 (from @_apiraino: I would be in favor of reverting, seems quite self-contained)

Unassigned P-high nightly regressions

  • No unassigned P-high nightly regressions this time.

Performance logs

2026-03-24 Triage Log

Lot of mixed results this week. One big regression from #152931 makes the results look pretty negative, but otherwise the week was fairly quiet.

Triage done by @panstromek. Revision range: 5b61449e..6f22f613

Summary:

(instructions:u)meanrangecount
Regressions (primary)1.0%[0.1%, 4.2%]27
Regressions (secondary)0.2%[0.0%, 0.6%]36
Improvements (primary)-0.1%[-0.2%, -0.1%]3
Improvements (secondary)-0.3%[-2.8%, -0.0%]14
All (primary)0.9%[-0.2%, 4.2%]30

1 Regression, 1 Improvement, 4 Mixed; 1 of them in rollups 32 artifact comparisons made in total

Regressions

Always check ConstArgHasType even when otherwise ignoring #152931 (Comparison Link)

(instructions:u)meanrangecount
Regressions (primary)1.9%[0.1%, 4.1%]13
Regressions (secondary)--0
Improvements (primary)--0
Improvements (secondary)--0
All (primary)1.9%[0.1%, 4.1%]13

These regressions look real, and it seems like they were not discussed before merge.

Regressed benchmarks are both type-heavy, and the regression seems to be entirely in typeck (assumed_wf_types, check_well_formed, predicates_of and type_alias_is_lazy all show some negative changes in detailed results). This seems to match the PR changes.

Asked on the PR, got response from reviewer: “typenum has a lot of type aliases, so doing additional work for them causing a regression seems expected to me. Looking at the code, I don’t know how to avoid this regression”

Improvements

DepNode use improvements #154076 (Comparison Link)

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

Mixed

Do not shallow resolve to root var while fudging #153869 (Comparison Link)

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

Improvements mostly outweigh regressions. Secondary regressions in projection-caching and regression-31157 seem to just undo part of the wins from https://github.com/rust-lang/rust/pull/151380, so this still seems like a net improvement overall.

Eagerly normalize in generalize #151746 (Comparison Link)

(instructions:u)meanrangecount
Regressions (primary)0.2%[0.2%, 0.3%]7
Regressions (secondary)0.3%[0.1%, 0.4%]10
Improvements (primary)--0
Improvements (secondary)-0.4%[-0.4%, -0.4%]1
All (primary)0.2%[0.2%, 0.3%]7

Reverted in https://github.com/rust-lang/rust/pull/154257 for other reasons

Remove the anon query modifier #154122 (Comparison Link)

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

Quoting the author (@Zalathar):

“Small regressions to cargo were expected, and everything else is green. I’m experimenting with #154162 to undo those small regressions, but that work will have to be judged on its own perf/complexity merits.”

Rollup of 8 pull requests #154273 (Comparison Link)

(instructions:u)meanrangecount
Regressions (primary)--0
Regressions (secondary)0.4%[0.4%, 0.4%]1
Improvements (primary)-0.2%[-0.3%, -0.1%]7
Improvements (secondary)-0.2%[-0.4%, -0.1%]17
All (primary)-0.2%[-0.3%, -0.1%]7

Regressions are noise, already triaged by @JonathanBrouwer

Nominated Issues

T-compiler

  • None

Open T-compiler RFCs with disposition-merge + finished FCP

List: https://github.com/rust-lang/rfcs/issues?q=sort%3Aupdated-desc%20state%3Aopen%20label%3Afinished-final-comment-period%20label%3Adisposition-merge

From @_jieyouxu: I saw a IRLO thread recently regarding “FCP complete but not merged RFCs” so I was curious how we are doing. I only see two of them:

RFC

  • No I-compiler-nominated RFCs this time.

Oldest PRs waiting for review

T-compiler

  • “Store chunk_domain_size explicitly in Chunk.” rust#147802 (last review activity: 5 months ago)
    • cc @cjgillot

Next meetings’ agenda draft: hackmd link