--- tags: weekly, rustc type: docs --- # T-compiler Meeting Agenda 2023-09-21 ## Announcements - [Compiler Team Planning meeting](https://www.google.com/calendar/event?eid=MDJyYnJ1cGFtdWR1c2lnNjFmcHJ2b3JlODFfMjAyMzA5MjJUMTQwMDAwWiA2dTVycnRjZTZscnR2MDdwZmkzZGFtZ2p1c0Bn) at <time:2023-09-22T10:00:00-04:00> - [Types team meeting: backlog bonanza](https://www.google.com/calendar/event?eid=MTg3MDhpdTc3YXBqMGMzbnNxanUwdWZnazhfMjAyMzA5MjVUMTQwMDAwWiA2dTVycnRjZTZscnR2MDdwZmkzZGFtZ2p1c0Bn) at <time:2023-09-25T10:00:00-04:00> - Reminder: if you see a PR/issue that seems like there might be legal implications due to copyright/IP/etc, please let us know (or at least message @_**davidtwco** or @_**Wesley Wiser** so we can pass it along). ### Other WG meetings ([calendar link](https://calendar.google.com/calendar/embed?src=6u5rrtce6lrtv07pfi3damgjus%40group.calendar.google.com)) - [wg-async reading club](https://www.google.com/calendar/event?eid=ajVtNGowYjlzdDNhM2VwZG9vNjg4OTlzNDBfMjAyMzA5MjFUMTYwMDAwWiA2dTVycnRjZTZscnR2MDdwZmkzZGFtZ2p1c0Bn) at <time:2023-09-21T12:00:00-04:00> - [AFIT/RPITIT Impl Triage](https://www.google.com/calendar/event?eid=N2VsaWszdm9rY3NhdDF1MjdyMjVqajNpcWVfMjAyMzA5MjFUMjAwMDAwWiA2dTVycnRjZTZscnR2MDdwZmkzZGFtZ2p1c0Bn) at <time:2023-09-21T16:00:00-04:00> - [Stable MIR Weekly Meeting](https://www.google.com/calendar/event?eid=N25kMTM2Z3NxbXJjNTE5ZWJpM2traHNpa21fMjAyMzA5MjJUMTUwMDAwWiA2dTVycnRjZTZscnR2MDdwZmkzZGFtZ2p1c0Bn) at <time:2023-09-22T11:00:00-04:00> - [wg-rls-2.0 weekly sync-up](https://www.google.com/calendar/event?eid=MXJnbzBscDExNHJjNmVsdGhsaW8xcDljMmdfMjAyMzA5MjVUMTUwMDAwWiA2dTVycnRjZTZscnR2MDdwZmkzZGFtZ2p1c0Bn) at <time:2023-09-25T11:00:00-04:00> - [Types Rotating new solver / formality / polonius deep dive](https://www.google.com/calendar/event?eid=N29vMXZqbGZ1MDIxbzllMDI3dGhocWhhZmNfMjAyMzA5MjVUMTUwMDAwWiA2dTVycnRjZTZscnR2MDdwZmkzZGFtZ2p1c0Bn) at <time:2023-09-25T11:00:00-04:00> ## MCPs/FCPs - New MCPs (take a look, see if you like them!) - No new proposals this time. - Old MCPs (stale MCP might be closed as per [MCP procedure](https://forge.rust-lang.org/compiler/mcp.html#when-should-major-change-proposals-be-closed)) - None at this time - Old MCPs (not seconded, take a look) - "Consistently use "region" terminology in later stages of the compiler" [compiler-team#634](https://github.com/rust-lang/compiler-team/issues/634) (last review activity: 3 months ago) - "Add a new `--build-id` flag to rustc" [compiler-team#635](https://github.com/rust-lang/compiler-team/issues/635) (last review activity: 3 months ago) - "Simplify and improve explicitness of the check-cfg syntax" [compiler-team#636](https://github.com/rust-lang/compiler-team/issues/636) (last review activity: 3 months ago) - "Add support for visionOS targets" [compiler-team#642](https://github.com/rust-lang/compiler-team/issues/642) (last review activity: about 19 days ago) - "Match the behavior of `strip` and `split-debuginfo` across platforms" [compiler-team#669](https://github.com/rust-lang/compiler-team/issues/669) (last review activity: about 16 days ago) - "Add infrastructure to "compute the ABI of a Rust type, described as a C type"" [compiler-team#672](https://github.com/rust-lang/compiler-team/issues/672) (last review activity: about 13 days ago) - Pending FCP requests (check your boxes!) - "Retire the mailing list and make all decisions on zulip" [compiler-team#649](https://github.com/rust-lang/compiler-team/issues/649) - " Add `type` field to distinguish json diagnostic outputs" [compiler-team#673](https://github.com/rust-lang/compiler-team/issues/673) - "Tracking issue for dyn upcasting coercion" [rust#65991](https://github.com/rust-lang/rust/issues/65991) - "Support overriding `warnings` level for a specific lint via command line" [rust#113307](https://github.com/rust-lang/rust/pull/113307) - Things in FCP (make sure you're good with it) - "Add a blanket flag to enable/disable codegen UB checks" [compiler-team#625](https://github.com/rust-lang/compiler-team/issues/625) - "Add support for Zephyr OS" [compiler-team#629](https://github.com/rust-lang/compiler-team/issues/629) - "Report all lints, even if other errors already occurred." [compiler-team#633](https://github.com/rust-lang/compiler-team/issues/633) - "Add illumos Tier3 targets" [compiler-team#644](https://github.com/rust-lang/compiler-team/issues/644) - "Add option to pass environment variables" [compiler-team#653](https://github.com/rust-lang/compiler-team/issues/653) - "Add tidy rule against `issue-[0-9]+.rs` tests" [compiler-team#658](https://github.com/rust-lang/compiler-team/issues/658) - "Condemn `asmjs-unknown-emscripten` to push a boulder up a hill for eternity" [compiler-team#668](https://github.com/rust-lang/compiler-team/issues/668) - "Allow overriding default codegen backend on a per-target basis" [compiler-team#670](https://github.com/rust-lang/compiler-team/issues/670) - "Stabilize `--json=unused-externs(-silent)`" [compiler-team#674](https://github.com/rust-lang/compiler-team/issues/674) - "Change how closure and generator types are printed to avoid clash with slice types" [compiler-team#675](https://github.com/rust-lang/compiler-team/issues/675) - "Offload dep graph encoding to a thread" [compiler-team#677](https://github.com/rust-lang/compiler-team/issues/677) - "Add allow-by-default lint for unit bindings" [rust#112380](https://github.com/rust-lang/rust/pull/112380) - "stabilize combining +bundle and +whole-archive link modifiers" [rust#113301](https://github.com/rust-lang/rust/pull/113301) - Accepted MCPs - "Promote loongarch64-unknown-none* to Tier 2" [compiler-team#664](https://github.com/rust-lang/compiler-team/issues/664) - "Make unknown/renamed/removed lints passed via command line respect lint levels" [compiler-team#667](https://github.com/rust-lang/compiler-team/issues/667) - "Create a binary-size working group" [compiler-team#671](https://github.com/rust-lang/compiler-team/issues/671) - Finalized FCPs (disposition merge) - "Enable -Zdrop-tracking-mir by default" [rust#107421](https://github.com/rust-lang/rust/pull/107421) - "Accept additional user-defined syntax classes in fenced code blocks" [rust#110800](https://github.com/rust-lang/rust/pull/110800) - "rustdoc-search: add support for type parameters" [rust#112725](https://github.com/rust-lang/rust/pull/112725) - "rustdoc: show inner enum and struct in type definition for concrete type" [rust#114855](https://github.com/rust-lang/rust/pull/114855) - "Don't resolve generic impls that may be shadowed by dyn built-in impls" [rust#114941](https://github.com/rust-lang/rust/pull/114941) - "closure field capturing: don't depend on alignment of packed fields" [rust#115315](https://github.com/rust-lang/rust/pull/115315) ### WG checkins - @_*WG-mir-opt* by @**oli** ([previous checkin](https://hackmd.io/team/rust-compiler-team?nav=overview)): > Checkin text - @_*T-rust-analyzer* by @**Lukas Wirth** ([previous checkin](https://hackmd.io/XBOdBRLXR7qFfq526W7gXg#WG-checkins)): > One small thing, unfortunately the rustc_abi crate got broken for us in https://github.com/rust-lang/rust/pull/107163 (as in we can't upgrade to newer versions) and we noticed that too late so the change can't be rolled back too easily anymore :sweat_smile: So we'll have to think about how to prevent that from happening again, https://github.com/rust-lang/rust-analyzer/issues/15569 ## 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: [1.73.0-beta.6] "Don't modify libstd to dump rustc ICEs" [rust#115627](https://github.com/rust-lang/rust/pull/115627) - fixes regression #115610 about an increased binary size - Also T-libs camp (they approved the backport [on Zulip](https://rust-lang.zulipchat.com/#narrow/stream/259402-t-libs.2Fmeetings/topic/Meeting.202023-09-20/near/392135579)) <!-- /poll Approve beta backport of #115627? approve decline don't know --> - :beta: [1.73.0-beta.6] "Expose try_destructure_mir_constant_for_diagnostics directly to clippy" [rust#115819](https://github.com/rust-lang/rust/pull/115819) - commented briefly last week, left some comments <!-- /poll Approve beta backport of #115819? approve decline don't know --> - :beta: [1.73.0-beta.6] "Paper over an accidental regression" [rust#115844](https://github.com/rust-lang/rust/pull/115844) - merged last week, fixes [rust#115781](https://github.com/rust-lang/rust/issues/115781) a p-medium regression found in a beta crater run <!-- /poll Approve beta backport of #115844? approve decline don't know --> - :beta: [1.73.0-beta.6] "Update to LLVM 17.0.0" [rust#115959](https://github.com/rust-lang/rust/pull/115959) - fixes a p-critical miscompile (#115681) <!-- /poll Approve beta backport of #115959? approve decline don't know --> - :beta: [1.73.0-beta.6] "Update LLVM submodule to 17.0.0-rc4" [rust#115581](https://github.com/rust-lang/rust/pull/115581) - fixes #115385 a p-critical unsoundness MIRI issue ([comment](https://github.com/rust-lang/rust/issues/115385#issuecomment-1699855795)) - goes hand in hand with the LLVM 17.0.0 upgrade (#115959) <!-- /poll Approve beta backport of #115581? approve decline don't know --> - No stable nominations for `T-compiler` this time. ## PRs S-waiting-on-team [T-compiler](https://github.com/rust-lang/rust/pulls?q=is%3Aopen+label%3AS-waiting-on-team+label%3AT-compiler) - "More distinctive pretty-printing of function item types" [rust#99927](https://github.com/rust-lang/rust/pull/99927) - @**Frank Steffahn** (PR author) left some comments, seemingly addressed to T-compiler? Not too sure about the current status - Other issues [in progress or waiting on other teams](https://hackmd.io/XYr1BrOWSiqCrl8RCWXRaQ) ## 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) - [61 T-compiler P-high issues](https://github.com/rust-lang/rust/issues?q=is%3Aopen+label%3AT-compiler+label%3AP-high) - [34 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, 2 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, 1 P-high, 2 P-medium, 2 P-low regression-from-stable-to-nightly](https://github.com/rust-lang/rust/labels/regression-from-stable-to-nightly) - [2 P-critical, 39 P-high, 100 P-medium, 18 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?q=is%3Aopen+label%3AP-critical+label%3AT-compiler) - "ICE: unexpected initial operand type." [rust#114858](https://github.com/rust-lang/rust/issues/114858) - Seems to be already fixed in nightly ([comment](https://github.com/rust-lang/rust/issues/114858#issuecomment-1717299038)) - still to be fully investigated the side-effects of PR #112307 that are behind this regression ([comment](https://github.com/rust-lang/miri/commit/15497b255a97f59fda24079fcb1e8756e780e4fa)) [T-types](https://github.com/rust-lang/rust/issues?q=is%3Aopen+label%3AP-critical+label%3AT-types) - "RPIT hidden types can be ill-formed" [rust#114728](https://github.com/rust-lang/rust/issues/114728) - Should be fixed by @**aliemjay** in [rust#115008](https://github.com/rust-lang/rust/pull/115008) - Downgrade to P-high? Filed in August, regressed in 1.61, likely not a release blocker at this point [T-rustdoc](https://github.com/rust-lang/rust/issues?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-libs+-label%3AT-libs-api+-label%3AT-release+-label%3AT-rustdoc+-label%3AT-core) - "regression: as_place unwrap None" [rust#115778](https://github.com/rust-lang/rust/issues/115778) - found during the latest beta crater run - bisected to commit [34ccd04](https://github.com/rust-lang/rust/commit/34ccd0485966c3933288cd30a076bef63e3298c5) [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-libs+-label%3AT-libs-api+-label%3AT-release+-label%3AT-rustdoc+-label%3AT-core+) - No unassigned `P-high` nightly regressions this time. ## Performance logs > [triage logs for 2023-09-19](https://github.com/rust-lang/rustc-perf/blob/master/triage/2023-09-19.md) A pretty quiet week, with relatively few statistically significant changes, though some good improvements to a number of benchmarks, particularly in cycle counts rather than instructions. Triage done by **@simulacrum**. Revision range: [7e0261e7ea2085bdc0bc3d0fd6776bf343473858..af78bae565e85b9c5698ee909af0652674eca6d4](https://perf.rust-lang.org/?start=7e0261e7ea2085bdc0bc3d0fd6776bf343473858&end=af78bae565e85b9c5698ee909af0652674eca6d4&absolute=false&stat=instructions%3Au) **Summary**: | (instructions:u) | mean | range | count | |:------------------------:|:-----:|:--------------:|:-----:| | Regressions (primary) | 0.5% | [0.3%, 0.8%] | 14 | | Regressions (secondary) | 0.5% | [0.2%, 0.8%] | 5 | | Improvements (primary) | -1.2% | [-6.4%, -0.3%] | 22 | | Improvements (secondary) | -2.1% | [-8.1%, -0.2%] | 37 | | All (primary) | -0.5% | [-6.4%, 0.8%] | 36 | 3 Regressions, 3 Improvements, 2 Mixed; 2 of them in rollups 56 artifact comparisons made in total #### Regressions Accept additional user-defined syntax classes in fenced code blocks [#110800](https://github.com/rust-lang/rust/pull/110800) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=42dead4d23309234802390aca16763f353920cf6&end=41bafc4ff3eb6a73aa40e60c3bd4494302c7ec57&stat=instructions:u) | (instructions:u) | mean | range | count | |:------------------------:|:----:|:------------:|:-----:| | Regressions (primary) | 0.7% | [0.5%, 0.9%] | 3 | | Regressions (secondary) | 0.9% | [0.5%, 1.4%] | 3 | | Improvements (primary) | - | - | 0 | | Improvements (secondary) | - | - | 0 | | All (primary) | 0.7% | [0.5%, 0.9%] | 3 | Some slight regressions, limited to doc benchmarks, for a new feature in rustdoc. Store a index per dep node kind [#115733](https://github.com/rust-lang/rust/pull/115733) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=4514fb98d58eb0bcd65a16266875ef031c373cdf&end=341ef15eeed243dce9a30e800173450393bf776b&stat=instructions:u) | (instructions:u) | mean | range | count | |:------------------------:|:----:|:------------:|:-----:| | Regressions (primary) | 0.4% | [0.2%, 0.5%] | 9 | | Regressions (secondary) | 0.3% | [0.2%, 0.5%] | 6 | | Improvements (primary) | - | - | 0 | | Improvements (secondary) | - | - | 0 | | All (primary) | 0.4% | [0.2%, 0.5%] | 9 | Slight instruction regressions but overall an improvement -- max-rss and cycle counts are both down in aggregate. #### Improvements Rollup of 6 pull requests [#115909](https://github.com/rust-lang/rust/pull/115909) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=8ed1d4a02ddd840a1efaca4e5e66881cbec5b0b3&end=db9c21fd944b942a3a83e1fbce0d7c1c9164bc2a&stat=instructions:u) | (instructions:u) | mean | range | count | |:------------------------:|:-----:|:--------------:|:-----:| | Regressions (primary) | - | - | 0 | | Regressions (secondary) | - | - | 0 | | Improvements (primary) | -0.6% | [-1.0%, -0.5%] | 6 | | Improvements (secondary) | -1.1% | [-1.5%, -0.4%] | 19 | | All (primary) | -0.6% | [-1.0%, -0.5%] | 6 | Rollup of 8 pull requests [#115929](https://github.com/rust-lang/rust/pull/115929) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=078eb1120a3f576598b976d9470701363f48fccc&end=de68911f4adaed19ac662880cf1a5ded9e44d685&stat=instructions:u) | (instructions:u) | mean | range | count | |:------------------------:|:-----:|:--------------:|:-----:| | Regressions (primary) | 0.2% | [0.2%, 0.2%] | 1 | | Regressions (secondary) | - | - | 0 | | Improvements (primary) | -0.5% | [-0.7%, -0.2%] | 19 | | Improvements (secondary) | -0.5% | [-0.6%, -0.2%] | 12 | | All (primary) | -0.4% | [-0.7%, 0.2%] | 20 | move required_consts check to general post-mono-check function [#115748](https://github.com/rust-lang/rust/pull/115748) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=b1575cb72ef40459666f802af8636faf8428e3eb&end=cebb9cfd4f0052fbb5e98f9b6f3a61dae8fd96a7&stat=instructions:u) | (instructions:u) | mean | range | count | |:------------------------:|:-----:|:--------------:|:-----:| | Regressions (primary) | - | - | 0 | | Regressions (secondary) | 0.5% | [0.5%, 0.5%] | 1 | | Improvements (primary) | -5.0% | [-6.3%, -3.6%] | 2 | | Improvements (secondary) | -6.1% | [-6.6%, -5.7%] | 6 | | All (primary) | -5.0% | [-6.3%, -3.6%] | 2 | Cache reachable_set on disk [#115740](https://github.com/rust-lang/rust/pull/115740) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=790309b102a0f0459f0ca0ac0386cec2b8a9b0db&end=fd70f7eea23636d4ce83656f5c8c2b24cd56998c&stat=instructions:u) | (instructions:u) | mean | range | count | |:------------------------:|:-----:|:--------------:|:-----:| | Regressions (primary) | 0.4% | [0.4%, 0.4%] | 1 | | Regressions (secondary) | 0.4% | [0.4%, 0.6%] | 4 | | Improvements (primary) | -1.0% | [-2.4%, -0.3%] | 8 | | Improvements (secondary) | -2.6% | [-8.2%, -0.8%] | 4 | | All (primary) | -0.9% | [-2.4%, 0.4%] | 9 | Regressions are actually just noise, so moved this to improvements. ## Nominated Issues [T-compiler](https://github.com/rust-lang/rust/issues?q=is%3Aopen+label%3AI-compiler-nominated) - No I-compiler-nominated issues this time. [RFC](https://github.com/rust-lang/rfcs/issues?q=is%3Aopen+label%3AI-compiler-nominated) - No I-compiler-nominated RFCs this time. ### 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) - "Implement a global value numbering MIR optimization" [rust#109597](https://github.com/rust-lang/rust/pull/109597) (last review activity: 4 months ago) - cc: @**Jack Huey** - "Require `type_map::stub` callers to supply file information" [rust#104342](https://github.com/rust-lang/rust/pull/104342) (last review activity: 3 months ago) - cc @**Wesley Wiser** - "Fix ICE when trying to convert `ConstKind::Error` to usize" [rust#113712](https://github.com/rust-lang/rust/pull/113712) (last review activity: about 32 days ago) - cc: @**uwu** (reassign?) - "Suggest `pin!()` instead of `Pin::new()` when appropriate" [rust#114654](https://github.com/rust-lang/rust/pull/114654) (last review activity: about 40 days ago) - cc @**davidtwco** ## Next week's WG checkins - @_*WG-async-foundations* by @**nikomatsakis** and @**tmandry** - @_*WG-diagnostics* by @**Esteban Küber** and @**oli** Next meetings' agenda draft: [hackmd link](https://hackmd.io/wECFXOb-SGaJN2Doz0jIag)