---
# System prepended metadata

title: T-compiler Meeting Agenda 2020-09-03
tags: [' rustc', weekly]

---

---
tags: weekly, rustc
---

# T-compiler Meeting Agenda 2020-09-03

[Tracking Issue](https://github.com/rust-lang/rust/issues/54818)

## Announcements

- Tomorrow (Friday 4th at <time:2020-09-04T14:00:00+00:00>) we are going to [discuss results of 2020 Contributor Survey](https://github.com/rust-lang/compiler-team/issues/318)
- New MCPs (take a look, see if you like them!)
  - No new proposals this time.
- Old MCPs (not seconded, take a look)
  - "Integration of the Cranelift backend with rustc" [compiler-team#270](https://github.com/rust-lang/compiler-team/issues/270)
  - "Decentralize queries" [compiler-team#277](https://github.com/rust-lang/compiler-team/issues/277)
  - "Infer hidden types without replacing with an inference variable" [compiler-team#325](https://github.com/rust-lang/compiler-team/issues/325)
  - "Uplift `temporary-cstring-as-ptr` lint from `clippy` into rustc" [compiler-team#346](https://github.com/rust-lang/compiler-team/issues/346)
  - "Uplift `drop-bounds` lint from clippy into rustc" [compiler-team#347](https://github.com/rust-lang/compiler-team/issues/347)
  - "Add StatementKind::Call to MIR" [compiler-team#348](https://github.com/rust-lang/compiler-team/issues/348)
  - "Require users to confirm they know RUSTC_BOOTSTRAP is unsupported before using it" [compiler-team#350](https://github.com/rust-lang/compiler-team/issues/350)
- Pending FCP requests (check your boxes!)
  - No pending FCP requests this time.
- Things in FCP (make sure you're good with it)
  - "Don't build tools by default with `x.py build`" [compiler-team#351](https://github.com/rust-lang/compiler-team/issues/351)
- Accepted MCPs
  - "Auto-generate lint documentation" [compiler-team#349](https://github.com/rust-lang/compiler-team/issues/349)
- Finalized FCPs (disposition merge)
  - "Tracking issue for hint::spin_loop (renamed sync::atomic::spin_loop_hint)" [rust#55002](https://github.com/rust-lang/rust/issues/55002)
  - "Stabilize deque_make_contiguous" [rust#74559](https://github.com/rust-lang/rust/pull/74559)

### WG checkins

@*WG-rustc-dev-guide* checkin by @**Santiago Pastorino**:
>- Rewrite/update compiler source code chapter [#765](https://github.com/rust-lang/rustc-dev-guide/pull/765)
>- Document serialization in rustc [#785](https://github.com/rust-lang/rustc-dev-guide/pull/785)
>- Expand on the documentation for polymorphization. [#803](https://github.com/rust-lang/rustc-dev-guide/pull/803)
>- Add basic steps for a new target [#805](https://github.com/rust-lang/rustc-dev-guide/pull/805)
>- Fix misguided suggestions in config.toml [#840](https://github.com/rust-lang/rustc-dev-guide/pull/840)
>- Adds documentation to cover spanview output [#844](https://github.com/rust-lang/rustc-dev-guide/pull/844)
>- @**mark-i-am**, formerly one of the working group leads, [has stepped down](https://internals.rust-lang.org/t/until-we-meet-again/12985) on their Rust involvement. @**mark-i-am** was a great co-lead with me and an awesome person to hang with. The work they've done is invaluable and it will be hugely missed.
>
>#### Changes in progress
>
>- Explain stages (take N) [#843](https://github.com/rust-lang/rustc-dev-guide/pull/843). This is an attempt by @jynelson to explain stages better for new contributors. However, after some discussion on the PR, it's not clear that the new explanation is better than the existing '`--stage N` runs `stageN/rustc`'. Opinions welcome!
>- Name `rustbuild` instead of saying 'the bootstrap binary' [#808](https://github.com/rust-lang/rustc-dev-guide/pull/808). This needs a consensus that it's actually useful terminology.
>- Fix dep-graph-caller-callee test location [#845](https://github.com/rust-lang/rustc-dev-guide/pull/845)
>- Update error codes to match the current implementation [#841](https://github.com/rust-lang/rustc-dev-guide/pull/841)

@*WG-llvm* checkin by @**nagisa** 
> no updates from me, but its more like I didn’t spend too much time looking for things rather than there not being any activity.

## Beta-nominations

[T-compiler](https://github.com/rust-lang/rust/issues?q=is%3Aall+label%3Abeta-nominated+-label%3Abeta-accepted+label%3AT-compiler)
- "Fix loading pretty-printers in rust-lldb script" [rust#76015](https://github.com/rust-lang/rust/pull/76015)
  - Opened by @ortem and reviewed by @**Eric Huss** and @**simulacrum**  
  - Fixes a [stable regression](https://github.com/rust-lang/rust/issues/76006)
- "[beta] Clippy backport for stabilization of range_is_empty feature" [rust#76051](https://github.com/rust-lang/rust/pull/76051)
  - Opened by @flip1995 and assigned to @**simulacrum**
  - This is not merged on master
  - Nominated because @**scottmcm** asked about it in [rust-clippy#5956](https://github.com/rust-lang/rust-clippy/issues/5956) but they have [no strong opinion on this](https://github.com/rust-lang/rust/pull/76051#issuecomment-685461529)

[libs-impl](https://github.com/rust-lang/rust/issues?q=is%3Aall+label%3Abeta-nominated+-label%3Abeta-accepted+label%3Alibs-impl)
- No beta nominations for `libs-impl` this time.

[T-rustdoc](https://github.com/rust-lang/rust/issues?q=is%3Aall+label%3Abeta-nominated+-label%3Abeta-accepted+label%3AT-rustdoc)
- No beta nominations for `T-rustdoc` this time.

:back: / :shrug: / :hand:

## Stable-nominations

[T-compiler](https://github.com/rust-lang/rust/issues?q=is%3Aall+label%3Astable-nominated+-label%3Astable-accepted+label%3AT-compiler)
- No stable nominations for `T-compiler` this time.

[libs-impl](https://github.com/rust-lang/rust/issues?q=is%3Aall+label%3Astable-nominated+-label%3Astable-accepted+label%3Alibs-impl)
- No stable nominations for `libs-impl` this time.

[T-rustdoc](https://github.com/rust-lang/rust/issues?q=is%3Aall+label%3Astable-nominated+-label%3Astable-accepted+label%3AT-rustdoc)
- 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)
- No PRs waiting on `T-compiler` this time.

[libs-impl](https://github.com/rust-lang/rust/pulls?utf8=%E2%9C%93&q=is%3Aopen+label%3AS-waiting-on-team+label%3Alibs-impl)
- No PRs waiting on `libs-impl` this time.

## Issues of Note

### Short Summary

- [2 T-compiler P-critical issues](https://github.com/rust-lang/rust/issues?utf8=%E2%9C%93&q=is%3Aopen+label%3AT-compiler+label%3AP-critical+)
  - [1 of those are unassigned](https://github.com/rust-lang/rust/issues?utf8=%E2%9C%93&q=is%3Aopen+label%3AT-compiler+label%3AP-critical+no%3Aassignee)
- [52 T-compiler P-high issues](https://github.com/rust-lang/rust/issues?utf8=%E2%9C%93&q=is%3Aopen+label%3AT-compiler+label%3AP-high+)
  - [32 of those are unassigned](https://github.com/rust-lang/rust/issues?utf8=%E2%9C%93&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)
- [1 P-critical, 2 P-high, 6 P-medium, 1 P-low regression-from-stable-to-nightly](https://github.com/rust-lang/rust/labels/regression-from-stable-to-nightly)
- [0 P-critical, 18 P-high, 56 P-medium, 6 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)
- "incorrect code generation for i686 release build for 1.47 beta and nightly" [rust#76042](https://github.com/rust-lang/rust/issues/76042)
  - Unassigned
  - `I-unsound` issue and beta regression
  - It seems to be [a bug in LLVM](https://bugs.llvm.org/show_bug.cgi?id=47278), triggered by compiler flag `-Copt-level=0`
- "Regression in proc macro panics being reported as compiler bugs" [rust#76270](https://github.com/rust-lang/rust/issues/76270)
  - Fresh issue, prioritized 1 minute before the meeting
  - Assigned to @**Aaron Hill** who seems that will provide a PR soon
  - Nightly regression [rust#75082](https://github.com/rust-lang/rust/pull/75082)
  - Looks like it breaks `syn` and `quote`

[libs-impl](https://github.com/rust-lang/rust/issues?utf8=%E2%9C%93&q=is%3Aopen+label%3AP-critical+label%3Alibs-impl)
- No `P-critical` issues for `libs-impl` this time.

[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.

### Unassigned P-high regressions

[Beta regressions](https://github.com/rust-lang/rust/issues?utf8=%E2%9C%93&q=is%3Aopen+label%3Aregression-from-stable-to-beta+P-high+no%3Aassignee)
- "diagnostics: "one type is more general" for two identical types?" [rust#75791](https://github.com/rust-lang/rust/issues/75791)
  - Discussed last week
  - Opened by @**matthiaskrgr**, unassigned
  - Confusing suggestion by the diagnostics
  - Niko [comments](https://github.com/rust-lang/rust/issues/75791#issuecomment-681997605) likely the culprit to be PR [rust#72493](https://github.com/rust-lang/rust/pull/72493), points to this [Zulip discussion](https://zulip-archive.rust-lang.org/238009tcompilermeetings/49871weeklymeeting2020082754818.html#208226050)

[Nightly regressions](https://github.com/rust-lang/rust/issues?utf8=%E2%9C%93&q=is%3Aopen+label%3Aregression-from-stable-to-nightly+P-high+no%3Aassignee)
- "Type mismatch in function arguments E0631, E0271 are falsely recognized as E0308 mismatched types" [rust#74400](https://github.com/rust-lang/rust/issues/74400)
  - Discussed last week
  - Very confusing error message
  - [Comment suggesting a likely culprit](https://github.com/rust-lang/rust/issues/74400#issuecomment-661860117)
  - [@**nikomatsakis** suggests to improve the error reporting for the new point where the error occurs](https://github.com/rust-lang/rust/issues/74400#issuecomment-664526040)

## Performance logs

A quiet week for the most part with the exception of two PRs. The first,
[#76027](https://github.com/rust-lang/rust/pull/76027), was a rather large regression that was soon fixed by [#76030](https://github.com/rust-lang/rust/pull/76030). The net result seems to be a small improvement overall on optimized and debug builds.

Triage done by @**ecstatic-morse**.
Revision range: [03017003c77d782cf7ed841a05d7c628a9b93f25..d927e5a655809b6b20501889e093c085d6ffe6f7][range]

[range]: https://perf.rust-lang.org/?start=03017003c77d782cf7ed841a05d7c628a9b93f25&end=d927e5a655809b6b20501889e093c085d6ffe6f7&absolute=false&stat=instructions%3Au

1 Regression, 2 Improvements, 0 of them in rollups.

#### Regressions

[#76027](https://github.com/rust-lang/rust/pull/76027) ty: remove obsolete pretty printer
- [A major regression on some `incr-patched` benchmarks](https://perf.rust-lang.org/compare.html?start=e98f0632bbec24b196dbd6fc820537f6f3724807&end=8ed5cb56b5e5cc216eb6820a44dd4f7ef65107b0&stat=instructions:u)
- Very small regressions on full builds of other benchmarks along with a major one on `await-call-tree`
- Seems to have been solved by #76030 (see below).

#### Improvements

[#75754](https://github.com/rust-lang/rust/pull/75754) Switch to Snappy compression for metadata
- [A small improvement across the board](https://perf.rust-lang.org/compare.html?start=fe8ab8a530fc2369e2748421a319444383363340&end=7fc048f0712ba515ca11fac204921b9ad8a0c5a3&stat=instructions:u)

[#76030](https://github.com/rust-lang/rust/pull/76030) cg\_llvm: `fewer_names` in `uncached_llvm_type`
- [A major improvement on some `incr-patched` benchmarks](https://perf.rust-lang.org/compare.html?start=897ef3a0ec001b89fffe7125c20d6a6bb12fee6c&end=1d22f75c9f75cad2e408a145861904898ac982dd&stat=instructions:u)
- Small improvements on full builds of other benchmarks along with a major one on `await-call-tree`

#### Nags requiring follow up

None

## Nominated Issues

[T-compiler](https://github.com/rust-lang/rust/issues?q=is%3Aopen+label%3AI-nominated+label%3AT-compiler)
- "Unsizing coercion does not normalize associated types in structs." [rust#75899](https://github.com/rust-lang/rust/issues/75899)
  - Opened and nominated by @**eddyb**
  - [Nomination reason](https://github.com/rust-lang/rust/issues/75899#issue-685378672)
  - @**eddyb** was unsure if nominating this for `T-lang` first or `T-compiler` but decided to try with `T-compiler` first
- "Widen TypeId from 64 bits to 128." [rust#75923](https://github.com/rust-lang/rust/pull/75923)
  - Opened by @**eddyb**
  - @**simulacrum** [nominated it to talk about @**eddyb**'s concern wrt to typeid stabilization; it might be a T-lang question too](https://github.com/rust-lang/rust/pull/75923#issuecomment-684051064).
- "Large performance drop in compiled binary in stable rust 1.45.2 vs 1.44.0 on x86_64 linux" [rust#76247](https://github.com/rust-lang/rust/issues/76247)
  - Nominated by @*WG-prioritization* to raise awareness of a runtime performance regression that seems to have started when we upgraded to LLVM 10 and LLVM 11rc2 doesn't fix.
  - Unsure if it's a known LLVM issue but [it doesn't seem to be part of the issues that block the LLVM 11 release](https://bugs.llvm.org/show_bug.cgi?id=46725)
  - [It seems like LLVM is struggling with the conversion between boolean vectors and integer vectors.](https://github.com/rust-lang/rust/issues/76247#issuecomment-686451846)

[libs-impl](https://github.com/rust-lang/rust/issues?q=is%3Aopen+label%3AI-nominated+label%3Alibs-impl)
- No nominated issues for `libs-impl` this time.
