T Compiler Meeting Agenda 2026 04 16

T-compiler Meeting Agenda 2026-04-16

Announcements

  • Today release of Rust stable 1.95, blog post.
  • 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

  • None

MCPs/FCPs

Backport nominations

T-compiler beta / T-compiler stable

  • No beta nominations for T-compiler this time.

  • No stable nominations for T-compiler this time.

  • Note about rust#155268 “rust 1.95 pre-release windows-gnullvm: rust-size fails with missing libLLVM-22-rust-1.95.0-stable.dll when called via rustup proxy”

    • @Jieyou Xu coordinated with T-release and rapidly authored two revert PRs of commit 1d1280a on beta and stable (#155283 and #155285) to avoid this regression slip in the next stable (wasn’t judged critical, see on Zulip

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-04-13 Triage Log

This week was negative, mainly caused by a type system fix and because we had to temporarily revert some attribute cleanups that previously improved performance.

Triage done by @panstromek. Revision range: e73c56ab..dab8d9d1

Summary:

(instructions:u)meanrangecount
Regressions (primary)0.4%[0.2%, 0.7%]46
Regressions (secondary)0.5%[0.1%, 2.3%]102
Improvements (primary)-0.5%[-0.6%, -0.4%]4
Improvements (secondary)-0.4%[-0.6%, -0.2%]5
All (primary)0.4%[-0.6%, 0.7%]50

4 Regressions, 1 Improvement, 5 Mixed; 6 of them in rollups 41 artifact comparisons made in total

Regressions

Rollup of 6 pull requests #155011 (Comparison Link)

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

Already triaged by @JonathanBrouwer, pre-merge comment: Rollup=iffy because of the minor perf effect, which should be easy to pick out of a rollup since it’s only one secondary test.

Rollup of 10 pull requests #155024 (Comparison Link)

(instructions:u)meanrangecount
Regressions (primary)0.5%[0.2%, 0.8%]38
Regressions (secondary)0.6%[0.1%, 2.6%]45
Improvements (primary)--0
Improvements (secondary)-0.0%[-0.0%, -0.0%]1
All (primary)0.5%[0.2%, 0.8%]38

Regression in typeck. Caused by https://github.com/rust-lang/rust/pull/150316. Asked the author if we can do something about it.

Revert “Port lint attributes to attribute parser” #155056 (Comparison Link)

(instructions:u)meanrangecount
Regressions (primary)0.2%[0.1%, 0.6%]24
Regressions (secondary)0.4%[0.1%, 1.0%]39
Improvements (primary)--0
Improvements (secondary)-0.3%[-0.7%, -0.0%]4
All (primary)0.2%[0.1%, 0.6%]24

Fixes regression. Reverts previous improvement from the original lint attribute port, the results seem to match up. This will re-land again, marking as triaged.

Rollup of 6 pull requests #155115 (Comparison Link)

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

Caused by https://github.com/rust-lang/rust/pull/152901, already triaged by @JonathanBrouwer. The primary regresssion in unicode-normalization is addressed by https://github.com/rust-lang/rust/pull/155167. The other one in unused-warnings was supposed to be fixed by https://github.com/rust-lang/rust/pull/155155, but that run returned with no significant changes and it was closed. Based on the comments on these PRs, it looks like that ineffieciency will be addressed later when this code is ported to the new attribute parsing inftrastructure.

Improvements

Update cargo submodule #154734 (Comparison Link)

(instructions:u)meanrangecount
Regressions (primary)--0
Regressions (secondary)--0
Improvements (primary)-0.5%[-0.5%, -0.5%]1
Improvements (secondary)--0
All (primary)-0.5%[-0.5%, -0.5%]1

Mixed

ty::Alias refactor #154758 (Comparison Link)

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

Some regressions in secondary stress tests, but otherwise an improvement. This matches pre-merge results, so I assume this is deemed acceptable.

Store chunk_domain_size explicitly in Chunk. #147802 (Comparison Link)

(instructions:u)meanrangecount
Regressions (primary)--0
Regressions (secondary)1.8%[1.8%, 1.8%]1
Improvements (primary)-0.9%[-1.2%, -0.4%]3
Improvements (secondary)-0.2%[-0.2%, -0.2%]2
All (primary)-0.9%[-1.2%, -0.4%]3

ctfe-stress-5 regression is a noise spike.

Rollup of 2 pull requests #155052 (Comparison Link)

(instructions:u)meanrangecount
Regressions (primary)--0
Regressions (secondary)0.1%[0.1%, 0.1%]1
Improvements (primary)-0.2%[-0.2%, -0.2%]4
Improvements (secondary)-0.2%[-0.2%, -0.2%]6
All (primary)-0.2%[-0.2%, -0.2%]4

match-stress looks like a noise spike. Otherwise, it’s an improvement.

Rollup of 7 pull requests #155175 (Comparison Link)

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

These regressions seem a bit mysterious to me, but I guess it could be the SIMD update from https://github.com/rust-lang/rust/pull/155165, because it adds a bunch of stuff to std (IIUC) and I guess it can impact those doc benchmarks. include-blob is noise.

Either way, I don’t see much actionable steps we could do with it, and the regressions are tiny, so I don’t think it’s worth too much investigation. The queue is empty, so I at least started a perf run on https://github.com/rust-lang/rust/pull/155165.

Rollup of 4 pull requests #155185 (Comparison Link)

(instructions:u)meanrangecount
Regressions (primary)0.3%[0.3%, 0.3%]1
Regressions (secondary)0.6%[0.1%, 2.3%]7
Improvements (primary)-0.2%[-0.2%, -0.2%]1
Improvements (secondary)--0
All (primary)0.0%[-0.2%, 0.3%]2

Likely caused by https://github.com/rust-lang/rust/pull/153630, left a comment there.

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 support for xray in aarch64 unknown none target” rust#148666 (last review activity: 2 months ago)
    • cc: @Wesley Wiser (feeel free to reassign)
  • “mir-opt: Remove the workaround in UnreachableEnumBranching” rust#146544 (last review activity: 2 months ago)
    • cc @Wesley Wiser
  • “tests/ui/union: add annotations for reference rules” rust#152826 (last review activity: about 55 days ago)
    • cc @Eric Huss (not strictly t-compiler I think, maybe someone can have a look)
  • “Add inline asm support for amdgpu” rust#149793 (last review activity: about 52 days ago)
    • left a ping to the GPU target group
  • “rustc_codegen_ssa: Make upstream monomorphizations representation sparse” rust#149313 (last review activity: about 51 days ago)
    • cc @cjgillot (unsure if the author has replied in full to the comments)
  • “rustc_codegen_ssa: fix pre_link_args order” rust#151165 (last review activity: about 51 days ago)

Next meetings’ agenda draft: hackmd link