--- tags: weekly, rustc type: docs --- # T-compiler Meeting Agenda 2023-07-13 ## Announcements - Today release of stable 1.71 :loudspeaker: - [[Types team] Formality testing sync](https://www.google.com/calendar/event?eid=MWowN2NydTBqbGpvaXI5OTVvcWptcW9mdXJfMjAyMzA3MTJUMTMwMDAwWiA2dTVycnRjZTZscnR2MDdwZmkzZGFtZ2p1c0Bn) at <time:2023-07-12T09:00:00-04:00> - [Should wg-async be a team?](https://www.google.com/calendar/event?eid=NzEzbjJ2Ymx0OTdncGwyaGtncmxhaDQzdTNfMjAyMzA3MTNUMTYwMDAwWiA2dTVycnRjZTZscnR2MDdwZmkzZGFtZ2p1c0Bn) at <time:2023-07-13T12:00:00-04:00> - [AFIT/RPITIT Impl Triage](https://www.google.com/calendar/event?eid=N2VsaWszdm9rY3NhdDF1MjdyMjVqajNpcWVfMjAyMzA3MTNUMjAwMDAwWiA2dTVycnRjZTZscnR2MDdwZmkzZGFtZ2p1c0Bn) at <time:2023-07-13T16: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 the Core team know (or at least message @_**pnkfelix** 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)) - [Types team meeting: dropck](https://www.google.com/calendar/event?eid=MTg3MDhpdTc3YXBqMGMzbnNxanUwdWZnazhfMjAyMzA3MTdUMTQwMDAwWiA2dTVycnRjZTZscnR2MDdwZmkzZGFtZ2p1c0Bn) at <time:2023-07-17T10:00:00-04:00> - [[Types] Rotating new solver / formality / polonius deep dive](https://www.google.com/calendar/event?eid=N29vMXZqbGZ1MDIxbzllMDI3dGhocWhhZmNfMjAyMzA3MTdUMTUwMDAwWiA2dTVycnRjZTZscnR2MDdwZmkzZGFtZ2p1c0Bn) at <time:2023-07-17T11:00:00-04:00> - [Async WG triage meeting](https://www.google.com/calendar/event?eid=cXZ1NGZncDF1dXA1NnVnMnA1M2Mzb2lvdWVfMjAyMzA3MTdUMTUzMDAwWiA2dTVycnRjZTZscnR2MDdwZmkzZGFtZ2p1c0Bn) at <time:2023-07-17T11:30:00-04:00> ## MCPs/FCPs - New MCPs (take a look, see if you like them!) - "Windows support schedule 2024" [compiler-team#651](https://github.com/rust-lang/compiler-team/issues/651) - "New tier-3 targets for TEEOS" [compiler-team#652](https://github.com/rust-lang/compiler-team/issues/652) - Old MCPs (not seconded, take a look) - "Cell Broadband Engine SPU support" [compiler-team#614](https://github.com/rust-lang/compiler-team/issues/614) (last review activity: 3 months ago) - "Revise error code documentation standard" [compiler-team#615](https://github.com/rust-lang/compiler-team/issues/615) (last review activity: 2 months ago) - "Add support for Zephyr OS" [compiler-team#629](https://github.com/rust-lang/compiler-team/issues/629) (last review activity: about 21 days ago) - "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: about 48 days ago) - "Add a new `--build-id` flag to rustc" [compiler-team#635](https://github.com/rust-lang/compiler-team/issues/635) (last review activity: about 48 days 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: about 28 days ago) - "[MCP] proposing a macros working group" [compiler-team#637](https://github.com/rust-lang/compiler-team/issues/637) (last review activity: about 27 days ago) - "Add support for visionOS targets" [compiler-team#642](https://github.com/rust-lang/compiler-team/issues/642) (last review activity: about 13 days ago) - "Add illumos Tier3 targets" [compiler-team#644](https://github.com/rust-lang/compiler-team/issues/644) (last review activity: about 13 days ago) - "Migrate away from u32 as an offset/length type" [compiler-team#647](https://github.com/rust-lang/compiler-team/issues/647) (last review activity: about 6 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#issuecomment-1618781780) - "Tracking issue for the `thiscall` calling convention" [rust#42202](https://github.com/rust-lang/rust/issues/42202#issuecomment-1616187726) - "Add documentation on v0 symbol mangling." [rust#97571](https://github.com/rust-lang/rust/pull/97571#issuecomment-1617734630) - note: missing tick from @**pnkfelix** + @**lcnr** (if no concerns) - "Support overriding `warnings` level for a specific lint via command line" [rust#113307](https://github.com/rust-lang/rust/pull/113307#issuecomment-1621305927) - 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) - "Report all lints, even if other errors already occurred." [compiler-team#633](https://github.com/rust-lang/compiler-team/issues/633) - "Use `FieldIdx` all the way down" [compiler-team#639](https://github.com/rust-lang/compiler-team/issues/639) - "Add support for the riscv64-linux-android target" [compiler-team#640](https://github.com/rust-lang/compiler-team/issues/640) - "Implement alignment and size niches for references" [compiler-team#641](https://github.com/rust-lang/compiler-team/issues/641) - "Changes to StatementKind::Coverage" [compiler-team#645](https://github.com/rust-lang/compiler-team/issues/645) - "KRabcake SANitization (KRSAN) mode" [compiler-team#646](https://github.com/rust-lang/compiler-team/issues/646) - "Drop MIPS to tier 3" [compiler-team#648](https://github.com/rust-lang/compiler-team/issues/648) - "Disallow non-identifier-valid --extern crate names " [compiler-team#650](https://github.com/rust-lang/compiler-team/issues/650) - Accepted MCPs - No new accepted proposals this time. - Finalized FCPs (disposition merge) - "Create `unnecessary_send_constraint` lint for `&(dyn ... + Send)`" [rust#110961](https://github.com/rust-lang/rust/pull/110961) - "Enable coinduction support for Safe Transmute" [rust#113175](https://github.com/rust-lang/rust/pull/113175) ### WG checkins - @_*WG-mir-opt* by @**oli** ([previous checkin](https://hackmd.io/auk0MATiScWFokXL6RlO-w#WG-checkins)): > * Progress on the removal of the `Deref` projection: https://github.com/rust-lang/rust/pull/112882 > * mir-opt test blessing for 32 bit targets was simplified and happens automatically when you specifically run mir-opt tests > * debug assertions for testing against unaligned dereferences are added in MIR: https://github.com/rust-lang/rust/pull/98112 > * stable MIR is progressing: support for most MIR operations and many types has been added. Support for constants is next on the list. - @_*WG-polymorphization* by @**davidtwco** ([previous checkin](https://hackmd.io/RN6ovtjCR5m-B5IWrVgkIA#WG-checkins)): > nothing to report, WG-polymorphization can be removed from the check-ins rotation for now ## 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) - No beta nominations for `T-compiler` this time. - No stable nominations for `T-compiler` this time. [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) - No beta nominations for `T-rustdoc` this time. - 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?q=is%3Aopen+label%3AS-waiting-on-team+label%3AT-compiler) - "Add new simpler and more explicit syntax for check-cfg" [rust#111072](https://github.com/rust-lang/rust/pull/111072) - depends on MCP [compiler-team#636](https://github.com/rust-lang/compiler-team/issues/636) (-> [Zulip discussion](https://rust-lang.zulipchat.com/#narrow/stream/233931-t-compiler.2Fmajor-changes/topic/Simplify.20and.20improve.20explicitness.20of.20the.20.E2.80.A6.20compiler-team.23636)) - "Update Android system definitions and add riscv-linux-android as tier 3 target" [rust#112858](https://github.com/rust-lang/rust/pull/112858) - (T-libs approved, split T-libs changes in a separate PR #113130) - Issues [in progress or waiting on other teams](https://hackmd.io/XYr1BrOWSiqCrl8RCWXRaQ) ## Issues of Note ### Short Summary - [0 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) - [58 T-compiler P-high issues](https://github.com/rust-lang/rust/issues?q=is%3Aopen+label%3AT-compiler+label%3AP-high) - [26 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, 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, 0 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) - [0 P-critical, 34 P-high, 100 P-medium, 19 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) - No `P-critical` issues for `T-compiler` at this time. [T-types](https://github.com/rust-lang/rust/issues?q=is%3Aopen+label%3AP-critical+label%3AT-types) - No `P-critical` issues for `T-types` at this time. [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` at 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) - 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-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-07-11](https://github.com/rust-lang/rustc-perf/blob/master/triage/2023-07-11.md) A very quiet week with nearly no changes in compiler performance. Triage done by **@rylev**. Revision range: [52d8c49..1d4f5af](https://perf.rust-lang.org/?start=52d8c490a3aabe65cdd9f2d3aed95034dd5dbad7&end=1d4f5affbdee00c816f961c227c6b28a3e725ce6&absolute=false&stat=instructions%3Au) **Summary**: | (instructions:u) | mean | range | count | |:------------------------:|:-----:|:--------------:|:-----:| | Regressions (primary) | 1.1% | [0.7%, 1.7%] | 8 | | Regressions (secondary) | 2.1% | [0.4%, 3.7%] | 2 | | Improvements (primary) | -0.9% | [-1.2%, -0.5%] | 26 | | Improvements (secondary) | -1.2% | [-1.8%, -0.2%] | 16 | | All (primary) | -0.4% | [-1.2%, 1.7%] | 34 | 4 Regressions, 2 Improvements, 2 Mixed; 1 of them in rollups 51 artifact comparisons made in total #### Regressions Rollup of 8 pull requests [#113370](https://github.com/rust-lang/rust/pull/113370) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=e4cd1610067501fa4d347eba7b18f77137dbbf48&end=5dac6b320be868f898a3c753934eabc79ff2e406&stat=instructions:u) | (instructions:u) | mean | range | count | |:------------------------:|:----:|:------------:|:-----:| | Regressions (primary) | 1.3% | [0.6%, 2.1%] | 11 | | Regressions (secondary) | 1.6% | [1.6%, 1.6%] | 1 | | Improvements (primary) | - | - | 0 | | Improvements (secondary) | - | - | 0 | | All (primary) | 1.3% | [0.6%, 2.1%] | 11 | - [#113320](https://github.com/rust-lang/rust/pull/113320) seemed to be the culprit but it's not clear why. Following up with the author. Remove some unnecessary(?) normalization [#113348](https://github.com/rust-lang/rust/pull/113348) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=0d50ab77397d7278500abd22d34de0e10940b2ee&end=b112bc5529cfa8d8a9000f7a85278ece3232e579&stat=instructions:u) | (instructions:u) | mean | range | count | |:------------------------:|:----:|:------------:|:-----:| | Regressions (primary) | 0.8% | [0.4%, 1.1%] | 6 | | Regressions (secondary) | - | - | 0 | | Improvements (primary) | - | - | 0 | | Improvements (secondary) | - | - | 0 | | All (primary) | 0.8% | [0.4%, 1.1%] | 6 | - Noise as this change only touched test files Bump version to 1.73 [#113485](https://github.com/rust-lang/rust/pull/113485) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=83964c156db1f444050a38b2498dbd0da6d5d503&end=03247fbbe87b28a991d721c4fe7cdf4e6fc5d5a3&stat=instructions:u) | (instructions:u) | mean | range | count | |:------------------------:|:----:|:------------:|:-----:| | Regressions (primary) | 0.8% | [0.5%, 1.2%] | 32 | | Regressions (secondary) | 0.7% | [0.7%, 0.7%] | 3 | | Improvements (primary) | - | - | 0 | | Improvements (secondary) | - | - | 0 | | All (primary) | 0.8% | [0.5%, 1.2%] | 32 | - Noise as this only was a version bump Update debuginfo test runner to provide more useful output [#113306](https://github.com/rust-lang/rust/pull/113306) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=1861088f9088344a6b821abf335678d7fe037872&end=ba37a69d30fc6ffc0c2589eb59e936c261b36e76&stat=instructions:u) | (instructions:u) | mean | range | count | |:------------------------:|:----:|:------------:|:-----:| | Regressions (primary) | - | - | 0 | | Regressions (secondary) | 5.6% | [5.6%, 5.6%] | 1 | | Improvements (primary) | - | - | 0 | | Improvements (secondary) | - | - | 0 | | All (primary) | - | - | 0 | - Noise as this change only touched test files #### Improvements Move `TyCtxt::mk_x` to `Ty::new_x` where applicable [#113377](https://github.com/rust-lang/rust/pull/113377) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=b112bc5529cfa8d8a9000f7a85278ece3232e579&end=4dd1719b3406d80f539d2f49e9842f3563908632&stat=instructions:u) | (instructions:u) | mean | range | count | |:------------------------:|:-----:|:--------------:|:-----:| | Regressions (primary) | - | - | 0 | | Regressions (secondary) | - | - | 0 | | Improvements (primary) | -0.7% | [-1.1%, -0.4%] | 10 | | Improvements (secondary) | - | - | 0 | | All (primary) | -0.7% | [-1.1%, -0.4%] | 10 | Port PGO/LTO/BOLT optimized build pipeline to Rust [#112235](https://github.com/rust-lang/rust/pull/112235) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=f05d743c204a3c433fb5c2976691fb4eb5c7a530&end=1861088f9088344a6b821abf335678d7fe037872&stat=instructions:u) | (instructions:u) | mean | range | count | |:------------------------:|:-----:|:--------------:|:-----:| | Regressions (primary) | - | - | 0 | | Regressions (secondary) | 0.3% | [0.3%, 0.3%] | 1 | | Improvements (primary) | -0.9% | [-1.3%, -0.5%] | 38 | | Improvements (secondary) | -0.8% | [-2.3%, -0.3%] | 11 | | All (primary) | -0.9% | [-1.3%, -0.5%] | 38 | #### Mixed perform TokenStream replacement in-place when possible in expand_macro [#113270](https://github.com/rust-lang/rust/pull/113270) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=7cc3da05f99fbc89782fc6cb7e207fa11aa6add5&end=921f669749a57ab5936721fdd93b2da57b581381&stat=instructions:u) | (instructions:u) | mean | range | count | |:------------------------:|:-----:|:--------------:|:-----:| | Regressions (primary) | 0.6% | [0.6%, 0.7%] | 2 | | Regressions (secondary) | 0.3% | [0.3%, 0.3%] | 3 | | Improvements (primary) | - | - | 0 | | Improvements (secondary) | -0.3% | [-0.3%, -0.3%] | 2 | | All (primary) | 0.6% | [0.6%, 0.7%] | 2 | - Might be noise, but otherwise too small to be worth the investigation. Sync portable-simd to 2023 July 07 [#113437](https://github.com/rust-lang/rust/pull/113437) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=1a449dcfd25143f7e1f6b6f5ddf1c12af361e2ff&end=fd68a6ded951bd7b852ab8107007f7145e3ad6ec&stat=instructions:u) | (instructions:u) | mean | range | count | |:------------------------:|:-----:|:--------------:|:-----:| | Regressions (primary) | - | - | 0 | | Regressions (secondary) | 1.6% | [1.6%, 1.6%] | 1 | | Improvements (primary) | -1.0% | [-1.5%, -0.6%] | 11 | | Improvements (secondary) | -1.0% | [-1.7%, -0.6%] | 4 | | All (primary) | -1.0% | [-1.5%, -0.6%] | 11 | - Numbers were declared acceptable as it potentially could have been much worse. ## Nominated Issues [T-compiler](https://github.com/rust-lang/rust/issues?q=is%3Aopen+label%3AI-compiler-nominated) - "standalone installer rustc-1.70.0 (precompiled binary) segfaults in elf_machine_runtime_setup" [rust#112286](https://github.com/rust-lang/rust/issues/112286) - issue hits platform `powerpc64le-unknown-linux-gnu`, tier 2 - Gihub comment thread, [summary](https://github.com/rust-lang/rust/issues/112286#issuecomment-1628726995) from @**Jubilee** - Zulip [comment thread](https://rust-lang.zulipchat.com/#narrow/stream/245100-t-compiler.2Fwg-prioritization.2Falerts/topic/.23112286.20standalone.20installer.20rustc-1.2E70.2E0.20.28precompiled.20bina.E2.80.A6) - @**lqd** points out that disabling BOLT (currently enabled only for `x86_64-unknown-linux-gnu`) altogether would cause too much loss for `rustup` users ([comment](https://rust-lang.zulipchat.com/#narrow/stream/245100-t-compiler.2Fwg-prioritization.2Falerts/topic/.23112286.20standalone.20installer.20rustc-1.2E70.2E0.20.28precompiled.20bina.E2.80.A6)) - [Gentoo will disable stripping LLVM.so](https://github.com/rust-lang/rust/issues/112286#issuecomment-1630085688) (as suggested by us) as a workaround - "MSVC and rustc disagree on minimum stack alignment on x86 Windows" [rust#112480](https://github.com/rust-lang/rust/issues/112480) - Nominated again after T-opsem FCP proposing to close #98112 finished ([comment](https://github.com/rust-lang/rust/issues/112480#issuecomment-1606326864)) [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 - "Fix off-by-one error in X87DoubleExtended::from_bits" [rust#100685](https://github.com/rust-lang/rust/pull/100685) (last review activity: 10 months ago) - blocked on the new `rust_apfloat` with compatible licensing - There is some updates from @**eddyb** (see [comment](https://github.com/rust-lang/rust/issues?q=is%3Aopen+label%3AE-needs-mcve+label%3AT-compiler+sort%3Acreated-asc), thanks!) - "Only run MaybeInitializedPlaces dataflow once to elaborate drops" [rust#111555](https://github.com/rust-lang/rust/pull/111555) (last review activity: about 44 days ago) - I _think_ it's waiting on review cc @**Wesley Wiser** - "return `NoSolution` for default assoc items" [rust#111994](https://github.com/rust-lang/rust/pull/111994) (last review activity: about 28 days ago) - seems to be waiting on review cc @**uwu** - "riscv: Make ELF flags RVE-aware" [rust#112567](https://github.com/rust-lang/rust/pull/112567) (last review activity: about 21 days ago) - Seems that @**Nikita Popov** can help here ## Next week's WG checkins - @_*WG-rls2.0* by @**Lukas Wirth** - @_*WG-self-profile* by @**mw** and @**Wesley Wiser** Next agenda draft: https://hackmd.io/XBOdBRLXR7qFfq526W7gXg