owned this note
owned this note
Published
Linked with GitHub
---
tags: weekly, rustc
type: docs
---
# T-compiler Meeting Agenda 2022-05-12
## Announcements
- Next week: release of Rust stable 1.61
- Tomorrow <time:2022-05-13T13:00:00+02:00> Types Team: Chalkification [calendar link](https://calendar.google.com/calendar/event?eid=M3JsYmdkN2F0cjdtYXE0Z2ljYzM4Nm42NTRfMjAyMjA1MTNUMTMwMDAwWiA2dTVycnRjZTZscnR2MDdwZmkzZGFtZ2p1c0Bn&ctz=GMT+02:00), [issue](https://github.com/rust-lang/wg-traits/issues/42)
- 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).
## MCPs/FCPs
- New MCPs (take a look, see if you like them!)
- "Replace generic parameter list with separate lists per param kind" [compiler-team#515](https://github.com/rust-lang/compiler-team/issues/515)
- Old MCPs (not seconded, take a look)
- "Accept `pc` in place of `unknown` and `unknown` in place of `pc` for `x86_64` and `i?86` targets" [compiler-team#441](https://github.com/rust-lang/compiler-team/issues/441) (last review activity: 10 months ago)
- "Make `-Z binary-dep-depinfo` the default behavior" [compiler-team#464](https://github.com/rust-lang/compiler-team/issues/464) (last review activity: 7 months ago)
- "Tier 3 target proposal: riscv64gc-linux-android (Android target for `riscv64gc`)" [compiler-team#472](https://github.com/rust-lang/compiler-team/issues/472) (last review activity: 5 months ago)
- "`-Dwarnings` to cover all warnings" [compiler-team#473](https://github.com/rust-lang/compiler-team/issues/473) (last review activity: 5 months ago)
- "Build-time execution sandboxing" [compiler-team#475](https://github.com/rust-lang/compiler-team/issues/475) (last review activity: 4 months ago)
- "Dealing with type/const ambiguities" [compiler-team#480](https://github.com/rust-lang/compiler-team/issues/480) (last review activity: 3 months ago)
- "Removing codegen logic for `nvptx-nvidia-cuda` (32-bit target)" [compiler-team#496](https://github.com/rust-lang/compiler-team/issues/496) (last review activity: about 54 days ago)
- "Change compiletest declarations parsing" [compiler-team#512](https://github.com/rust-lang/compiler-team/issues/512) (last review activity: about 5 days ago)
- "Arbitrary annotations in compiletest" [compiler-team#513](https://github.com/rust-lang/compiler-team/issues/513) (last review activity: about 5 days ago)
- Pending FCP requests (check your boxes!)
- "Stabilize `-Zgcc-ld=lld` as `-Clink-self-contained=linker -Clinker-flavor=gcc-lld`" [compiler-team#510](https://github.com/rust-lang/compiler-team/issues/510#issuecomment-1119675764)
- "Tracking issue for Consistent no-prelude attribute (RFC 501)" [rust#20561](https://github.com/rust-lang/rust/issues/20561#issuecomment-1059258740)
- "Tracking Issue for `-Z terminal-width`" [rust#84673](https://github.com/rust-lang/rust/issues/84673#issuecomment-1087141663)
- "Increase the minimum linux-gnu versions" [rust#95026](https://github.com/rust-lang/rust/pull/95026#issuecomment-1077855006)
- "Stabilize the `bundle` native library modifier" [rust#95818](https://github.com/rust-lang/rust/pull/95818#issuecomment-1120471247)
- "Remove label/lifetime shadowing warnings" [rust#96296](https://github.com/rust-lang/rust/pull/96296#issuecomment-1114024288)
- Things in FCP (make sure you're good with it)
- "Add attribute to run specific tests in an isolated process" [compiler-team#508](https://github.com/rust-lang/compiler-team/issues/508)
- "Add an `EarlyBinder` type" [compiler-team#514](https://github.com/rust-lang/compiler-team/issues/514)
- Accepted MCPs
- No new accepted proposals this time.
- Finalized FCPs (disposition merge)
- No new finished FCP (disposition merge) this time.
### WG checkins
- @_*WG-rls2.0* by @**matklad** ([previous checkin](https://hackmd.io/Fv3TSalbT_CYVUEonihWzg#WG-checkins))
> Checkin text
- @_*WG-self-profile* by @**mw** and @**Wesley Wiser** ([previous checkin](https://hackmd.io/FdqBRFiPTmqBl3Eq8sOjOQ#WG-checkins))
> The main thing that's happened recently is that @lqd has improved the profiling data for proc-macros to include details about what macro is being invoked and from where. Thanks @lqd!
## Backport nominations
[T-compiler beta](https://github.com/rust-lang/rust/issues?q=is%3Aall+label%3Abeta-nominated+-label%3Abeta-accepted+label%3AT-compiler) / [T-compiler stable](https://github.com/rust-lang/rust/issues?q=is%3Aall+label%3Astable-nominated+-label%3Astable-accepted+label%3AT-compiler)
- :beta: "Forbid lifetime bounds in nested opaque types in binders" [#96970](https://github.com/rust-lang/rust/pull/96970)
- PR pushed by @**oli** to avoid the regression in P-critical [rust#96194](https://github.com/rust-lang/rust/issues/96194)
[T-rustdoc beta](https://github.com/rust-lang/rust/issues?q=is%3Aall+label%3Abeta-nominated+-label%3Abeta-accepted+label%3AT-rustdoc) / [T-rustdoc stable](https://github.com/rust-lang/rust/issues?q=is%3Aall+label%3Astable-nominated+-label%3Astable-accepted+label%3AT-rustdoc)
- No backport 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)
- "Stabilize the `bundle` native library modifier" [rust#95818](https://github.com/rust-lang/rust/pull/95818)
- @**Vadim Petrochenkov** added `I-compiler-nominated` (needs discussion or just team ticking their box?)
## 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)
- "Mir-Opt for copying enums with large discrepancies" [rust#85158](https://github.com/rust-lang/rust/pull/85158) (last review activity: about 47 days ago)
- pr author asks [for comment](https://github.com/rust-lang/rust/pull/85158#issuecomment-1119222751) cc @**Wesley Wiser**
- "Only tag data if debug assertions are enabled." [rust#95850](https://github.com/rust-lang/rust/pull/95850) (last review activity: about 31 days ago)
- review assigned to `@ghost` (self review cc: @**cjgillot**?)
- "Warn about dead tuple struct fields" [rust#95977](https://github.com/rust-lang/rust/pull/95977) (last review activity: about 28 days ago)
- previous review from @**eddyb**
- "Implement #[deprecated_safe]" [rust#95025](https://github.com/rust-lang/rust/pull/95025) (last review activity: about 21 days ago)
- cc @**eddyb** and @**Esteban Küber** ?
- "Initial work on Miri permissive-exposed-provenance" [rust#95826](https://github.com/rust-lang/rust/pull/95826) (last review activity: about 22 days ago)
- previous review from @**RalfJ**
## 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)
- [1 of those are unassigned](https://github.com/rust-lang/rust/issues?q=is%3Aopen+label%3AT-compiler+label%3AP-critical+no%3Aassignee)
- [60 T-compiler P-high issues](https://github.com/rust-lang/rust/issues?q=is%3Aopen+label%3AT-compiler+label%3AP-high)
- [46 of those are unassigned](https://github.com/rust-lang/rust/issues?q=is%3Aopen+label%3AT-compiler+label%3AP-high+no%3Aassignee)
- [0 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, 0 P-high, 1 P-medium, 0 P-low regression-from-stable-to-nightly](https://github.com/rust-lang/rust/labels/regression-from-stable-to-nightly)
- [0 P-critical, 40 P-high, 82 P-medium, 10 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)
- "nested RPIT and HRTB: unclear semantics and future incompatibility" [rust#96194](https://github.com/rust-lang/rust/issues/96194)
- @**aliemjay** reports an accidental stabilization
- [Thread on irlo](https://internals.rust-lang.org/t/semantics-of-nested-impl-trait-hrtbs/16492/5)
- Wg-prio [Zulip topic](https://rust-lang.zulipchat.com/#narrow/stream/245100-t-compiler.2Fwg-prioritization.2Falerts/topic/.2396194.20nested.20RPIT.20and.20HRTB.3A.20unclear.20semantics.20and.20future.20i.E2.80.A6) with thoughts from @**Jack Huey** and @**cjgillot** (esp. [comment](https://rust-lang.zulipchat.com/#narrow/stream/245100-t-compiler.2Fwg-prioritization.2Falerts/topic/.2396194.20nested.20RPIT.20and.20HRTB.3A.20unclear.20semantics.20and.20future.20i.E2.80.A6/near/282029705))
- `T-lang` nominated for discussion
- (authored by @**oli**): a "small" PR that avoids the issue is up and beta nominated: [rust#96970](https://github.com/rust-lang/rust/pull/96970)
[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](https://github.com/rust-lang/rustc-perf/blob/master/triage/2022-05-10.md)
A good week: Several performance improvements, many around macro expansion. Only
one regression of note, and that PR author opened an issue to follow up on it.
Triage done by **@pnkfelix**.
Revision range: [468492c2..c51871c4](https://perf.rust-lang.org/?start=468492c2af3993f18b1fe98052200575c4a2e678&end=c51871c469f7ed3b35ae25d7e6e77bc73fbdd0e3&absolute=false&stat=instructions%3Au)
**Summary**:
| | Regressions (primary) | Regressions (secondary) | Improvements (primary) | Improvements (secondary) | All (primary) |
|:-----:|:---------------------:|:-----------------------:|:-----------------------:|:-------------------------:|:---------------:|
| count | 11 | 37 | 117 | 65 | 128 |
| mean | 0.7% | 0.7% | -1.2% | -1.6% | -1.1% |
| max | 1.5% | 1.9% | -6.5% | -5.2% | -6.5% |
2 Regressions, 4 Improvements, 1 Mixed; 1 of them in rollups
59 artifact comparisons made in total
#### Regressions
Add a new Rust attribute to support embedding debugger visualizers [#91779](https://github.com/rust-lang/rust/pull/91779) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=322a14919d6cc67af45477b623857b30fae63f9d&end=a7d6768e3b60209d4195c822ea3247482909b604&stat=instructions:u)
| | Regressions (primary) | Regressions (secondary) | Improvements (primary) | Improvements (secondary) | All (primary) |
|:-----:|:---------------------:|:-----------------------:|:-----------------------:|:-------------------------:|:---------------:|
| count | 88 | 52 | 0 | 0 | 88 |
| mean | 0.4% | 0.5% | N/A | N/A | 0.4% |
| max | 0.9% | 1.0% | N/A | N/A | 0.9% |
* Original PR author opened issue #96786 to investigate these regressions, and marked as triaged.
* (PR #96795 claims to resolve some of the regressions, but rust-timer didn't see any significant change from that.)
Rollup of 6 pull requests [#96877](https://github.com/rust-lang/rust/pull/96877) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=0e345b76a5550d82caff5540649ee0ba6e3b4f3f&end=0dd7e10282aaa7a3e1f5660f8bb043ee4ea07355&stat=instructions:u)
| | Regressions (primary) | Regressions (secondary) | Improvements (primary) | Improvements (secondary) | All (primary) |
|:-----:|:---------------------:|:-----------------------:|:-----------------------:|:-------------------------:|:---------------:|
| count | 18 | 0 | 0 | 0 | 18 |
| mean | 0.4% | N/A | N/A | N/A | 0.4% |
| max | 0.7% | N/A | N/A | N/A | 0.7% |
* inspected graphs for the benchmarks at top of list of regressions: webrender-2022, regex-1.5.5, clap-3.1.6, cargo-0.60.0. It seems like any long-term effect here is quite minor, and
the fact that *this* PR was tagged as significant is due to a blip in the measurements.
* marking as triaged.
#### Improvements
Speed up `Token::{ident,lifetime}` [#96683](https://github.com/rust-lang/rust/pull/96683) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=364bf39e3179e148742466810d0cb9c8ec1c343a&end=343889b7234bf786e2bc673029467052f22fca08&stat=instructions:u)
| | Regressions (primary) | Regressions (secondary) | Improvements (primary) | Improvements (secondary) | All (primary) |
|:-----:|:---------------------:|:-----------------------:|:-----------------------:|:-------------------------:|:---------------:|
| count | 0 | 0 | 151 | 82 | 151 |
| mean | N/A | N/A | -0.9% | -0.7% | -0.9% |
| max | N/A | N/A | -6.9% | -4.0% | -6.9% |
Overhaul `MacArgs` [#96546](https://github.com/rust-lang/rust/pull/96546) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=343889b7234bf786e2bc673029467052f22fca08&end=4c60a0ea5b2385d7400df9db1ad04e96f2a4c154&stat=instructions:u)
| | Regressions (primary) | Regressions (secondary) | Improvements (primary) | Improvements (secondary) | All (primary) |
|:-----:|:---------------------:|:-----------------------:|:-----------------------:|:-------------------------:|:---------------:|
| count | 1 | 1 | 16 | 9 | 17 |
| mean | 0.3% | 0.2% | -0.8% | -0.2% | -0.8% |
| max | 0.3% | 0.2% | -1.4% | -0.3% | -1.4% |
Remove ItemLikeVisitor impls from rustc_typeck [#96531](https://github.com/rust-lang/rust/pull/96531) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=4799baa70d0ff1780ee6dffb743d62c79235ace9&end=f6e5570460b2bb925021dc667ead2a9834ea88cb&stat=instructions:u)
| | Regressions (primary) | Regressions (secondary) | Improvements (primary) | Improvements (secondary) | All (primary) |
|:-----:|:---------------------:|:-----------------------:|:-----------------------:|:-------------------------:|:---------------:|
| count | 0 | 0 | 9 | 9 | 9 |
| mean | N/A | N/A | -0.3% | -0.4% | -0.3% |
| max | N/A | N/A | -0.4% | -0.6% | -0.4% |
Optimize switch sources representation and usage [#96838](https://github.com/rust-lang/rust/pull/96838) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=88860d5474a32f507dde8fba8df35fd2064f11b9&end=cb390735b03aa44229ff2858be8fedbd7b0ce7cb&stat=instructions:u)
| | Regressions (primary) | Regressions (secondary) | Improvements (primary) | Improvements (secondary) | All (primary) |
|:-----:|:---------------------:|:-----------------------:|:-----------------------:|:-------------------------:|:---------------:|
| count | 0 | 0 | 4 | 7 | 4 |
| mean | N/A | N/A | -0.7% | -2.0% | -0.7% |
| max | N/A | N/A | -1.0% | -2.6% | -1.0% |
#### Mixed
store `codegen_fn_attrs` in crate metadata [#96473](https://github.com/rust-lang/rust/pull/96473) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=0dd7e10282aaa7a3e1f5660f8bb043ee4ea07355&end=88860d5474a32f507dde8fba8df35fd2064f11b9&stat=instructions:u)
| | Regressions (primary) | Regressions (secondary) | Improvements (primary) | Improvements (secondary) | All (primary) |
|:-----:|:---------------------:|:-----------------------:|:-----------------------:|:-------------------------:|:---------------:|
| count | 6 | 28 | 89 | 39 | 95 |
| mean | 0.3% | 0.6% | -0.5% | -1.6% | -0.4% |
| max | 0.6% | 2.2% | -1.4% | -4.8% | -1.4% |
* the regressions here were [anticipated](https://github.com/rust-lang/rust/pull/96473#issuecomment-1117448044) during development. The only regressions that arose were from [doc builds](https://github.com/rust-lang/rust/pull/96473#issuecomment-1121292857) (which I confirmed via inspection of the 6 regressing cases).
## Nominated Issues
[T-compiler](https://github.com/rust-lang/rust/issues?q=is%3Aopen+label%3AI-compiler-nominated+label%3AT-compiler)
- "Stabilize the `bundle` native library modifier" [rust#95818](https://github.com/rust-lang/rust/pull/95818)
- @**Vadim Petrochenkov** added label `I-compiler-nominated`
- PR closes [rust#37403](https://github.com/rust-lang/rust/issues/37403)
- Stabilization report at [comment](https://github.com/rust-lang/rust/pull/95818#issuecomment-1120470945)
[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-async-foundations* by @**nikomatsakis** and @**tmandry** ([previous checkin](https://hackmd.io/EewyTLZXQpmtfaH633GU-A#WG-checkins))
- @_*WG-traits* (generic associated types) by @**Jack Huey** ([previous checkin](https://hackmd.io/EewyTLZXQpmtfaH633GU-A#WG-checkins))