T Compiler Meeting Agenda 2025 09 18

T-compiler Meeting Agenda 2025-09-18

Announcements

  • Today release of Rust 1.90.0, 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

MCPs/FCPs

Backport nominations

T-compiler beta / T-compiler stable

  • :beta: “don’t apply temporary lifetime extension rules to non-extended super letrust#145838
    • Authored by dianne, nominated again by @_theemathas (due to T-lang approving this)
    • Beta channel is intended for the next 1.91 (IIUC)
    • Breaking change, just merged
    • Voting Zulip topic. preference is to decline (noting @_TC opposite opinion in the discussion)
  • :beta: “[beta] Revert “compiler: Add Windows resources to rustc-main and rustc_driver”” rust#146687
    • Authored by lambdageek
    • Reverts #146018 (also authored by lambdageek) which breaks compiling rustc on Windows (#146693)
    • Voting Zulip topic, in favor.
    • Note: for the master branch, seems the plan is to work on a different patch (#146689, see comment)
  • 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-team

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

  • alloc-variant-zeroed causing issues with LTO” rust#145995
    • this is slowly entering beta and has no assignee yet. Though @Nikita Popov is aware of it (comments from here)

triage logs for 2025-09-15

Difficult week to interpret, because a positive change in #145910 performs a bit worse in our benchmarks than it would in the real world. Overall result is probably still slightly negative, because there’s more work from added features. On the other hand, we also have a nice improvement in reducing the number of query dependencies in compiler’s incremental system in #145186.

Triage done by @panstromek. Revision range: f13ef0d7..52618eb3

Summary:

(instructions:u)meanrangecount
Regressions (primary)0.5%[0.2%, 2.7%]72
Regressions (secondary)0.7%[0.0%, 3.5%]96
Improvements (primary)-0.5%[-0.9%, -0.1%]10
Improvements (secondary)-0.8%[-2.9%, -0.1%]41
All (primary)0.4%[-0.9%, 2.7%]82

1 Regression, 1 Improvement, 6 Mixed; 3 of them in rollups 36 artifact comparisons made in total

Regressions

consider item bounds for non-yet-defined opaque types #146329 (Comparison Link)

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

tt-muncher, ucd and tuple-stress all look like noise to me. The rest is in new-solver, which is still WIP and not enabled by default.

Improvements

Make AssocItem aware of its impl kind #145186 (Comparison Link)

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

Mixed

Rollup of 4 pull requests #146304 (Comparison Link)

(instructions:u)meanrangecount
Regressions (primary)0.3%[0.1%, 0.4%]8
Regressions (secondary)0.4%[0.1%, 0.9%]13
Improvements (primary)-0.2%[-0.2%, -0.2%]1
Improvements (secondary)-2.7%[-2.9%, -2.5%]6
All (primary)0.2%[-0.2%, 0.4%]9

Seems to be caused by https://github.com/rust-lang/rust/pull/146297, pinged the author and continuing the discussion there.

Ignore intrinsic calls in cross-crate-inlining cost model #145910 (Comparison Link)

(instructions:u)meanrangecount
Regressions (primary)1.0%[0.3%, 2.4%]10
Regressions (secondary)1.9%[0.2%, 3.0%]9
Improvements (primary)-0.5%[-0.7%, -0.4%]5
Improvements (secondary)-0.4%[-0.6%, -0.1%]14
All (primary)0.5%[-0.7%, 2.4%]15

Already triaged by reviewer. Justified in PR description. Should be an improvement overall, but causes a lot of CGU perturbation in our benchmark suite.

eagerly compute sub_unification_table again #140375 (Comparison Link)

(instructions:u)meanrangecount
Regressions (primary)0.3%[0.1%, 1.4%]61
Regressions (secondary)0.6%[0.1%, 2.7%]71
Improvements (primary)-0.4%[-0.8%, -0.1%]3
Improvements (secondary)-0.9%[-2.9%, -0.2%]21
All (primary)0.3%[-0.8%, 1.4%]64

Expected regression, triaged by author and @Kobzol

Rollup of 11 pull requests #146360 (Comparison Link)

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

Tiny changes mostly in artificial stress tests, overall slightly positive. Probably not worth more investigation.

Rollup of 5 pull requests #146409 (Comparison Link)

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

Some small regressions. I suspect the primary regressions in unicode-normalization come from https://github.com/rust-lang/rust/pull/144765, because it contains a few giant tables with a lot of range patterns. The other candidate would be https://github.com/rust-lang/rust/pull/146178 but I don’t see anything that would be related in that benchmark.

Either way, together with the secondary benchmarks, all of those are tiny changes (0.002s) on tiny benchmarks, so I don’t think this is worth more investigation.

Constify Eq, Ord, PartialOrd #144847 (Comparison Link)

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

Slight regression in doc benchmarks, similar to pre-merge results. Expected because of more const handling (looks like more time is spent in const related queries from a brief look at the detailed results of hello-world: https://perf.rust-lang.org/detailed-query.html?commit=5c11fb842afc9876e985886c30292a227caee632&benchmark=helloworld-doc&scenario=full&base_commit=a171994070dc18c3a32fc1aa2d98cf03ae96b63e)

Justified by https://github.com/rust-lang/rust/pull/144847#issuecomment-3193410781, if I understand correctly.

Nominated Issues

T-compiler

  • “Stabilize -Zno-jump-tables into -Cjump-tables=bool” rust#145974
    • Nominated by @Trevor Gross
    • Opinion from Ojeda (RfL)
    • Seems reaady for a discussion (or start FCP)

RFC

  • No I-compiler-nominated RFCs this time.

Oldest PRs waiting for review

T-compiler

  • “Tweak output of missing lifetime on associated type” rust#135602 (last review activity: 5 months ago)
    • cc: @Nadrieril (probably review of #145314 comes first, see comment)
  • “Add FileCheck annotations to mir-opt/copy-prop” rust#135099 (last review activity: 5 months ago)
    • cc @Wesley Wiser
  • “Issue-125323: ICE non-ADT in struct pattern when long time constant evaluation is in for loop” rust#138679 (last review activity: 4 months ago)
    • cc: @oli or @Michael Goulet (compiler-errors) (both have been guiding and mentoring the author)
  • “diagnostics: hide expansion of builtin-like macros” rust#141314 (last review activity: about 57 days ago)
    • cc @Vadim Petrochenkov
  • “Update bundled musl to 1.2.5” rust#142682 (last review activity: about 49 days ago)
    • @Wesley Wiser (recent crater run returned a lot of spurious breakages)
  • “[lib] In-place initialization infrastructure” rust#142518 (last review activity: 3 months ago)
    • seems more for T-libs but @Michael Goulet (compiler-errors) was mentioned
  • “Remove fewer Storage calls in CopyProp and GVN” rust#142531 (last review activity: 2 months ago)
    • was partially approved (comment). Status? Need a review from someone familiar with LLVM? cc @tm|352985 ?
  • “sanitizers: Stabilize AddressSanitizer and LeakSanitizer for the Tier 1 targets” rust#123617 (last review activity: 2 months ago)
    • status? Besides a rebase, does it need also a T-lang review? See comment

Next meeting’s agenda draft: hackmd link