T-compiler Meeting Agenda 2025-12-11
Announcements
- Today Rust 1.92 is out, WIP 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
- WG-async design meeting time:2025-11-20T13:00:00+02:00
MCPs/FCPs
- New MCPs (take a look, see if you like them!)
- “Introduce a tier-3
wasm32-componenttarget” compiler-team#948 (Zulip) - “Publish
rustc_publiccrate v0.1 to crates.io” compiler-team#949 (Zulip)
- “Introduce a tier-3
- Old MCPs (stale MCP might be closed as per MCP procedure)
- None at this time
- Old MCPs (not seconded, take a look)
- “Rename “dylib” crate type to “rdylib” (keep old name but deprecate it), and maybe do the same for “staticlib” → “cstaticlib”” compiler-team#825 (Zulip) (last review activity: about 27 days ago)
- “Relative VTables for Rust” compiler-team#903 (Zulip) (last review activity: 4 months ago)
- “Promote tvOS/watchOS/visionOS to Tier 2” compiler-team#918 (Zulip) (last review activity: 2 months ago)
- “Rename
hexagon-unknown-{none-elf,linux-musl}targets” compiler-team#921 (Zulip) (last review activity: about 55 days ago) - “Optimize
repr(Rust)enums by omitting tags in more cases involving uninhabited variants.” compiler-team#922 (Zulip) (last review activity: about 55 days ago) - “Stop bumping the bootstrap version on every rustc release” compiler-team#925 (Zulip) (last review activity: about 55 days ago)
- “Parse unstable keywords for experimental syntax” compiler-team#945 (Zulip) (last review activity: about 13 days ago)
- Pending FCP requests (check your boxes!)
- merge: Promote
riscv64a23-unknown-linux-gnuto Tier 2 with host tools (compiler-team#910)- @|125250 @|119031 @|426609 @|116122 @|116118 @|259697 @_|444933
- concerns: no-hardware-available (by davidtwco) unclear-justification (by jieyouxu)
- merge: sanitizers: Stabilize AddressSanitizer and LeakSanitizer for the Tier 1 targets (rust#123617)
- no pending checkboxes
- concerns: stabilization-scope (by wesleywiser)
- merge: Stabilize stack-protector (rust#146369)
- @|116266 @|119031 @|426609 @|444933
- concerns: mitigation-enforcement (by Noratrieb)
- merge: Revert “Do not check privacy for RPITIT.” (rust#146470)
- no pending checkboxes
- concerns: crater run results (by tmandry)
- merge: Stabilize the
supertrait_item_shadowingfeature (rust#148605)- @|116009 @|124288 @|326176 @|232957
- concerns: pending-reference-pr (by traviscross)
- merge: resolve: Report more visibility-related early resolution ambiguities for imports (rust#149596)
- @|116009 @|239881 @|614535 @|125270
- no pending concerns
- merge: Promote
- Things in FCP (make sure you’re good with it)
- “Proposal for Adapt Stack Protector for Rust” compiler-team#841 (Zulip)
- concern: lose-debuginfo-data
- concern: inhibit-opts
- concern: impl-at-mir-level
- “Promote tier 3 riscv32 ESP-IDF targets to tier 2” compiler-team#864 (Zulip)
- concern: documentation
- concern: continued-maintainer-interest
- “Proposal for a dedicated test suite for the parallel frontend” compiler-team#906 (Zulip)
- concern: name-a-specific-reason
- concern: can-we-just-enhance-ui-suite
- “Destabilise target-spec-json” compiler-team#944 (Zulip)
- concern: fcp
- “Promote powerpc64-unknown-linux-musl to tier 2 with host tools” compiler-team#946 (Zulip)
- “Use
annotate-snippetsas the default emitter” compiler-team#947 (Zulip) - “Warn on codegen attributes on required trait methods” rust#148756
- “NFC normalize lifetime identifiers” rust#149192
- “Proposal for Adapt Stack Protector for Rust” compiler-team#841 (Zulip)
- Accepted MCPs
- No new accepted proposals this time.
- MCPs blocked on unresolved concerns
- “Add hygiene attributes to compile expanded source code” compiler-team#692 (Zulip) (last review activity: 5 months ago)
- concern: path-to-stabilization
- “Basic target naming rules” compiler-team#850 (Zulip) (last review activity: 2 months ago)
- “WebAssembly for procedural macros” compiler-team#876 (Zulip) (last review activity: 4 months ago)
- concern: proposal-wording
- “Split the
-openbsd*targets by version” compiler-team#916 (Zulip) (last review activity: 2 months ago)- concern: version-churn
- concern: why-not-ports-rustc
- concern: nonsystematic-breakage
- “Remove diagnostic translation infrastructure” compiler-team#924 (Zulip) (last review activity: about 55 days ago)
- concern: people-like-structs
- “Doc comments and attributes on macro arms” compiler-team#935 (Zulip) (last review activity: about 34 days ago)
- concern: lang
- “Allow using prebuilt sanitizer libraries” compiler-team#943 (Zulip) (last review activity: about 13 days ago)
- concern: what-about-combinatorics
- concern: why-not-third-party-tool
- “Add hygiene attributes to compile expanded source code” compiler-team#692 (Zulip) (last review activity: 5 months ago)
- Finalized FCPs (disposition merge)
- “Update bundled musl to 1.2.5” rust#142682
- “Fix backtraces with
-C panic=aborton linux; emit unwind tables by default” rust#143613 - “Stabilize
-Zremap-path-scope” rust#147611 - “Better closure requirement propagation.” rust#148329
- “don’t normalize where-clauses when checking well-formedness” rust#148477
- “misc coercion cleanups and handle safety correctly” rust#148602
- Other teams finalized FCPs
- “Stabilize
const_mul_add” rust#148052 - “Better closure requirement propagation.” rust#148329
- “don’t normalize where-clauses when checking well-formedness” rust#148477
- “misc coercion cleanups and handle safety correctly” rust#148602
- “const validation: remove check for mutable refs in final value of const” rust#148746
- “Stabilize
Backport nominations
T-compiler beta / T-compiler stable
- :beta: “attempt to fix unreachable code regression” rust#149664
- Authored by Kivooeo
- (FIY) Voting Zulip topic was in favor but didn’t make it to the release cut
We have 2 more beta-1.92 regressions open (link), but:
regression: temporary value dropped while borrowed - #148974: this was an accepted breakage (#145838). Could probably close?
nightly
unused_assignmentsfalse positives formiette::Diagnosticfields - #147648: (P-medium) was fixed by #149147 but didn’t make it to the release cutNo stable nominations for
T-compilerthis time.
- No beta nominations for
T-typesthis time. - No stable nominations for
T-typesthis time.
PRs S-waiting-on-t-compiler
Issues of Note
Short Summary
- 0 T-compiler P-critical issues
- 60 T-compiler P-high issues
- 0 P-critical, 0 P-high, 1 P-medium, 0 P-low regression-from-stable-to-beta
- 0 P-critical, 0 P-high, 1 P-medium, 1 P-low regression-from-stable-to-nightly
- 0 P-critical, 34 P-high, 100 P-medium, 26 P-low regression-from-stable-to-stable
P-critical
- No
P-criticalissues forT-compilerthis time.
- No
P-criticalissues forT-typesthis time.
P-high regressions
- No
P-highbeta regressions this time.
Unassigned P-high nightly regressions
- No unassigned
P-highnightly regressions this time.
Performance logs
Overall result is negative this week, but both main regressions are on track to be addressed. No outstanding changes otherwise.
Triage done by @panstromek. Revision range: eca9d93f..55495234
Summary:
| (instructions:u) | mean | range | count |
|---|---|---|---|
| Regressions (primary) | 0.4% | [0.1%, 4.3%] | 111 |
| Regressions (secondary) | 0.4% | [0.1%, 2.2%] | 97 |
| Improvements (primary) | -1.0% | [-1.3%, -0.7%] | 2 |
| Improvements (secondary) | -0.2% | [-0.3%, -0.0%] | 9 |
| All (primary) | 0.4% | [-1.3%, 4.3%] | 113 |
3 Regressions, 2 Improvements, 3 Mixed; 3 of them in rollups 30 artifact comparisons made in total
Regressions
Rollup of 12 pull requests #149631 (Comparison Link)
| (instructions:u) | mean | range | count |
|---|---|---|---|
| Regressions (primary) | - | - | 0 |
| Regressions (secondary) | 7.4% | [0.1%, 25.0%] | 10 |
| Improvements (primary) | - | - | 0 |
| Improvements (secondary) | - | - | 0 |
| All (primary) | - | - | 0 |
Caused by https://github.com/rust-lang/rust/pull/149147, reverted in https://github.com/rust-lang/rust/pull/149657.
Add #[inline] to Layout::is_size_align_valid #149690 (Comparison Link)
| (instructions:u) | mean | range | count |
|---|---|---|---|
| Regressions (primary) | 1.2% | [0.1%, 4.3%] | 4 |
| Regressions (secondary) | 1.0% | [0.2%, 2.2%] | 8 |
| Improvements (primary) | - | - | 0 |
| Improvements (secondary) | - | - | 0 |
| All (primary) | 1.2% | [0.1%, 4.3%] | 4 |
Little regression matches pre-merge run, justified by https://github.com/rust-lang/rust/pull/149690#issuecomment-3620152210
early return on duplicate span lowerings #149060 (Comparison Link)
| (instructions:u) | mean | range | count |
|---|---|---|---|
| Regressions (primary) | 0.3% | [0.1%, 0.8%] | 70 |
| Regressions (secondary) | 0.4% | [0.0%, 0.8%] | 73 |
| Improvements (primary) | - | - | 0 |
| Improvements (secondary) | - | - | 0 |
| All (primary) | 0.3% | [0.1%, 0.8%] | 70 |
Regression is unexpected, results don’t match pre-merge results. Reverted in https://github.com/rust-lang/rust/pull/149757.
Improvements
misc coercion cleanups and handle safety correctly #148602 (Comparison Link)
| (instructions:u) | mean | range | count |
|---|---|---|---|
| Regressions (primary) | - | - | 0 |
| Regressions (secondary) | - | - | 0 |
| Improvements (primary) | - | - | 0 |
| Improvements (secondary) | -0.2% | [-0.5%, -0.1%] | 13 |
| All (primary) | - | - | 0 |
Revert “Rollup merge of #149147 - chenyukang:yukang-fix-unused_assignments-macro-gen-147648, r=JonathanBrouwer” #149657 (Comparison Link)
| (instructions:u) | mean | range | count |
|---|---|---|---|
| Regressions (primary) | - | - | 0 |
| Regressions (secondary) | - | - | 0 |
| Improvements (primary) | - | - | 0 |
| Improvements (secondary) | -7.0% | [-20.0%, -0.6%] | 9 |
| All (primary) | - | - | 0 |
Mixed
Rollup of 5 pull requests #149560 (Comparison Link)
| (instructions:u) | mean | range | count |
|---|---|---|---|
| Regressions (primary) | 0.1% | [0.1%, 0.1%] | 1 |
| Regressions (secondary) | - | - | 0 |
| Improvements (primary) | -0.4% | [-0.6%, -0.1%] | 2 |
| Improvements (secondary) | - | - | 0 |
| All (primary) | -0.2% | [-0.6%, 0.1%] | 3 |
I supect the doc regression is mostly noise. Either way, I don’t think it’s worth more investigation, it’s just a doc and it’s small.
Rollup of 9 pull requests #149646 (Comparison Link)
| (instructions:u) | mean | range | count |
|---|---|---|---|
| Regressions (primary) | 0.2% | [0.1%, 0.3%] | 30 |
| Regressions (secondary) | 0.2% | [0.1%, 0.4%] | 7 |
| Improvements (primary) | -0.3% | [-0.4%, -0.2%] | 2 |
| Improvements (secondary) | -0.1% | [-0.1%, -0.1%] | 6 |
| All (primary) | 0.2% | [-0.4%, 0.3%] | 32 |
Based on the results above, the regression seems to be caused by https://github.com/rust-lang/rust/pull/149524. After looking through other PRs, I don’t think there’s any other candidate. I left a comment on the PR. Author will investigate.
TypeRelating emit WellFormed, not generalize #148823 (Comparison Link)
| (instructions:u) | mean | range | count |
|---|---|---|---|
| Regressions (primary) | - | - | 0 |
| Regressions (secondary) | 0.2% | [0.0%, 0.5%] | 14 |
| Improvements (primary) | -1.3% | [-1.3%, -1.3%] | 1 |
| Improvements (secondary) | -0.2% | [-0.3%, -0.1%] | 8 |
| All (primary) | -1.3% | [-1.3%, -1.3%] | 1 |
post-merge results look worse on secondary benchmarks, compared to pre-merge run. The final result still is positive, but only because of 1 primary bechmark. I looked through the secondary regressions and most of them returned back to previous state in next PR, so this is probably noise.
Nominated Issues
- No I-compiler-nominated issues this time.
- No I-compiler-nominated RFCs this time.
Oldest PRs waiting for review
- “Remove fewer Storage calls in CopyProp and GVN” rust#142531 (last review activity: 2 months ago)
- cc @cjgillot (or maybe reroll? Who has context about GVN mir opts? Was partially approved (comment))
- “Impls and impl items inherit lint levels of the corresponding traits and trait items” rust#144113 (last review activity: 2 months ago)
- cc @cjgillot (T-lang FCP’d and reviewed the changes)
- “Don’t evaluate the sanitizer attribute if no sanitizer is enabled” rust#145679 (last review activity: 3 months ago)
- cc: @Ramon de C Valle
- “RDR: avoid rebuilding dependent crates after comment changes” rust#143249 (last review activity: about 58 days ago)
- cc @bjorn3
- “Remove
FromResidualparam default” rust#147160 (last review activity: 2 months ago)- cc @scottmcm, plus maybe a look also from Miri folks (link) cc @RalfJ @lcnr
Next meetings’ agenda draft: hackmd link