T Compiler Meeting Agenda 2026 04 30

T-compiler Meeting Agenda 2026-04-30

Announcements

  • (TIP) add here non-recurrent scheduled meetings, check the schedule calendar
  • 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 meetings

MCPs/FCPs

Backport nominations

T-compiler beta / T-compiler stable

  • :beta: “codegen-options docs: remove -Csoft-float” rust#155514
    • Authored by RalfJung
    • updates a Markdown file about the removal of this flag, nothing critical apparently
    • Voting Zulip topic, in favor
  • :beta: “dlltool: Set the working directory to workaround --temp-prefix bug” rust#155899
    • Authored by ChrisDenton
    • PR was just merged
    • Voting Zulip topic, not yet a clear consensus
    • while I (@_apiraino) have flagged #155591 as P-critical, we’re still not sure of its impact
  • :stable: “dlltool: Set the working directory to workaround --temp-prefix bug” rust#155899
    • Authored by ChrisDenton
    • Voting Zulip topic, in favor of a patch-release in case planned, (which for now doesn’t seem the case)

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

  • “1.96 beta regression: “lua does not live long enough”, take 2” rust#155902
    • Will be fixed by #155915 authored by @_dianne
    • backport nominated (T-libs call)

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 for 2026-04-27

Relatively few perf-affecting changes this week. Perf report is more positive than users should see due to the -Zincremental-verify-ich related improvements in #155473.

Triage done by @simulacrum. Revision range: 9ab01ae5..ca9a134e

Summary:

(instructions:u)meanrangecount
Regressions (primary)0.8%[0.4%, 2.0%]17
Regressions (secondary)0.4%[0.0%, 1.7%]10
Improvements (primary)-0.8%[-2.8%, -0.2%]137
Improvements (secondary)-1.0%[-5.3%, -0.0%]176
All (primary)-0.6%[-2.8%, 2.0%]154

1 Regression, 5 Improvements, 3 Mixed; 3 of them in rollups 32 artifact comparisons made in total

Regressions

privacy: Assert that compared visibilities are (usually) ordered #155257 (Comparison Link)

(instructions:u)meanrangecount
Regressions (primary)0.4%[0.2%, 0.7%]12
Regressions (secondary)--0
Improvements (primary)--0
Improvements (secondary)--0
All (primary)0.4%[0.2%, 0.7%]12

This regressed in typenum and libc, both of which have many imports/items declared. Based on PR discussion, it sounds like this is an intentional regression with a goal of identifying potential bugs in the wild where visibilities don’t match expectations. https://github.com/rust-lang/rust/pull/155608 is a potential improvement mitigating the impact.

Improvements

Replace ShardedHashMap method insert with debug-checked insert_unique #155550 (Comparison Link)

(instructions:u)meanrangecount
Regressions (primary)--0
Regressions (secondary)--0
Improvements (primary)-0.4%[-0.7%, -0.2%]9
Improvements (secondary)-0.5%[-0.7%, -0.2%]21
All (primary)-0.4%[-0.7%, -0.2%]9

Streamline CrateMetadataRef construction in provide_one!. #155628 (Comparison Link)

(instructions:u)meanrangecount
Regressions (primary)--0
Regressions (secondary)--0
Improvements (primary)-0.5%[-1.3%, -0.3%]14
Improvements (secondary)-0.8%[-2.2%, -0.2%]30
All (primary)-0.5%[-1.3%, -0.3%]14

Permit {This} in diagnostic attribute format literals #155662 (Comparison Link)

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

Prefer -1 for None #155473 (Comparison Link)

(instructions:u)meanrangecount
Regressions (primary)--0
Regressions (secondary)0.7%[0.2%, 1.9%]5
Improvements (primary)-0.3%[-2.7%, -0.1%]67
Improvements (secondary)-0.3%[-0.8%, -0.1%]52
All (primary)-0.3%[-2.7%, -0.1%]67

Rollup of 10 pull requests #155655 (Comparison Link)

(instructions:u)meanrangecount
Regressions (primary)--0
Regressions (secondary)0.1%[0.0%, 0.1%]2
Improvements (primary)-0.8%[-3.7%, -0.2%]110
Improvements (secondary)-1.2%[-5.5%, -0.0%]83
All (primary)-0.8%[-3.7%, -0.2%]110

The few regressions in include-blob look to be potentially noise. Marked as triaged. The majority or all of the improvements are mostly not going to affect users, they’re specific to -Zincremental-verify-ich which is not on by default (but is on in the perf collector). See comment.

Mixed

Rollup of 6 pull requests #155596 (Comparison Link)

(instructions:u)meanrangecount
Regressions (primary)1.0%[0.3%, 2.1%]14
Regressions (secondary)0.6%[0.6%, 0.7%]7
Improvements (primary)--0
Improvements (secondary)-0.2%[-0.2%, -0.2%]3
All (primary)1.0%[0.3%, 2.1%]14

Ran perf runs on PRs inside the rollup and identified root cause as “Fix #[expect(dead_code)] liveness propagation” #154377. Marked the regression as triaged since that is a correctness fix and I suspect the regression is isolated in instruction count rather than wall clock changes.

AliasTerm refactor #155392 (Comparison Link)

(instructions:u)meanrangecount
Regressions (primary)0.5%[0.1%, 0.9%]19
Regressions (secondary)0.3%[0.0%, 0.7%]19
Improvements (primary)-0.3%[-0.4%, -0.2%]10
Improvements (secondary)-0.3%[-0.5%, -0.2%]9
All (primary)0.2%[-0.4%, 0.9%]29

Asked whether we think the tradeoff is worth it on the PR.

Rollup of 7 pull requests #155687 (Comparison Link)

(instructions:u)meanrangecount
Regressions (primary)0.3%[0.2%, 0.5%]16
Regressions (secondary)0.1%[0.1%, 0.1%]3
Improvements (primary)--0
Improvements (secondary)-0.5%[-0.7%, -0.2%]14
All (primary)0.3%[0.2%, 0.5%]16

Unclear what the root cause is. Kicked off a build on #155469.

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

  • “fix(interp): Treat UnsafeBinder as Compound Type in try_visit_primitiverust#153458 (last review activity: about 55 days ago)
    • cc @dingxiangfei2009
  • “Use trait_object_dummy_self more & heavily fix+update related docs” rust#153497 (last review activity: about 54 days ago)
    • cc @dingxiangfei2009
  • “Add suggestion for E0401 on inner const items” rust#153566 (last review activity: about 52 days ago)
    • cc @esteban

Next meetings’ agenda draft: hackmd link