---
tags: weekly, rustc
---
# T-compiler Meeting Agenda 2020-06-18
[Tracking Issue](https://github.com/rust-lang/rust/issues/54818)
## Announcements
- Major Changes Proposals:
- New accepted proposals
- "Preserve `PlaceContext` through projections" [#300](https://github.com/rust-lang/compiler-team/issues/300)
- "Make lang-items private" [#301](https://github.com/rust-lang/compiler-team/issues/301)
- Seconded proposals (in FCP)
- "illumos toolchain builds" [#279](https://github.com/rust-lang/compiler-team/issues/279)
- "Make `CONTRIBUTING.md` into a series of tutorials" [#296](https://github.com/rust-lang/compiler-team/issues/296)
- "Support const parameters in type dependent paths" [#304](https://github.com/rust-lang/compiler-team/issues/304)
- "`#[deny(unsafe_op_in_unsafe_fn)]` in liballoc" [#306](https://github.com/rust-lang/compiler-team/issues/306)
- New proposals (not seconded)
- "Move Rust provided objects, libraries and binaries meant for self-contained linkage to separate directory" [#310](https://github.com/rust-lang/compiler-team/issues/310)
- "RISC-V Linux Tier 2 Host support" [#312](https://github.com/rust-lang/compiler-team/issues/312)
- "Switch from libbacktrace to gimli" [#313](https://github.com/rust-lang/compiler-team/issues/313)
- Old proposals (not seconded)
- "Integration of the Cranelift backend with rustc" [#270](https://github.com/rust-lang/compiler-team/issues/270)
- "Decentralize queries" [#277](https://github.com/rust-lang/compiler-team/issues/277)
- "--extern-location to specify where an --extern dependency is defined" [#303](https://github.com/rust-lang/compiler-team/issues/303)
- Unilateral beta backport approvals
- "Make novel structural match violations not a `bug`" [#73446](https://github.com/rust-lang/rust/pull/73446)
- "Don't create impl candidates when obligation contains errors" [#73005](https://github.com/rust-lang/rust/pull/73005)
### WG checkins
@*WG-prioritization* checkin by @**spastorino**:
>- We are now executing our process fully async and have bi-weekly planning/steering meetings to think about things to improve.
>- We've prioritized all `I-unsound 💥` issues for `T-compiler` and `libs-impl`.
> - From now on, new issues tagged with `I-unsound 💥` will automatically add `I-prioritize` and then request prioritization to the wg.
>- There are not unprioritized regressions anymore :tada:
> - We've prioritized all `regression-from-stable-to-stable` issues for `T-compiler` and `libs-impl`.
> - From now on new issues tagged with `regression-from-stable-to-stable` will automatically add `I-prioritize` and then request prioritization to the wg.
> - Same happens for `regression-from-stable-to-beta` and `regression-from-stable-to-nightly`.
>- We are in the process of automating most of our procedure.
@*WG-rfc-2229* checkin by @**nikomatsakis**:
> * We've created a repository to track the issues and work, [rust-lang/project-rfc-2229](https://github.com/rust-lang/project-rfc-2229)
> * Currently doing some core refactorings, improving the "HIR place" datastructure to /IU be sufficiently precise, and refactoring how closures represent captures to use that instead of individual variables
## Beta-nominations
[T-compiler](https://github.com/rust-lang/rust/issues?q=is%3Aall+label%3Abeta-nominated+-label%3Abeta-accepted+label%3AT-compiler)
- "Ensure stack when building MIR for matches" [#72941](https://github.com/rust-lang/rust/pull/72941)
- [Fixes stack overflow](https://github.com/rust-lang/rust/issues/72933)
- "Fix link error with #[thread_local] introduced by #71192" [#73065](https://github.com/rust-lang/rust/pull/73065)
- Fixes an error introduced by "[Make TLS accesses explicit in MIR #71192 ](https://github.com/rust-lang/rust/pull/71192)"
- "Reoder order in which MinGW libs are linked to fix recent breakage" [#73184](https://github.com/rust-lang/rust/pull/73184)
- "Recent upstream mingw-w64 changes made libmsvcrt depend on libmingwex breaking compilation in some cases when using external MinGW."
- "Allow inference regions when relating consts" [#73225](https://github.com/rust-lang/rust/pull/73225)
- Fixes ICE "generator_interior.rs impossible case reached" [#73050](https://github.com/rust-lang/rust/issues/73050)
- "Disable the `SimplifyArmIdentity` pass" [#73262](https://github.com/rust-lang/rust/pull/73262)
- This is the beta nomination for a `P-critical` issue.
- "linker: Never pass `-no-pie` to non-gnu linkers" [#73384](https://github.com/rust-lang/rust/pull/73384)
- Fixes "linking error: unknown agrument `-no-pie`" [#73370](https://github.com/rust-lang/rust/issues/73370)
[libs-impl](https://github.com/rust-lang/rust/issues?q=is%3Aall+label%3Abeta-nominated+-label%3Abeta-accepted+label%3Alibs-impl)
There are no issues this time.
[T-rustdoc](https://github.com/rust-lang/rust/issues?q=is%3Aall+label%3Abeta-nominated+-label%3Abeta-accepted+label%3AT-rustdoc)
There are no issues 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)
There are no issues this time.
[libs-impl](https://github.com/rust-lang/rust/issues?q=is%3Aall+label%3Astable-nominated+-label%3Astable-accepted+label%3Alibs-impl)
There are no issues this time.
[T-rustdoc](https://github.com/rust-lang/rust/issues?q=is%3Aall+label%3Astable-nominated+-label%3Astable-accepted+label%3AT-rustdoc)
There are no issues this time.
:back: / :shrug: / :hand:
## PR's 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)
- "Implement `--extern-location`" [#72603](https://github.com/rust-lang/rust/pull/72603)
- This was already discussed last week
- [an MCP is pending](https://github.com/rust-lang/compiler-team/issues/303)
[libs-impl](https://github.com/rust-lang/rust/pulls?utf8=%E2%9C%93&q=is%3Aopen+label%3AS-waiting-on-team+label%3Alibs-impl)
There are no issues this time.
## Issues of Note
### Short Summary
- [3 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)
- [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+)
- [26 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)
- [2 P-critical, 1 P-high, 4 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, 1 P-high, 4 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, 45 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)
- "Slice index becomes wrong (beta regression)" [#73223](https://github.com/rust-lang/rust/issues/73223)
- It's a regression from stable to beta
- [PR is merged already on nightly](https://github.com/rust-lang/rust/pull/73262)
- It's beta nominated
- "ICE: could not fully normalize" [#73249](https://github.com/rust-lang/rust/issues/73249)
- It's a regression from stable to nightly
- [It has a PR already r+ed](https://github.com/rust-lang/rust/pull/73257)
- "ICE: MIR const-checker found novel structural match violation" [#73431](https://github.com/rust-lang/rust/issues/73431)
- ICE when matching with a trait constant
- Beta regression caused by [#67343](https://github.com/rust-lang/rust/pull/67343) (@**ecstatic-morse**)
- Breaks previously accepted code, should be fixed and backported before it gets to stable
[libs-impl](https://github.com/rust-lang/rust/issues?utf8=%E2%9C%93&q=is%3Aopen+label%3AP-critical+label%3Alibs-impl)
There are no issues this time.
[T-rustdoc](https://github.com/rust-lang/rust/issues?utf8=%E2%9C%93&q=is%3Aopen+label%3AP-critical+label%3AT-rustdoc)
There are no issues 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)
- "Unreasonably long (and useless) error message doing modulo on non-existent variable: overflow evaluating the requirement `typenum::UInt<typenum::UInt..." [#72839](https://github.com/rust-lang/rust/issues/72839)
- [PR is merged already](https://github.com/rust-lang/rust/pull/73005)
- It's already beta accepted
- So this is waiting for a beta backport
[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)
There are no issues this time.
## Performance logs
[Triage done by njn](https://github.com/rust-lang/rustc-perf/tree/master/triage#triage-logs)
Some bustage involving Cargo meant that some merges in this period didn't get measured.
Regressions:
- [Rollup of 10 pull requests](https://github.com/rust-lang/rust/pull/73367#issuecomment-644456094) ([instructions](https://perf.rust-lang.org/compare.html?start=ce6d3a73b514e9649e57cee812ad129bb2112016&end=d4ecf31efc2309fb6df8c2a8af9aaf8176ab1c8d&stat=instructions:u)):
Regressed up to 3.5% on multiple benchmarks. Maybe [#71824](https://github.com/rust-lang/rust/pull/71824) is the cause?
- [Disable the `SimplifyArmIdentity` pass](https://github.com/rust-lang/rust/pull/73262#issuecomment-644451010) ([instructions](https://perf.rust-lang.org/compare.html?start=7c78a5f97de07a185eebae5a5de436c80d8ba9d4&end=f4fbb93113aa4f0a0cd08e74afb35381bbfbc7f0&stat=instructions:u)):
A small regression on a couple of benchmarks from disabling a buggy pass,
which may be re-enabled in the future?
- A small regression occurred for `syn-opt`, but I can't tell which PR was
responsible because the improvement occurred in one of the merges that wasn't
measured due to the Cargo bustage.
Improvements:
- Some huge improvements occurred for `clap-rs-opt`, but I can't tell which PR was responsible because the improvement occurred in one of the merges that wasn't measured due to the Cargo bustage.
- [Rollup of 8 pull requests](https://github.com/rust-lang/rust/pull/73316#issuecomment-644453724) ([instructions](https://perf.rust-lang.org/compare.html?start=1fb612bd15bb3ef098fd24c20d0727de573b4410&end=06e47688bf15d0215edbe05b21603062f6d2eb5d&stat=instructions:u)):
A small improvement on `many-assoc-items`, and a tiny regression on a couple of other benchmarks.
## Nominated Issues
[T-compiler](https://github.com/rust-lang/rust/issues?q=is%3Aopen+label%3AI-nominated+label%3AT-compiler)
- "Type mismatching cased by duplicate associated type resolution" [#59326](https://github.com/rust-lang/rust/issues/59326)
- Unassigned P-high regression
- Culprit likely to be [#56837](https://github.com/rust-lang/rust/pull/56837)
- "Incorrect compilation / STATUS_ACCESS_VIOLATION when linking with lld with target-cpu set" [#72145](https://github.com/rust-lang/rust/issues/72145)
- Metabug: "Use lld by default on x64 msvc windows" [#71520](https://github.com/rust-lang/rust/issues/71520)
- "mv std libs to std/" [#73265](https://github.com/rust-lang/rust/pull/73265)
- PR to move the stdlib crates to the `std/` folder
- [Proposes](https://github.com/rust-lang/rust/pull/73265#issuecomment-643416610) the following directory structure: `std/<crate>/src/*.rs` (i.e. one `src/` folder per crate)
- "f32::powi on Windows returns different results between 1.44 and 1.45 beta" [#73420](https://github.com/rust-lang/rust/issues/73420)
- Nominated with intention of raising awareness of this LLVM 10 change and to discuss briefly what to do. Do we want to add some relnotes?.
[libs-impl](https://github.com/rust-lang/rust/issues?q=is%3Aopen+label%3AI-nominated+label%3Alibs-impl)
There are no issues this time.