--- tags: weekly, rustc type: docs --- # T-compiler Meeting Agenda 2021-12-30 [Tracking Issue](https://github.com/rust-lang/rust/issues/54818) ## Announcements - 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!) - No new proposals this time. - 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: 6 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: 3 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: about 20 days ago) - "`-Dwarnings` to cover all warnings" [compiler-team#473](https://github.com/rust-lang/compiler-team/issues/473) (last review activity: about 20 days ago) - "Build-time execution sandboxing" [compiler-team#475](https://github.com/rust-lang/compiler-team/issues/475) (last review activity: about 2 days ago) - Pending FCP requests (check your boxes!) - "Stabilize `-Z instrument-coverage` as `-C instrument-coverage`" [rust#90132](https://github.com/rust-lang/rust/pull/90132#issuecomment-992952031) - "Stabilize `-Z print-link-args` as `-C print-link-args`" [rust#91606](https://github.com/rust-lang/rust/pull/91606#issuecomment-992960418) - Things in FCP (make sure you're good with it) - "CI should exercise (subset of) tests under --stage 1" [compiler-team#439](https://github.com/rust-lang/compiler-team/issues/439) - Accepted MCPs - No new accepted proposals this time. - Finalized FCPs (disposition merge) - No new finished FCP (disposition merge) this time. ### WG checkins - @_WG-async-foundations_ by by @**nikomatsakis** and @**tmandry** ([previous checkin](https://hackmd.io/uQjEgFIiRpy04QXxKDnRjA#WG-checkins) pnkfelix came up with this: > since last checkin on October 7th, async foundtions has: posted an RFC for [static async fn in traits](https://github.com/rust-lang/rfcs/pull/3185) and for [return position impl trait in traits](https://github.com/rust-lang/rfcs/pull/3193), posted a doc on [async stack traces effort](https://hackmd.io/vnaFqT-5TFyN1iHevPGyQQ), helped the tokio team with shipping [tokio-console 0.1](https://tokio.rs/blog/2021-12-announcing-tokio-console). > (there has also been effort on general purpose generators, and various bits of polish that I didn’t list.) - @_WG-traits_ @**nikomatsakis** and @**Jack Huey** ([previous checkin](https://hackmd.io/uQjEgFIiRpy04QXxKDnRjA#WG-checkins)) > I think it can be summed up as "more of the same" of the previous checkins > I am working in putting together a wg-traits retrospective blog post for the new year ## 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) - :beta: "Re-introduce concept of projection cache 'completion'" [rust#89831](https://github.com/rust-lang/rust/pull/89831) - Should close `P-high` [rust#89195](https://github.com/rust-lang/rust/issues/89195) - [discussion from last week](https://rust-lang.zulipchat.com/#narrow/stream/238009-t-compiler.2Fmeetings/topic/.5Bweekly.5D.202021-12-23.20.235481): based on @**Aaron Hill** concerns, decision for a backport was deferred - anything new to add? - :beta: "Don't perform any new queries while reading a query result on disk" [rust#91919](https://github.com/rust-lang/rust/pull/91919) - [discussion from last week](https://rust-lang.zulipchat.com/#narrow/stream/238009-t-compiler.2Fmeetings/topic/.5Bweekly.5D.202021-12-23.20.2354818/near/265926571): this PR depends on [rust#91924](https://github.com/rust-lang/rust/pull/91924) and [rust#92163](https://github.com/rust-lang/rust/issues/92163) and seems to suffer from a significant perf. loss from them, so backporting this one doesn't look like a good option ([comment](https://github.com/rust-lang/rust/pull/91919#issuecomment-1000401622) from @**mw**) - :stable: "Re-introduce concept of projection cache 'completion'" [rust#89831](https://github.com/rust-lang/rust/pull/89831) - Discussed last week, see beta backport [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) - :beta: "Fix rustdoc::private_doc_tests lint for public re-exported items" [rust#92349](https://github.com/rust-lang/rust/pull/92349) - Fixes an old [rust#72081](https://github.com/rust-lang/rust/issues/72081) and low priority rustdoc issue - Fixes a lint that produced a wrong warning on exported items - Waiting on CI, still not merged - @**GuillaumeGomez** [suggests](https://github.com/rust-lang/rust/pull/92349#issuecomment-1002128431) that this being an old issue, maybe it can flow into the next release without backport. - 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) - "Fix invalid removal of backlines from doc comments" [rust#92357](https://github.com/rust-lang/rust/pull/92357) - fixes rustdoc issue ([rust#91201](https://github.com/rust-lang/rust/issues/91201)) - PR introduces a small breaking change as it slightly changes the output of rustdoc - T-rustdoc seem to be ok with the change [see rustdoc discussion](https://rust-lang.zulipchat.com/#narrow/stream/266220-rustdoc/topic/stop.20trimming.20newlines.20from.20doc.20strings/near/266290666) ### 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) - "Let qpath contain NtTy: <$:ty as $:ty>::…" [#91150](https://github.com/rust-lang/rust/pull/91150) (last activity: 1 month ago) - assigned to @**Wesley Wiser** - previously reviewed by @**Vadim Petrochenkov** - "Extend check for UnsafeCell in consts to cover unions" [#90383](https://github.com/rust-lang/rust/pull/90383) (last activity: about 2 months ago) - Assigned to @**RalfJ**, perhaps needs a second round of review? - [Remove `NullOp::Box` by nbdd0121 · Pull Request #90102 · rust-lang/rust](https://github.com/rust-lang/rust/pull/90102) - opened by @**Gary Guo** - reviewed by @**RalfJ**, approved by @**oli** - What's the actual status of this PR? ## Issues of Note ### Short Summary - [2 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) - [79 T-compiler P-high issues](https://github.com/rust-lang/rust/issues?q=is%3Aopen+label%3AT-compiler+label%3AP-high) - [53 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, 0 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, 2 P-high, 2 P-medium, 1 P-low regression-from-stable-to-nightly](https://github.com/rust-lang/rust/labels/regression-from-stable-to-nightly) - [2 P-critical, 52 P-high, 82 P-medium, 13 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) - "Compile-time regression between 1.56.1 and 1.57.0 for deeply nested decorator types" [rust#91598](https://github.com/rust-lang/rust/issues/91598) - Some of the compile time regression has been recovered in latest nightlies, though we're not back at the 1.56.1 level (see @**Aaron Hill** [comment](https://github.com/rust-lang/rust/issues/91598#issuecomment-997227640)) - Relevant PR [rust#91186](https://github.com/rust-lang/rust/pull/91186) is progressing and being reviewed - #91186 discussed in meeting and maybe a candidate for a beta-backport (see [Zulip mention](https://rust-lang.zulipchat.com/#narrow/stream/238009-t-compiler.2Fmeetings/topic/.5Bweekly.5D.202021-12-23.20.2354818/near/265928597)) - perhaps backport not as it is (see @**The 8472|330154** [comment](https://github.com/rust-lang/rust/pull/91186#issuecomment-1000535106)) [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 for 2021-12-28](https://github.com/rust-lang/rustc-perf/blob/master/triage/2021-12-28.md) Relatively quiet week, mostly rustdoc improvements. Triage done by **@simulacrum**. Revision range: [3d57c61a9e04dcd3df633f41142009d6dcad4399..e91ad5fc62bdee4a29c18baa5fad2ca42fc91bf4](https://perf.rust-lang.org/?start=3d57c61a9e04dcd3df633f41142009d6dcad4399&end=e91ad5fc62bdee4a29c18baa5fad2ca42fc91bf4&absolute=false&stat=instructions%3Au) 2 Regressions, 1 Improvements, 6 Mixed; 0 of them in rollups 0 Untriaged PRs 26 comparisons made in total #### Regressions Fix bad caching of `~const Drop` bounds [#92149](https://github.com/rust-lang/rust/issues/92149) - Moderate regression in [instruction counts](https://perf.rust-lang.org/compare.html?start=3d57c61a9e04dcd3df633f41142009d6dcad4399&end=8ad3c1dd1d47f9ce7dfdf4a14c70c67e1790b0f5&stat=instructions:u) (up to 2.6% on `incr-patched: println` builds of `regression-31157`) - Necessary fix for correctness. Add `#[inline]` modifier to `TypeId::of` [#92135](https://github.com/rust-lang/rust/issues/92135) - Large regression in [instruction counts](https://perf.rust-lang.org/compare.html?start=aad4f1039fd5d6bf961ed08eebc6eb69b577f1be&end=475b00aa4037461b506539a06d15ca6091b461a7&stat=instructions:u) (up to 4.4% on `full` builds of `keccak`) - Reverted in a later pull request, unclear what the exact cause of the regression is. #### Improvements - :arrow_up: rust-analyzer [#92247](https://github.com/rust-lang/rust/issues/92247) - Remove `PartialOrd`, `Ord` from `LocalDefId` [#90408](https://github.com/rust-lang/rust/issues/90408) - Do not display `~const Drop` in rustdoc [#92229](https://github.com/rust-lang/rust/issues/92229) - Rustdoc: use `is_doc_hidden` method on more places [#92227](https://github.com/rust-lang/rust/issues/92227) - intra-doc: Use an enum to represent URL fragments [#92088](https://github.com/rust-lang/rust/issues/92088) - rustc_metadata: Switch crate data iteration from a callback to iterator [#92159](https://github.com/rust-lang/rust/issues/92159) #### Mixed Backport LLVM changes to disable deferred inlining [#92110](https://github.com/rust-lang/rust/issues/92110) - Moderate improvement in [instruction counts](https://perf.rust-lang.org/compare.html?start=489296d82561f596c278e90edc10eb56168ab623&end=77497c74f9268ccf91d7b4c17f23bf07117d7433&stat=instructions:u) (up to -8.3% on `incr-patched: println` builds of `regression-31157`) - Large regression in [instruction counts](https://perf.rust-lang.org/compare.html?start=489296d82561f596c278e90edc10eb56168ab623&end=77497c74f9268ccf91d7b4c17f23bf07117d7433&stat=instructions:u) (up to 2.8% on `full` builds of `deeply-nested`) - Avoids an extreme regression in LLVM, which was blocking migration onto the new pass manager (and so newer rustc versions) for some crates. ## Nominated Issues [T-compiler](https://github.com/rust-lang/rust/issues?q=is%3Aopen+label%3AI-nominated+label%3AT-compiler) - No nominated issues for `T-compiler` this time. [RFC](https://github.com/rust-lang/rfcs/issues?q=is%3Aopen+label%3AI-nominated+label%3AT-compiler) - No nominated RFCs for `T-compiler` this time.