T Compiler Meeting Agenda 2025 12 04

T-compiler Meeting Agenda 2025-12-04

Announcements

  • Next week Rust 1.921 release (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).

MCPs/FCPs

Backport nominations

T-compiler beta / T-compiler stable

  • :beta: “CTFE: avoid emitting a hard error on generic normalization failures” rust#149501
    • Authored by lcnr (thanks!!)
    • Fixes #149081, a P-critical regression, see Zulip prioritization thread
    • Voting Zulip topic
    • Author comments that this fix a bit iffy but together with the downstream patch from the Py03 maintainer, but in the short term this should be ok
    • In addition/alternative we can revert #149081
  • 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

2025-12-03 Triage Log

A fairly quiet week overall, despite a slightly higher than usual amount of merged PRs.

Triage done by @simulacrum. Revision range: b64df9d1..eca9d93f

Summary:

(instructions:u)meanrangecount
Regressions (primary)0.5%[0.2%, 1.0%]152
Regressions (secondary)0.7%[0.1%, 2.4%]98
Improvements (primary)-0.3%[-1.3%, -0.1%]23
Improvements (secondary)-0.3%[-1.1%, -0.1%]53
All (primary)0.4%[-1.3%, 1.0%]175

3 Regressions, 1 Improvement, 4 Mixed; 3 of them in rollups 43 artifact comparisons made in total

Regressions

Rollup of 12 pull requests #149351 (Comparison Link)

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

This regressed due to #147936 which added intrinsics for offload on the large-workspace benchmark. It’s not clear why this had such a large effect though.

Rollup of 6 pull requests #149387 (Comparison Link)

(instructions:u)meanrangecount
Regressions (primary)--0
Regressions (secondary)1.7%[0.1%, 2.6%]4
Improvements (primary)--0
Improvements (secondary)--0
All (primary)--0

This regressed some next-solver benchmarks. Root cause not investigated but surface level inspection suggests this is a bug fix so probably warranted, marked as triaged.

Rollup of 3 pull requests #149462 (Comparison Link)

(instructions:u)meanrangecount
Regressions (primary)0.5%[0.1%, 1.0%]160
Regressions (secondary)0.6%[0.1%, 2.0%]82
Improvements (primary)--0
Improvements (secondary)-0.5%[-0.5%, -0.5%]1
All (primary)0.5%[0.1%, 1.0%]160

This is due to ongoing work to support open APIs, see comment with analysis.

Improvements

Remove context-dependent ! fallback #148871 (Comparison Link)

(instructions:u)meanrangecount
Regressions (primary)--0
Regressions (secondary)--0
Improvements (primary)-0.3%[-0.4%, -0.1%]38
Improvements (secondary)-0.3%[-0.5%, -0.1%]40
All (primary)-0.3%[-0.4%, -0.1%]38

Mixed

v0 mangling for std on nightly #149148 (Comparison Link)

(instructions:u)meanrangecount
Regressions (primary)0.8%[0.6%, 0.8%]5
Regressions (secondary)0.5%[0.0%, 0.9%]23
Improvements (primary)--0
Improvements (secondary)-0.3%[-1.1%, -0.1%]5
All (primary)0.8%[0.6%, 0.8%]5

Expected regressions due to binary size increases, see comment.

Fix issue with callsite inline attribute not being applied sometimes. #147404 (Comparison Link)

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

Mixed results. Arguably a correctness fix, so marking as triaged. Regressions are due to doing a bit more work in codegen.

Compute jump threading opportunities in a single pass #142821 (Comparison Link)

(instructions:u)meanrangecount
Regressions (primary)0.4%[0.1%, 0.8%]18
Regressions (secondary)0.2%[0.1%, 1.0%]19
Improvements (primary)-0.7%[-1.4%, -0.3%]8
Improvements (secondary)-0.3%[-0.8%, -0.1%]27
All (primary)0.1%[-1.4%, 0.8%]26

Mixed results as expected from MIR opt changes. Generally only a slight regression and the PR has other benefits (simplification of code and what looks like binary size wins).

Move even more early buffered lints to dyn lint diagnostics #147634 (Comparison Link)

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

Only a single secondary run regressed (ucd) so while it doesn’t look spurious I don’t think it merits investigation, especially coupled with some improvements. Marking as triaged.

Nominated Issues

T-compiler

  • No I-compiler-nominated issues this time.

RFC

  • No I-compiler-nominated RFCs this time.

Next meetings’ agenda draft: hackmd link