owned this note
owned this note
Published
Linked with GitHub
---
tags: weekly, rustc
type: docs
note_id: Cljd5iiHTQOY8VOt9Bi34w
---
# T-compiler Meeting Agenda 2025-01-23
## 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
- @_**davidtwco** office hours <time:2025-01-24T17:00:00+01:00>
- WG-async design meeting <time:2025-01-23T19:00:00+01:00>
## MCPs/FCPs
- New MCPs (take a look, see if you like them!)
- "Add `-C hint-mostly-unused` option" [compiler-team#829](https://github.com/rust-lang/compiler-team/issues/829) ([Zulip](https://rust-lang.zulipchat.com/#narrow/stream/233931-xxx/topic/Add.20.60-C.20defer-codegen.60.20option.20compiler-team.23829))
- Ongoing discussion, some things to be cleared up (see mominated issues)
- Old MCPs (not seconded, take a look)
- "Add hygiene attributes to compile expanded source code" [compiler-team#692](https://github.com/rust-lang/compiler-team/issues/692) ([Zulip](https://rust-lang.zulipchat.com/#narrow/stream/233931-xxx/topic/Add.20option.20to.20compile.20expanded.20ASTs.20for.20h.E2.80.A6.20compiler-team.23692)) (last review activity: 4 months ago)
- "Add Hotpatch flag" [compiler-team#745](https://github.com/rust-lang/compiler-team/issues/745) ([Zulip](https://rust-lang.zulipchat.com/#narrow/stream/233931-xxx/topic/Add.20Hotpatch.20flag.20compiler-team.23745)) (last review activity: 3 months ago)
- "Policy change around adding new unstable flags" [compiler-team#787](https://github.com/rust-lang/compiler-team/issues/787) ([Zulip](https://rust-lang.zulipchat.com/#narrow/stream/233931-xxx/topic/Policy.20change.20around.20adding.20new.20unstable.20.E2.80.A6.20compiler-team.23787)) (last review activity: 3 months ago)
- "Normalize FileCheck directives" [compiler-team#789](https://github.com/rust-lang/compiler-team/issues/789) ([Zulip](https://rust-lang.zulipchat.com/#narrow/stream/233931-xxx/topic/Normalize.20FileCheck.20directives.20compiler-team.23789)) (last review activity: 3 months ago)
- "Create an avr-unknown-none target" [compiler-team#800](https://github.com/rust-lang/compiler-team/issues/800) ([Zulip](https://rust-lang.zulipchat.com/#narrow/stream/233931-xxx/topic/Create.20an.20avr-unknown-unknown.20target.20compiler-team.23800)) (last review activity: 2 months ago)
- "Demote `i686-pc-windows-gnu`" [compiler-team#822](https://github.com/rust-lang/compiler-team/issues/822) ([Zulip](https://rust-lang.zulipchat.com/#narrow/stream/233931-xxx/topic/Demote.20.60i686-pc-windows-gnu.60.20compiler-team.23822)) (last review activity: about 27 days ago)
- "Rename "dylib" crate type to "rdylib" (keep old name but deprecate it), and maybe do the same for "staticlib" → "cstaticlib"" [compiler-team#825](https://github.com/rust-lang/compiler-team/issues/825) ([Zulip](https://rust-lang.zulipchat.com/#narrow/stream/233931-xxx/topic/Rename.20.22dylib.22.20create.20type.20to.20.22rdylib.22.20.28k.E2.80.A6.20compiler-team.23825)) (last review activity: about 13 days ago)
- Pending FCP requests (check your boxes!)
- "sanitizers: Stabilize AddressSanitizer and LeakSanitizer for the Tier 1 targets" [rust#123617](https://github.com/rust-lang/rust/pull/123617)
- "Warn about C-style octal literals" [rust#131309](https://github.com/rust-lang/rust/pull/131309)
- Things in FCP (make sure you're good with it)
- "Add amdgpu target" [compiler-team#823](https://github.com/rust-lang/compiler-team/issues/823) ([Zulip](https://rust-lang.zulipchat.com/#narrow/stream/233931-xxx/topic/Add.20amdgpu.20target.20compiler-team.23823))
- "Add new targets for Cygwin (and MSYS2)" [compiler-team#826](https://github.com/rust-lang/compiler-team/issues/826) ([Zulip](https://rust-lang.zulipchat.com/#narrow/stream/233931-xxx/topic/Add.20new.20targets.20for.20Cygwin.20.28and.20MSYS2.29.20compiler-team.23826))
- "Changing `-O` to `opt-level=3`" [compiler-team#828](https://github.com/rust-lang/compiler-team/issues/828) ([Zulip](https://rust-lang.zulipchat.com/#narrow/stream/233931-xxx/topic/Changing.20.60-O.60.20to.20.60opt-level.3D3.60.20compiler-team.23828))
- Accepted MCPs
- "Relink, don't rebuild" [compiler-team#790](https://github.com/rust-lang/compiler-team/issues/790) ([Zulip](https://rust-lang.zulipchat.com/#narrow/stream/233931-xxx/topic/Relink.2C.20don.27t.20rebuild.20compiler-team.23790))
- "Use debuginfo for short backtrace printing" [compiler-team#818](https://github.com/rust-lang/compiler-team/issues/818) ([Zulip](https://rust-lang.zulipchat.com/#narrow/stream/233931-xxx/topic/Use.20debuginfo.20for.20short.20backtrace.20printing.20compiler-team.23818))
- "Policy: rustc can be run on case-insensitive filesystems but works in a case-sensitive way" [compiler-team#819](https://github.com/rust-lang/compiler-team/issues/819) ([Zulip](https://rust-lang.zulipchat.com/#narrow/stream/233931-xxx/topic/Policy.3A.20case.20insensitive.20filesystems.20are.20.E2.80.A6.20compiler-team.23819))
- "T-compiler Supplemental Tool Policy (Linker Scripts, etc.)" [compiler-team#820](https://github.com/rust-lang/compiler-team/issues/820) ([Zulip](https://rust-lang.zulipchat.com/#narrow/stream/233931-xxx/topic/T-compiler.20Supplemental.20Tool.20Policy.20.28Link.E2.80.A6.20compiler-team.23820))
- MCPs blocked on unresolved concerns
- "Retire the mailing list and make all decisions on zulip" [compiler-team#649](https://github.com/rust-lang/compiler-team/issues/649) ([Zulip](https://rust-lang.zulipchat.com/#narrow/stream/233931-xxx/topic/Retire.20the.20mailing.20list.20and.20make.20all.20deci.E2.80.A6.20compiler-team.23649))
- concern: [automatic-sync](https://github.com/rust-lang/compiler-team/issues/649#issuecomment-1618902660)
- "setup typos check in CI (for rust repo)" [compiler-team#817](https://github.com/rust-lang/compiler-team/issues/817) ([Zulip](https://rust-lang.zulipchat.com/#narrow/stream/233931-xxx/topic/setup.20typos.20check.20in.20CI.20.28for.20rust.20repo.29.20compiler-team.23817)) (last review activity: about 7 days ago)
- concern: [contributor friction](https://github.com/rust-lang/compiler-team/issues/817#issuecomment-2525266792)
- "Add `evex512` target feature for AVX10" [compiler-team#778](https://github.com/rust-lang/compiler-team/issues/778) ([Zulip](https://rust-lang.zulipchat.com/#narrow/stream/233931-xxx/topic/Add.20.60evex512.60.20target.20feature.20for.20AVX10.20compiler-team.23778)) (last review activity: about 49 days ago)
- concern: [design-around-naming-scheme](https://github.com/rust-lang/compiler-team/issues/778#issuecomment-2514307904)
- Design meeting to discuss the naming scheme ([compiler-team#827](https://github.com/rust-lang/compiler-team/issues/827))
- Finalized FCPs (disposition merge)
- "Add `--print host-tuple` to print host target tuple" [rust#125579](https://github.com/rust-lang/rust/pull/125579)
- "make unsupported_calling_conventions a hard error" [rust#129935](https://github.com/rust-lang/rust/pull/129935)
- "Fix ICE when passing DefId-creating args to legacy_const_generics." [rust#130443](https://github.com/rust-lang/rust/pull/130443)
- "Stabilize WebAssembly `multivalue`, `reference-types`, and `tail-call` target features" [rust#131080](https://github.com/rust-lang/rust/pull/131080)
- "Lint on combining `#[no_mangle]` and `#[export_name]`" [rust#131558](https://github.com/rust-lang/rust/pull/131558)
- Other teams finalized FCPs
- "Add lint against function pointer comparisons" [rust#118833](https://github.com/rust-lang/rust/pull/118833)
- "Fixup Windows verbatim paths when used with the `include!` macro" [rust#125205](https://github.com/rust-lang/rust/pull/125205)
- "Allow dropping `dyn Trait` principal" [rust#126660](https://github.com/rust-lang/rust/pull/126660)
- "atomics: allow atomic and non-atomic reads to race" [rust#128778](https://github.com/rust-lang/rust/pull/128778)
- "Lint against getting pointers from immediately dropped temporaries" [rust#128985](https://github.com/rust-lang/rust/pull/128985)
- "Do not consider match/let/ref of place that evaluates to `!` to diverge, disallow coercions from them too" [rust#129392](https://github.com/rust-lang/rust/pull/129392)
- "Make deprecated_cfg_attr_crate_type_name a hard error" [rust#129670](https://github.com/rust-lang/rust/pull/129670)
- "Stabilize expr_2021 fragment specifier in all editions" [rust#129972](https://github.com/rust-lang/rust/pull/129972)
- "Check elaborated projections from dyn don't mention unconstrained late bound lifetimes" [rust#130367](https://github.com/rust-lang/rust/pull/130367)
- "Finish stabilization of `result_ffi_guarantees`" [rust#130628](https://github.com/rust-lang/rust/pull/130628)
- "Stabilize const `ptr::write*` and `mem::replace`" [rust#130954](https://github.com/rust-lang/rust/pull/130954)
- "Stabilize s390x inline assembly" [rust#131258](https://github.com/rust-lang/rust/pull/131258)
- "Stabilize Arm64EC inline assembly" [rust#131781](https://github.com/rust-lang/rust/pull/131781)
- "Always display first line of impl blocks even when collapsed" [rust#132155](https://github.com/rust-lang/rust/pull/132155)
- "rework winnowing to sensibly handle global where-bounds" [rust#132325](https://github.com/rust-lang/rust/pull/132325)
- "mark is_val_statically_known intrinsic as stably const-callable" [rust#132449](https://github.com/rust-lang/rust/pull/132449)
- "Fix ICE when multiple supertrait substitutions need assoc but only one is provided" [rust#133392](https://github.com/rust-lang/rust/pull/133392)
- "Stabilize `asm_goto` feature gate" [rust#133870](https://github.com/rust-lang/rust/pull/133870)
- "Consider fields to be inhabited if they are unstable" [rust#133889](https://github.com/rust-lang/rust/pull/133889)
- "disallow `repr()` on invalid items" [rust#133925](https://github.com/rust-lang/rust/pull/133925)
- "Make the wasm_c_abi future compat warning a hard error" [rust#133951](https://github.com/rust-lang/rust/pull/133951)
- "fully de-stabilize all custom inner attributes" [rust#134276](https://github.com/rust-lang/rust/pull/134276)
- "Stabilize `feature(trait_upcasting)`" [rust#134367](https://github.com/rust-lang/rust/pull/134367)
## Backport nominations
[T-compiler beta](https://github.com/rust-lang/rust/issues?q=is%3Aall+label%3Abeta-nominated+-label%3Abeta-accepted+label%3AT-compiler) / [T-compiler stable](https://github.com/rust-lang/rust/issues?q=is%3Aall+label%3Astable-nominated+-label%3Astable-accepted+label%3AT-compiler)
- :beta: "Always force non-trimming of path in `unreachable_patterns` lint" [rust#135310](https://github.com/rust-lang/rust/pull/135310)
- Authored by estebank
- Fixes #135289, an ICE affecting diagnostics
<!--
/poll Approve beta: backport of #135310?
approve
decline
don't know
-->
- :beta: "add cache to `AmbiguityCausesVisitor`" [rust#135618](https://github.com/rust-lang/rust/pull/135618)
- Authored by lcnr
- Fixes #135457, substancial compile-time regression found in beta crater run
<!--
/poll Approve beta: backport of #135618?
approve
decline
don't know
-->
- :beta: "When LLVM's location discriminator value limit is exceeded, emit locations with dummy spans instead of dropping them entirely" [rust#135643](https://github.com/rust-lang/rust/pull/135643)
- Authored by khuey
- Fixes #135332, a P-high regression in a beta crater run
- Nominated from @**Jieyou Xu** for both beta+stable backport ([comment](https://github.com/rust-lang/rust/pull/135643#issuecomment-2599443483))
<!--
/poll Approve beta: backport of #135643?
approve
decline
don't know
-->
- :beta: "Temporarily bring back `Rvalue::Len`" [rust#135709](https://github.com/rust-lang/rust/pull/135709)
- Authored by lqd
- Fixes a p-critical regression #135671
- has some perf losses but acceptable given what it fixes
<!--
/poll Approve beta: backport of #135709?
approve
decline
don't know
-->
- :beta: "Only assert the `Parser` size on specific arches" [rust#135855](https://github.com/rust-lang/rust/pull/135855)
- Authored and nominated for backport by cuviper
- Affects Fedora current beta on powerpc64le and s390x ([comment](https://github.com/rust-lang/rust/pull/135855#issuecomment-2606084081))
<!--
/poll Approve beta: backport of #135855?
approve
decline
don't know
-->
- :stable: "add cache to `AmbiguityCausesVisitor`" [rust#135618](https://github.com/rust-lang/rust/pull/135618)
- Authored by lcnr
- (Also beta-backport nominated)
<!--
/poll Approve stable: backport of #135618?
approve
approve but does not justify new dot release
decline
don't know
-->
- :stable: "When LLVM's location discriminator value limit is exceeded, emit locations with dummy spans instead of dropping them entirely" [rust#135643](https://github.com/rust-lang/rust/pull/135643)
- Authored by khuey
- Nominated by @**Jieyou Xu** since in 1.84.0 we unconditionally verify twice the LLVM IR in the backend (this will changed in 1.85 with #133499)
<!--
/poll Approve stable: backport of #135643?
approve
approve but does not justify new dot release
decline
don't know
-->
[T-types beta](https://github.com/rust-lang/rust/issues?q=is%3Aall+label%3Abeta-nominated+-label%3Abeta-accepted+label%3AT-types) / [T-types stable](https://github.com/rust-lang/rust/issues?q=is%3Aall+label%3Astable-nominated+-label%3Astable-accepted+label%3AT-types)
- No beta nominations for `T-types` this time.
- No stable nominations for `T-types` this time.
## PRs S-waiting-on-team
[T-compiler](https://github.com/rust-lang/rust/pulls?q=is%3Aopen+label%3AS-waiting-on-team+label%3AT-compiler)
- [Issues in progress or waiting on other teams](https://hackmd.io/XYr1BrOWSiqCrl8RCWXRaQ)
## Issues of Note
### Short Summary
- [1 T-compiler P-critical issues](https://github.com/rust-lang/rust/issues?q=is%3Aopen+label%3AT-compiler+label%3AP-critical)
- [1 of those are unassigned](https://github.com/rust-lang/rust/issues?q=is%3Aopen+label%3AT-compiler+label%3AP-critical+no%3Aassignee)
- [62 T-compiler P-high issues](https://github.com/rust-lang/rust/issues?q=is%3Aopen+label%3AT-compiler+label%3AP-high)
- [37 of those are unassigned](https://github.com/rust-lang/rust/issues?q=is%3Aopen+label%3AT-compiler+label%3AP-high+no%3Aassignee)
- [1 P-critical, 1 P-high, 0 P-medium, 1 P-low regression-from-stable-to-beta](https://github.com/rust-lang/rust/labels/regression-from-stable-to-beta)
- [0 P-critical, 0 P-high, 1 P-medium, 0 P-low regression-from-stable-to-nightly](https://github.com/rust-lang/rust/labels/regression-from-stable-to-nightly)
- [0 P-critical, 36 P-high, 100 P-medium, 21 P-low regression-from-stable-to-stable](https://github.com/rust-lang/rust/labels/regression-from-stable-to-stable)
### P-critical
[T-compiler](https://github.com/rust-lang/rust/issues?q=is%3Aopen+label%3AP-critical+label%3AT-compiler)
- None
[T-types](https://github.com/rust-lang/rust/issues?q=is%3Aopen+label%3AP-critical+label%3AT-types)
- "regression: cannot borrow ... as immutable because it is also borrowed as mutable" [rust#135671](https://github.com/rust-lang/rust/issues/135671)
- Fixed by #135709 (beta-backport, thanks @**lqd**)
### P-high regressions
[P-high beta regressions](https://github.com/rust-lang/rust/issues?q=is%3Aopen+label%3Aregression-from-stable-to-beta+label%3AP-high+-label%3AT-infra+-label%3AT-libs+-label%3AT-libs-api+-label%3AT-release+-label%3AT-rustdoc+-label%3AT-core)
- "regression: ICE: `trimmed_def_paths` called, diagnostics were expected but none were emitted" [rust#135673](https://github.com/rust-lang/rust/issues/135673)
- Fixed by #135310 (beta-backport, thanks @**Michael Goulet (compiler-errors)**)
[Unassigned P-high nightly regressions](https://github.com/rust-lang/rust/issues?q=is%3Aopen+label%3Aregression-from-stable-to-nightly+label%3AP-high+no%3Aassignee+-label%3AT-infra+-label%3AT-libs+-label%3AT-libs-api+-label%3AT-release+-label%3AT-rustdoc+-label%3AT-core+)
- No unassigned `P-high` nightly regressions this time.
## Performance logs
> [triage logs for 2025-01-20](https://github.com/rust-lang/rustc-perf/blob/master/triage/2025-01-20.md)
A very quiet week for performance, with small improvements essentially on all
benchmarks.
Triage done by **@simulacrum**.
Revision range: [1ab85fbd..9a1d156f](https://perf.rust-lang.org/?start=1ab85fbd7474e8ce84d5283548f21472860de3e2&end=9a1d156f38c51441ee51e5a068f1d0caf4bb0f27&absolute=false&stat=instructions%3Au)
**Summary**:
| (instructions:u) | mean | range | count |
|:------------------------:|:-----:|:--------------:|:-----:|
| Regressions (primary) | 0.7% | [0.3%, 1.0%] | 3 |
| Regressions (secondary) | 0.7% | [0.5%, 1.0%] | 4 |
| Improvements (primary) | -0.4% | [-1.3%, -0.1%] | 155 |
| Improvements (secondary) | -0.5% | [-1.8%, -0.1%] | 94 |
| All (primary) | -0.4% | [-1.3%, 1.0%] | 158 |
0 Regression, 1 Improvement, 2 Mixed; 0 of them in rollups
40 artifact comparisons made in total
#### Regressions
No statistically significant regressions this cycle.
#### Improvements
Stable Hash: Ignore all HirIds that just identify the node itself [#135329](https://github.com/rust-lang/rust/pull/135329) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=bcd0683e5dce1945b5d940714742e7502883bb5c&end=6067b36314ab5eb2eb47cecc464545ba58e1ad24&stat=instructions:u)
| (instructions:u) | mean | range | count |
|:----------------------------------:|:-----:|:--------------:|:-----:|
| Regressions (primary) | - | - | 0 |
| Regressions (secondary) | - | - | 0 |
| Improvements (primary) | -0.4% | [-0.9%, -0.1%] | 169 |
| Improvements (secondary) | -0.5% | [-1.3%, -0.1%] | 85 |
| All (primary) | -0.4% | [-0.9%, -0.1%] | 169 |
#### Mixed
Less unsafe in `dangling`/`without_provenance` [#135344](https://github.com/rust-lang/rust/pull/135344) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=d61f55d8b9d4703207a5980f27b6c28973ba27ee&end=d8a64098c9d0fb25699f657c6efff0bb418f7e18&stat=instructions:u)
| (instructions:u) | mean | range | count |
|:----------------------------------:|:-----:|:--------------:|:-----:|
| Regressions (primary) | 1.2% | [0.4%, 2.1%] | 2 |
| Regressions (secondary) | - | - | 0 |
| Improvements (primary) | -0.5% | [-0.9%, -0.3%] | 3 |
| Improvements (secondary) | -1.1% | [-1.6%, -0.6%] | 4 |
| All (primary) | 0.2% | [-0.9%, 2.1%] | 5 |
Regressions look likely to be noise/modality in benchmarks, not genuine changes
caused by this work. See also some
[analysis](https://github.com/rust-lang/rust/pull/135344#issuecomment-2591403244)
on the PR.
Temporarily bring back `Rvalue::Len` [#135709](https://github.com/rust-lang/rust/pull/135709) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=98572840b6da350e5615a68586a766a0f9f1470a&end=c62b732724b6beb50a5c73be26d0c5f668504059&stat=instructions:u)
| (instructions:u) | mean | range | count |
|:----------------------------------:|:-----:|:--------------:|:-----:|
| Regressions (primary) | 0.3% | [0.3%, 0.3%] | 1 |
| Regressions (secondary) | 0.4% | [0.2%, 0.5%] | 6 |
| Improvements (primary) | -0.7% | [-1.3%, -0.4%] | 3 |
| Improvements (secondary) | -0.9% | [-1.7%, -0.2%] | 2 |
| All (primary) | -0.4% | [-1.3%, 0.3%] | 4 |
Fixing P-critical regression, so easily justified.
## Nominated Issues
[T-compiler](https://github.com/rust-lang/rust/issues?q=is%3Aopen+label%3AI-compiler-nominated)
- "Add `-C hint-mostly-unused` to tell rustc that most of a crate will go unused" [rust#135656](https://github.com/rust-lang/rust/pull/135656)
- Nominated by @**Jubilee** ([comment](https://github.com/rust-lang/rust/pull/135656#issuecomment-2599339130)), left some questions for T-compiler
- [MCP#829](https://github.com/rust-lang/compiler-team/issues/829), not yet seconded
- The proposal should substantially decrease compile times in some cases by hinting rustc when part of a crate is unused. Can regress in other cases ([Zulip thread](https://rust-lang.zulipchat.com/#narrow/channel/131828-t-compiler/topic/Computing.20mono.20items.20rustc.20codegenned.20that.20went.20unused/near/494438606))
- Maybe a design meeting, inviting also people having more context? cc @**lqd** @**Ben Kimock (Saethlin)**
[RFC](https://github.com/rust-lang/rfcs/issues?q=is%3Aopen+label%3AI-compiler-nominated)
- No I-compiler-nominated RFCs this time.
### Oldest PRs waiting for review
[T-compiler](https://github.com/rust-lang/rust/pulls?q=is%3Apr+is%3Aopen+sort%3Aupdated-asc+label%3AS-waiting-on-review+draft%3Afalse+label%3AT-compiler)
- "Stop considering moved-out locals when computing auto traits for generators (rebased)" [rust#128846](https://github.com/rust-lang/rust/pull/128846) (last review activity: 5 months ago)
- cc @**cjgillot**
- "Add diagnostics to "while loop" and "for loop" that note that it is always determined that it might iterate zero times." [rust#126510](https://github.com/rust-lang/rust/pull/126510) (last review activity: 4 months ago)
- cc @**Esteban Küber**
- "Async drop codegen" [rust#123948](https://github.com/rust-lang/rust/pull/123948) (last review activity: 3 months ago)
- What's the current status of this one? cc @**davidtwco** @**nikomatsakis**
- "Handle `rustc_query_system` cases of `rustc::potential_query_instability` lint" [rust#131200](https://github.com/rust-lang/rust/pull/131200) (last review activity: 2 months ago)
- cc @**cjgillot**
Next meetings' agenda draft: [hackmd link](https://hackmd.io/TYZPMRHwQdCwCmLqix1Ihg)