---
# System prepended metadata

title: T-compiler Meeting Agenda 2020-07-16
tags: [' rustc', weekly]

---

---
tags: weekly, rustc
---

# T-compiler Meeting Agenda 2020-07-16

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

## Announcements

- Rust 1.45 is being released today! :tada::tada::tada:
- 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)
  - "Move Rust provided objects, libraries and binaries meant for self-contained linkage to separate directory" [compiler-team#310](https://github.com/rust-lang/compiler-team/issues/310)
  - "Add future-incompat entries to json diagnostic output" [compiler-team#315](https://github.com/rust-lang/compiler-team/issues/315)
  - "MCP: Reorganize the rust-lang/rust repo directory structure" [compiler-team#316](https://github.com/rust-lang/compiler-team/issues/316)
- Pending FCP requests (check your boxes!)
  - No pending FCP requests this time.
- Things in FCP (make sure you're good with it)
  - "Change `ty::Const` to an integer tree representation" [compiler-team#323](https://github.com/rust-lang/compiler-team/issues/323)
  - "Infer hidden types without replacing with an inference variable" [compiler-team#325](https://github.com/rust-lang/compiler-team/issues/325)
  - "Improve defaults in x.py" [compiler-team#326](https://github.com/rust-lang/compiler-team/issues/326)
  - "Rework rustc_serialize" [compiler-team#329](https://github.com/rust-lang/compiler-team/issues/329)
  - "Use `tracing` instead of `log`" [compiler-team#331](https://github.com/rust-lang/compiler-team/issues/331)
  - "Stabilize control-flow-guard codegen option" [rust#73893](https://github.com/rust-lang/rust/pull/73893)
- Accepted MCPs
  - "--extern-location to specify where an --extern dependency is defined" [compiler-team#303](https://github.com/rust-lang/compiler-team/issues/303)
- Finalized FCPs
  - "Stabilize const_type_id feature" [rust#72488](https://github.com/rust-lang/rust/pull/72488)
- Should we close #compiler channel on Discord?
  - This was briefly discussed on [Zulip](https://rust-lang.zulipchat.com/#narrow/stream/131828-t-compiler/topic/discord.20channel)

### WG checkins

@*WG-rustc-dev-guide* checkin by @**mark-i-m** and @**Santiago Pastorino**:
> [68 merged PRs!](https://github.com/rust-lang/rustc-dev-guide/pulls?page=1&q=closed%3A%3E%3D2020-05-28) In fact, there was so much stuff, that we ran out of time to curate it... here is a prefix of the list of PRs (heavily biased towards earlier PRs); there are so many people that deserve credit:
>- Aaron Hill
>- Andy Russell
>- Bastian Kauschke
>- Drew Youngwerth
>- Eric Huss
>- Florian Gilcher
>- Ivan Veselov
>- Joshua Nelson
>- mark-i-m
>- Matt Kraai
>- Nadrieril
>- Niko Matsakis
>- pierwill
>- Ralf Jung
>- Santiago Pastorino
>- Takayuki Nakata
>- ThePuzzlemaker
>- Tomasz Miąsko
>- Tom Eccles
>- Yuki Okushi
>
>Accomplished:
>
>- Tons of new content:
>   - [Getting Started Guide](https://github.com/rust-lang/rustc-dev-guide/pull/731) + many improvements
>   - Type-system rustc-dev-guide#697
>   - Diagnostics rustc-dev-guide#716
>   - Building and testing `rustc` rustc-dev-guide#723, rustc-dev-guide#727, rustc-dev-guide#728, rustc-dev-guide#729, and many more
>   - Writing tests rustc-dev-guide#724, rustc-dev-guide#725, rustc-dev-guide#749 
>- Updates to various current content:
>   - [Lints](https://github.com/rust-lang/rustc-dev-guide/pull/713)
>   - [`TyKind::Error`](https://github.com/rust-lang/rustc-dev-guide/pull/715)
>   - [Coding Conventions](https://github.com/rust-lang/rustc-dev-guide/pull/735)
>   - Notification Groups rustc-dev-guide#739, rustc-dev-guide#740, and more 
>- Some reorganization:
>   - rustc-dev-guide#753, rustc-dev-guide#752, rustc-dev-guide#763, rustc-dev-guide#764, rustc-dev-guide#767, rustc-dev-guide#768, rustc-dev-guide#773

@*WG-llvm* checkin by @**nagisa**:
> * As mentioned above, there’s LLVM11 upgrade on the horizon. The usual caveats etc apply. Potential regressions, improvements in compiler code output etc.
>* In similar spirit been seeing an increased flow of issue reports about sub-optimal code generation, thuogh that's a very subjective evaluation;
>* There's an ongoing effort by a community member to enable building targeting apple silicon with "fat" libraries. There are some complication in enabling this:
    * Upstream LLVM support for this is _dubious_ both now and possibly LLVM 11.
    * What kind of tier are we hoping to have for this target at launch time? I’d say just let it go through the usual process, but I can see logic in idea of having T2/T1 support at launch time.

## Beta-nominations

[T-compiler](https://github.com/rust-lang/rust/issues?q=is%3Aall+label%3Abeta-nominated+-label%3Abeta-accepted+label%3AT-compiler)

 * lint: use `transparent_newtype_field` to avoid ICE [rust#74340](https://github.com/rust-lang/rust/pull/74340)
   * fix for Nightly ICEs trying to normalize during a cast [rust#73747](https://github.com/rust-lang/rust/issues/73747)
   * authored by @davidtwco and r+'ed by @pnkfelix
   * (just barely missed the promotion from master to beta)
   * pnkfelix would be fine with letting this simmer until next week.

[libs-impl](https://github.com/rust-lang/rust/issues?q=is%3Aall+label%3Abeta-nominated+-label%3Abeta-accepted+label%3Alibs-impl)
- No beta nominations 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 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 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 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 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

- [0 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+)
  - [0 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)
- [49 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+)
  - [27 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)
- [0 P-critical, 0 P-high, 3 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, 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, 14 P-high, 46 P-medium, 4 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)
- No P-critical issues for T-compiler this time.

[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)
- No unassigned P-high beta regressions this time.

[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)
- No unassigned P-high nightly regressions this time.

## Performance logs

[Triage done by njn](https://github.com/rust-lang/rustc-perf/tree/master/triage#triage-logs).
Revision range: [0c03aee8b81185d65b5821518661c30ecdb42de5..9d09331e00b02f81c714b0c41ce3a38380dd36a2](https://perf.rust-lang.org/?start=0c03aee8b81185d65b5821518661c30ecdb42de5&end=9d09331e00b02f81c714b0c41ce3a38380dd36a2&absolute=false&stat=instructions%3Au).

12 revisions checked. Zero regressions, one improvement.

Regressions
- None!

Improvements
- [Shrink ParamEnv to 16 bytes #73978](https://github.com/rust-lang/rust/pull/73978#issuecomment-657877594)
  ([instructions](https://perf.rust-lang.org/compare.html?start=0c03aee8b81185d65b5821518661c30ecdb42de5&end=8981dbbc36f1575b0a417b6849767bde29e7c6b4&stat=instructions:u)):
  Up to 1.8% wins on a few benchmarks.

## Nominated Issues

[T-compiler](https://github.com/rust-lang/rust/issues?q=is%3Aopen+label%3AI-nominated+label%3AT-compiler)
- "Polymorphization" [rust#69749](https://github.com/rust-lang/rust/pull/69749)
  - This was nominated for discussion about what the next steps are.
  - [See @wesleywiser's comment](https://github.com/rust-lang/rust/pull/69749#issuecomment-658871287) for a summary of the current state and questions.
- "mv std libs to std/" [rust#73265](https://github.com/rust-lang/rust/pull/73265)
  - This was nominated again for discussion about what the next steps are.
  - "I propose to wait one week and nominate the issue one (hopefully) last time"
  - [See @mark-i-m's comment](https://github.com/rust-lang/rust/pull/73265#issuecomment-657075856) for a summary of the current proposal.
- "[WIP] Upgrade to LLVM 11" [rust#73526](https://github.com/rust-lang/rust/pull/73526)
  - [Nominated](https://github.com/rust-lang/rust/pull/73526#issuecomment-658943064) to double check whether we're okay with landing this prior to the final LLVM 11 release.
  - [See @nikic's comment](https://github.com/rust-lang/rust/pull/73526#issuecomment-658943064) ...
  - "The last perf run had large compile-time improvements for opt builds and some minor regressions for debug builds."
  - [Perf shows some nice improvements](https://perf.rust-lang.org/compare.html?start=7e11379f3b4c376fbb9a6c4d44f3286ccc28d149&end=adff1be71c9e1b3abb95b761d9caa41e4e1b9096)
- "Compiler doesn't terminate with --release" [rust#74384](https://github.com/rust-lang/rust/issues/74384)
  - Compiler doesn't "terminate" when nesting 3 arrays.
  - "It seems like this is an LLVM bug."

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