owned this note
owned this note
Published
Linked with GitHub
---
tags: weekly, rustc
type: docs
---
# T-compiler Meeting Agenda 2022-03-10
[Tracking Issue](https://github.com/rust-lang/rust/issues/54818)
## Announcements
- Tomorrow <time:2022-03-10T10:00:00-05:00> monthly Compiler Team Planning meeting ( [link](https://forge.rust-lang.org/compiler/steering-meeting.html))
- 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!)
- "Implement `Clone` for generators" [compiler-team#494](https://github.com/rust-lang/compiler-team/issues/494)
- "Add `import_name_type` parameter to `#[link]`" [compiler-team#495](https://github.com/rust-lang/compiler-team/issues/495)
- "Removing codegen logic for `nvptx-nvidia-cuda` (32-bit target)" [compiler-team#496](https://github.com/rust-lang/compiler-team/issues/496)
- 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: 8 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: 5 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: 3 months ago)
- "`-Dwarnings` to cover all warnings" [compiler-team#473](https://github.com/rust-lang/compiler-team/issues/473) (last review activity: 3 months ago)
- "Build-time execution sandboxing" [compiler-team#475](https://github.com/rust-lang/compiler-team/issues/475) (last review activity: 2 months ago)
- "Dealing with type/const ambiguities" [compiler-team#480](https://github.com/rust-lang/compiler-team/issues/480) (last review activity: about 48 days ago)
- Pending FCP requests (check your boxes!)
- "Tracking issue for Consistent no-prelude attribute (RFC 501)" [rust#20561](https://github.com/rust-lang/rust/issues/20561#issuecomment-1059258740)
- "Stabilize native library modifier syntax and the `whole-archive` modifier specifically" [rust#93901](https://github.com/rust-lang/rust/pull/93901#issuecomment-1043124526)
- Things in FCP (make sure you're good with it)
- "allow arbitrary inherent impls in the standard library" [compiler-team#487](https://github.com/rust-lang/compiler-team/issues/487)
- "Increase the minimum linux-gnu versions" [compiler-team#493](https://github.com/rust-lang/compiler-team/issues/493)
- Accepted MCPs
- No new accepted proposals this time.
- Finalized FCPs (disposition merge)
- "Stabilize const_fn_fn_ptr_basics, const_fn_trait_bound, and const_impl_trait" [rust#93827](https://github.com/rust-lang/rust/pull/93827)
### WG checkins
- @_*WG-async-foundations* by @**nikomatsakis** and @**tmandry** ([previous checkin](https://hackmd.io/fS5Qiyo3Ta6F8S7QNxg5xA#WG-checkins))
> wg-async has started an ["async reading club"](https://hackmd.io/6kSbmyggT6eAy5uvdB6srA?view), every 2 weeks on Mondays. Check out the link to learn more.
- @_*WG-traits* (generic associated types) by @**nikomatsakis** and @**Jack Huey** ([previous checkin](https://hackmd.io/fS5Qiyo3Ta6F8S7QNxg5xA#WG-checkins))
> A few PRs have landed
> - Associated type where clause move [rust#90076](https://github.com/rust-lang/rust/pull/90076)
> - Normalization in fulfill [rust#90887](https://github.com/rust-lang/rust/pull/90887)
> - Normalize all obligation and expected trait refs in the same place [rust#94108](https://github.com/rust-lang/rust/pull/94108)
> - GATs in rustdoc [rust#94009](https://github.com/rust-lang/rust/pull/94009)
>
> Road to stabilization
> - Only 3 untriaged GATs issues remain (but Jack's taken a look at all, just need a look from Niko)
> - Still working on a "shiny future" design for a GATified Iterator (and maybe other traits)
> - Need to go through current tests and issues, in order to document current behavior, what works, what doesn't
> - Finally, need to write stabilization report and related docs
## 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: "Check method input expressions once" [rust#94438](https://github.com/rust-lang/rust/pull/94438)
- pr by @**Michael Goulet (compiler-errors)** , already merged
- beta-backport decision was waiting on [rust#94596](https://github.com/rust-lang/rust/pull/94596), which is now merged
- :beta: "Do not recover from `Ty?` in macro parsing" [rust#94593](https://github.com/rust-lang/rust/pull/94593)
- pr author @**Esteban Küber**, already merged
- pr fixes [rust#94510](https://github.com/rust-lang/rust/issues/94510), follow up for [rust#92746](https://github.com/rust-lang/rust/pull/92746)
- :beta: "Delay bug in expr adjustment when check_expr is called multiple times" [rust#94596](https://github.com/rust-lang/rust/pull/94596)
- pr author @**Michael Goulet (compiler-errors)**, already merged
- fixes [rust#94516](https://github.com/rust-lang/rust/pull/94516)
- beta-backport nominated by @**Esteban Küber**
- :beta: "Downgrade `#[test]` on macro call to warning" [rust#94624](https://github.com/rust-lang/rust/pull/94624)
- pr author @**Esteban Küber**, already merged
- fixes [rust#94508](https://github.com/rust-lang/rust/issues/94508), (regression discovered in crater run)
- :beta: "Update LLVM submodule" [rust#94764](https://github.com/rust-lang/rust/pull/94764)
- pr author @**Nikita Popov**
- assigned to @**nagisa** for review
- fixes a number of issues from LLVM 14: [rust#89609](https://github.com/rust-lang/rust/issues/89609), [rust#93923](https://github.com/rust-lang/rust/issues/93923), [rust#94032](https://github.com/rust-lang/rust/issues/94032)
- relevant [Zulip topic](https://rust-lang.zulipchat.com/#narrow/stream/187780-t-compiler.2Fwg-llvm/topic/NewPM.20compile-time.20issues/near/274264531)
- No stable nominations for `T-compiler` this time.
[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)
- "Allow struct and enum to contain inner attrs" [rust#84414](https://github.com/rust-lang/rust/pull/84414)
- assigned to @**Vadim Petrochenkov**
- PR discussion progress seemed to stop [last year](https://github.com/rust-lang/rust/pull/84414#issuecomment-892884864)
- is this waiting on `T-lang`?
- "Make specifying repr optional for fieldless enums" [rust#88203](https://github.com/rust-lang/rust/pull/88203)
- Felix mentioned this PR for [a t-lang mtg proposal](https://github.com/rust-lang/lang-team/issues/134)
- also waiting on `t-lang`?
- "Stabilize native library modifier syntax and the `whole-archive` modifier specifically" [rust#93901](https://github.com/rust-lang/rust/pull/93901)
- @**Vadim Petrochenkov** nominated for T-compiler discussion
- PR is pending FCP request
### 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)
- "Make AST->HIR lowering incremental" [rust#88186](https://github.com/rust-lang/rust/pull/88186) (last review activity: 6 months ago)
- pr author @**cjgillot** pushed changes and resolved conflicts
- cc: assignee @**mw**
- "RFC-2841: add codegen flag export symbols from executable" [rust#85673](https://github.com/rust-lang/rust/pull/85673) (last review activity: 6 months ago)]
- pr seems to be ready for review (latest comments from last year)
- review assigned to @**nikomatsakis** and @**bjorn3**
- "Allow use of AddressSanitizer on Windows by linking to existing libraries" [rust#89369](https://github.com/rust-lang/rust/pull/89369) (last review activity: 4 months ago)
- assigned to @**Wesley Wiser**
- latest discussion in T-compiler led to the conclusion that a Windows / ASAN expert was better suited to have a look here
- [github comment](https://github.com/rust-lang/rust/pull/89369#issuecomment-1003001945) and ([zulip discussion](https://rust-lang.zulipchat.com/#narrow/stream/238009-t-compiler.2Fmeetings/topic/.5Bweekly.5D.202021-10-28.20.2354818/near/259397383))
- checking if there's anything new since then
- "Improve `unsafe` diagnostic" [rust#91133](https://github.com/rust-lang/rust/pull/91133) (last review activity: 3 months ago)
- cc: assigned reviewer @**Esteban Küber**
- "Change several HashMaps to IndexMap to improve incremental hashing performance" [rust#90253](https://github.com/rust-lang/rust/pull/90253) (last review activity: 2 months ago)
- author replied to comments, pr now has updated perf results
- cc: assigned reviewer @**cjgillot**
## 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)
- [0 of those are unassigned](https://github.com/rust-lang/rust/issues?q=is%3Aopen+label%3AT-compiler+label%3AP-critical+no%3Aassignee)
- [67 T-compiler P-high issues](https://github.com/rust-lang/rust/issues?q=is%3Aopen+label%3A
T-compiler+label%3AP-high)
- [47 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, 0 P-high, 1 P-medium, 2 P-low regression-from-stable-to-beta](https://github.com/rust-lang/rust/labels/regression-from-stable-to-beta)
- [0 P-critical, 1 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)
- [1 P-critical, 43 P-high, 83 P-medium, 11 P-low regression-from-stabl
e-to-stable](https://github.com/rust-lang/rust/labels/regressi
on-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)
- "Binary crashes when statically linked with LTO turned on" [rust#94564](https://github.com/rust-lang/rust/issues/94564)
- @**Hans Kratz** suggested maximum alert since LTO and static linking seems to be broken (zulip [topic](https://rust-lang.zulipchat.com/#narrow/stream/245100-t-compiler.2Fwg-prioritization.2Falerts/topic/.2394564.20Binary.20crashes.20when.20statically.20linked.20with.20LTO.20turne.E2.80.A6))
- provides bisection pointing to `nightly-2021-02-14`. (see [comment](https://github.com/rust-lang/rust/issues/94564#issuecomment-1059915365)).
[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 2022-03-09](https://github.com/rust-lang/rustc-perf/blob/master/triage/2022-03-09.md)
A pretty smooth week. All three regressions were small, and two were isolated to rustdoc alone.
Triage done by **@pnkfelix**.
Revision range: [f0c4da49983aa699f715caf681e3154b445fb60b..10dccdc7fcbdc64ee9efe2c1ed975ab8c1d61287](https://perf.rust-lang.org/?start=f0c4da49983aa699f715caf681e3154b445fb60b&end=10dccdc7fcbdc64ee9efe2c1ed975ab8c1d61287&absolute=false&stat=instructions%3Au)
3 Regressions, 3 Improvements, 1 Mixed; 2 of them in rollups
30 Untriaged Pull Requests
53 comparisons made in total
#### Regressions
Rollup of 9 pull requests [#94541](https://github.com/rust-lang/rust/pull/94541)
- Arithmetic mean of relevant regressions: 1.5%
- Largest regression in [instruction counts](https://perf.rust-lang.org/compare.html?start=8769f4ef2fe1efddd1f072485f97f568e7328f79&end=2f8d1a835b4e7feaf625f74d0d5cb9b84dbc845a&stat=instructions:u): 3.9% on `full` builds of `deeply-nested-async check`
- After looking at the performance data, it seems like the regressions to `deeply-nested-async` are isolated to some [slowdown in `check_mod_privacy`](https://perf.rust-lang.org/detailed-query.html?sort_idx=-11&commit=2f8d1a835b4e7feaf625f74d0d5cb9b84dbc845a&base_commit=8769f4ef2fe1efddd1f072485f97f568e7328f79&benchmark=deeply-nested-async-check&scenario=full).
- But AFAICT nothing in this rollup should have affected `check_mod_privacy`.
- Chalking this up to optimization noise; marked as triaged.
Support GATs in Rustdoc [#94009](https://github.com/rust-lang/rust/pull/94009)
- Arithmetic mean of relevant regressions: 0.8%
- Largest regression in [instruction counts](https://perf.rust-lang.org/compare.html?start=40d3040ae19b8c43c0027bc6d3e9805e5ee5e0ee&end=6d7684101a51f1c375ec84aef5d2fbdeb214bbc2&stat=instructions:u): 1.1% on `full` builds of `ctfe-stress-4 doc`
- Already marked as triaged by rustdoc team; this change makes rustdoc track more data, which inevitably leads to perf regressions.
rustdoc: Stop textually replacing `Self` in doc links before resolving them [#93805](https://github.com/rust-lang/rust/pull/93805)
- Arithmetic mean of relevant regressions: 0.3%
- Arithmetic mean of all relevant changes: 0.3%
- Largest regression in [instruction counts](https://perf.rust-lang.org/compare.html?start=0cbef1c6a7f4ee33cd41d91778544c5399f10f39&end=1661e4c7e0e68b4297aec095064d80566d4ea2b1&stat=instructions:u): 1.0% on `full` builds of `serde doc`
- rustdoc team did not expect a regression here.
- it looks like collect-intra-doc-links got slower. not clear why, though.
- slowdown was solely observed in `serde doc`. posted some theories and marked as triaged.
#### Improvements
- remove obligation dedup from `impl_or_trait_obligations` [#84944](https://github.com/rust-lang/rust/pull/84944)
- Introduce `ConstAllocation`. [#94597](https://github.com/rust-lang/rust/pull/94597)
- Rollup of 6 pull requests [#94761](https://github.com/rust-lang/rust/pull/94761)
#### Mixed
Reopen 91719 [#94570](https://github.com/rust-lang/rust/pull/94570)
- Arithmetic mean of relevant regressions: 0.5%
- Arithmetic mean of relevant improvements: -1.4%
- Arithmetic mean of all relevant changes: -1.0%
- Largest improvement in [instruction counts](https://perf.rust-lang.org/compare.html?start=047f9c4bc4e26df4f54c3c76af3e963782ed05e4&end=b4bf56cd66ca83e908fd43bde4c627f94b2a8a9f&stat=instructions:u): -6.9% on `full` builds of `deeply-nested-async check`
- Largest regression in [instruction counts](https://perf.rust-lang.org/compare.html?start=047f9c4bc4e26df4f54c3c76af3e963782ed05e4&end=b4bf56cd66ca83e908fd43bde4c627f94b2a8a9f&stat=instructions:u): 1.3% on `incr-full` builds of `piston-image opt`
- Already [triaged by workingjubilee](https://github.com/rust-lang/rust/pull/94570#issuecomment-1058879131) when they r+'ed it.
#### Nags requiring follow up
No nags requiring follow up
## Nominated Issues
[T-compiler](https://github.com/rust-lang/rust/issues?q=is%3Aopen+label%3AI-compiler-nominated+label%3AT-compiler)
- `no_mangle`/`used` static is only present in output when in reachable module" [rust#47384](https://github.com/rust-lang/rust/issues/47384)
- @**inquisitivecrystal** suggested nomination (zulip [comment](https://rust-lang.zulipchat.com/#narrow/stream/245100-t-compiler.2Fwg-prioritization.2Falerts/topic/.2347384.20.60no_mangle.60.2F.60used.60.20static.20is.20only.20present.20in.20output.20.E2.80.A6/near/274092228))
- pointing to @**Josh Triplett** [github comment](https://github.com/rust-lang/rust/issues/47384#issuecomment-1032974536)
- the Wg-prio zulip topic [has more context](https://rust-lang.zulipchat.com/#narrow/stream/245100-t-compiler.2Fwg-prioritization.2Falerts/topic/.2347384.20.60no_mangle.60.2F.60used.60.20static.20is.20only.20present.20in.20output.20.E2.80.A6)
- "rustc hangs and takes increasing amounts of memory when compiling `json` crate as dependency" [rust#89647](https://github.com/rust-lang/rust/issues/89647)
- @**Nikita Popov** self-assigned issue
- ... and just closed it now as fixed by [rust#94764](https://github.com/rust-lang/rust/pull/94764)
- "rustc_apfloat: Double::mul_add_r panic with specific values" [rust#93225](https://github.com/rust-lang/rust/pull/93225)
- nominated by @**wesley wiser** for discussion ([comment](https://github.com/rust-lang/rust/pull/93225#issuecomment-1059211687))
- "Stabilize native library modifier syntax and the `whole-archive` modifier specifically" [rust#93901](https://github.com/rust-lang/rust/pull/93901)
- @**Vadim Petrochenkov** nominated for T-compiler discussion
- PR is pending FCP request
- (discussed in present meeting)
[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.