T Compiler Meeting Agenda 2025 11 13

T-compiler Meeting Agenda 2025-11-13

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).

Other WG meetings

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.

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

triage logs 2025-11-11

Mostly quiet week, with the majority of changes coming from the standard library work towards removal of Copy specialization (#135634).

Triage done by @simulacrum. Revision range: 35ebdf9b..055d0d6a

Summary:

(instructions:u)meanrangecount
Regressions (primary)0.8%[0.1%, 3.4%]144
Regressions (secondary)0.8%[0.1%, 2.1%]76
Improvements (primary)-0.7%[-1.4%, -0.4%]12
Improvements (secondary)-0.3%[-0.5%, -0.2%]9
All (primary)0.7%[-1.4%, 3.4%]156

3 Regressions, 1 Improvement, 7 Mixed; 3 of them in rollups 37 artifact comparisons made in total

Regressions

feat: Use annotate-snippets by default on nightly #148188 (Comparison Link)

(instructions:u)meanrangecount
Regressions (primary)0.8%[0.3%, 2.9%]21
Regressions (secondary)0.4%[0.2%, 0.6%]6
Improvements (primary)--0
Improvements (secondary)-0.0%[-0.0%, -0.0%]1
All (primary)0.8%[0.3%, 2.9%]21

Likely some opportunity for improvements in annotate-snippets, but not particularly large or widespresad regressions in our suite.

mgca: Add ConstArg representation for const items #139558 (Comparison Link)

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

Required next step for min_generic_const_args, regressions are within range to be acceptable.

Encode cfg trace, not its early counterpart to fix cross-crate doc(auto_cfg) #148660 (Comparison Link)

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

Bug fix. See https://github.com/rust-lang/rust/pull/148660#issuecomment-3505481311 for details.

Improvements

Liveness: Cache the set of string constants for suggestions. #147641 (Comparison Link)

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

Mixed

Revert “unicode_data refactors RUST-147622” #148436 (Comparison Link)

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

Nothing particularly interesting: “Performance-wish it’s a wash, and this is a revert anyway.”

Add LLVM range attributes to slice length parameters #148350 (Comparison Link)

(instructions:u)meanrangecount
Regressions (primary)0.2%[0.2%, 0.2%]1
Regressions (secondary)0.7%[0.1%, 2.0%]29
Improvements (primary)-0.3%[-0.5%, -0.1%]6
Improvements (secondary)-0.3%[-0.7%, -0.1%]27
All (primary)-0.3%[-0.5%, 0.2%]7

Primary benchmarks seeing mostly improvements. See more detailed analysis.

Rollup of 4 pull requests #148472 (Comparison Link)

(instructions:u)meanrangecount
Regressions (primary)--0
Regressions (secondary)0.5%[0.1%, 0.9%]8
Improvements (primary)--0
Improvements (secondary)-0.6%[-0.6%, -0.5%]3
All (primary)--0

My sense is that the large workspace crate is probably weakly (sparsely?) bimodal given those results. Could be an interesting thing to dig into but not particularly worthwhile here.

Rollup of 6 pull requests #148507 (Comparison Link)

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

Regressions look likely to be bimodality to me.

Add LLVM realtime sanitizer #147935 (Comparison Link)

(instructions:u)meanrangecount
Regressions (primary)0.1%[0.1%, 0.1%]1
Regressions (secondary)0.1%[0.1%, 0.1%]5
Improvements (primary)-1.2%[-1.2%, -1.2%]1
Improvements (secondary)-1.2%[-1.2%, -1.2%]1
All (primary)-0.5%[-1.2%, 0.1%]2

Regressions seem plausibly real, but the change doesn’t seem likely to be further tweakable to reduce them. Marking as triaged.

Rollup of 22 pull requests #148721 (Comparison Link)

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

Still searching for the cause of the regression.

stop specializing on Copy #135634 (Comparison Link)

(instructions:u)meanrangecount
Regressions (primary)0.7%[0.1%, 3.2%]110
Regressions (secondary)0.8%[0.1%, 1.8%]50
Improvements (primary)-0.9%[-1.4%, -0.5%]2
Improvements (secondary)-0.4%[-0.5%, -0.1%]7
All (primary)0.7%[-1.4%, 3.2%]112

Expected widespread changes, this is largely a soundness fix.

Nominated Issues

T-compiler

  • None

RFC

  • No I-compiler-nominated RFCs this time.

Oldest PRs waiting for review

T-compiler

  • “[Debug Info] Generate typedef nodes for ptr/ref types (and msvc arrays)” rust#144394 (last review activity: 2 months ago)
    • cc @Wesley Wiser lost a bit track on this one. Anything new after this comment?
  • “minimally implement is (RFC 3573), sans parsing” rust#144174 (last review activity: 3 months ago)
    • Waiting on a review (from who?) maybe waiting on author?
  • “Suggest only Span without source changes when source code is unavailable” rust#144585 (last review activity: 3 months ago)
    • cc @Esteban Küber
  • “More iter().last() -> last(), iter().next() -> first()rust#145402 (last review activity: 3 months ago)
    • This was r’ed by Esteban, unsure if Michael can look at it right now

Next meetings’ agenda draft: hackmd link