T Compiler Meeting Agenda 2026 02 05

T-compiler Meeting Agenda 2026-02-05

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: “Parse ident with allowing recovery when trying to diagnose” rust#151249
    • Authored by mu001999
    • Fixes #151238, caused by #146978, an ICE on top of the compiler error. Repro comes from fuzzed code.
    • (voting on Zulip wasn’t triggered because was not marked as regression nor as P-high)
    • Discussed last week (comment), rather than a stable backport, we might do a beta one - but doesn’t appear to be super-priority
  • :beta: “layout: handle rigid aliases without params” rust#151814
    • Authored by lcnr
    • Fixes #151791, which could be a P-high. Patch is quite small and seems harmless.
    • Voting Zulip topic is in favor but PR is still waiting on a reviewer
  • :beta: “Revert enabling outline-atomics on various platforms” rust#151896
    • Authored by tgross35
    • Partially reverts #144938. Reverts #149633
    • Issue reported is Chromium not building on nightly when using a specific extension enabled (BTI):

      platforms using a custom-built std with unstable -Zbranch-protection=bti may run into issues

    • Voting Zulip topic, def. in favor
  • :beta: “Revert doc attribute parsing errors to future warnings” rust#151952
    • Authored by GuillaumeGomez
    • Voting Zulip topic
    • Fixes #151865, a high number of crates that regressed in a crater run
  • :stable: “layout: handle rigid aliases without params” rust#151814
    • Authored by lcnr
    • Voting Zulip topic, trend is in favor but not yet reviewed/merged and likely won’t make it to a 1.93.1 (if T-release decides for that)

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-02 Triage Log

Overall a positive week for instruction counts (~1% improvement on check/debug/opt/doc builds). Cycle counts and memory usage remain broadly unchanged across the week though.

Triage done by @simulacrum. Revision range: ebf13cca..a60d12cb

Summary:

(instructions:u)meanrangecount
Regressions (primary)2.7%[0.3%, 7.3%]3
Regressions (secondary)3.2%[0.3%, 6.0%]2
Improvements (primary)-1.2%[-3.2%, -0.2%]243
Improvements (secondary)-1.4%[-10.2%, -0.2%]301
All (primary)-1.2%[-3.2%, 7.3%]246

0 Regression, 6 Improvements, 3 Mixed; 3 of them in rollups 33 artifact comparisons made in total

Regressions

No regressions this week.

Improvements

Rollup of 8 pull requests #151835 (Comparison Link)

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

Small improvement on a number of benchmarks for non-incremental builds, likely due to #147387 which tweaked how hir_owner_parent interacts with the query system.

Pass DepNode by reference more places #151881 (Comparison Link)

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

resolve: Use IdentKey in resolve_ident_in_scope_set #151820 (Comparison Link)

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

resolve: Replace Macros20NormalizedIdent with IdentKey #151550 (Comparison Link)

(instructions:u)meanrangecount
Regressions (primary)--0
Regressions (secondary)0.0%[0.0%, 0.0%]3
Improvements (primary)-0.3%[-0.5%, -0.1%]69
Improvements (secondary)-0.5%[-1.7%, -0.0%]37
All (primary)-0.3%[-0.5%, -0.1%]69

Regressions in include-blob look likely to be just noise.

Tweak VecCache to improve performance #138405 (Comparison Link)

(instructions:u)meanrangecount
Regressions (primary)--0
Regressions (secondary)0.1%[0.0%, 0.2%]3
Improvements (primary)-0.4%[-1.2%, -0.2%]126
Improvements (secondary)-0.5%[-1.3%, -0.0%]93
All (primary)-0.4%[-1.2%, -0.2%]126

Regressions in include-blob look likely to be just noise.

Rollup of 5 pull requests #151816 (Comparison Link)

(instructions:u)meanrangecount
Regressions (primary)0.3%[0.3%, 0.3%]2
Regressions (secondary)0.5%[0.5%, 0.5%]1
Improvements (primary)-0.3%[-0.7%, -0.2%]9
Improvements (secondary)-0.4%[-0.7%, -0.1%]22
All (primary)-0.2%[-0.7%, 0.3%]11

Doc builds improved, likely due to the portable SIMD subtree update

Regressions are (new) noise in typenum.

Mixed

Rollup of 4 pull requests #151749 (Comparison Link)

(instructions:u)meanrangecount
Regressions (primary)0.4%[0.4%, 0.4%]1
Regressions (secondary)0.1%[0.0%, 0.1%]3
Improvements (primary)-0.2%[-0.4%, -0.1%]22
Improvements (secondary)-0.5%[-1.9%, -0.1%]53
All (primary)-0.2%[-0.4%, 0.4%]23

This is essentially an improvement, the regressions look spurious. The improvements appear to be due to #151711 which updated stdarch. Why that caused improvements is unclear at this time.

Update to LLVM 22 #150722 (Comparison Link)

(instructions:u)meanrangecount
Regressions (primary)3.2%[0.9%, 7.4%]3
Regressions (secondary)2.3%[0.4%, 6.0%]3
Improvements (primary)-0.7%[-2.8%, -0.2%]238
Improvements (secondary)-0.9%[-10.1%, -0.1%]299
All (primary)-0.6%[-2.8%, 7.4%]241

Lots of affected benchmarks (as normal), but overall a positive LLVM update by instruction counts. As @nnethercote notes, the cycle counts are a little red (comment) as we’ve seen before with LLVM updates.

Tweak SlicePartialEq to allow MIR-inlining the compare_bytes call #150945 (Comparison Link)

(instructions:u)meanrangecount
Regressions (primary)0.4%[0.3%, 0.6%]6
Regressions (secondary)0.7%[0.7%, 0.7%]1
Improvements (primary)-0.9%[-2.3%, -0.1%]7
Improvements (secondary)-2.3%[-2.3%, -2.3%]1
All (primary)-0.3%[-2.3%, 0.6%]13

Expected mixed results from an inlining change. Overall positive.

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

  • “replace box_new with lower-level intrinsics” rust#148190 (last review activity: 2 months ago)
    • This has been waiting for a long time. Can anyone take it? :)
  • “Add String<A> type with custom allocator parameter” rust#149328 (last review activity: 2 months ago)
    • cc @Amanieu d’Antras (but probably other people are involved)
  • “implement error multi provider” rust#149615 (last review activity: 2 months ago)
    • cc @The 8472|330154

Next meeting’s agenda draft: hackmd link