T Compiler Meeting Agenda 2026 01 29

T-compiler Meeting Agenda 2026-01-29

Announcements

  • Tip: have a look at a first data extraction from the contributor survey results in #all/private
  • 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

Note: given the number of possible stable backport candidates, T-release will discuss tomorrow a 1.93.1. Few of the following PRs are still open, though.

T-compiler beta / T-compiler stable

  • :beta: “Don’t try to evaluate const blocks during constant promotion” rust#150557
    • Authored by dianne
    • Note: now merged, discussed 2 weeks ago and decided to leave it nominated and backport in the next release cycle
  • :beta: “layout: handle rigid aliases without params” rust#151814
    • Authored by lcnr
    • Just opened, quite small, fixes P-high #151791
    • Voting Zulip topic
  • :stable: “Don’t try to recover keyword as non-keyword identifier " rust#150590
    • Authored by jieyouxu
    • Merged 4 days ago, backport PR in #151714
    • Voting Zulip topic, majority in favour though - in isolation - wouldn’t justify a dot release
  • :stable: “Parse ident with allowing recovery when trying to diagnose” rust#151249
    • Authored by mu001999
    • Voting Zulip topic, unsure? Backport suggested by PR author, see comment
  • :stable: “layout: handle rigid aliases without params” rust#151814
    • Authored by lcnr
    • Voting Zulip topic
    • Just opened, quite small, fixes P-high #151791

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

  • “Chromium hitting SIGILL crashes on aarch64 after #144938 enabled outlined atomics by default” rust#151486
    • This is being discussed

Unassigned P-high nightly regressions

  • No unassigned P-high nightly regressions this time.

Performance logs

2026-01-27 Triage Log

This week saw a very nice win from doing overall less work in the compiler (https://github.com/rust-lang/rust/pull/151382). There were a few regressions, but only in artificial stress tests, we are keeping an eye on them.

Triage done by @kobzol. Revision range: 3d087e60..ebf13cca

Summary:

(instructions:u)meanrangecount
Regressions (primary)0.6%[0.2%, 1.8%]9
Regressions (secondary)3.1%[0.1%, 19.9%]47
Improvements (primary)-1.0%[-3.1%, -0.2%]195
Improvements (secondary)-1.4%[-10.1%, -0.1%]157
All (primary)-1.0%[-3.1%, 1.8%]204

2 Regressions, 2 Improvements, 6 Mixed; 6 of them in rollups 42 artifact comparisons made in total

Regressions

Rollup of 8 pull requests #151395 (Comparison Link)

(instructions:u)meanrangecount
Regressions (primary)0.4%[0.2%, 0.9%]18
Regressions (secondary)0.7%[0.2%, 1.1%]24
Improvements (primary)--0
Improvements (secondary)--0
All (primary)0.4%[0.2%, 0.9%]18
  • The doc regressions were caused by #151091.
  • This adds new functionality to rustdoc.
  • Already marked as triaged.

Rollup of 12 pull requests #151716 (Comparison Link)

(instructions:u)meanrangecount
Regressions (primary)--0
Regressions (secondary)4.0%[0.0%, 5.2%]10
Improvements (primary)--0
Improvements (secondary)--0
All (primary)--0
  • Considerable regression on a single stress test caused by #151529.
  • Continuing discussion on the PR.
  • Marked as triaged.

Improvements

Only run finalizers of accepted attributes #151382 (Comparison Link)

(instructions:u)meanrangecount
Regressions (primary)--0
Regressions (secondary)0.0%[0.0%, 0.0%]1
Improvements (primary)-1.0%[-3.2%, -0.2%]182
Improvements (secondary)-1.7%[-10.0%, -0.1%]110
All (primary)-1.0%[-3.2%, -0.2%]182

Rollup of 4 pull requests #151443 (Comparison Link)

(instructions:u)meanrangecount
Regressions (primary)--0
Regressions (secondary)0.1%[0.0%, 0.2%]2
Improvements (primary)-0.3%[-0.3%, -0.2%]11
Improvements (secondary)-0.5%[-1.0%, -0.2%]22
All (primary)-0.3%[-0.3%, -0.2%]11

Mixed

Rollup of 15 pull requests #151381 (Comparison Link)

(instructions:u)meanrangecount
Regressions (primary)--0
Regressions (secondary)4.6%[0.1%, 20.1%]20
Improvements (primary)-0.2%[-0.2%, -0.2%]1
Improvements (secondary)-0.1%[-0.1%, -0.1%]1
All (primary)-0.2%[-0.2%, -0.2%]1
  • A large regression on stress tests was caused by #148623.
  • Continuing discussion on the PR.
  • Marked as triaged.

compiler: upgrade to hashbrown 0.16.1 #151076 (Comparison Link)

(instructions:u)meanrangecount
Regressions (primary)0.2%[0.2%, 0.2%]3
Regressions (secondary)0.6%[0.1%, 1.2%]8
Improvements (primary)-0.8%[-0.8%, -0.7%]2
Improvements (secondary)-0.3%[-1.4%, -0.1%]12
All (primary)-0.2%[-0.8%, 0.2%]5
  • Dependency update, performance-wise overall a wash.
  • Marked as triaged.

Use repeat_packed when calculating layouts in RawVec #151389 (Comparison Link)

(instructions:u)meanrangecount
Regressions (primary)1.2%[0.7%, 1.8%]2
Regressions (secondary)0.4%[0.2%, 1.6%]9
Improvements (primary)-0.2%[-0.8%, -0.2%]35
Improvements (secondary)-0.4%[-1.8%, -0.1%]43
All (primary)-0.2%[-0.8%, 1.8%]37
  • More improvements than regressions.
  • Already marked as triaged.

Rollup of 10 pull requests #151634 (Comparison Link)

(instructions:u)meanrangecount
Regressions (primary)0.7%[0.7%, 0.7%]1
Regressions (secondary)1.0%[0.3%, 3.0%]5
Improvements (primary)--0
Improvements (secondary)-0.6%[-0.9%, -0.2%]7
All (primary)0.7%[0.7%, 0.7%]1
  • While the regression on the incremental case of a single stress test looks real, there is only a single tiny regression on real world benchmarks, and overall the results are a wash. I don’t think it’s worth it investigating further.
  • Marked as triaged.

optimize vec.extend(slice.to_vec()), take 2 #151337 (Comparison Link)

(instructions:u)meanrangecount
Regressions (primary)0.6%[0.3%, 1.0%]6
Regressions (secondary)0.3%[0.0%, 0.7%]4
Improvements (primary)-0.6%[-0.7%, -0.5%]2
Improvements (secondary)-0.5%[-4.2%, -0.0%]12
All (primary)0.3%[-0.7%, 1.0%]8
  • The results are a wash overall.
  • Marked as triaged.

Rollup of 5 pull requests #151727 (Comparison Link)

(instructions:u)meanrangecount
Regressions (primary)--0
Regressions (secondary)0.1%[0.0%, 0.1%]4
Improvements (primary)-0.3%[-0.3%, -0.3%]1
Improvements (secondary)-0.1%[-0.1%, -0.0%]3
All (primary)-0.3%[-0.3%, -0.3%]1
  • The regressions are very tiny and only on two secondary benchmarks, I don’t think we have to investigate 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

This week skip :-)

Next meetings’ agenda draft: hackmd link