T Compiler Meeting Agenda 2025 08 14

T-compiler Meeting Agenda 2025-08-14

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

  • :beta: “Ignore coroutine witness type region args in auto trait confirmation” rust#145194
    • Authored by compiler-errors
    • Voting Zulip topic: as suggested in comment by Boxy, we could decline this backport and instead let #145338 fix the regression
    • So probably backport both #145194 and #145338 (see comment)
  • :beta: “fix drop scope for super let bindings within if letrust#145342
    • Authored by dianne
    • Fixes two related p-critical regressions (#145328 and #145374)
    • Voting Zulip topic in favor
  • :stable: “fix drop scope for super let bindings within if letrust#145342
    • Authored by dianne
    • Voting Zulip topic
    • Ongoing discussion about a dot release

T-types beta / T-types stable

  • :beta:“Make sure to treat only param where clauses as inherent” rust#145262
    • Authored by compiler-errors
    • (No voting Zulip topic)
    • Fixes #145185 (P-medium but maybe wrong assessment on my side)
  • :stable:“Make sure to treat only param where clauses as inherent” rust#145262
    • Authored by compiler-errors
    • @_scottmcm makes a good argument (comment) for backporting

PRs S-waiting-on-team

T-compiler

Issues of Note

Short Summary

P-critical

T-compiler

  • pin!() has incorrect/unexpected drop order inside if-let.” rust#145328
    • resolved by #145342

T-types

  • No P-critical issues for T-types this time.

P-high regressions

P-high beta regressions

  • “E0275 is occuring in beta 1.90.0-beta.1 but not in stable 1.89.0” rust#145151
    • maybe resolved by #145194 and probably a follow up patch (see comment and previous one)

Unassigned P-high nightly regressions

  • No unassigned P-high nightly regressions this time.

Performance logs

triage logs 2025-08-11

This week saw almost no regressions, while we got some nice wins. One of them was #143684, which updated the LLVM version used by the Rust compiler to 21.

Triage done by @kobzol. Revision range: 07b7dc90..6355cd39

Summary:

(instructions:u)meanrangecount
Regressions (primary)0.5%[0.2%, 0.8%]3
Regressions (secondary)0.7%[0.1%, 1.5%]8
Improvements (primary)-1.5%[-22.8%, -0.2%]219
Improvements (secondary)-2.9%[-18.8%, -0.1%]256
All (primary)-1.5%[-22.8%, 0.8%]222

2 Regressions, 2 Improvements, 9 Mixed; 5 of them in rollups 37 artifact comparisons made in total

Regressions

Revert #143906 #145116 (Comparison Link)

(instructions:u)meanrangecount
Regressions (primary)--0
Regressions (secondary)0.4%[0.2%, 0.6%]10
Improvements (primary)--0
Improvements (secondary)--0
All (primary)--0
  • The tiny regressions were noise.
  • Marked as triaged.

Rollup of 7 pull requests #145236 (Comparison Link)

(instructions:u)meanrangecount
Regressions (primary)0.3%[0.2%, 0.5%]6
Regressions (secondary)0.4%[0.1%, 0.5%]17
Improvements (primary)--0
Improvements (secondary)--0
All (primary)0.3%[0.2%, 0.5%]6
  • Tiny doc-only regressions caused by adding more const to the standard library.
  • Marked as triaged.

Improvements

Simplify dead code lint #144863 (Comparison Link)

(instructions:u)meanrangecount
Regressions (primary)--0
Regressions (secondary)0.0%[0.0%, 0.0%]1
Improvements (primary)-0.5%[-1.5%, -0.1%]82
Improvements (secondary)-0.3%[-0.6%, -0.1%]12
All (primary)-0.5%[-1.5%, -0.1%]82

Implement stability_implications without a visitor. #144873 (Comparison Link)

(instructions:u)meanrangecount
Regressions (primary)--0
Regressions (secondary)--0
Improvements (primary)-0.3%[-0.3%, -0.1%]41
Improvements (secondary)-0.9%[-3.0%, -0.2%]26
All (primary)-0.3%[-0.3%, -0.1%]41

Mixed

Update to LLVM 21 #143684 (Comparison Link)

(instructions:u)meanrangecount
Regressions (primary)0.5%[0.2%, 0.9%]5
Regressions (secondary)1.3%[0.4%, 1.8%]19
Improvements (primary)-1.3%[-23.1%, -0.2%]216
Improvements (secondary)-2.7%[-19.0%, -0.1%]266
All (primary)-1.3%[-23.1%, 0.9%]221
  • Improvements outweigh the regressions.
  • Marked as triaged.

Preserve the .debug_gdb_scripts section #143679 (Comparison Link)

(instructions:u)meanrangecount
Regressions (primary)103.7%[55.2%, 152.2%]2
Regressions (secondary)0.5%[0.5%, 0.6%]3
Improvements (primary)--0
Improvements (secondary)-1.8%[-4.6%, -0.0%]6
All (primary)103.7%[55.2%, 152.2%]2
  • This change probably caused some incremental query invalidations.
  • It was reverted in #145014.
  • Marked as triaged.

Rollup of 15 pull requests #145020 (Comparison Link)

(instructions:u)meanrangecount
Regressions (primary)0.2%[0.1%, 0.2%]2
Regressions (secondary)0.3%[0.1%, 0.7%]4
Improvements (primary)--0
Improvements (secondary)-0.0%[-0.0%, -0.0%]1
All (primary)0.2%[0.1%, 0.2%]2
  • The regression is genuine, but so small that it doesn’t seem worth it to investigate it further.
  • Marked as triaged.

Revert “Preserve the .debug_gdb_scripts section” #145014 (Comparison Link)

(instructions:u)meanrangecount
Regressions (primary)--0
Regressions (secondary)2.8%[0.6%, 4.8%]4
Improvements (primary)-48.0%[-60.4%, -35.6%]2
Improvements (secondary)-0.5%[-0.5%, -0.5%]3
All (primary)-48.0%[-60.4%, -35.6%]2
  • Revert of #143679.
  • Marked as triaged.

Rollup of 19 pull requests #145043 (Comparison Link)

(instructions:u)meanrangecount
Regressions (primary)0.4%[0.2%, 0.5%]4
Regressions (secondary)0.3%[0.1%, 0.5%]8
Improvements (primary)--0
Improvements (secondary)-0.3%[-0.3%, -0.3%]2
All (primary)0.4%[0.2%, 0.5%]4
  • The regressions look genuine, but also are tiny.
  • Marked as triaged.

Rollup of 9 pull requests #145074 (Comparison Link)

(instructions:u)meanrangecount
Regressions (primary)0.8%[0.1%, 4.3%]126
Regressions (secondary)0.6%[0.1%, 1.5%]39
Improvements (primary)--0
Improvements (secondary)-1.8%[-2.9%, -0.1%]9
All (primary)0.8%[0.1%, 4.3%]126
  • The regression was caused by #144857.
  • The mentioned PR was reverted in #145086.
  • Marked as triaged.

Rollup of 19 pull requests #145077 (Comparison Link)

(instructions:u)meanrangecount
Regressions (primary)--0
Regressions (secondary)0.1%[0.1%, 0.1%]3
Improvements (primary)-1.0%[-1.0%, -1.0%]1
Improvements (secondary)-0.4%[-0.6%, -0.2%]12
All (primary)-1.0%[-1.0%, -1.0%]1
  • Some of the improvements were likely noise, but overall it was a wash.
  • Marked as triaged.

Revert “Port #[allow_internal_unsafe] to the new attribute system” #145086 (Comparison Link)

(instructions:u)meanrangecount
Regressions (primary)--0
Regressions (secondary)2.8%[2.6%, 2.9%]6
Improvements (primary)-0.8%[-4.1%, -0.1%]121
Improvements (secondary)-0.7%[-1.4%, -0.1%]39
All (primary)-0.8%[-4.1%, -0.1%]121
  • Revert of #144857.
  • Marked as triaged.

Stop using uadd.with.overflow #145144 (Comparison Link)

(instructions:u)meanrangecount
Regressions (primary)0.2%[0.2%, 0.2%]1
Regressions (secondary)--0
Improvements (primary)-0.3%[-0.3%, -0.2%]7
Improvements (secondary)-0.5%[-0.8%, -0.2%]14
All (primary)-0.2%[-0.3%, 0.2%]8
  • More improvements than regressions.
  • Already 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

T-compiler

  • “Allow &raw [mut | const] for union field in safe” rust#141469 (last review activity: 2 months ago)
    • cc @Michael (compiler-errors) Goulet
  • “diagnostics: hide expansion of builtin-like macros” rust#141314 (last review activity: 2 months ago)
    • cc @Vadim Petrochenkov
  • “error out when repr(align) exceeds COFF limit” rust#142638 (last review activity: about 57 days ago)
    • cc: @Jubilee

Next meetings’ agenda draft: hackmd link