Try   HackMD

T-compiler Meeting Agenda 2025-07-03

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: "Reduce mismatched-lifetime-syntaxes suggestions to MaybeIncorrect" rust#142980
    • Authored by shepmaster
    • Fixes #142998, fixes an annoying multiple lint suggestion generated from cargo fix (comment)
    • Voting Zulip topic, in favor
  • :beta: "Fix hang in print=file-names in bootstrap" rust#142928
    • This is a bootstrap backport, nominated by @Wesley Wiser (do we approve their backports as well?)
    • Voting Zulip topic, in favor
  • :stable: "Do not ICE when reassigning in GatherLocalsVisitor on the bad path" rust#140827
    • Authored by compiler-errors
    • Nominated by @_cyrgani in comment
    • Fixes a bunch of reported ICEs (#140785 #140730 #143188 #143209) but they don't seem critical
    • Voting Zulip topic, generally not in favor

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

  • No unassigned P-high nightly regressions this time.

Performance logs

triage logs 2025-06-30

Lots of changes this week with results dominated by the 1-5% improvements from
#142941 across lots of primary
benchmarks in the suite.

Triage done by @simulacrum.
Revision range: 42245d34..ad3b7257

Summary:

(instructions:u) mean range count
Regressions (primary) 2.9% [0.2%, 21.6%] 16
Regressions (secondary) 1.5% [0.1%, 13.5%] 38
Improvements (primary) -0.9% [-4.5%, -0.1%] 99
Improvements (secondary) -6.2% [-67.9%, -0.1%] 100
All (primary) -0.4% [-4.5%, 21.6%] 115

3 Regressions, 6 Improvements, 5 Mixed; 4 of them in rollups
39 artifact comparisons made in total

Regressions

Rollup of 10 pull requests #143091 (Comparison Link)

(instructions:u) mean range count
Regressions (primary) - - 0
Regressions (secondary) 2.1% [0.1%, 2.7%] 7
Improvements (primary) - - 0
Improvements (secondary) -0.1% [-0.1%, -0.1%] 1
All (primary) - - 0

Regressions in ctfe and match stress tests, trying to find the PR that
introduced them in case there's obvious tweaks, but not particularly
noteworthy given the limited impact.

Rollup of 9 pull requests #143116 (Comparison Link)

(instructions:u) mean range count
Regressions (primary) - - 0
Regressions (secondary) 1.1% [0.9%, 1.3%] 9
Improvements (primary) - - 0
Improvements (secondary) - - 0
All (primary) - - 0

Regressions are in the coercions stress test, not clear which of the rolled
up PRs caused it. Started one candidate perf run.

Rollup of 11 pull requests #143173 (Comparison Link)

(instructions:u) mean range count
Regressions (primary) 0.5% [0.3%, 0.7%] 2
Regressions (secondary) - - 0
Improvements (primary) - - 0
Improvements (secondary) - - 0
All (primary) 0.5% [0.3%, 0.7%] 2

Likely due to #142641 which
added extra work to proc-macro crates, which are the benchmarks affected here.

Improvements

Encode hir attributes cross-crate properly #142777 (Comparison Link)

(instructions:u) mean range count
Regressions (primary) - - 0
Regressions (secondary) - - 0
Improvements (primary) -0.4% [-1.4%, -0.1%] 16
Improvements (secondary) -0.6% [-1.3%, -0.2%] 20
All (primary) -0.4% [-1.4%, -0.1%] 16

Rollup of 8 pull requests #143057 (Comparison Link)

(instructions:u) mean range count
Regressions (primary) - - 0
Regressions (secondary) - - 0
Improvements (primary) -0.4% [-0.4%, -0.3%] 3
Improvements (secondary) - - 0
All (primary) -0.4% [-0.4%, -0.3%] 3

Fast path for WF goals in new solver #142223 (Comparison Link)

(instructions:u) mean range count
Regressions (primary) - - 0
Regressions (secondary) - - 0
Improvements (primary) -0.2% [-0.4%, -0.1%] 8
Improvements (secondary) -1.5% [-3.5%, -0.3%] 13
All (primary) -0.2% [-0.4%, -0.1%] 8

Collapse Analysis|Borrowck|PostBorrowckAnalysis when there are no opaques #142802 (Comparison Link)

(instructions:u) mean range count
Regressions (primary) - - 0
Regressions (secondary) 0.2% [0.1%, 0.2%] 2
Improvements (primary) - - 0
Improvements (secondary) -2.4% [-7.5%, -0.5%] 14
All (primary) - - 0

Shallowly bail from coerce_unsized more #142941 (Comparison Link)

(instructions:u) mean range count
Regressions (primary) - - 0
Regressions (secondary) 0.8% [0.8%, 0.8%] 1
Improvements (primary) -0.8% [-4.6%, -0.2%] 84
Improvements (secondary) -5.6% [-21.6%, -0.1%] 71
All (primary) -0.8% [-4.6%, -0.2%] 84

Mixed

update to literal-escaper 0.0.4 for better API without unreachable and faster string parsing #140999 (Comparison Link)

(instructions:u) mean range count
Regressions (primary) 0.2% [0.2%, 0.3%] 3
Regressions (secondary) 0.3% [0.3%, 0.3%] 1
Improvements (primary) - - 0
Improvements (secondary) -0.7% [-1.2%, -0.4%] 16
All (primary) 0.2% [0.2%, 0.3%] 3

Regressions limited to stm32f4, some mild improvements, doesn't seem worth
further investigation.

Stop collecting unmentioned constants #142893 (Comparison Link)

(instructions:u) mean range count
Regressions (primary) 19.2% [17.2%, 21.2%] 2
Regressions (secondary) 9.1% [6.0%, 13.4%] 5
Improvements (primary) -1.6% [-2.3%, -0.8%] 8
Improvements (secondary) -67.8% [-67.9%, -67.8%] 2
All (primary) 2.6% [-2.3%, 21.2%] 10

Regressed benchmarks are incremental scenarios which have changed codegen units
overall, this is an improvement in the typical case.

Don't fold in Instantiate when there's nothing to fold #142317 (Comparison Link)

(instructions:u) mean range count
Regressions (primary) 0.2% [0.1%, 0.3%] 9
Regressions (secondary) - - 0
Improvements (primary) -0.2% [-0.3%, -0.1%] 3
Improvements (secondary) -2.6% [-2.9%, -2.4%] 6
All (primary) 0.1% [-0.3%, 0.3%] 12

Some mixed results from this but improvements were deemed as outweighing the
regressions (comment).

Only compute recursive callees once. #142625 (Comparison Link)

(instructions:u) mean range count
Regressions (primary) 0.4% [0.3%, 0.6%] 3
Regressions (secondary) 0.3% [0.3%, 0.3%] 2
Improvements (primary) -1.3% [-2.5%, -0.2%] 2
Improvements (secondary) - - 0
All (primary) -0.3% [-2.5%, 0.6%] 5

Per the PR description makes some intentional tradeoffs between two variants of
implementation and is overall an improvement or neutral.

Stop backends from needing to support nullary intrinsics #142839 (Comparison Link)

(instructions:u) mean range count
Regressions (primary) 2.7% [2.7%, 2.7%] 1
Regressions (secondary) - - 0
Improvements (primary) -0.3% [-0.4%, -0.3%] 5
Improvements (secondary) - - 0
All (primary) 0.2% [-0.4%, 2.7%] 6

Some slight changes, no particularly significant changes.

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

  • "[Coverage][MCDC] Do not initialize mcdc parameters for instances containing no mcdc statements" rust#129989 (last review activity: 3 months ago)
    • Assigned reviewer @Zalathar last expressed concerns about the PR
    • I wonder if we should discuss this, there is a tracking issue for MCDC coverage
  • "Do not eagerly reject inference vars when trying to resolve method calls." rust#126316 (last review activity: 2 months ago)
    • cc @lcnr (just reminder, but it's something to work with Oli)
  • "Do not run per-module late lints if they can be all skipped" rust#139597 (last review activity: 2 months ago)
    • cc: @Boxy
  • "Suppress suggestions while span is in external library" rust#139316 (last review activity: 2 months ago)
    • unsure about this one, seems it needs some design first (comment)
  • "Don't lint against named labels in naked_asm!" rust#140871 (last review activity: about 53 days ago)
    • cc @Michael (compiler-errors) Goulet

Next meetings' agenda draft: hackmd link