---
tags: weekly, rustc
type: docs
---
# T-compiler Meeting Agenda 2022-11-10
## Announcements
- [Types Team: Review #103491](https://www.google.com/calendar/event?eid=M3JsYmdkN2F0cjdtYXE0Z2ljYzM4Nm42NTRfMjAyMjExMTFUMTQwMDAwWiA2dTVycnRjZTZscnR2MDdwZmkzZGFtZ2p1c0Bn) at <time:2022-11-11T11:00:00-05:00>
- Reminder: if you see a PR/issue that seems like there might be legal implications due to copyright/IP/etc, please let the Core team know (or at least message @_**pnkfelix** or @_**Wesley Wiser** so we can pass it along).
### Other WG meetings
- [[Types team] Shallow subtyping weekly meeting](https://www.google.com/calendar/event?eid=YnUxNDd2cjY3dGkxOWNnMWp1dWFpc2U5dnBfMjAyMjExMTRUMTUwMDAwWiA2dTVycnRjZTZscnR2MDdwZmkzZGFtZ2p1c0Bn) at <time:2022-11-14T10:00:00-05:00>
- [[wg-traits] GATs Sync](https://www.google.com/calendar/event?eid=Y3VpY2NkbXBoZTJkMHJmcmZxZmU4MjhodDBfMjAyMjExMTRUMjEwMDAwWiA2dTVycnRjZTZscnR2MDdwZmkzZGFtZ2p1c0Bn) at <time:2022-11-14T16:00:00-05:00>
## MCPs/FCPs
- New MCPs (take a look, see if you like them!)
- No new proposals this time.
- Old MCPs (not seconded, take a look)
- "Arbitrary annotations in compiletest" [compiler-team#513](https://github.com/rust-lang/compiler-team/issues/513) (last review activity: 6 months ago)
- "Add `#[alias]` attribute to allow symbol aliasing" [compiler-team#526](https://github.com/rust-lang/compiler-team/issues/526) (last review activity: 3 months ago)
- "Use RangeInclusive in SpanData instead of lo/hi" [compiler-team#534](https://github.com/rust-lang/compiler-team/issues/534) (last review activity: 2 months ago)
- " Promote `i586-unknown-linux-gnu` to Tier 2 with Host Tools " [compiler-team#543](https://github.com/rust-lang/compiler-team/issues/543) (last review activity: 2 months ago)
- "Lower baseline expectations for i686 unix-like targets" [compiler-team#548](https://github.com/rust-lang/compiler-team/issues/548) (last review activity: 2 months ago)
- "MCP: Flag to disable extended error info." [compiler-team#550](https://github.com/rust-lang/compiler-team/issues/550) (last review activity: about 43 days ago)
- "configurable rustc timeout for compiletest tests" [compiler-team#554](https://github.com/rust-lang/compiler-team/issues/554) (last review activity: 2 months ago)
- "Rustc Contributor Program Major Change Proposal" [compiler-team#557](https://github.com/rust-lang/compiler-team/issues/557) (last review activity: about 16 days ago)
- "Introduce a `#[rustc::*]` tool attribute namespace and provide a stable `#[rustc::on_unimplemented]` attribute" [compiler-team#560](https://github.com/rust-lang/compiler-team/issues/560) (last review activity: about 22 days ago)
- "`-Z instrument-xray` option" [compiler-team#561](https://github.com/rust-lang/compiler-team/issues/561) (last review activity: about 22 days ago)
- "Redefine dropck in terms of bound-like constructs" [compiler-team#563](https://github.com/rust-lang/compiler-team/issues/563) (last review activity: about 6 days ago)
- Pending FCP requests (check your boxes!)
- "Change `bindings_with_variant_name` to deny-by-default" [rust#104154](https://github.com/rust-lang/rust/pull/104154#issuecomment-1307473562)
- Things in FCP (make sure you're good with it)
- "Raise minimum supported macOS and iOS versions" [compiler-team#556](https://github.com/rust-lang/compiler-team/issues/556)
- "Custom THIR -> MIR parser for testing purposes" [compiler-team#564](https://github.com/rust-lang/compiler-team/issues/564)
- "Support enum as type of static variable with #[linkage]" [compiler-team#565](https://github.com/rust-lang/compiler-team/issues/565)
- "Change the global default for `download-ci-llvm` to `if-available`" [compiler-team#566](https://github.com/rust-lang/compiler-team/issues/566)
- "Unreserve braced enum variants in value namespace" [rust#103578](https://github.com/rust-lang/rust/pull/103578)
- Accepted MCPs
- No new accepted proposals this time.
- Finalized FCPs (disposition merge)
- "Make PROC_MACRO_DERIVE_RESOLUTION_FALLBACK a hard error" [rust#84022](https://github.com/rust-lang/rust/pull/84022)
- "Make `Sized` coinductive, again" [rust#100386](https://github.com/rust-lang/rust/pull/100386)
- "Handle projections as uncovered types during coherence check" [rust#100555](https://github.com/rust-lang/rust/pull/100555)
- "Elaborate supertrait obligations when deducing closure signatures" [rust#101834](https://github.com/rust-lang/rust/pull/101834)
- "make const_err a hard error" [rust#102091](https://github.com/rust-lang/rust/pull/102091)
- "make unaligned_reference a hard error" [rust#102513](https://github.com/rust-lang/rust/pull/102513)
- "make `order_dependent_trait_objects` show up in future-breakage reports" [rust#102635](https://github.com/rust-lang/rust/pull/102635)
- "Stabilize raw-dylib for non-x86" [rust#102793](https://github.com/rust-lang/rust/issues/102793)
- "Use `token::Lit` in `ast::ExprKind::Lit`." [rust#102944](https://github.com/rust-lang/rust/pull/102944)
### WG checkins
- Types team by @**nikomatsakis** and @**Jack Huey** ([previous checkin](https://hackmd.io/Q16ULE5gQG6embjLHEFREg#WG-checkins)):
> * GATs stable: https://blog.rust-lang.org/2022/10/28/gats-stabilization.html
> * Refactor rustc trait system initiative accepted: https://github.com/rust-lang/types-team/issues/58
> * Meetup planned for Nov 30-Dec 2 for types team members
> * We're planning to do roadmap planning
> * Potentially doing some zoom sessions with different groups; any suggestions welcome!
- @_*WG-mir-opt* by @**oli** ([previous checkin](https://hackmd.io/sjgGAPLvSu-Fe5xMgY4SAg#WG-checkins)):
> Checkin text
## Backport nominations
[T-compiler stable](https://github.com/rust-lang/rust/issues?q=is%3Aall+label%3Abeta-nominated+-label%3Abeta-accepted+label%3AT-compiler) / [T-compiler beta](https://github.com/rust-lang/rust/issues?q=is%3Aall+label%3Astable-nominated+-label%3Astable-accepted+label%3AT-compiler)
- :beta: "Don't silently eat label before block in block-like expr" [rust#103986](https://github.com/rust-lang/rust/pull/103986)
- nominated by @**Michael Goulet (compiler-errors)** ([comment](https://github.com/rust-lang/rust/pull/103986#issuecomment-1304273800))
- an easy fix for #103983, better if removed asap
- :beta: "Use `nominal_obligations_without_const` in wf for FnDef" [rust#104180](https://github.com/rust-lang/rust/pull/104180)
- Fixes #104155, `P-critical`
- :stable: "Don't silently eat label before block in block-like expr" [rust#103986](https://github.com/rust-lang/rust/pull/103986)
- in case a 1.65.1 was discussed for other important stable backports (if any)
[T-rustdoc stable](https://github.com/rust-lang/rust/issues?q=is%3Aall+label%3Abeta-nominated+-label%3Abeta-accepted+label%3AT-rustdoc) / [T-rustdoc beta](https://github.com/rust-lang/rust/issues?q=is%3Aall+label%3Astable-nominated+-label%3Astable-accepted+label%3AT-rustdoc)
- No beta nominations for `T-rustdoc` this time.
- No stable nominations for `T-rustdoc` this time.
:back: / :shrug: / :hand:
## PRs S-waiting-on-team
[T-compiler](https://github.com/rust-lang/rust/pulls?utf8=%E2%9C%93&q=is%3Aopen+label%3AS-waiting-on-team+label%3AT-compiler)
- "Support endianness mark in test case check files" [rust#104135](https://github.com/rust-lang/rust/pull/104135)
- Most of this PR seems to be for T-infra but there are some small bits also in `./tools/compiletest/src`
- (other hidden issues in progress or waiting on other teams, [details here](https://hackmd.io/XYr1BrOWSiqCrl8RCWXRaQ))
## 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+-label%3AT-lang+-label%3AT-infra+-label%3AT-release+-label%3AT-libs+-label%3AT-libs-api)
- "Refactor metadata emission to avoid visiting HIR" [rust#98867](https://github.com/rust-lang/rust/pull/98867) (last review activity: 4 months ago)
- ping @**cjgillot** (self-assigned)
- "Fix implied outlives bounds logic for projections" [rust#101680](https://github.com/rust-lang/rust/pull/101680) (last review activity: about 59 days ago)
- ping @**Esteban Küber** on [comment](https://github.com/rust-lang/rust/pull/101680#discussion_r973754561) but otherwise ping @**aliemjay** ?
- "Implement the `+whole-archive` modifier for `wasm-ld`" [rust#102215](https://github.com/rust-lang/rust/pull/102215) (last review activity: about 46 days ago)
- ping @**Esteban Küber**
## Issues of Note
### Short Summary
- [2 T-compiler P-critical issues](https://github.com/rust-lang/rust/issues?q=is%3Aopen+label%3AT-compiler+label%3AP-critical)
- [0 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)
- [39 of those are unassigned](https://github.com/rust-lang/rust/issues?q=is%3Aopen+label%3AT-compiler+label%3AP-high+no%3Aassignee)
- [2 P-critical, 0 P-high, 2 P-medium, 0 P-low regression-from-stable-to-beta](https://github.com/rust-lang/rust/labels/regression-from-stable-to-beta)
- [0 P-critical, 2 P-high, 3 P-medium, 0 P-low regression-from-stable-to-nightly](https://github.com/rust-lang/rust/labels/regression-from-stable-to-nightly)
- [2 P-critical, 39 P-high, 82 P-medium, 7 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?utf8=%E2%9C%93&q=is%3Aopen+label%3AP-critical+label%3AT-compiler)
- "ld64.lld: error: too many personalities (4) for compact unwind to encode" [rust#102754](https://github.com/rust-lang/rust/issues/102754)
- Waiting for T-release on including a mention about this ([comment](https://github.com/rust-lang/rust/issues/102754#issuecomment-1293749481))
- unsure if in the end an action was taken
- "Rust update from 1.63 to 1.64 introduce lifetime problem on build" [rust#103141](https://github.com/rust-lang/rust/issues/103141)
- #103141 previously discussed and *should* be in stable ([left a comment](https://github.com/rust-lang/rust/issues/103141#issuecomment-1309331512) about that)
[T-rustdoc](https://github.com/rust-lang/rust/issues?utf8=%E2%9C%93&q=is%3Aopen+label%3AP-critical+label%3AT-rustdoc)
- No `P-critical` issues for `T-rustdoc` this time.
### 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-release+-label%3AT-rustdoc+-label%3AT-core)
- No `P-high` beta regressions this time.
[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-release+-label%3AT-rustdoc+-label%3AT-core)
- No unassigned `P-high` nightly regressions this time.
## Performance logs
> [triage logs for 2022-11-08](https://github.com/rust-lang/rustc-perf/blob/master/triage/2022-11-08.md)
A relatively noisy week (most of those have been dropped below, and comments
left on GitHub), but otherwise a quiet one in terms of performance changes,
with essentially no significant changes occuring.
Triage done by **@simulacrum**.
Revision range: [822f8c22f540b12f296d844ad5bf39aaa47bfeb4..57d3c58ed6e0faf89a62411f96c000ffc9fd3937](https://perf.rust-lang.org/?start=822f8c22f540b12f296d844ad5bf39aaa47bfeb4&end=57d3c58ed6e0faf89a62411f96c000ffc9fd3937&absolute=false&stat=instructions%3Au)
**Summary**:
| (instructions:u) | mean | range | count |
|:------------------------:|:-----:|:--------------:|:-----:|
| Regressions (primary) | 1.2% | [0.2%, 1.8%] | 13 |
| Regressions (secondary) | 1.2% | [0.2%, 2.1%] | 47 |
| Improvements (primary) | -1.5% | [-4.0%, -0.2%] | 21 |
| Improvements (secondary) | -1.8% | [-3.9%, -0.3%] | 61 |
| All (primary) | -0.4% | [-4.0%, 1.8%] | 34 |
2 Regressions, 2 Improvements, 3 Mixed; 3 of them in rollups
39 artifact comparisons made in total
#### Regressions
Rollup of 6 pull requests [#103998](https://github.com/rust-lang/rust/pull/103998) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=5b3e9090757da9a95b22f589fe39b6a4b5455b96&end=452cf4f7109f58433ac38be7d3da527408571054&stat=instructions:u)
| (instructions:u) | mean | range | count |
|:------------------------:|:-----:|:--------------:|:-----:|
| Regressions (primary) | 2.5% | [0.3%, 3.9%] | 6 |
| Regressions (secondary) | 1.4% | [0.4%, 3.5%] | 43 |
| Improvements (primary) | - | - | 0 |
| Improvements (secondary) | -1.3% | [-1.5%, -1.0%] | 2 |
| All (primary) | 2.5% | [0.3%, 3.9%] | 6 |
Appears to be a genuine regression. Mostly limited to smaller benchmarks, so
most likely just a slight increase in the minimum work rustc does. Suspected to
be due to the changes in sysroot detection; have enqueued a build to try and
find out.
std: sync "Dependencies of the `backtrace` crate" with `backtrace` [#103934](https://github.com/rust-lang/rust/pull/103934) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=d69c33ad4c65e42a7a2d018a5c2ee1c7dbd0fc15&end=73c9eaf21454b718e7c549984d9eb6e1f75e995c&stat=instructions:u)
| (instructions:u) | mean | range | count |
|:------------------------:|:----:|:------------:|:-----:|
| Regressions (primary) | 1.4% | [0.9%, 1.8%] | 10 |
| Regressions (secondary) | 1.5% | [0.3%, 3.3%] | 47 |
| Improvements (primary) | - | - | 0 |
| Improvements (secondary) | - | - | 0 |
| All (primary) | 1.4% | [0.9%, 1.8%] | 10 |
Some of this may be noise, but it's also possible that the newer dependencies
are doing slightly different things causing some regressions -- it's possible
we're computing backtraces somewhere, and even modulo that, the changes to the
standard library may cause different inlining decisions, etc.
#### Improvements
Make rustdoc Item::visibility computed on-demand [#103690](https://github.com/rust-lang/rust/pull/103690) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=822f8c22f540b12f296d844ad5bf39aaa47bfeb4&end=c0a76127283bc963b085f54a1b275a8e281e81e6&stat=instructions:u)
| (instructions:u) | mean | range | count |
|:------------------------:|:-----:|:--------------:|:-----:|
| Regressions (primary) | - | - | 0 |
| Regressions (secondary) | - | - | 0 |
| Improvements (primary) | -0.8% | [-1.7%, -0.4%] | 11 |
| Improvements (secondary) | -1.6% | [-2.7%, -0.6%] | 23 |
| All (primary) | -0.8% | [-1.7%, -0.4%] | 11 |
Rollup of 7 pull requests [#103962](https://github.com/rust-lang/rust/pull/103962) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=47c008e440e59d793c2883f7dd712481dc965045&end=6330c27ae24ec1556cf2b97eeac333dc23391686&stat=instructions:u)
| (instructions:u) | mean | range | count |
|:------------------------:|:-----:|:--------------:|:-----:|
| Regressions (primary) | - | - | 0 |
| Regressions (secondary) | - | - | 0 |
| Improvements (primary) | -0.2% | [-0.3%, -0.2%] | 6 |
| Improvements (secondary) | -0.4% | [-0.4%, -0.3%] | 4 |
| All (primary) | -0.2% | [-0.3%, -0.2%] | 6 |
#### Mixed
Revert "ci: Bring back ninja for dist builders" [#103846](https://github.com/rust-lang/rust/pull/103846) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=edf0182213a9e30982eb34f3925ddc4cf5ed3471&end=5b1304a03bbefe618cf16d6f4b3c41f4bd8e390a&stat=instructions:u)
| (instructions:u) | mean | range | count |
|:------------------------:|:-----:|:--------------:|:-----:|
| Regressions (primary) | - | - | 0 |
| Regressions (secondary) | 2.5% | [2.5%, 2.5%] | 1 |
| Improvements (primary) | -1.7% | [-7.4%, -0.2%] | 19 |
| Improvements (secondary) | -2.0% | [-6.6%, -0.2%] | 71 |
| All (primary) | -1.7% | [-7.4%, -0.2%] | 19 |
This change was reverted precisely due to the performance regression it introduced, so this is no surprise.
Rollup of 5 pull requests [#104017](https://github.com/rust-lang/rust/pull/104017) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=6b8d9dd0a09851b3e4f400ddd1303857945be25d&end=371100b1fb811e604f7451eff3b06960587fe1af&stat=instructions:u)
| (instructions:u) | mean | range | count |
|:------------------------:|:-----:|:--------------:|:-----:|
| Regressions (primary) | 1.4% | [1.4%, 1.4%] | 1 |
| Regressions (secondary) | 0.5% | [0.3%, 0.8%] | 2 |
| Improvements (primary) | -1.0% | [-3.2%, -0.3%] | 13 |
| Improvements (secondary) | -2.3% | [-3.1%, -0.6%] | 19 |
| All (primary) | -0.9% | [-3.2%, 1.4%] | 14 |
Minor regressions in two secondary benchmarks and in libc don't seem to warrant
further investigation, especially given the general improvement across the
board.
Some tracing and comment cleanups [#103975](https://github.com/rust-lang/rust/pull/103975) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=e6fead46dc21ba017f7c1a5130ff3d31535acb16&end=a4ab2e064306c2c3e5b1d2efe1d5c0e1a6e0346a&stat=instructions:u)
| (instructions:u) | mean | range | count |
|:------------------------:|:-----:|:--------------:|:-----:|
| Regressions (primary) | 1.0% | [0.2%, 1.5%] | 3 |
| Regressions (secondary) | 1.9% | [0.3%, 4.2%] | 13 |
| Improvements (primary) | - | - | 0 |
| Improvements (secondary) | -0.6% | [-0.6%, -0.6%] | 3 |
| All (primary) | 1.0% | [0.2%, 1.5%] | 3 |
Most of the regressions are probably noise, so this change is likely actually an improvement or neutral.
## Nominated Issues
[T-compiler](https://github.com/rust-lang/rust/issues?q=is%3Aopen+label%3AI-compiler-nominated+label%3AT-compiler)
- "libcompiler-builtins contains DWARF5 debuginfo in 1.62.0" [rust#98746](https://github.com/rust-lang/rust/issues/98746)
- (from previous meeting): nominated by @**pnkfelix**, slipped prioritization and went unnoticed (was not labelled as regression)
- [comment](https://github.com/rust-lang/rust/issues/98746#issuecomment-1289379708) with some context
- "Upgrade mingw-w64 on CI" [rust#100178](https://github.com/rust-lang/rust/pull/100178)
- here is some context on versions: [comment](https://github.com/rust-lang/rust/pull/100178#issuecomment-1264488768)
- nominated by @**cuviper** ([comment](https://github.com/rust-lang/rust/pull/100178#issuecomment-1301500693)) for weighing in the compatibility point of view, also considering the upcoming LLVM16 [comment](https://github.com/rust-lang/rust/pull/100178#issuecomment-1281284869)
- provides a [summary of options](https://github.com/rust-lang/rust/pull/100178#issuecomment-1299331918)
- "Remove save-analysis." [rust#101841](https://github.com/rust-lang/rust/pull/101841)
- from last week: nominated by Wesley to decide when landing this ([comment](https://github.com/rust-lang/rust/pull/101841#issuecomment-1290609092)) and allow other tooling to migrate to `rust-analyzer` [Zulip discussion](https://rust-lang.zulipchat.com/#narrow/stream/131828-t-compiler/topic/Future.20of.20save-analysis/near/304896312)
- "Android NDK r25b changes will break developers using r22b or older" [rust#103673](https://github.com/rust-lang/rust/issues/103673)
- First comment has a lot of useful context
- Nominated by @**simulacrum** ([comment](https://github.com/rust-lang/rust/issues/103673#issuecomment-1294946457)), suggests a rollback of #102332 or tweak the new min. version threshold
- Discussed also on [Zulip](https://rust-lang.zulipchat.com/#narrow/stream/122651-general/topic/Formalizing.20Rust's.20Android.20NDK.2FAPI.20Support/near/291907407)
- @**apiraino**: maybe an FCP? perhaps worth mentioning that the suggested new Android NDK min. version would be a jump (`r15c` -> `r25b`) to the latest LTS (released in Oct. 2022)
- "Panic on invalid usages of `MaybeUninit::uninit().assume_init()`" [rust#100423](https://github.com/rust-lang/rust/pull/100423)
- @**RalfJ** provides great summary [in this comment](https://github.com/rust-lang/rust/pull/100423#issuecomment-1304781140)
- "const eval interpreter step limit being hit on nightly for long-running while loop" [rust#103814](https://github.com/rust-lang/rust/issues/103814)
- `#[const_eval_limit]` is now on nightly, people are tripping over it (comments in #93481)
- @**pnkfelix** says: the lang team *did* discuss #103877 yesterday, and I think we managed to convince niko that shifting from a hard error to a lint is reasonable
- Felix mentions for context also #67217
[RFC](https://github.com/rust-lang/rfcs/issues?q=is%3Aopen+label%3AI-compiler-nominated+label%3AT-compiler)
- No nominated RFCs for `T-compiler` this time.
## Next week's WG checkins
- @_*WG-polymorphization* by @**davidtwco**
- @_*WG-rls2.0* by @**Lukas Wirth**