---
# System prepended metadata

title: T-compiler Meeting Agenda 2022-11-10
tags: [' rustc', weekly]

---

---
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**
