---
# System prepended metadata

title: T-compiler Meeting Agenda 2023-01-19
tags: [' rustc', weekly]

---

---
tags: weekly, rustc
---

# T-compiler Meeting Agenda 2023-01-19

## Announcements

- Next week, Jan, 26th - release of Rust stable 1.67 
- 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 ([calendar link](https://calendar.google.com/calendar/embed?src=6u5rrtce6lrtv07pfi3damgjus%40group.calendar.google.com))
- [[Types team] Shallow subtyping weekly meeting](https://www.google.com/calendar/event?eid=YnUxNDd2cjY3dGkxOWNnMWp1dWFpc2U5dnBfMjAyMzAxMjNUMTUwMDAwWiA2dTVycnRjZTZscnR2MDdwZmkzZGFtZ2p1c0Bn) at <time:2023-01-23T10:00:00-05:00>
- [wg-async weekly](https://www.google.com/calendar/event?eid=NThidjZydmxhMmcyb25uYzNqMHY5czgyZjFfMjAyMzAxMTlUMTcwMDAwWiA2dTVycnRjZTZscnR2MDdwZmkzZGFtZ2p1c0Bn) at <time:2023-01-19T12:00:00-05:00>
- [wg-rls-2.0 weekly sync-up](https://www.google.com/calendar/event?eid=MXJnbzBscDExNHJjNmVsdGhsaW8xcDljMmdfMjAyMzAxMjNUMTUwMDAwWiA2dTVycnRjZTZscnR2MDdwZmkzZGFtZ2p1c0Bn) at <time:2023-01-23T10:00:00-05:00>
- [[wg-traits] GATs Sync](https://www.google.com/calendar/event?eid=Y3VpY2NkbXBoZTJkMHJmcmZxZmU4MjhodDBfMjAyMzAxMjNUMjEwMDAwWiA2dTVycnRjZTZscnR2MDdwZmkzZGFtZ2p1c0Bn) at <time:2023-01-23T16:00:00-05:00>

## MCPs/FCPs

- New MCPs (take a look, see if you like them!)
  - "Add builtin# for compiler-intrinsic syntax" [compiler-team#580](https://github.com/rust-lang/compiler-team/issues/580) 
- Old MCPs (stale MCP might be closed as per [MCP procedure](https://forge.rust-lang.org/compiler/mcp.html#when-should-major-change-proposals-be-closed))
  - "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: 4 months ago)
    - MCP author put it "on ice" ([comment](https://rust-lang.zulipchat.com/#narrow/stream/233931-t-compiler.2Fmajor-changes/topic/Promote.20.60i586-unknown-linux-gnu.60.20to.20Tier.E2.80.A6.20compiler-team.23543/near/314755347))
- Old MCPs (not seconded, take a look)
  - "Lower baseline expectations for i686 unix-like targets" [compiler-team#548](https://github.com/rust-lang/compiler-team/issues/548) (last review activity: about 26 days ago)
  - "configurable rustc timeout for compiletest tests" [compiler-team#554](https://github.com/rust-lang/compiler-team/issues/554) (last review activity: about 6 days ago)
  - "Rustc Contributor Program Major Change Proposal" [compiler-team#557](https://github.com/rust-lang/compiler-team/issues/557) (last review activity: about 7 days ago)
  - "`-Z instrument-xray` option" [compiler-team#561](https://github.com/rust-lang/compiler-team/issues/561) (last review activity: 3 months ago)
  - "`needs_drop` as an auto trait" [compiler-team#575](https://github.com/rust-lang/compiler-team/issues/575) (last review activity: about 14 days ago)
  - "Store ICE backtraces to disk and point end users at the file location" [compiler-team#578](https://github.com/rust-lang/compiler-team/issues/578) (last review activity: about 6 days ago)
- Pending FCP requests (check your boxes!)
  - "Make `unused_allocation` lint against `Box::new` too" [rust#104363](https://github.com/rust-lang/rust/pull/104363#issuecomment-1376858371) 
  - "Add deployment-target --print flag for Apple targets" [rust#105354](https://github.com/rust-lang/rust/pull/105354#issuecomment-1354546850)
- Things in FCP (make sure you're good with it)
  - "Upgrade `*-linux-musl` targets to musl 1.2" [compiler-team#572](https://github.com/rust-lang/compiler-team/issues/572) 
  - "New tier-2 target for `wasm32-wasi` + threads" [compiler-team#574](https://github.com/rust-lang/compiler-team/issues/574) 
  - "Add `SEMICOLON_IN_EXPRESSIONS_FROM_MACROS` to future-incompat report" [rust#103418](https://github.com/rust-lang/rust/pull/103418) 
- Accepted MCPs
  - "Also accept `true` and `false` on boolean flags" [compiler-team#577](https://github.com/rust-lang/compiler-team/issues/577) 
- Finalized FCPs (disposition merge)
  - "rustdoc: simplify JS search routine by not messing with lev distance" [rust#105796](https://github.com/rust-lang/rust/pull/105796)

### WG checkins

- Generic Associated Types initiative by @**Jack Huey** ([previous checkin](https://hackmd.io/IvuR59rBR2Ka9opecmfaJQ#WG-checkins)):
  > Checkin text

- @_*WG-diagnostics* by @**Esteban Küber** and @**oli** ([previous checkin](https://hackmd.io/GTHhJzDrS26WZbIntmn55g#WG-checkins)):
  > * A bunch of old diagnostics issues was fixed in the last two months.
  > * We are testing the diagnostics output that users see in our ui test suite. Previously we tested the output if the libstd/libcore sources were available, which caused us to miss that some diagnostics were bad.

## 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)
- No beta nominations for `T-compiler` this time
- No stable nominations for `T-compiler` this time

[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?q=is%3Aopen+label%3AS-waiting-on-team+label%3AT-compiler)
- None ([issues in progress or waiting on other teams](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)
- "Fix invalid float literal suggestions when recovering an integer" [rust#105650](https://github.com/rust-lang/rust/pull/105650) (last review activity: about 33 days ago)
  - cc: @**nnethercote** 
- "Fix #99684 through autoref in `write!` macro with a two-phased borrows retrocompat workaround" [rust#100202](https://github.com/rust-lang/rust/pull/100202) (last review activity: about 33 days ago)
  - @**pnkfelix** self-assigned 
- "Relax ordering rules for `asm!` operands" [rust#105798](https://github.com/rust-lang/rust/pull/105798) (last review activity: about 31 days ago)
  - cc: @**Josh Triplett** (specifically mentioned by @**Amanieu**) - or reroll?
- "Skip possible where_clause_object_safety lints when checking `multiple_supertrait_upcastable`" [rust#106253](https://github.com/rust-lang/rust/pull/106253) (last review activity: about 19 days ago)
  - cc: @**Michael Goulet (compiler-errors)** (now unblocked, #106248 landed)
- "Add Minimal Std implementation for UEFI" [rust#105861](https://github.com/rust-lang/rust/pull/105861) (last review activity: about 29 days ago)
  - Mostly `T-libs` but some bits also for `T-compiler`

## 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)
  - [0 of those are unassigned](https://github.com/rust-lang/rust/issues?q=is%3Aopen+label%3AT-compiler+label%3AP-critical+no%3Aassignee)
- [47 T-compiler P-high issues](https://github.com/rust-lang/rust/issues?q=is%3Aopen+label%3AT-compiler+label%3AP-high)
  - [18 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, 3 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, 1 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)
- [1 P-critical, 29 P-high, 89 P-medium, 8 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)
- "regression: failed to resolve proc macro definition" [rust#106337](https://github.com/rust-lang/rust/issues/106337)
  - @**Vadim Petrochenkov** self-assigned
  - deprioritize if it will end in next stable (~1 week)?

[T-types](https://github.com/rust-lang/rust/issues?q=is%3Aopen+label%3AP-critical+label%3AT-types)
- No `P-critical` issues for `T-types` at this time.

[T-rustdoc](https://github.com/rust-lang/rust/issues?q=is%3Aopen+label%3AP-critical+label%3AT-rustdoc)
- No `P-critical` issues for `T-rustdoc` at 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-libs+-label%3AT-libs-api+-label%3AT-release+-label%3AT-rustdoc+-label%3AT-core)
- "Regression in Beta/Nightly: implementation of `Trait` is not general enough" [rust#106630](https://github.com/rust-lang/rust/issues/106630)
  - @**Michael Goulet (compiler-errors)** self-assigned

[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 2023-01-18](https://github.com/rust-lang/rustc-perf/blob/master/triage/2023-01-18.md)

Nearly all flagged regressions are likely noise, except one rollup with minor
impact on diesel that we will follow up on. We had a broad (albeit small) win
from [#106294](https://github.com/rust-lang/rust/pull/106294).

Triage done by **@pnkfelix**.
Revision range: [0442fbabe24ec43636a80ad1f40a0ad92a2e38df..1f72129ffe5e8c495113f9a2d4e1730f7fad3209](https://perf.rust-lang.org/?start=0442fbabe24ec43636a80ad1f40a0ad92a2e38df&end=1f72129ffe5e8c495113f9a2d4e1730f7fad3209&absolute=false&stat=instructions%3Au)

**Summary**:

| (instructions:u)         | mean  | range          | count |
|:------------------------:|:-----:|:--------------:|:-----:|
| Regressions (primary)    | 0.4%  | [0.2%, 1.7%]   | 39    |
| Regressions (secondary)  | 0.5%  | [0.2%, 1.8%]   | 23    |
| Improvements (primary)   | -0.4% | [-0.6%, -0.2%] | 7     |
| Improvements (secondary) | -0.4% | [-0.6%, -0.2%] | 6     |
| All  (primary)           | 0.3%  | [-0.6%, 1.7%]  | 46    |


4 Regressions, 3 Improvements, 3 Mixed; 4 of them in rollups
50 artifact comparisons made in total
30 Untriaged Pull Requests

#### Regressions

Rollup of 9 pull requests [#106730](https://github.com/rust-lang/rust/pull/106730) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=b22c152958eade17a71d899b29a2d39bcc77aa48&end=ef4046e4f3932991971cdb64915172899532aece&stat=instructions:u)

| (instructions:u)         | mean | range        | count |
|:------------------------:|:----:|:------------:|:-----:|
| Regressions (primary)    | 0.3% | [0.2%, 0.3%] | 6     |
| Regressions (secondary)  | 0.4% | [0.2%, 0.7%] | 4     |
| Improvements (primary)   | -    | -            | 0     |
| Improvements (secondary) | -    | -            | 0     |
| All  (primary)           | 0.3% | [0.2%, 0.3%] | 6     |

* already isolated by the PR author to [#106321](https://github.com/rust-lang/rust/issues/106321)
* left comment and marked as triaged

Rollup of 10 pull requests [#106822](https://github.com/rust-lang/rust/pull/106822) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=0b90256ada21c6a81b4c18f2c7a23151ab5fc232&end=a11eb4f267ddfe4f00cb40bf94aef508c11e0862&stat=instructions:u)

| (instructions:u)         | mean | range        | count |
|:------------------------:|:----:|:------------:|:-----:|
| Regressions (primary)    | 0.8% | [0.8%, 0.9%] | 4     |
| Regressions (secondary)  | 0.5% | [0.3%, 0.8%] | 12    |
| Improvements (primary)   | -    | -            | 0     |
| Improvements (secondary) | -    | -            | 0     |
| All  (primary)           | 0.8% | [0.8%, 0.9%] | 4     |

* the sole primary impacted benchmarks are variants of helloworld-check.
* Looking at the [graph](https://perf.rust-lang.org/index.html?start=2022-12-14&end=2023-01-17&benchmark=helloworld&profile=check&scenario=incr-unchanged&stat=instructions:u), I'm categorizing this as noise.
* left comment and marked as triaged

Rework some `predicates_of`/`{Generic,Instantiated}Predicates` code [#106395](https://github.com/rust-lang/rust/pull/106395) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=41edaac716dde55b6a9d83ae4da0fba354ae5ba8&end=d12412c90fbd974b1cf886e42a95c850d9ee45a1&stat=instructions:u)

| (instructions:u)         | mean  | range          | count |
|:------------------------:|:-----:|:--------------:|:-----:|
| Regressions (primary)    | 0.8%  | [0.7%, 0.9%]   | 4     |
| Regressions (secondary)  | 0.6%  | [0.2%, 1.1%]   | 18    |
| Improvements (primary)   | -     | -              | 0     |
| Improvements (secondary) | -0.7% | [-0.7%, -0.7%] | 1     |
| All  (primary)           | 0.8%  | [0.7%, 0.9%]   | 4     |

* already triaged as noise

Heuristically undo path prefix mappings. [#106853](https://github.com/rust-lang/rust/pull/106853) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=af669c26846f85fd15e34a6f03d5d2f237444c17&end=481725984b4cd94ef5c00917b01c1771b6e5299c&stat=instructions:u)

| (instructions:u)         | mean | range        | count |
|:------------------------:|:----:|:------------:|:-----:|
| Regressions (primary)    | 0.7% | [0.7%, 0.8%] | 3     |
| Regressions (secondary)  | 0.4% | [0.3%, 0.6%] | 9     |
| Improvements (primary)   | -    | -            | 0     |
| Improvements (secondary) | -    | -            | 0     |
| All  (primary)           | 0.7% | [0.7%, 0.8%] | 3     |

* From the [graph](https://perf.rust-lang.org/index.html?start=2022-12-17&end=2023-01-18&benchmark=helloworld&profile=check&scenario=incr-unchanged&stat=instructions:u), I think this is just noise
* left comment and marked as triaged


#### Improvements

Update cargo [#106825](https://github.com/rust-lang/rust/pull/106825) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=a11eb4f267ddfe4f00cb40bf94aef508c11e0862&end=ca5d92d789c94060fc32bfc4a778fb16904756ea&stat=instructions:u)

| (instructions:u)         | mean  | range          | count |
|:------------------------:|:-----:|:--------------:|:-----:|
| Regressions (primary)    | -     | -              | 0     |
| Regressions (secondary)  | -     | -              | 0     |
| Improvements (primary)   | -0.9% | [-0.9%, -0.8%] | 4     |
| Improvements (secondary) | -0.5% | [-0.8%, -0.3%] | 12    |
| All  (primary)           | -0.9% | [-0.9%, -0.8%] | 4     |

* just noise in the other direction

Emit only one nbsp error per file [#106872](https://github.com/rust-lang/rust/pull/106872) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=d12412c90fbd974b1cf886e42a95c850d9ee45a1&end=a5bfc25c93d2549887848529382892f93c95207d&stat=instructions:u)

| (instructions:u)         | mean  | range          | count |
|:------------------------:|:-----:|:--------------:|:-----:|
| Regressions (primary)    | -     | -              | 0     |
| Regressions (secondary)  | -     | -              | 0     |
| Improvements (primary)   | -0.7% | [-0.8%, -0.7%] | 4     |
| Improvements (secondary) | -0.6% | [-1.1%, -0.3%] | 15    |
| All  (primary)           | -0.7% | [-0.8%, -0.7%] | 4     |

* just noise in the other direction


Put `noundef` on all scalars that don't allow uninit [#106294](https://github.com/rust-lang/rust/pull/106294) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=38a76f33220c4b9d13dda1fa8f6c629c8a7bcc5d&end=3984bc5833db8bfb0acc522c9775383e4171f3de&stat=instructions:u)

| (instructions:u)         | mean  | range          | count |
|:------------------------:|:-----:|:--------------:|:-----:|
| Regressions (primary)    | 0.6%  | [0.5%, 0.6%]   | 2     |
| Regressions (secondary)  | 1.2%  | [1.2%, 1.2%]   | 1     |
| Improvements (primary)   | -0.2% | [-0.3%, -0.1%] | 52    |
| Improvements (secondary) | -0.3% | [-0.5%, -0.2%] | 24    |
| All  (primary)           | -0.2% | [-0.3%, 0.6%]  | 54    |

* awesome amount of green (small but broad) in the perf results

#### Mixed

Rollup of 10 pull requests [#106757](https://github.com/rust-lang/rust/pull/106757) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=4887cb18dc2ef5b1bf3fc50ce6c267fde085032b&end=2b8590ef3bd1221830ec8a4131ea9d02b1636746&stat=instructions:u)

| (instructions:u)         | mean  | range          | count |
|:------------------------:|:-----:|:--------------:|:-----:|
| Regressions (primary)    | 0.6%  | [0.6%, 0.7%]   | 6     |
| Regressions (secondary)  | -     | -              | 0     |
| Improvements (primary)   | -     | -              | 0     |
| Improvements (secondary) | -0.5% | [-0.5%, -0.5%] | 1     |
| All  (primary)           | 0.6%  | [0.6%, 0.7%]   | 6     |

* the regressing cases are all variation of diesel {full, incr-full}
* Not marking #106757 as triaged. Doing some rust-timer runs on the individual builds.

Rollup of 10 pull requests [#106851](https://github.com/rust-lang/rust/pull/106851) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=44a500c8c187b245638684748f54bd6ec67e0b25&end=4b51adf6ffa1ae2286ea436eb48cbaa8771886e6&stat=instructions:u)

| (instructions:u)         | mean  | range          | count |
|:------------------------:|:-----:|:--------------:|:-----:|
| Regressions (primary)    | -     | -              | 0     |
| Regressions (secondary)  | 0.4%  | [0.3%, 0.5%]   | 5     |
| Improvements (primary)   | -0.4% | [-0.4%, -0.3%] | 4     |
| Improvements (secondary) | -0.4% | [-0.6%, -0.1%] | 3     |
| All  (primary)           | -0.4% | [-0.4%, -0.3%] | 4     |

* the regressing cases are secondary tuple-stress and deep-vector
* left comment and marked as triaged.

Switch to `EarlyBinder` for `const_param_default` and `impl_trait_ref` queries [#106696](https://github.com/rust-lang/rust/pull/106696) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=4b51adf6ffa1ae2286ea436eb48cbaa8771886e6&end=b8f9cb345ab1401f2fbd14cc23f64dda9dd2314e&stat=instructions:u)

| (instructions:u)         | mean  | range          | count |
|:------------------------:|:-----:|:--------------:|:-----:|
| Regressions (primary)    | 0.2%  | [0.2%, 0.2%]   | 1     |
| Regressions (secondary)  | -     | -              | 0     |
| Improvements (primary)   | -0.3% | [-0.4%, -0.2%] | 3     |
| Improvements (secondary) | -     | -              | 0     |
| All  (primary)           | -0.2% | [-0.4%, 0.2%]  | 4     |

* there is one small regression to bitmaps-full doc, and three improvements to bitmaps-incr-full {check, debug, opt}.
* If its not noise, its seems like the right trade off.
* left comment, marked as triaged.

## Nominated Issues

[T-compiler](https://github.com/rust-lang/rust/issues?q=is%3Aopen+label%3AI-compiler-nominated)
- "Backport patch to fix build failure to 1.67.0" [rust#107032](https://github.com/rust-lang/rust/issues/107032)
  - Github user [@paulmenzel](https://github.com/paulmenzel) asks if PR #105901 can be backported to next stable 1.67.0 ([comment](https://github.com/rust-lang/rust/pull/105901#issuecomment-1386916210)) (was planned for 1.68)
  - PR #105901 fixes #105816, a regression affecting building `rustc` on Solaris

[RFC](https://github.com/rust-lang/rfcs/issues?q=is%3Aopen+label%3AI-compiler-nominated)
- No I-compiler-nominated RFCs this time

## Next week's WG checkins

- @_*WG-rustc-dev-guide* by @**Santiago Pastorino** and @**Yuki Okushi|217081**
- Impl Trait initiative by @**oli**
