From f51b2264bf0dd3eb3008469ca6540e6623e1980c Mon Sep 17 00:00:00 2001 From: apiraino Date: Wed, 12 Jun 2024 16:35:22 +0200 Subject: [PATCH 1/2] Add T-compiler meeting notes 04/24 Signed-off-by: apiraino --- .../T-compiler Meeting Agenda 2024-04-04.md | 253 ++++++++++++ .../T-compiler Meeting Agenda 2024-04-11.md | 387 ++++++++++++++++++ .../T-compiler Meeting Agenda 2024-04-18.md | 331 +++++++++++++++ .../T-compiler Meeting Agenda 2024-04-25.md | 303 ++++++++++++++ 4 files changed, 1274 insertions(+) create mode 100644 content/minutes/triage-meeting/T-compiler Meeting Agenda 2024-04-04.md create mode 100644 content/minutes/triage-meeting/T-compiler Meeting Agenda 2024-04-11.md create mode 100644 content/minutes/triage-meeting/T-compiler Meeting Agenda 2024-04-18.md create mode 100644 content/minutes/triage-meeting/T-compiler Meeting Agenda 2024-04-25.md diff --git a/content/minutes/triage-meeting/T-compiler Meeting Agenda 2024-04-04.md b/content/minutes/triage-meeting/T-compiler Meeting Agenda 2024-04-04.md new file mode 100644 index 00000000..f98f8621 --- /dev/null +++ b/content/minutes/triage-meeting/T-compiler Meeting Agenda 2024-04-04.md @@ -0,0 +1,253 @@ +--- +tags: weekly, rustc +type: docs +note_id: aLmXuZKATsy2y-vB1ZgaJA +--- + +# T-compiler Meeting Agenda 2024-04-04 + +## Announcements + +- 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 +- Types Team: ITE (Impl Trait Everywhere) Triage + +## MCPs/FCPs + +- New MCPs (take a look, see if you like them!) + - "Skip virtual drop for !needs_drop types" [compiler-team#730](https://github.com/rust-lang/compiler-team/issues/730) ([Zulip](https://rust-lang.zulipchat.com/#narrow/stream/233931-xxx/topic/Skip.20virtual.20drop.20for.20.21needs_drop.20types.20compiler-team.23730)) + - "Add `-Zemit-thin-lto-index=` to enable distributed ThinLTO users" [compiler-team#735](https://github.com/rust-lang/compiler-team/issues/735) ([Zulip](https://rust-lang.zulipchat.com/#narrow/stream/233931-xxx/topic/Add.20.60-Zemit-thin-lto-index.3D.3Cpath.3E.60.20to.20ena.E2.80.A6.20compiler-team.23735)) +- Old MCPs (not seconded, take a look) + - "Target families for executable format" [compiler-team#716](https://github.com/rust-lang/compiler-team/issues/716) ([Zulip](https://rust-lang.zulipchat.com/#narrow/stream/233931-xxx/topic/Target.20families.20for.20executable.20format.20compiler-team.23716)) (last review activity: 2 months ago) + - "Add `--emit=` to emit nothing" [compiler-team#718](https://github.com/rust-lang/compiler-team/issues/718) ([Zulip](https://rust-lang.zulipchat.com/#narrow/stream/233931-xxx/topic/Add.20.60--emit.3D.60.20to.20emit.20nothing.20compiler-team.23718)) (last review activity: 2 months ago) + - "Promote riscv64gc-unknown-linux-musl to tier 2" [compiler-team#728](https://github.com/rust-lang/compiler-team/issues/728) ([Zulip](https://rust-lang.zulipchat.com/#narrow/stream/233931-xxx/topic/Promote.20riscv64gc-unknown-linux-gnu.20to.20ti.E2.80.A6.20compiler-team.23728)) (last review activity: about 27 days ago) +- Pending FCP requests (check your boxes!) + - merge: [Tracking Issue for RFC 3013: Checking conditional compilation at compile time (rust#82450)](https://github.com/rust-lang/rust/issues/82450#issuecomment-1965328542) + - @**|116107** @**|125294** @**|119031** @**|248906** @**|232957** + - no pending concerns + - merge: [Ignore `-C strip` on MSVC (rust#115120)](https://github.com/rust-lang/rust/pull/115120#issuecomment-2024832395) + - @_**|116083** @_**|123586** @_**|125250** @_**|119031** @_**|232957** + - no pending concerns + - merge: [Make casts of pointers to trait objects stricter (rust#120248)](https://github.com/rust-lang/rust/pull/120248#issuecomment-1981506568) + - @_**|239881** @_**|116883** @_**|125270** + - no pending concerns + - merge: [sess: stabilize `-Zrelro-level` as `-Crelro-level` (rust#121694)](https://github.com/rust-lang/rust/pull/121694#issuecomment-1988156080) + - @_**|116083** @_**|119031** @_**|232957** + - no pending concerns + - merge: [Add encoding for `f16` and `f128` (rust#122106)](https://github.com/rust-lang/rust/pull/122106#issuecomment-1983030121) + - @_**|119009** @_**|116083** @_**|125250** @_**|232957** + - no pending concerns +- Things in FCP (make sure you're good with it) + - "allow all command line flags to be passed multiple times, overwriting previous usages" [compiler-team#731](https://github.com/rust-lang/compiler-team/issues/731) + - "Stabilize Wasm target features that are in phase 4 and 5" [rust#117457](https://github.com/rust-lang/rust/pull/117457#issuecomment-1789204219) +- Accepted MCPs + - "Dist rustc with overflow checks" [compiler-team#724](https://github.com/rust-lang/compiler-team/issues/724) ([Zulip](https://rust-lang.zulipchat.com/#narrow/stream/233931-xxx/topic/Dist.20rustc.20with.20overflow.20checks.20compiler-team.23724)) +- MCPs blocked on unresolved concerns + - "Add hygiene attributes to compile expanded source code" [compiler-team#692](https://github.com/rust-lang/compiler-team/issues/692) ([Zulip](https://rust-lang.zulipchat.com/#narrow/stream/233931-xxx/topic/Add.20option.20to.20compile.20expanded.20ASTs.20for.20h.E2.80.A6.20compiler-team.23692)) (last review activity: 2 months ago) + - concern: [added-complexity-to-frontend](https://github.com/rust-lang/compiler-team/issues/692#issuecomment-1845169318) + - merge: [Add a new `--build-id` flag to rustc (compiler-team#635)](https://github.com/rust-lang/compiler-team/issues/635#issuecomment-1777545767) + - @_**|125250** @_**|116107** @_**|125294** @_**|123856** + - [other-existing-options (by petrochenkov)](https://github.com/rust-lang/compiler-team/issues/635#issuecomment-1779597156) [option-name (by wesleywiser)](https://github.com/rust-lang/compiler-team/issues/635#issuecomment-1785349936) + - merge: [Retire the mailing list and make all decisions on zulip (compiler-team#649)](https://github.com/rust-lang/compiler-team/issues/649#issuecomment-1618781780) + - no pending checkboxs + - [automatic-sync (by compiler-errors)](https://github.com/rust-lang/compiler-team/issues/649#issuecomment-1618902660) [single-point-of-failure-via-stream-archival (by pnkfelix)](https://github.com/rust-lang/compiler-team/issues/649#issuecomment-1664056989) + - merge: [Stabilize `--env-set` option (rust#119926)](https://github.com/rust-lang/rust/pull/119926#issuecomment-1898766442) + - @_**|119009** @_**|116083** @_**|124288** @_**|123586** @_**|125250** @_**|119031** @_**|124287** @_**|116118** + - [other-rustc-vars (by petrochenkov)](https://github.com/rust-lang/rust/pull/119926#issuecomment-1900703005) +- Finalized FCPs (disposition merge) + - "rework opaque type region inference" [rust#116891](https://github.com/rust-lang/rust/pull/116891) + - "Normalize trait ref before orphan check & consider ty params in alias types to be uncovered" [rust#117164](https://github.com/rust-lang/rust/pull/117164) + - "instantiate higher ranked goals outside of candidate selection" [rust#119820](https://github.com/rust-lang/rust/pull/119820) + - "Eagerly instantiate closure/coroutine-like bounds with placeholders to deal with binders correctly" [rust#122267](https://github.com/rust-lang/rust/pull/122267) + - "transmute: caution against int2ptr transmutation" [rust#122379](https://github.com/rust-lang/rust/pull/122379) + - "Make inductive cycles always ambiguous" [rust#122791](https://github.com/rust-lang/rust/pull/122791) +- Other teams finalized FCPs + - "Tracking issue for Allow a re-export for `main` (RFC 1260)" [rust#28937](https://github.com/rust-lang/rust/issues/28937) + - "`c_unwind` full stabilization request: change in `extern "C"` behavior" [rust#115285](https://github.com/rust-lang/rust/issues/115285) + - "rework opaque type region inference" [rust#116891](https://github.com/rust-lang/rust/pull/116891) + - "Prevent opaque types being instantiated twice with different regions within the same function" [rust#116935](https://github.com/rust-lang/rust/pull/116935) + - "Normalize trait ref before orphan check & consider ty params in alias types to be uncovered" [rust#117164](https://github.com/rust-lang/rust/pull/117164) + - "Add `REDUNDANT_LIFETIMES` lint to detect lifetimes which are semantically redundant" [rust#118391](https://github.com/rust-lang/rust/pull/118391) + - "instantiate higher ranked goals outside of candidate selection" [rust#119820](https://github.com/rust-lang/rust/pull/119820) + - "Split refining_impl_trait lint into _reachable, _internal variants" [rust#121720](https://github.com/rust-lang/rust/pull/121720) + - "Stabilize associated type bounds (RFC 2289)" [rust#122055](https://github.com/rust-lang/rust/pull/122055) + - "Eagerly instantiate closure/coroutine-like bounds with placeholders to deal with binders correctly" [rust#122267](https://github.com/rust-lang/rust/pull/122267) + - "transmute: caution against int2ptr transmutation" [rust#122379](https://github.com/rust-lang/rust/pull/122379) + - "Make inductive cycles always ambiguous" [rust#122791](https://github.com/rust-lang/rust/pull/122791) + +### WG checkins + +@*T-Types* checkin by @**Jack Huey**: + > - Associated type bounds stabilized: rust#122055 + > - Ongoing stabilization of `-Znext-solver=coherence`: rust#121848 + > - Ongoing stabilization of associated type position `impl Trait`: rust#120700 + > - The team is rotating out one lead: https://rust-lang.zulipchat.com/#narrow/stream/144729-t-types/topic/Team.20lead.20nominations/near/430249172 + > - As usual, lots of progress on cleaning up type system bugs/corner cases: https://github.com/rust-lang/rust/pulls?q=is%3Apr+label%3AT-types+label%3Afinished-final-comment-period + +## Backport nominations + +Note: many of these regressions were marked at P-high/P-critical since discovered by a crater run (thus impacting one of more crates we use as canary). Also: credit to @**Michael Goulet (compiler-errors)** for authoring many of PRs fixing them :thank_you: + +[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: "Fix some unsoundness with PassMode::Cast ABI" [rust#122619](https://github.com/rust-lang/rust/pull/122619) + - Fixes #122617, P-high unsoundness in LLVM IR + - authored by @_**erikdesjardins** + +- :beta: "Update to LLVM 18.1.2" [rust#122772](https://github.com/rust-lang/rust/pull/122772) + - Fixes #122476 (thread sanitizer on x86 caused a compilation abort), upstream issue was [llvm-project#85226](https://github.com/llvm/llvm-project/issues/85226) + - authored by @_**Nikita Popov** + +- :beta: "Encode implied predicates for traits" [rust#122891](https://github.com/rust-lang/rust/pull/122891) + - Fixes #122859 (not marked as regression). Rationale explained at [this comment](https://github.com/rust-lang/rust/pull/122891#issue-2202971249) + - authored by @_**Michael Goulet (compiler-errors)** + +- :beta: "Make sure to insert `Sized` bound first into clauses list" [rust#123302](https://github.com/rust-lang/rust/pull/123302) + - Fixes #123279 (rationale at [this comment](https://github.com/rust-lang/rust/pull/123302#issue-2217213425)) + - authored by @_**Michael Goulet (compiler-errors)** + +- :beta: "Don't inherit codegen attrs from parent static" [rust#123310](https://github.com/rust-lang/rust/pull/123310) + - Fixes 2 ICEs: #123274 (found in beta crater run) and #123243 + - Caused by #121644 (the static allocations inherit the codegen flags from their parent statics. In this case we have a static allocation who inherits the `#[no_mangle]` flag from the parent; however, the allocation doesn't actually have an item name to use for `#[no_mangle]`) + - authored by @_**Michael Goulet (compiler-errors)** + +- :beta: "Only inspect user-written predicates for privacy concerns" [rust#123377](https://github.com/rust-lang/rust/pull/123377) + - Fixes #123288 (P-high regression discovered in crater run): "Previously we looked at the elaborated predicates, which, due to adding various bounds on fields, end up requiring trivially true bounds. But these bounds can contain private types, which the privacy visitor then found and errored about." + - authored by @_**oli** + - being reviewed + +- :beta: "[beta] Fix the `f16` and `f128` feature gate regression" [rust#123445](https://github.com/rust-lang/rust/pull/123445) + - Fixes #123282 (P-high regression discovered in crater run) + - Fix authored by @_**Trevor Gross** + - waiting on review + +- No stable nominations for `T-compiler` this time. + +[T-types stable](https://github.com/rust-lang/rust/issues?q=is%3Aall+label%3Abeta-nominated+-label%3Abeta-accepted+label%3AT-types) / [T-types beta](https://github.com/rust-lang/rust/issues?q=is%3Aall+label%3Astable-nominated+-label%3Astable-accepted+label%3AT-types) +- No beta nominations for `T-types` this time. +- No stable nominations for `T-types` 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) +- [Issues in progress or waiting on other teams](https://hackmd.io/XYr1BrOWSiqCrl8RCWXRaQ) + +## 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) + - [2 of those are unassigned](https://github.com/rust-lang/rust/issues?q=is%3Aopen+label%3AT-compiler+label%3AP-critical+no%3Aassignee) +- [65 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) +- [1 P-critical, 4 P-high, 3 P-medium, 1 P-low regression-from-stable-to-beta](https://github.com/rust-lang/rust/labels/regression-from-stable-to-beta) +- [2 P-critical, 1 P-high, 5 P-medium, 2 P-low regression-from-stable-to-nightly](https://github.com/rust-lang/rust/labels/regression-from-stable-to-nightly) +- [1 P-critical, 35 P-high, 100 P-medium, 14 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 backtrace on windows with current rustc stable" [rust#122857](https://github.com/rust-lang/rust/issues/122857) + - Fix released in 1.77.1 +- "regression: unwrap on None in ast lowering" [rust#123287](https://github.com/rust-lang/rust/issues/123287) + - Found in beta crater run + - Crate affected, fails to build docs on docs.rs ([downstream issue](https://github.com/rust-amplify/io-reactor/issues/27)) + +[T-types](https://github.com/rust-lang/rust/issues?q=is%3Aopen+label%3AP-critical+label%3AT-types) +- "regression when relating two opaque types in canonical queries" [rust#116877](https://github.com/rust-lang/rust/issues/116877) + - filed in Oct 2023, classified as P-critical + - was fixed, regressed last week ([comment](https://github.com/rust-lang/rust/issues/116877#issuecomment-2027810202)) + - Fixed by #122077, authored by @_**oli**. RFC [approved](https://github.com/rust-lang/rust/pull/122077#issuecomment-2017673404), PR being reviewed + +### 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: ICE failed to get output type of async function" [rust#123273](https://github.com/rust-lang/rust/issues/123273) + - Found in crater run, @_**Michael Goulet (compiler-errors)** self-assigned +- "regression: unexpected unsized tail ICE" [rust#123275](https://github.com/rust-lang/rust/issues/123275) + - Found in beta crater run, new occurrence of #108721 (was fixed by #108754) + - @_**lcnr** suggests reverting #120463 ([comment](https://github.com/rust-lang/rust/issues/123275#issuecomment-2031885563))? + - Issue needs an MCVE: hard to make due to the crates involved (Warp and Hyper) +- "regression: trait bound is not satisfied" [rust#123279](https://github.com/rust-lang/rust/issues/123279) + - Fixed by #123302 +- "regression: type is now private?" [rust#123288](https://github.com/rust-lang/rust/issues/123288) + - Fixed by #123377 + +[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 2024-04-01](https://github.com/rust-lang/rustc-perf/blob/master/triage/2024-04-01.md) + +A pretty quiet week, with most changes (dropped from the report below) being +due to continuing bimodality in the performance data. No particularly notable +changes landed. + +Triage done by **@simulacrum**. +Revision range: [73476d49904751f8d90ce904e16dfbc278083d2c..3d5528c287860b918e178a34f04ff903325571b3](https://perf.rust-lang.org/?start=73476d49904751f8d90ce904e16dfbc278083d2c&end=3d5528c287860b918e178a34f04ff903325571b3&absolute=false&stat=instructions%3Au) + +Skipping details for brevity. Feel free to have a look at the report after the meeting. + +## Nominated Issues + +[T-compiler](https://github.com/rust-lang/rust/issues?q=is%3Aopen+label%3AI-compiler-nominated) +- "Fallout from expansion of redundant import checking" [rust#121708](https://github.com/rust-lang/rust/issues/121708) + - Issue opened last month, caused by #117772 (issues when expanding redundant import checking) + - Nominated by @**Josh Triplett** ([comment](https://github.com/rust-lang/rust/issues/121708#issuecomment-2032578032)): points out that linting this will very likely impact libs-api policy on additions to the prelude + - reverting the change to avoid the issue reach stable seems complicated ([comment](https://github.com/rust-lang/rust/issues/121708#issuecomment-2034339473)) +- "Consider using `llvm-strip`" [rust#123151](https://github.com/rust-lang/rust/issues/123151) + - nominated by @**Jubilee** + - > on various systems, we are encountering reports of people having inadequately-built strip binaries in their PATH that cannot support all Rust compiler use-cases (...) `llvm-strip` gets everything right, as far as we are concerned + - Related [Zulip topic](https://rust-lang.zulipchat.com/#narrow/stream/241545-t-release/topic/Moving.20llvm-strip.20to.20a.20mandatory.20component.3F/near/431716646) +- "regression: compiler had non-unwinding abort" [rust#123286](https://github.com/rust-lang/rust/issues/123286) + - another beta crater run regression. Actually we fixed a UB (comment): "People were executing UB, we now prevent that and try to tell them about it" + - @**Ben Kimock (Saethlin)** suggests a possible quick fix for a beta backport ([comment](https://github.com/rust-lang/rust/issues/123286#issuecomment-2030344815)) + +[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 + +Skipping today + +## Next week's WG checkins + +- @_*T-rust-analyzer* by @**Lukas Wirth** + +Next meetings' agenda draft: [hackmd link](https://hackmd.io/apkP_NKkQFyezgpc2HH3xA) diff --git a/content/minutes/triage-meeting/T-compiler Meeting Agenda 2024-04-11.md b/content/minutes/triage-meeting/T-compiler Meeting Agenda 2024-04-11.md new file mode 100644 index 00000000..8ca361f7 --- /dev/null +++ b/content/minutes/triage-meeting/T-compiler Meeting Agenda 2024-04-11.md @@ -0,0 +1,387 @@ +--- +tags: weekly, rustc +type: docs +note_id: apkP_NKkQFyezgpc2HH3xA +--- + +# T-compiler Meeting Agenda 2024-04-11 + +## Announcements + +- Release of Rust stable 1.77.2 ([blog post](https://blog.rust-lang.org/2024/04/09/cve-2024-24576.html)) (fixes the CVE on Windows platforms that is around now: args parsing for Windows scripts) +- 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)) +- Types Team: ITE (Impl Trait Everywhere) Triage + +## MCPs/FCPs + +- New MCPs (take a look, see if you like them!) + - "Partial compilation using MIR-only rlibs" [compiler-team#738](https://github.com/rust-lang/compiler-team/issues/738) ([Zulip](https://rust-lang.zulipchat.com/#narrow/stream/233931-xxx/topic/Partial.20compilation.20using.20MIR-only.20rlibs.20compiler-team.23738)) +- 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) + - "Target families for executable format" [compiler-team#716](https://github.com/rust-lang/compiler-team/issues/716) ([Zulip](https://rust-lang.zulipchat.com/#narrow/stream/233931-xxx/topic/Target.20families.20for.20executable.20format.20compiler-team.23716)) (last review activity: 2 months ago) + - "Add `--emit=` to emit nothing" [compiler-team#718](https://github.com/rust-lang/compiler-team/issues/718) ([Zulip](https://rust-lang.zulipchat.com/#narrow/stream/233931-xxx/topic/Add.20.60--emit.3D.60.20to.20emit.20nothing.20compiler-team.23718)) (last review activity: 2 months ago) + - "Promote riscv64gc-unknown-linux-musl to tier 2" [compiler-team#728](https://github.com/rust-lang/compiler-team/issues/728) ([Zulip](https://rust-lang.zulipchat.com/#narrow/stream/233931-xxx/topic/Promote.20riscv64gc-unknown-linux-gnu.20to.20ti.E2.80.A6.20compiler-team.23728)) (last review activity: about 34 days ago) + - "Skip virtual drop for !needs_drop types" [compiler-team#730](https://github.com/rust-lang/compiler-team/issues/730) ([Zulip](https://rust-lang.zulipchat.com/#narrow/stream/233931-xxx/topic/Skip.20virtual.20drop.20for.20.21needs_drop.20types.20compiler-team.23730)) (last review activity: about 6 days ago) + - "Add `-Zemit-thin-lto-index=` to enable distributed ThinLTO users" [compiler-team#735](https://github.com/rust-lang/compiler-team/issues/735) ([Zulip](https://rust-lang.zulipchat.com/#narrow/stream/233931-xxx/topic/Add.20.60-Zemit-thin-lto-index.3D.3Cpath.3E.60.20to.20ena.E2.80.A6.20compiler-team.23735)) (last review activity: about 6 days ago) + - "Only emit forward compatible v0 symbol names with graceful degradation" [compiler-team#737](https://github.com/rust-lang/compiler-team/issues/737) ([Zulip](https://rust-lang.zulipchat.com/#narrow/stream/233931-xxx/topic/Only.20emit.20forward.20compatible.20v0.20symbol.20na.E2.80.A6.20compiler-team.23737)) (last review activity: about 6 days ago) +- Pending FCP requests (check your boxes!) + - merge: [Make casts of pointers to trait objects stricter (rust#120248)](https://github.com/rust-lang/rust/pull/120248#issuecomment-1981506568) + - @_**|239881** @_**|116883** @_**|125270** + - no pending concerns +- Things in FCP (make sure you're good with it) + - "allow all command line flags to be passed multiple times, overwriting previous usages" [compiler-team#731](https://github.com/rust-lang/compiler-team/issues/731) + - "Tracking Issue for RFC 3013: Checking conditional compilation at compile time" [rust#82450](https://github.com/rust-lang/rust/issues/82450) + - "Ignore `-C strip` on MSVC" [rust#115120](https://github.com/rust-lang/rust/pull/115120) + - "sess: stabilize `-Zrelro-level` as `-Crelro-level`" [rust#121694](https://github.com/rust-lang/rust/pull/121694) +- Accepted MCPs + - No new accepted proposals this time. +- MCPs blocked on unresolved concerns + - merge: [Retire the mailing list and make all decisions on zulip (compiler-team#649)](https://github.com/rust-lang/compiler-team/issues/649#issuecomment-1618781780) + - no pending checkboxs + - [automatic-sync (by compiler-errors)](https://github.com/rust-lang/compiler-team/issues/649#issuecomment-1618902660) [single-point-of-failure-via-stream-archival (by pnkfelix)](https://github.com/rust-lang/compiler-team/issues/649#issuecomment-1664056989) + - merge: [Stabilize `--env-set` option (rust#119926)](https://github.com/rust-lang/rust/pull/119926#issuecomment-1898766442) + - @_**|119009** @_**|116083** @_**|124288** @_**|123586** @_**|125250** @_**|119031** @_**|124287** @_**|116118** + - [other-rustc-vars (by petrochenkov)](https://github.com/rust-lang/rust/pull/119926#issuecomment-1900703005) + - merge: [Add a new `--build-id` flag to rustc (compiler-team#635)](https://github.com/rust-lang/compiler-team/issues/635#issuecomment-1777545767) + - @_**|125250** @_**|116107** @_**|125294** @_**|123856** + - [other-existing-options (by petrochenkov)](https://github.com/rust-lang/compiler-team/issues/635#issuecomment-1779597156) [option-name (by wesleywiser)](https://github.com/rust-lang/compiler-team/issues/635#issuecomment-1785349936) + - "Add hygiene attributes to compile expanded source code" [compiler-team#692](https://github.com/rust-lang/compiler-team/issues/692) ([Zulip](https://rust-lang.zulipchat.com/#narrow/stream/233931-xxx/topic/Add.20option.20to.20compile.20expanded.20ASTs.20for.20h.E2.80.A6.20compiler-team.23692)) + - concern: [added-complexity-to-frontend](https://github.com/rust-lang/compiler-team/issues/692#issuecomment-1845169318) +- Finalized FCPs (disposition merge) + - "Pass list of defineable opaque types into canonical queries" [rust#122077](https://github.com/rust-lang/rust/pull/122077) +- Other teams finalized FCPs + - "privacy: Stabilize lint `unnameable_types`" [rust#120144](https://github.com/rust-lang/rust/pull/120144) + - "Pass list of defineable opaque types into canonical queries" [rust#122077](https://github.com/rust-lang/rust/pull/122077) + +### WG checkins + +- @_*T-rust-analyzer* by @**Lukas Wirth** (last [checkin](https://hackmd.io/kumG_EirTtOWJiQcgji7_w#WG-checkins)): + > Checkin text + +## 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: [1.78] "fix attribute validation on associated items in traits" [rust#121545](https://github.com/rust-lang/rust/pull/121545) + - Merged. Fixes #121537 (ICE on AST lowering) + - Should also fix #123287, @_**pnkfelix** is investigating ([comment](https://github.com/rust-lang/rust/pull/121545#issuecomment-2040326320)) + +- :beta: [1.78] "Only inspect user-written predicates for privacy concerns" [rust#123377](https://github.com/rust-lang/rust/pull/123377) + - merged. Fixes #123288, P-high regression in latest crater run + +- :beta: [1.78] "Check def id before calling `match_projection_projections`" [rust#123471](https://github.com/rust-lang/rust/pull/123471) + - merged. Fixes #123448, compilation started looping forever (comment about [the fix](https://github.com/rust-lang/rust/pull/123471#issue-2226407754)) + +- :beta: [1.78] "Update to LLVM 18.1.3" [rust#123555](https://github.com/rust-lang/rust/pull/123555) + - merged. backports an LLVM patch. Fixes #122805 (p-medium codegen regression) + +- :beta: [1.78] "Restore `pred_known_to_hold_modulo_regions`" [rust#123578](https://github.com/rust-lang/rust/pull/123578) + - merged. Fixes #123275 (regression from crater run) + +- :beta: [1.78] "Properly handle emojis as literal prefix in macros" [rust#123752](https://github.com/rust-lang/rust/pull/123752) + - Fixes #123696, old stable-to-stable regression, nice but not a *vital* backport (see [comment](https://github.com/rust-lang/rust/pull/123752#issuecomment-2048446832)) + - Not merged, waiting for a crater run + +- No stable nominations for `T-compiler` this time. + +[T-types stable](https://github.com/rust-lang/rust/issues?q=is%3Aall+label%3Abeta-nominated+-label%3Abeta-accepted+label%3AT-types) / [T-types beta](https://github.com/rust-lang/rust/issues?q=is%3Aall+label%3Astable-nominated+-label%3Astable-accepted+label%3AT-types) +- No beta nominations for `T-types` this time. +- No stable nominations for `T-types` 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) +- [Issues in progress or waiting on other teams](https://hackmd.io/XYr1BrOWSiqCrl8RCWXRaQ) + +## 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) + - [1 of those are unassigned](https://github.com/rust-lang/rust/issues?q=is%3Aopen+label%3AT-compiler+label%3AP-critical+no%3Aassignee) +- [64 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) +- [1 P-critical, 5 P-high, 4 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, 5 P-medium, 2 P-low regression-from-stable-to-nightly](https://github.com/rust-lang/rust/labels/regression-from-stable-to-nightly) +- [1 P-critical, 35 P-high, 100 P-medium, 17 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) +- "regression: unwrap on None in ast lowering" [rust#123287](https://github.com/rust-lang/rust/issues/123287) + - *could* be fixed by #121545 (see [comment](https://github.com/rust-lang/rust/pull/121545#issuecomment-2040326320), @**pnkfelix** thanks!) + +[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` 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: ICE failed to get output type of async function" [rust#123273](https://github.com/rust-lang/rust/issues/123273) + - under @**Michael Goulet (compiler-errors)** eyes +- "regression: unexpected unsized tail ICE" [rust#123275](https://github.com/rust-lang/rust/issues/123275) + - Fixed by #123578 +- "regression: trait bound is not satisfied" [rust#123279](https://github.com/rust-lang/rust/issues/123279) + - will be closed by #123302 (merged and beta accepted) +- "regression: f16 + f128 is unstable" [rust#123282](https://github.com/rust-lang/rust/issues/123282) + - Will be fixed by #123466 (merged straight into beta with a few other patches) + +[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+) +- "nightly-2024-04-05 regression: error[E0275]: overflow evaluating the requirement" [rust#123573](https://github.com/rust-lang/rust/issues/123573) + - reported by a project using Bevy and by the Diesel maintainer + - seems the new solver could help here. See [comment](https://github.com/rust-lang/rust/issues/123573#issuecomment-2041348320) and PR #123594 (in FCP) + +## Performance logs + +> [triage logs for 2024-04-11](https://github.com/rust-lang/rustc-perf/blob/master/triage/2024-04-09.md) + +A quiet week; all the outright regressions were already triaged (the one biggish one was #122077, which is justified as an important bug fix). There was a very nice set of improvements from PR #122070, which cleverly avoids a lot of unnecessary allocator calls when building an incremental dep graph by reusing the old edges from the previous graph. + +Triage done by **@pnkfelix**. +Revision range: [3d5528c2..86b603cd](https://perf.rust-lang.org/?start=3d5528c287860b918e178a34f04ff903325571b3&end=86b603cd792b3f6172ba4f676d7b586c1af7630a&absolute=false&stat=instructions%3Au) + +**Summary**: + +| (instructions:u) | mean | range | count | +|:------------------------:|:-----:|:--------------:|:-----:| +| Regressions (primary) | 2.0% | [0.4%, 5.0%] | 83 | +| Regressions (secondary) | 2.1% | [0.5%, 4.8%] | 79 | +| Improvements (primary) | -1.5% | [-2.9%, -0.3%] | 121 | +| Improvements (secondary) | -1.4% | [-3.5%, -0.3%] | 67 | +| All (primary) | -0.1% | [-2.9%, 5.0%] | 204 | + + +3 Regressions, 3 Improvements, 7 Mixed; 1 of them in rollups +78 artifact comparisons made in total + +#### Regressions + +instantiate higher ranked goals outside of candidate selection [#119820](https://github.com/rust-lang/rust/pull/119820) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=0accf4ec4c07d23aa86f6a97aeb8797941abc30e&end=43f4f2a3b1a3d3fb3dbbbe4fde33fb97c780ee98&stat=instructions:u) + +| (instructions:u) | mean | range | count | +|:------------------------:|:----:|:------------:|:-----:| +| Regressions (primary) | 0.6% | [0.3%, 0.8%] | 8 | +| Regressions (secondary) | - | - | 0 | +| Improvements (primary) | - | - | 0 | +| Improvements (secondary) | - | - | 0 | +| All (primary) | 0.6% | [0.3%, 0.8%] | 8 | + +* already triaged by Jakub as an expected small performance regresison + +Pass list of defineable opaque types into canonical queries [#122077](https://github.com/rust-lang/rust/pull/122077) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=ab5bda1aa70f707014e2e691e43bc37a8819252a&end=b234e449443a49ab19ef6b712bf56cc65927d98f&stat=instructions:u) + +| (instructions:u) | mean | range | count | +|:-----------------------:|:----:|:------------:|:-----:| +| Regressions (primary) | 1.9% | [0.2%, 5.4%] | 101 | +| Regressions (secondary) | 2.3% | [0.3%, 4.7%] | 77 | + +| Improvements (secondary) | - | - | 0 | +| All (primary) | 1.8% | [-0.6%, 5.4%] | 102 | + +* already triaged by oli, as an expected performance regression that is [justified](https://github.com/rust-lang/rust/pull/122077#issuecomment-1995694305) as an important bugfix + +Replace some `CrateStore` trait methods with hooks. [#123099](https://github.com/rust-lang/rust/pull/123099) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=59c808fcd9eeb3c5528209d1cef3aaa5521edbd6&end=bd12986fd6659a3091cff7694b8225374f4a26fe&stat=instructions:u) + +| (instructions:u) | mean | range | count | +|:------------------------:|:----:|:------------:|:-----:| +| Regressions (primary) | 0.3% | [0.2%, 0.4%] | 14 | +| Regressions (secondary) | 0.3% | [0.3%, 0.4%] | 2 | +| Improvements (primary) | - | - | 0 | +| Improvements (secondary) | - | - | 0 | +| All (primary) | 0.3% | [0.2%, 0.4%] | 14 | + +* already triaged by oli, categorized as noise. + +#### Improvements + +hir: Drop owner's own item-local id (zero) from parenting tables [#123415](https://github.com/rust-lang/rust/pull/123415) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=703dc9ce64d9b31a239a7280d9b5f9ddd85ffed6&end=98efd808e1b77cd70a097620aad6250727167a28&stat=instructions:u) + +| (instructions:u) | mean | range | count | +|:------------------------:|:-----:|:--------------:|:-----:| +| Regressions (primary) | - | - | 0 | +| Regressions (secondary) | - | - | 0 | +| Improvements (primary) | -0.3% | [-0.4%, -0.2%] | 3 | +| Improvements (secondary) | -0.4% | [-1.3%, -0.3%] | 13 | +| All (primary) | -0.3% | [-0.4%, -0.2%] | 3 | + + +[perf] cache type info for ParamEnv [#123058](https://github.com/rust-lang/rust/pull/123058) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=6f837503aa120ca69c2985b6c9a474c00674cef1&end=087ae978a13013800c8a484cf17c8951ab0b6b0c&stat=instructions:u) + +| (instructions:u) | mean | range | count | +|:------------------------:|:-----:|:--------------:|:-----:| +| Regressions (primary) | - | - | 0 | +| Regressions (secondary) | - | - | 0 | +| Improvements (primary) | -0.9% | [-4.9%, -0.2%] | 47 | +| Improvements (secondary) | - | - | 0 | +| All (primary) | -0.9% | [-4.9%, -0.2%] | 47 | + + +Remove debuginfo from rustc-demangle too [#123608](https://github.com/rust-lang/rust/pull/123608) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=0e5f5207881066973486e6a480fa46cfa22947e9&end=75fd074338801fba74a8cf7f8c48c5c5be362d08&stat=instructions:u) + +| (instructions:u) | mean | range | count | +|:------------------------:|:-----:|:--------------:|:-----:| +| Regressions (primary) | - | - | 0 | +| Regressions (secondary) | 0.6% | [0.4%, 0.9%] | 4 | +| Improvements (primary) | -1.6% | [-2.7%, -0.3%] | 7 | +| Improvements (secondary) | -1.3% | [-2.4%, -0.3%] | 24 | +| All (primary) | -1.6% | [-2.7%, -0.3%] | 7 | + + +#### Mixed + +Add `Ord::cmp` for primitives as a `BinOp` in MIR [#118310](https://github.com/rust-lang/rust/pull/118310) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=029cb1b13b6388b95e64e8996ec8b41a9f3cf16e&end=a77322c16f188402fa22a5e87100acce42433cbc&stat=instructions:u) + +| (instructions:u) | mean | range | count | +|:------------------------:|:-----:|:--------------:|:-----:| +| Regressions (primary) | 0.4% | [0.2%, 0.7%] | 3 | +| Regressions (secondary) | 0.3% | [0.2%, 0.4%] | 2 | +| Improvements (primary) | -0.6% | [-0.6%, -0.6%] | 1 | +| Improvements (secondary) | -3.1% | [-3.1%, -3.1%] | 1 | +| All (primary) | 0.2% | [-0.6%, 0.7%] | 4 | + +* The impact here is somewhat limited, and the graph indicates that the 0.69% instruction-count regression for image-0.24.1 was subsequently recovered. + +Encode dep graph edges directly from the previous graph when promoting [#122070](https://github.com/rust-lang/rust/pull/122070) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=d009f60b55fe4527e7ddf122bc4520f351d7b9d4&end=4563f70c3b599411836e285591479f4a3d364708&stat=instructions:u) + +| (instructions:u) | mean | range | count | +|:------------------------:|:-----:|:--------------:|:-----:| +| Regressions (primary) | - | - | 0 | +| Regressions (secondary) | 0.4% | [0.4%, 0.4%] | 1 | +| Improvements (primary) | -1.6% | [-3.1%, -0.2%] | 113 | +| Improvements (secondary) | -1.5% | [-3.6%, -0.3%] | 37 | +| All (primary) | -1.6% | [-3.1%, -0.2%] | 113 | + +* already marked as triaged by Jakub + +Implement T-types suggested logic for perfect non-local impl detection [#122747](https://github.com/rust-lang/rust/pull/122747) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=ea40fa210b87a322d2259852c149ffa212a3a0da&end=9d79cd5f79e75bd0d2083260271307ce9acd9081&stat=instructions:u) + +| (instructions:u) | mean | range | count | +|:------------------------:|:-----:|:--------------:|:-----:| +| Regressions (primary) | 2.3% | [0.6%, 4.4%] | 12 | +| Regressions (secondary) | - | - | 0 | +| Improvements (primary) | -0.3% | [-0.4%, -0.2%] | 9 | +| Improvements (secondary) | - | - | 0 | +| All (primary) | 1.2% | [-0.4%, 4.4%] | 21 | + +* already marked as triaged by Urgau, with the comment "The perf regressions in diesel are due to the lint being triggered and producing nearly 300 warnings (with 155 actually shown)" +* (This reminds me of rustc-perf#1819) + +Remove sharding for VecCache [#123556](https://github.com/rust-lang/rust/pull/123556) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=087ae978a13013800c8a484cf17c8951ab0b6b0c&end=af2525317be950fdae635bcbb46b3e755d14ab49&stat=instructions:u) + +| (instructions:u) | mean | range | count | +|:------------------------:|:-----:|:--------------:|:-----:| +| Regressions (primary) | 0.4% | [0.4%, 0.4%] | 1 | +| Regressions (secondary) | 0.5% | [0.2%, 1.0%] | 5 | +| Improvements (primary) | - | - | 0 | +| Improvements (secondary) | -0.9% | [-1.1%, -0.7%] | 4 | +| All (primary) | 0.4% | [0.4%, 0.4%] | 1 | + +* already marked as triaged by simulacrum, presumably because this is likely noise since it is "just" removing the sharded type whose feature was not in use. + +Use unchecked_sub in str indexing [#123561](https://github.com/rust-lang/rust/pull/123561) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=fc1a4c5cc9308c4b5980c64a73fd344a59c10601&end=4e431fad67b46c480f1833119cd368fa33df95f7&stat=instructions:u) + +| (instructions:u) | mean | range | count | +|:------------------------:|:-----:|:--------------:|:-----:| +| Regressions (primary) | 0.9% | [0.9%, 0.9%] | 1 | +| Regressions (secondary) | - | - | 0 | +| Improvements (primary) | - | - | 0 | +| Improvements (secondary) | -0.5% | [-0.9%, -0.4%] | 7 | +| All (primary) | 0.9% | [0.9%, 0.9%] | 1 | + +* this is an improvement to the code for `str::get_unchecked` when overflow checks are enabled; its calling a compiler-intrinsic directly now. +* it really doesn't make any sense that it caused any regression at all. (Perhaps this change is causing a change to inlining decisions, at least for cargo?) +* marking as triaged. + +Rollup of 9 pull requests [#123645](https://github.com/rust-lang/rust/pull/123645) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=211518e5fb1336de6a4aab45dc1c05f5d83ce856&end=ab5bda1aa70f707014e2e691e43bc37a8819252a&stat=instructions:u) + +| (instructions:u) | mean | range | count | +|:------------------------:|:-----:|:--------------:|:-----:| +| Regressions (primary) | 0.6% | [0.6%, 0.6%] | 1 | +| Regressions (secondary) | - | - | 0 | +| Improvements (primary) | -0.3% | [-0.4%, -0.3%] | 2 | +| Improvements (secondary) | -1.8% | [-1.8%, -1.8%] | 1 | +| All (primary) | -0.0% | [-0.4%, 0.6%] | 3 | + +* Looks like a temporary spike. Marking as triaged. + +Only collect mono items from reachable blocks [#123272](https://github.com/rust-lang/rust/pull/123272) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=86b603cd792b3f6172ba4f676d7b586c1af7630a&end=bb78dba64ca4158ef2f3488d0d41a82c75a504f2&stat=instructions:u) + +| (instructions:u) | mean | range | count | +|:------------------------:|:-----:|:--------------:|:-----:| +| Regressions (primary) | 0.4% | [0.2%, 1.5%] | 8 | +| Regressions (secondary) | - | - | 0 | +| Improvements (primary) | -0.8% | [-1.5%, -0.3%] | 6 | +| Improvements (secondary) | - | - | 0 | +| All (primary) | -0.1% | [-1.5%, 1.5%] | 14 | + +* fixed an important bug. +* from the comment history, it looks like the minor restricted regressions were anticipated. +* marking as triaged. + +## Nominated Issues + +[T-compiler](https://github.com/rust-lang/rust/issues?q=is%3Aopen+label%3AI-compiler-nominated) +- "Fallout from expansion of redundant import checking" [rust#121708](https://github.com/rust-lang/rust/issues/121708) + - Fallout from #117772, added some linting improving `use` import redundancy. + - Nominated for T-lang and T-compiler by @**Josh Triplett** [see comment](https://github.com/rust-lang/rust/issues/121708#issuecomment-2032578032) + - change is already on beta, but it has *some* [impact](https://github.com/rust-lang/rust/issues/121708#issuecomment-2029760942), so in the meanwhile it will reverted ([comment](https://github.com/rust-lang/rust/issues/121708#issuecomment-2048105393)) +- "Consider using `llvm-strip`" [rust#123151](https://github.com/rust-lang/rust/issues/123151) + - proposal advanced by @_**Jubilee**, there's also a [Zulip discussion](https://rust-lang.zulipchat.com/#narrow/stream/241545-t-release/topic/llvm-tools.20stabilization/near/418694252) + > on various systems, we are encountering reports of people having inadequately-built strip binaries in their PATH that cannot support all Rust compiler use-cases (...) `llvm-strip` gets everything right, as far as we are concerned +- "regression: compiler had non-unwinding abort" [rust#123286](https://github.com/rust-lang/rust/issues/123286) + - this is a beta crater run regression. Actually we fixed a UB ([comment](https://github.com/rust-lang/rust/issues/123286#issuecomment-2029536170)): "People were executing UB, we now prevent that and try to tell them about it" + - @**Ben Kimock (Saethlin)** suggests a possible quick fix for a beta backport ([comment](https://github.com/rust-lang/rust/issues/123286#issuecomment-2030344815)) + +[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) +- "Issue 83060 fix" [rust#119798](https://github.com/rust-lang/rust/pull/119798) (last review activity: 3 months ago) + - cc @**Wesley Wiser** +- "Small improvements to internal documentation" [rust#120388](https://github.com/rust-lang/rust/pull/120388) + - cc: @**Esteban Küber** +- "Suggest a borrow when using dbg" [rust#120990](https://github.com/rust-lang/rust/pull/120990) (last review activity: about 58 days ago) + - cc: @**Esteban Küber** +- "Always emit `native-static-libs` note, even if it is empty" [rust#121216](https://github.com/rust-lang/rust/pull/121216) (last review activity: about 54 days ago) + - cc @**Wesley Wiser** CI fails and author asked for input. Can you help there? thanks + +## Next week's WG checkins + +- Impl Trait initiative by @**oli** +- @_*WG-llvm* by @**nagisa** and @**Nikita Popov** + +Next meetings' agenda draft: [hackmd link](https://hackmd.io/uKNODHUfQ2mUIjQtDiGwdg) diff --git a/content/minutes/triage-meeting/T-compiler Meeting Agenda 2024-04-18.md b/content/minutes/triage-meeting/T-compiler Meeting Agenda 2024-04-18.md new file mode 100644 index 00000000..7f48ad58 --- /dev/null +++ b/content/minutes/triage-meeting/T-compiler Meeting Agenda 2024-04-18.md @@ -0,0 +1,331 @@ +--- +tags: weekly, rustc +type: docs +note_id: uKNODHUfQ2mUIjQtDiGwdg +--- + +# T-compiler Meeting Agenda 2024-04-18 + +## Announcements + +- 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 +- Types Team: ITE (Impl Trait Everywhere) Triage + +## 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) + - "Add hygiene attributes to compile expanded source code" [compiler-team#692](https://github.com/rust-lang/compiler-team/issues/692) ([Zulip](https://rust-lang.zulipchat.com/#narrow/stream/233931-xxx/topic/Add.20option.20to.20compile.20expanded.20ASTs.20for.20h.E2.80.A6.20compiler-team.23692)) (last review activity: 3 months ago) + - concern: [added-complexity-to-frontend](https://github.com/rust-lang/compiler-team/issues/692#issuecomment-1845169318) + - "Target families for executable format" [compiler-team#716](https://github.com/rust-lang/compiler-team/issues/716) ([Zulip](https://rust-lang.zulipchat.com/#narrow/stream/233931-xxx/topic/Target.20families.20for.20executable.20format.20compiler-team.23716)) (last review activity: 2 months ago) + - "Promote riscv64gc-unknown-linux-musl to tier 2" [compiler-team#728](https://github.com/rust-lang/compiler-team/issues/728) ([Zulip](https://rust-lang.zulipchat.com/#narrow/stream/233931-xxx/topic/Promote.20riscv64gc-unknown-linux-gnu.20to.20ti.E2.80.A6.20compiler-team.23728)) (last review activity: about 41 days ago) + - "Skip virtual drop for !needs_drop types" [compiler-team#730](https://github.com/rust-lang/compiler-team/issues/730) ([Zulip](https://rust-lang.zulipchat.com/#narrow/stream/233931-xxx/topic/Skip.20virtual.20drop.20for.20.21needs_drop.20types.20compiler-team.23730)) (last review activity: about 13 days ago) + - "Add `-Zemit-thin-lto-index=` to enable distributed ThinLTO users" [compiler-team#735](https://github.com/rust-lang/compiler-team/issues/735) ([Zulip](https://rust-lang.zulipchat.com/#narrow/stream/233931-xxx/topic/Add.20.60-Zemit-thin-lto-index.3D.3Cpath.3E.60.20to.20ena.E2.80.A6.20compiler-team.23735)) (last review activity: about 13 days ago) + - "Only emit forward compatible v0 symbol names with graceful degradation" [compiler-team#737](https://github.com/rust-lang/compiler-team/issues/737) ([Zulip](https://rust-lang.zulipchat.com/#narrow/stream/233931-xxx/topic/Only.20emit.20forward.20compatible.20v0.20symbol.20na.E2.80.A6.20compiler-team.23737)) (last review activity: about 13 days ago) + - "Partial compilation using MIR-only rlibs" [compiler-team#738](https://github.com/rust-lang/compiler-team/issues/738) ([Zulip](https://rust-lang.zulipchat.com/#narrow/stream/233931-xxx/topic/Partial.20compilation.20using.20MIR-only.20rlibs.20compiler-team.23738)) (last review activity: about 6 days ago) +- Pending FCP requests (check your boxes!) + - "Add a new `--build-id` flag to rustc" [compiler-team#635](https://github.com/rust-lang/compiler-team/issues/635) ([Zulip](https://rust-lang.zulipchat.com/#narrow/stream/233931-xxx/topic/Add.20a.20new.20.60--build-id.60.20flag.20to.20rustc.20compiler-team.23635)) + - concern: [other-existing-options](https://github.com/rust-lang/compiler-team/issues/635#issuecomment-1779597156) + - concern: [option-name](https://github.com/rust-lang/compiler-team/issues/635#issuecomment-1785349936) + - "Retire the mailing list and make all decisions on zulip" [compiler-team#649](https://github.com/rust-lang/compiler-team/issues/649) ([Zulip](https://rust-lang.zulipchat.com/#narrow/stream/233931-xxx/topic/Retire.20the.20mailing.20list.20and.20make.20all.20deci.E2.80.A6.20compiler-team.23649)) + - concern: [automatic-sync](https://github.com/rust-lang/compiler-team/issues/649#issuecomment-1618902660) + - concern: [single-point-of-failure-via-stream-archival](https://github.com/rust-lang/compiler-team/issues/649#issuecomment-1664056989) + - "Stabilize `--env-set` option" [rust#119926](https://github.com/rust-lang/rust/pull/119926) + - "Make casts of pointers to trait objects stricter" [rust#120248](https://github.com/rust-lang/rust/pull/120248) +- Things in FCP (make sure you're good with it) + - "allow all command line flags to be passed multiple times, overwriting previous usages" [compiler-team#731](https://github.com/rust-lang/compiler-team/issues/731) ([Zulip](https://rust-lang.zulipchat.com/#narrow/stream/233931-xxx/topic/allow.20all.20command.20line.20flags.20to.20be.20passed.E2.80.A6.20compiler-team.23731)) + - "Policy: no discussions on T-compiler tracking issues" [compiler-team#739](https://github.com/rust-lang/compiler-team/issues/739) ([Zulip](https://rust-lang.zulipchat.com/#narrow/stream/233931-xxx/topic/Lock.20all.20tracking.20issues.20to.20prevent.20discu.E2.80.A6.20compiler-team.23739)) + - "Ignore `-C strip` on MSVC" [rust#115120](https://github.com/rust-lang/rust/pull/115120) +- Accepted MCPs + - No new accepted proposals this time. +- Finalized FCPs (disposition merge) + - "Tracking Issue for RFC 3013: Checking conditional compilation at compile time" [rust#82450](https://github.com/rust-lang/rust/issues/82450) + - "sess: stabilize `-Zrelro-level` as `-Crelro-level`" [rust#121694](https://github.com/rust-lang/rust/pull/121694) + - "stabilize `-Znext-solver=coherence`" [rust#121848](https://github.com/rust-lang/rust/pull/121848) +- Other teams finalized FCPs + - "Stabilise inline_const" [rust#104087](https://github.com/rust-lang/rust/pull/104087) + - "stabilize `-Znext-solver=coherence`" [rust#121848](https://github.com/rust-lang/rust/pull/121848) + +### WG checkins + +- @_*WG-llvm* by @**Nikita Popov** ([previous checkin](https://hackmd.io/team/rust-compiler-team?nav=overview)): + > There were some LLVM patch version updates, some ABI fixes, and some changes to reduce our reliance on LLVM types (and thus LLVM layout calculations) + +## 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: [1.78] "Silence `unused_imports` for redundant imports" [rust#123744](https://github.com/rust-lang/rust/pull/123744) + - Authored by @_**Michael Goulet (compiler-errors)** (thanks!) + - Addresses this comment from [#121708](https://github.com/rust-lang/rust/issues/121708#issuecomment-2048105393), fixes a regression in #117772 + +- :beta: [1.78] "Stop using `HirId` for fn-like parents since closures are not `OwnerNode`s" [rust#123804](https://github.com/rust-lang/rust/pull/123804) + - Authored by @_**Michael Goulet (compiler-errors)** (thanks!) + - Fixes #123273, a diag. regression causing an ICE (from latest beta run) + +- :beta: [1.78] "Update LLVM to 1deeee3" [rust#124044](https://github.com/rust-lang/rust/pull/124044) + - Authored by @_**Quentin Dian (dianqk)** (thanks!) + - Fixes #123772, regression on MIPS introduced in the last LLVM upgrade + - Diff: https://github.com/rust-lang/llvm-project/compare/af8f9eb61a2ad4ee1f2d3f46d157b93a47c6a4bf...5399a24c66cb6164cf32280e7d300488c90d5765 + - LLVM 1.8.1.4 released in the meantime ([comment](https://github.com/rust-lang/rust/pull/124044#issuecomment-2060131453)), so probably a backport of this makes sense. + +- :beta: [1.78] "Call the panic hook for non-unwind panics in proc-macros" [rustc#123825](https://github.com/rust-lang/rust/pull/123825) + - Authored by @_**Ben Kimock (Saethlin)** (thanks!) + - Implements this suggestion ([comment](https://github.com/rust-lang/rust/issues/123286#issuecomment-2030344815)) + > If a proc macro causes a non-unwinding panic, proc_macro isn't able to catch the unwind and report the panic as a compile error by passing control back to the compiler. Our only chance to produce any diagnostic is the panic hook, so we should call it. + + +- No stable nominations for `T-compiler` this time. + +[T-types stable](https://github.com/rust-lang/rust/issues?q=is%3Aall+label%3Abeta-nominated+-label%3Abeta-accepted+label%3AT-types) / [T-types beta](https://github.com/rust-lang/rust/issues?q=is%3Aall+label%3Astable-nominated+-label%3Astable-accepted+label%3AT-types) +- No beta nominations for `T-types` this time. +- No stable nominations for `T-types` 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) +- [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) +- [63 T-compiler P-high issues](https://github.com/rust-lang/rust/issues?q=is%3Aopen+label%3AT-compiler+label%3AP-high) + - [35 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, 4 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, 5 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, 36 P-high, 100 P-medium, 17 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` 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` 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) +- None new + +[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+) +- "nightly-2024-04-05 regression: error[E0275]: overflow evaluating the requirement" [rust#123573](https://github.com/rust-lang/rust/issues/123573) + - Will be fixed by #123594 ([last week entered in FCP](https://github.com/rust-lang/rust/pull/123594#issuecomment-2042756501)), authored by @_**Urgau** (thanks!) + +## Performance logs + +> [triage logs for 2024-05-16](https://github.com/rust-lang/rustc-perf/blob/master/triage/2024-04-16.md) + +A quiet week, with slightly more improvements than regressions. +There were a few noise spikes, but other than that nothing too interesting. + +Triage done by **@Kobzol**. +Revision +range: [86b603cd..ccfcd950b](https://perf.rust-lang.org/?start=86b603cd792b3f6172ba4f676d7b586c1af7630a&end=ccfcd950b333fed046275dd8d54fe736ca498aa7&absolute=false&stat=instructions%3Au) + +**Summary**: + +| (instructions:u) | mean | range | count | +|:------------------------:|:-----:|:--------------:|:-----:| +| Regressions (primary) | 0.5% | [0.3%, 1.4%] | 9 | +| Regressions (secondary) | 0.4% | [0.2%, 1.1%] | 20 | +| Improvements (primary) | -0.6% | [-2.5%, -0.2%] | 41 | +| Improvements (secondary) | -0.8% | [-1.4%, -0.2%] | 4 | +| All (primary) | -0.4% | [-2.5%, 1.4%] | 50 | + +1 Regression, 3 Improvements, 6 Mixed; 5 of them in rollups +62 artifact comparisons made in total + +#### Regressions + +Implement syntax for `impl Trait` to specify its captures +explicitly (`feature(precise_capturing)`) [#123468](https://github.com/rust-lang/rust/pull/123468) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=ccfcd950b333fed046275dd8d54fe736ca498aa7&end=26e6a2fdaa9443dfe37c77489bd4122119e3c900&stat=instructions:u) + +| (instructions:u) | mean | range | count | +|:------------------------:|:----:|:------------:|:-----:| +| Regressions (primary) | 0.2% | [0.2%, 0.2%] | 5 | +| Regressions (secondary) | - | - | 0 | +| Improvements (primary) | - | - | 0 | +| Improvements (secondary) | - | - | 0 | +| All (primary) | 0.2% | [0.2%, 0.2%] | 5 | + +* A tiny regression on a stress test, introduced by a new feature. +* Marked as triaged. + +#### Improvements + +Remove my `scalar_copy_backend_type` optimization +attempt [#123185](https://github.com/rust-lang/rust/pull/123185) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=5974fe87c4d711949caa64fc1e8366685c8fc190&end=c2239bca5b89a8d3573cc0fc0f2fa65c50edb79c&stat=instructions:u) + +| (instructions:u) | mean | range | count | +|:------------------------:|:-----:|:--------------:|:-----:| +| Regressions (primary) | - | - | 0 | +| Regressions (secondary) | - | - | 0 | +| Improvements (primary) | -0.7% | [-0.7%, -0.7%] | 4 | +| Improvements (secondary) | -2.0% | [-2.7%, -1.2%] | 2 | +| All (primary) | -0.7% | [-0.7%, -0.7%] | 4 | + +Rollup of 8 pull +requests [#123823](https://github.com/rust-lang/rust/pull/123823) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=616a8f85f153033d798b583c0ad0431924a738b0&end=a07f3eb43acc5df851e15176c7081a900a30a4d7&stat=instructions:u) + +| (instructions:u) | mean | range | count | +|:------------------------:|:-----:|:--------------:|:-----:| +| Regressions (primary) | - | - | 0 | +| Regressions (secondary) | - | - | 0 | +| Improvements (primary) | -0.4% | [-1.1%, -0.2%] | 20 | +| Improvements (secondary) | - | - | 0 | +| All (primary) | -0.4% | [-1.1%, -0.2%] | 20 | + +Rollup of 4 pull +requests [#123982](https://github.com/rust-lang/rust/pull/123982) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=99d0186b1d0547eae913eff04be272c9d348b9b8&end=3493a56529b3f972205f2cdda920132deef4b475&stat=instructions:u) + +| (instructions:u) | mean | range | count | +|:------------------------:|:-----:|:--------------:|:-----:| +| Regressions (primary) | - | - | 0 | +| Regressions (secondary) | - | - | 0 | +| Improvements (primary) | -0.6% | [-0.8%, -0.3%] | 8 | +| Improvements (secondary) | -0.3% | [-0.3%, -0.3%] | 1 | +| All (primary) | -0.6% | [-0.8%, -0.3%] | 8 | + +#### Mixed + +Only collect mono items from reachable +blocks [#123272](https://github.com/rust-lang/rust/pull/123272) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=86b603cd792b3f6172ba4f676d7b586c1af7630a&end=bb78dba64ca4158ef2f3488d0d41a82c75a504f2&stat=instructions:u) + +| (instructions:u) | mean | range | count | +|:------------------------:|:-----:|:--------------:|:-----:| +| Regressions (primary) | 0.4% | [0.2%, 1.5%] | 8 | +| Regressions (secondary) | - | - | 0 | +| Improvements (primary) | -0.8% | [-1.5%, -0.3%] | 6 | +| Improvements (secondary) | - | - | 0 | +| All (primary) | -0.1% | [-1.5%, 1.5%] | 14 | + +* Fixed an important bug, and results were mixed anyway. + +Rollup of 7 pull +requests [#123725](https://github.com/rust-lang/rust/pull/123725) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=e908cfd125ae9d98550edb9ffd8d7eae4be601ac&end=5974fe87c4d711949caa64fc1e8366685c8fc190&stat=instructions:u) + +| (instructions:u) | mean | range | count | +|:------------------------:|:-----:|:--------------:|:-----:| +| Regressions (primary) | 0.2% | [0.2%, 0.2%] | 2 | +| Regressions (secondary) | 0.9% | [0.2%, 2.6%] | 7 | +| Improvements (primary) | -0.4% | [-0.6%, -0.2%] | 2 | +| Improvements (secondary) | -0.6% | [-0.6%, -0.6%] | 1 | +| All (primary) | -0.1% | [-0.6%, 0.2%] | 4 | + +* The largest regressions were noise, the rest was mixed. +* Marked as triaged. + +Rollup of 8 pull +requests [#123762](https://github.com/rust-lang/rust/pull/123762) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=aa067fb984d36462548bb785da221bfaf38253f0&end=4435924bb62cda0131e38dd5d2bba36f9616039f&stat=instructions:u) + +| (instructions:u) | mean | range | count | +|:------------------------:|:-----:|:--------------:|:-----:| +| Regressions (primary) | 0.4% | [0.2%, 0.5%] | 2 | +| Regressions (secondary) | 0.5% | [0.3%, 1.7%] | 9 | +| Improvements (primary) | - | - | 0 | +| Improvements (secondary) | -2.8% | [-4.2%, -1.4%] | 2 | +| All (primary) | 0.4% | [0.2%, 0.5%] | 2 | + +* The largest regression on the `coercions` benchmark is noise. +* The rest were small regressions on `doc` benchmarks. +* Marked as triaged. + +Rollup of 4 pull +requests [#123884](https://github.com/rust-lang/rust/pull/123884) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=6cfd80942e4599a6e429e8a2aa27af38f5987aa0&end=59c38c06049fc3fba98bb046701eb2ab1777d998&stat=instructions:u) + +| (instructions:u) | mean | range | count | +|:------------------------:|:-----:|:--------------:|:-----:| +| Regressions (primary) | 0.4% | [0.4%, 0.4%] | 1 | +| Regressions (secondary) | - | - | 0 | +| Improvements (primary) | -1.0% | [-1.0%, -1.0%] | 1 | +| Improvements (secondary) | -0.3% | [-0.3%, -0.3%] | 6 | +| All (primary) | -0.3% | [-1.0%, 0.4%] | 2 | + +* The single regression was immediately reverted, the rest were small improvements. +* Marked as triaged. + +Re-enable `has_thread_local` for +i686-msvc [#123257](https://github.com/rust-lang/rust/pull/123257) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=59c38c06049fc3fba98bb046701eb2ab1777d998&end=f96442b4482fef6a50b65f2284bcfb8921320183&stat=instructions:u) + +| (instructions:u) | mean | range | count | +|:------------------------:|:-----:|:--------------:|:-----:| +| Regressions (primary) | - | - | 0 | +| Regressions (secondary) | 0.3% | [0.3%, 0.4%] | 6 | +| Improvements (primary) | -0.3% | [-0.3%, -0.3%] | 1 | +| Improvements (secondary) | - | - | 0 | +| All (primary) | -0.3% | [-0.3%, -0.3%] | 1 | + +* This has to be noise, since the PR did not modify x64 Linux. + +Get rid of `USIZE_MARKER` in formatting +infrastructure [#123819](https://github.com/rust-lang/rust/pull/123819) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=0bf471f339837af930ec90ef5e1e9cb232e99f29&end=7ab5eb8fe7aee35aea8ed4aed8c34f6abd988cc5&stat=instructions:u) + +| (instructions:u) | mean | range | count | +|:------------------------:|:-----:|:--------------:|:-----:| +| Regressions (primary) | 0.6% | [0.4%, 0.9%] | 2 | +| Regressions (secondary) | 1.5% | [1.5%, 1.5%] | 1 | +| Improvements (primary) | -0.4% | [-0.6%, -0.3%] | 5 | +| Improvements (secondary) | - | - | 0 | +| All (primary) | -0.1% | [-0.6%, 0.9%] | 7 | + +* More improvements than regressions. + +## Nominated Issues + +[T-compiler](https://github.com/rust-lang/rust/issues?q=is%3Aopen+label%3AI-compiler-nominated) +- "Relocate coroutine upvars into Unresumed state" [rust#120168](https://github.com/rust-lang/rust/pull/120168) + - Nominated by Felix ([comment](https://github.com/rust-lang/rust/pull/120168#issuecomment-2051880787)) + - Context of this PR ([comment](https://github.com/rust-lang/rust/pull/120168#issue-2092189762)): + > This PR is an attempt to address the async/coroutine size issue by allowing independent def-use/liveness analysis on individual upvars in coroutines. It has appeared to address partially the size doubling issue introduced by the use of upvars. + - Reason for nomination: + > Are we okay with the `upvars: Option<(Local, usize)>` this change is adding to various dataflow analyses, at least in the short term so that we can make forward progress on the problem of generator size explosion? Or wait to land this PR until after we have a discussion in any of {dataflow, MIR representation, generator representation} to try to figure out the "right answer". + +[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) +- "Introduce perma-unstable `wasm-c-abi` flag" [rust#117919](https://github.com/rust-lang/rust/pull/117919) + - Does anybody know how to reach out for the PR reviewer (GH user `b-naber`)? Seems this PR is languishing a bit and has good potential +- "tidy watcher" [rust#114209](https://github.com/rust-lang/rust/pull/114209) + - cc @**Wesley Wiser** +- "Fix gce ICE when encountering ill-formed consts" [rust#119060](https://github.com/rust-lang/rust/pull/119060) + - cc @**Michael Goulet (compiler-errors)** (PR author also needs some input) +- "Issue 83060 fix" [rust#119798](https://github.com/rust-lang/rust/pull/119798) (last review activity: 3 months ago) + - cc @**Wesley Wiser** + +## Next week's WG checkins + +- @_*WG-mir-opt* by @**oli** +- @_*T-rust-analyzer* by @**Lukas Wirth** + +Next meetings' agenda draft: [hackmd link](https://hackmd.io/ZtmRDIGyQUSe0RD6mYjbBA) diff --git a/content/minutes/triage-meeting/T-compiler Meeting Agenda 2024-04-25.md b/content/minutes/triage-meeting/T-compiler Meeting Agenda 2024-04-25.md new file mode 100644 index 00000000..25bc0e78 --- /dev/null +++ b/content/minutes/triage-meeting/T-compiler Meeting Agenda 2024-04-25.md @@ -0,0 +1,303 @@ +--- +tags: weekly, rustc +type: docs +note_id: ZtmRDIGyQUSe0RD6mYjbBA +--- + +# T-compiler Meeting Agenda 2024-04-25 + +## Announcements + +- 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)) +- No meetings scheduled for next week + +## MCPs/FCPs + +- New MCPs (take a look, see if you like them!) + - "Build LLVM using CI image's Clang on Win + MacOS, instead of installing a copy" [compiler-team#742](https://github.com/rust-lang/compiler-team/issues/742) ([Zulip](https://rust-lang.zulipchat.com/#narrow/stream/233931-xxx/topic/Build.20LLVM.20using.20CI.20image.27s.20Clang.20on.20Win.20.E2.80.A6.20compiler-team.23742)) + - "Add --print=check-cfg" [compiler-team#743](https://github.com/rust-lang/compiler-team/issues/743) ([Zulip](https://rust-lang.zulipchat.com/#narrow/stream/233931-xxx/topic/Add.20--print.3Dcheck-cfg.20compiler-team.23743)) +- Old MCPs (not seconded, take a look) + - "Target families for executable format" [compiler-team#716](https://github.com/rust-lang/compiler-team/issues/716) ([Zulip](https://rust-lang.zulipchat.com/#narrow/stream/233931-xxx/topic/Target.20families.20for.20executable.20format.20compiler-team.23716)) (last review activity: 2 months ago) + - "Promote riscv64gc-unknown-linux-musl to tier 2" [compiler-team#728](https://github.com/rust-lang/compiler-team/issues/728) ([Zulip](https://rust-lang.zulipchat.com/#narrow/stream/233931-xxx/topic/Promote.20riscv64gc-unknown-linux-gnu.20to.20ti.E2.80.A6.20compiler-team.23728)) (last review activity: about 48 days ago) + - "Add `-Zemit-thin-lto-index=` to enable distributed ThinLTO users" [compiler-team#735](https://github.com/rust-lang/compiler-team/issues/735) ([Zulip](https://rust-lang.zulipchat.com/#narrow/stream/233931-xxx/topic/Add.20.60-Zemit-thin-lto-index.3D.3Cpath.3E.60.20to.20ena.E2.80.A6.20compiler-team.23735)) (last review activity: about 20 days ago) + - "Only emit forward compatible v0 symbol names with graceful degradation" [compiler-team#737](https://github.com/rust-lang/compiler-team/issues/737) ([Zulip](https://rust-lang.zulipchat.com/#narrow/stream/233931-xxx/topic/Only.20emit.20forward.20compatible.20v0.20symbol.20na.E2.80.A6.20compiler-team.23737)) (last review activity: about 20 days ago) + - "Partial compilation using MIR-only rlibs" [compiler-team#738](https://github.com/rust-lang/compiler-team/issues/738) ([Zulip](https://rust-lang.zulipchat.com/#narrow/stream/233931-xxx/topic/Partial.20compilation.20using.20MIR-only.20rlibs.20compiler-team.23738)) (last review activity: about 13 days ago) +- Pending FCP requests (check your boxes!) + - merge: [Add a new `--build-id` flag to rustc (compiler-team#635)](https://github.com/rust-lang/compiler-team/issues/635#issuecomment-1777545767) + - @_**|125250** @_**|116107** @_**|125294** @_**|123856** + - concerns: [other-existing-options (by petrochenkov)](https://github.com/rust-lang/compiler-team/issues/635#issuecomment-1779597156) [option-name (by wesleywiser)](https://github.com/rust-lang/compiler-team/issues/635#issuecomment-1785349936) + - merge: [Retire the mailing list and make all decisions on zulip (compiler-team#649)](https://github.com/rust-lang/compiler-team/issues/649#issuecomment-1618781780) + - no pending checkboxs + - concerns: [automatic-sync (by compiler-errors)](https://github.com/rust-lang/compiler-team/issues/649#issuecomment-1618902660) [single-point-of-failure-via-stream-archival (by pnkfelix)](https://github.com/rust-lang/compiler-team/issues/649#issuecomment-1664056989) + - merge: [Stabilize `--env-set` option (rust#119926)](https://github.com/rust-lang/rust/pull/119926#issuecomment-1898766442) + - @_**|119009** @_**|116083** @_**|124288** @_**|123586** @_**|125250** @_**|119031** @_**|124287** @_**|116118** + - concerns: [other-rustc-vars (by petrochenkov)](https://github.com/rust-lang/rust/pull/119926#issuecomment-1900703005) + - merge: [Show files produced by `--emit foo` in json artifact notifications (rust#122597)](https://github.com/rust-lang/rust/pull/122597#issuecomment-2063945502) + - @_**|119009** @_**|116083** @_**|123586** @_**|116107** @_**|125294** @_**|119031** @_**|248906** @_**|124287** @_**|426609** @_**|116118** @_**|232957** + - no pending concerns + - merge: [Disable `version_check::supports_feature` on nightly (rust#124339)](https://github.com/rust-lang/rust/pull/124339#issuecomment-2075414901) + - @_**|119009** @_**|116083** @_**|123586** @_**|125250** @_**|116107** @_**|119031** @_**|248906** @_**|124287** @_**|426609** @_**|123856** @_**|116118** @_**|216206** @_**|232957** + - no pending concerns +- Things in FCP (make sure you're good with it) + - "Skip virtual drop for !needs_drop types" [compiler-team#730](https://github.com/rust-lang/compiler-team/issues/730) ([Zulip](https://rust-lang.zulipchat.com/#narrow/stream/233931-xxx/topic/Skip.20virtual.20drop.20for.20.21needs_drop.20types.20compiler-team.23730)) + - "Make casts of pointers to trait objects stricter" [rust#120248](https://github.com/rust-lang/rust/pull/120248) +- Accepted MCPs + - "allow all command line flags to be passed multiple times, overwriting previous usages" [compiler-team#731](https://github.com/rust-lang/compiler-team/issues/731) ([Zulip](https://rust-lang.zulipchat.com/#narrow/stream/233931-xxx/topic/allow.20all.20command.20line.20flags.20to.20be.20passed.E2.80.A6.20compiler-team.23731)) + - "Policy: no discussions on T-compiler tracking issues" [compiler-team#739](https://github.com/rust-lang/compiler-team/issues/739) ([Zulip](https://rust-lang.zulipchat.com/#narrow/stream/233931-xxx/topic/Lock.20all.20tracking.20issues.20to.20prevent.20discu.E2.80.A6.20compiler-team.23739)) +- MCPs blocked on unresolved concerns + - "Add hygiene attributes to compile expanded source code" [compiler-team#692](https://github.com/rust-lang/compiler-team/issues/692) ([Zulip](https://rust-lang.zulipchat.com/#narrow/stream/233931-xxx/topic/Add.20option.20to.20compile.20expanded.20ASTs.20for.20h.E2.80.A6.20compiler-team.23692)) (last review activity: 3 months ago) + - concern: [added-complexity-to-frontend](https://github.com/rust-lang/compiler-team/issues/692#issuecomment-1845169318) +- Finalized FCPs (disposition merge) + - "Tracking Issue for RFC 3013: Checking conditional compilation at compile time" [rust#82450](https://github.com/rust-lang/rust/issues/82450) + - "Ignore `-C strip` on MSVC" [rust#115120](https://github.com/rust-lang/rust/pull/115120) + - "sess: stabilize `-Zrelro-level` as `-Crelro-level`" [rust#121694](https://github.com/rust-lang/rust/pull/121694) + - "stabilize `-Znext-solver=coherence`" [rust#121848](https://github.com/rust-lang/rust/pull/121848) + - "Use fulfillment in method probe, not evaluation" [rust#122317](https://github.com/rust-lang/rust/pull/122317) + - "Fix trait solver overflow with `non_local_definitions` lint" [rust#123594](https://github.com/rust-lang/rust/pull/123594) + - "More DefineOpaqueTypes::Yes" [rust#123794](https://github.com/rust-lang/rust/pull/123794) +- Other teams finalized FCPs + - "Stabilise inline_const" [rust#104087](https://github.com/rust-lang/rust/pull/104087) + - "restrict promotion of `const fn` calls" [rust#121557](https://github.com/rust-lang/rust/pull/121557) + - "stabilize `-Znext-solver=coherence`" [rust#121848](https://github.com/rust-lang/rust/pull/121848) + - "Use fulfillment in method probe, not evaluation" [rust#122317](https://github.com/rust-lang/rust/pull/122317) + - "Fix trait solver overflow with `non_local_definitions` lint" [rust#123594](https://github.com/rust-lang/rust/pull/123594) + - "More DefineOpaqueTypes::Yes" [rust#123794](https://github.com/rust-lang/rust/pull/123794) + +### WG checkins + +None today + +## 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) +- No beta nominations for `T-compiler` this time. +- No stable nominations for `T-compiler` this time. + +[T-types stable](https://github.com/rust-lang/rust/issues?q=is%3Aall+label%3Abeta-nominated+-label%3Abeta-accepted+label%3AT-types) / [T-types beta](https://github.com/rust-lang/rust/issues?q=is%3Aall+label%3Astable-nominated+-label%3Astable-accepted+label%3AT-types) +- No beta nominations for `T-types` this time. +- No stable nominations for `T-types` 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) +- [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) +- [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, 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, 5 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, 36 P-high, 100 P-medium, 16 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` 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` 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 2024-04-23](https://github.com/rust-lang/rustc-perf/blob/master/triage/2024-04-23.md) + +A week dominated by small mixed changes to perf with improvements slightly outweighing regressions. There were no pure regressions, and many of the mixed perf results were deemed worth it for their potential improvements to runtime performance through further optimization from LLVM. + +Triage done by **@rylev**. +Revision range: [ccfcd950..a77f76e2](https://perf.rust-lang.org/?start=ccfcd950b333fed046275dd8d54fe736ca498aa7&end=a77f76e26302e9a084fb321817675b1dfc1dcd63&absolute=false&stat=instructions%3Au) + +**Summary**: + +| (instructions:u) | mean | range | count | +|:------------------------:|:-----:|:--------------:|:-----:| +| Regressions (primary) | 0.4% | [0.2%, 1.8%] | 57 | +| Regressions (secondary) | 0.4% | [0.2%, 1.9%] | 26 | +| Improvements (primary) | -0.8% | [-3.4%, -0.2%] | 50 | +| Improvements (secondary) | -0.6% | [-1.9%, -0.1%] | 32 | +| All (primary) | -0.2% | [-3.4%, 1.8%] | 107 | + + +0 Regressions, 5 Improvements, 6 Mixed; 2 of them in rollups +62 artifact comparisons made in total + +#### Regressions + +None (😎) + +#### Improvements + +Simplify shallow resolver to just fold ty/consts [#123537](https://github.com/rust-lang/rust/pull/123537) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=1cec373f65eb76e8e4b4d1847213cf3ec6c292b6&end=3fba2782310b2754259a3c329220a5b1e6cf9a5c&stat=instructions:u) + +| (instructions:u) | mean | range | count | +|:------------------------:|:-----:|:--------------:|:-----:| +| Regressions (primary) | 0.3% | [0.3%, 0.3%] | 1 | +| Regressions (secondary) | - | - | 0 | +| Improvements (primary) | -0.9% | [-1.4%, -0.2%] | 8 | +| Improvements (secondary) | -0.3% | [-0.4%, -0.2%] | 11 | +| All (primary) | -0.8% | [-1.4%, 0.3%] | 9 | + + +rustdoc-search: single result for items with multiple paths [#119912](https://github.com/rust-lang/rust/pull/119912) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=3412f0174934778dd803081dc7c4b5864309350f&end=e3181b091e88321f5ea149afed6db0edf0a4f37b&stat=instructions:u) + +| (instructions:u) | mean | range | count | +|:------------------------:|:-----:|:--------------:|:-----:| +| Regressions (primary) | - | - | 0 | +| Regressions (secondary) | - | - | 0 | +| Improvements (primary) | -0.2% | [-0.3%, -0.2%] | 3 | +| Improvements (secondary) | - | - | 0 | +| All (primary) | -0.2% | [-0.3%, -0.2%] | 3 | + + +interpret: use ScalarInt for bin-ops; avoid PartialOrd for ScalarInt [#124113](https://github.com/rust-lang/rust/pull/124113) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=d1a0fa5ed3ffe52d72f761d3c95cbeb0a9cdfe66&end=ce3263e60e73f4018592cbfba540cf8bef4399de&stat=instructions:u) + +| (instructions:u) | mean | range | count | +|:------------------------:|:-----:|:--------------:|:-----:| +| Regressions (primary) | - | - | 0 | +| Regressions (secondary) | - | - | 0 | +| Improvements (primary) | -0.3% | [-0.4%, -0.2%] | 4 | +| Improvements (secondary) | - | - | 0 | +| All (primary) | -0.3% | [-0.4%, -0.2%] | 4 | + + +PatRangeBoundary::compare_with: als add a fast-path for signed integers [#124190](https://github.com/rust-lang/rust/pull/124190) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=584f183dc0e0ce8d981811ebbf67886c0cfef9e0&end=c3ceb00281f9557dcf5bba54fc44c9931cc90d42&stat=instructions:u) + +| (instructions:u) | mean | range | count | +|:------------------------:|:-----:|:--------------:|:-----:| +| Regressions (primary) | - | - | 0 | +| Regressions (secondary) | - | - | 0 | +| Improvements (primary) | - | - | 0 | +| Improvements (secondary) | -3.3% | [-3.3%, -3.3%] | 1 | +| All (primary) | - | - | 0 | + + +Rollup of 7 pull requests [#124271](https://github.com/rust-lang/rust/pull/124271) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=25087e02b34775520856b6cc15e50f5ed0c35f50&end=9cf10bcf5b368de79abc24fc4d50a9d85b377ffa&stat=instructions:u) + +| (instructions:u) | mean | range | count | +|:------------------------:|:-----:|:--------------:|:-----:| +| Regressions (primary) | - | - | 0 | +| Regressions (secondary) | 0.5% | [0.5%, 0.5%] | 1 | +| Improvements (primary) | -0.2% | [-0.2%, -0.2%] | 1 | +| Improvements (secondary) | -0.9% | [-2.1%, -0.4%] | 9 | +| All (primary) | -0.2% | [-0.2%, -0.2%] | 1 | + + +#### Mixed + +Implement syntax for `impl Trait` to specify its captures explicitly (`feature(precise_capturing)`) [#123468](https://github.com/rust-lang/rust/pull/123468) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=ad18fe08de03fbb459c05475bddee22707b4f0ec&end=4e1f5d90bca45207605a88e39b1f76abcdb85d2f&stat=instructions:u) + +| (instructions:u) | mean | range | count | +|:------------------------:|:-----:|:--------------:|:-----:| +| Regressions (primary) | 0.2% | [0.2%, 0.2%] | 4 | +| Regressions (secondary) | - | - | 0 | +| Improvements (primary) | - | - | 0 | +| Improvements (secondary) | -0.8% | [-0.8%, -0.8%] | 1 | +| All (primary) | 0.2% | [0.2%, 0.2%] | 4 | +- Very small regression on a stress test + + +At debuginfo=0, don't inline debuginfo when inlining [#123949](https://github.com/rust-lang/rust/pull/123949) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=0e15f5ee8fb3f9edcb8a35b1cbd9f8d352be54a0&end=3412f0174934778dd803081dc7c4b5864309350f&stat=instructions:u) + +| (instructions:u) | mean | range | count | +|:------------------------:|:-----:|:--------------:|:-----:| +| Regressions (primary) | 1.0% | [0.3%, 1.8%] | 5 | +| Regressions (secondary) | 1.0% | [0.2%, 3.4%] | 4 | +| Improvements (primary) | -0.9% | [-2.4%, -0.1%] | 22 | +| Improvements (secondary) | -1.2% | [-1.8%, -0.2%] | 10 | +| All (primary) | -0.6% | [-2.4%, 1.8%] | 27 | +- Improvements outweighed the regressions and was deemed worth it by the reviewer. + + +Always display stability version even if it's the same as the containing item [#118441](https://github.com/rust-lang/rust/pull/118441) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=07d0d7ce3fd22e4fadd61206034af6fadcdb3e4f&end=d1a0fa5ed3ffe52d72f761d3c95cbeb0a9cdfe66&stat=instructions:u) + +| (instructions:u) | mean | range | count | +|:------------------------:|:-----:|:--------------:|:-----:| +| Regressions (primary) | 0.3% | [0.2%, 0.3%] | 2 | +| Regressions (secondary) | - | - | 0 | +| Improvements (primary) | -0.2% | [-0.2%, -0.2%] | 1 | +| Improvements (secondary) | - | - | 0 | +| All (primary) | 0.1% | [-0.2%, 0.3%] | 3 | +- Noise that is reversed in the next run. + + +Tell LLVM Vec::len is invariant across growth [#123930](https://github.com/rust-lang/rust/pull/123930) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=426a698606ca94d4c4a674a346c701bf44b0aeb3&end=13eb8c736ce58a794434ee316cb86f1091f66c7e&stat=instructions:u) + +| (instructions:u) | mean | range | count | +|:------------------------:|:-----:|:--------------:|:-----:| +| Regressions (primary) | 0.4% | [0.1%, 1.6%] | 7 | +| Regressions (secondary) | 0.3% | [0.2%, 0.5%] | 11 | +| Improvements (primary) | -0.5% | [-0.9%, -0.4%] | 8 | +| Improvements (secondary) | -0.2% | [-0.2%, -0.1%] | 3 | +| All (primary) | -0.1% | [-0.9%, 1.6%] | 15 | +- The regressions come from LLVM, and it was deemed worth it given the possibility for LLVM to perform more optimization. + + +fix normalizing in different `ParamEnv`s with the same `InferCtxt` [#124203](https://github.com/rust-lang/rust/pull/124203) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=f22a0c2d9f9cd83dfe84b65e9fa1b3fa8303c7b5&end=1b3fba066c21e7c3471fca710783fc1e6546a1ca&stat=instructions:u) + +| (instructions:u) | mean | range | count | +|:------------------------:|:-----:|:--------------:|:-----:| +| Regressions (primary) | - | - | 0 | +| Regressions (secondary) | 4.1% | [4.1%, 4.1%] | 1 | +| Improvements (primary) | -0.7% | [-2.4%, -0.2%] | 9 | +| Improvements (secondary) | -0.9% | [-0.9%, -0.9%] | 1 | +| All (primary) | -0.7% | [-2.4%, -0.2%] | 9 | +- Noise + + +Rollup of 5 pull requests [#124241](https://github.com/rust-lang/rust/pull/124241) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=1b3fba066c21e7c3471fca710783fc1e6546a1ca&end=fb898629a26e4acec59c928ce3ec00a62675d1cc&stat=instructions:u) + +| (instructions:u) | mean | range | count | +|:------------------------:|:-----:|:--------------:|:-----:| +| Regressions (primary) | 0.7% | [0.2%, 1.6%] | 7 | +| Regressions (secondary) | 0.3% | [0.3%, 0.3%] | 1 | +| Improvements (primary) | -0.9% | [-2.8%, -0.3%] | 7 | +| Improvements (secondary) | -3.9% | [-3.9%, -3.9%] | 1 | +| All (primary) | -0.1% | [-2.8%, 1.6%] | 14 | +- More time spent in LLVM previously +- Pinged the author and reviewer for their perspective. + +## Nominated Issues + +[T-compiler](https://github.com/rust-lang/rust/issues?q=is%3Aopen+label%3AI-compiler-nominated) +- "Tracking issue: 32bit x86 targets without SSE2 have unsound floating point behavior" [rust#114479](https://github.com/rust-lang/rust/issues/114479) + - Nominated by @**apiraino** (github [comment](https://github.com/rust-lang/rust/issues/114479#issuecomment-2076723049), zulip prioritization [topic](https://rust-lang.zulipchat.com/#narrow/stream/245100-t-compiler.2Fwg-prioritization.2Falerts/topic/.23114479.20Tracking.20issue.3A.2032bit.20x86.20targets.20without.20SSE2.20have.E2.80.A6/near/434964647)) + - > This tracking issue shows that we have targets that intersect tier platforms support in different ways. For example i686 are tier 1 but i686 "non-SSE2" are tier 2 (and suffer from codegen unsoundnesses). All these differences are not apparent [in our documentation](https://doc.rust-lang.org/rustc/platform-support.html). Should we add a bit of nuances to our target policy? If yes, how? + - > [Ralf] Altogether I think there are enough issues with floating point on x86 without SSE (this one, and also #115567) that IMO we should say that tier 1 hardfloat targets require SSE period. It is already the case that using feature flags to turn a hardfloat target into a softfloat target is unsound (Cc #116344), and we should simply hard-error in those cases (e.g. disabling the x87 feature on any hardfloat x86 target). IMO we should do the same when disabling SSE/SSE2 on an i686 target. + +[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) +- "Enable DestinationPropagation by default." [rust#115105](https://github.com/rust-lang/rust/pull/115105) (last review activity: 3 months ago) + - cc @**mw** +- "Remove unnecessary impl sorting in queries and metadata" [rust#120812](https://github.com/rust-lang/rust/pull/120812) (last review activity: 2 months ago) + - @**cjgillot** +- "Use Box<[T]> for ProcessResult::Changed" [rust#121355](https://github.com/rust-lang/rust/pull/121355) (last review activity: 2 months ago) + - cc: @**Esteban Küber**? Note: @**Michael Goulet (compiler-errors)** was not in favour of this patch +- "Handle .init_array link_section specially on wasm" [rust#121533](https://github.com/rust-lang/rust/pull/121533) (last review activity: 2 months ago) + - cc @**Esteban Küber** +- "Allow a MIR analysis to perform the state `join` directly" [rust#114900](https://github.com/rust-lang/rust/pull/114900) (last review activity: about 59 days ago) + - cc: @**cjgillot** + +## Next week's WG checkins + +- @_*WG-async* by @**nikomatsakis** and @**tmandry** +- @_*WG-diagnostics* by @**Esteban Küber** and @**oli** + +Next meetings' agenda draft: [hackmd link](https://hackmd.io/j7ulhAwrQQeguFno_ejZog) From 5e6e60a253d3d3a78305f4499afe294e38490d66 Mon Sep 17 00:00:00 2001 From: apiraino Date: Wed, 12 Jun 2024 16:35:42 +0200 Subject: [PATCH 2/2] Add T-compiler meeting notes 05/24 Signed-off-by: apiraino --- .../T-compiler Meeting Agenda 2024-02-15.md | 2 +- .../T-compiler Meeting Agenda 2024-05-02.md | 270 +++++++++++++++ .../T-compiler Meeting Agenda 2024-05-09.md | 322 +++++++++++++++++ .../T-compiler Meeting Agenda 2024-05-16.md | 252 ++++++++++++++ .../T-compiler Meeting Agenda 2024-05-23.md | 319 +++++++++++++++++ .../T-compiler Meeting Agenda 2024-05-30.md | 327 ++++++++++++++++++ 6 files changed, 1491 insertions(+), 1 deletion(-) create mode 100644 content/minutes/triage-meeting/T-compiler Meeting Agenda 2024-05-02.md create mode 100644 content/minutes/triage-meeting/T-compiler Meeting Agenda 2024-05-09.md create mode 100644 content/minutes/triage-meeting/T-compiler Meeting Agenda 2024-05-16.md create mode 100644 content/minutes/triage-meeting/T-compiler Meeting Agenda 2024-05-23.md create mode 100644 content/minutes/triage-meeting/T-compiler Meeting Agenda 2024-05-30.md diff --git a/content/minutes/triage-meeting/T-compiler Meeting Agenda 2024-02-15.md b/content/minutes/triage-meeting/T-compiler Meeting Agenda 2024-02-15.md index b502b61a..a7e7a140 100644 --- a/content/minutes/triage-meeting/T-compiler Meeting Agenda 2024-02-15.md +++ b/content/minutes/triage-meeting/T-compiler Meeting Agenda 2024-02-15.md @@ -60,7 +60,7 @@ note_id: kumG_EirTtOWJiQcgji7_w ### WG checkins - @_*T-rust-analyzer* by @**Lukas Wirth** ([previous checkin](https://hackmd.io/team/rust-compiler-team?nav=overview)): - > We now share a bit more code with the compiler thanks to @Nadrieril https://github.com/rust-lang/rust-analyzer/pull/16420, fixing some bugs and panics with our exhaustiveness checking along the way :tada: On a less happy note, rust-analyzer still lacks support for ATPITs which is on the path to [stabilization](https://github.com/rust-lang/rust/pull/120700). rust-analyzer currently reports a type mismatch for the snippet in the PR description, https://github.com/rust-lang/rust-analyzer/issues/15704. + > We now share a bit more code with the compiler thanks to @Nadrieril https://github.com/rust-lang/rust-analyzer/pull/16420, fixing some bugs and panics with our exhaustiveness checking along the way :tada: On a less happy note, rust-analyzer still lacks support for ATPITs which is on the path to [stabilization](https://github.com/rust-lang/rust/pull/120700). rust-analyzer currently reports a type mismatch for the snippet in the PR description, https://github.com/rust-lang/rust-analyzer/issues/15704. ## Backport nominations diff --git a/content/minutes/triage-meeting/T-compiler Meeting Agenda 2024-05-02.md b/content/minutes/triage-meeting/T-compiler Meeting Agenda 2024-05-02.md new file mode 100644 index 00000000..26d12ed9 --- /dev/null +++ b/content/minutes/triage-meeting/T-compiler Meeting Agenda 2024-05-02.md @@ -0,0 +1,270 @@ +--- +tags: weekly, rustc +type: docs +note_id: j7ulhAwrQQeguFno_ejZog +--- + +# T-compiler Meeting Agenda 2024-05-02 + +## Announcements + +- Today release of stable Rust 1.78 ([blog post](https://blog.rust-lang.org/2024/05/02/Rust-1.78.0.html)) +- Next week it's [RustNL week](https://2024.rustnl.org): some? many? of us will be there. Should we skip next week's meeting? Or maybe just a quick look if there's anything urgent? +- 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 +- Types Team: ITE (Impl Trait Everywhere) Triage + +## MCPs/FCPs + +- New MCPs (take a look, see if you like them!) + - "Add --print=check-cfg" [compiler-team#743](https://github.com/rust-lang/compiler-team/issues/743) ([Zulip](https://rust-lang.zulipchat.com/#narrow/stream/233931-xxx/topic/Add.20--print.3Dcheck-cfg.20compiler-team.23743)) +- Old MCPs (not seconded, take a look) + - "Target families for executable format" [compiler-team#716](https://github.com/rust-lang/compiler-team/issues/716) ([Zulip](https://rust-lang.zulipchat.com/#narrow/stream/233931-xxx/topic/Target.20families.20for.20executable.20format.20compiler-team.23716)) (last review activity: 3 months ago) + - "Promote riscv64gc-unknown-linux-musl to tier 2" [compiler-team#728](https://github.com/rust-lang/compiler-team/issues/728) ([Zulip](https://rust-lang.zulipchat.com/#narrow/stream/233931-xxx/topic/Promote.20riscv64gc-unknown-linux-gnu.20to.20ti.E2.80.A6.20compiler-team.23728)) (last review activity: about 55 days ago) + - "Add `--emit=thin-link-bitcode` to enable distributed ThinLTO users" [compiler-team#735](https://github.com/rust-lang/compiler-team/issues/735) ([Zulip](https://rust-lang.zulipchat.com/#narrow/stream/233931-xxx/topic/Add.20.60-Zemit-thin-lto-index.3D.3Cpath.3E.60.20to.20ena.E2.80.A6.20compiler-team.23735)) (last review activity: about 1 days ago) + - "Only emit forward compatible v0 symbol names with graceful degradation" [compiler-team#737](https://github.com/rust-lang/compiler-team/issues/737) ([Zulip](https://rust-lang.zulipchat.com/#narrow/stream/233931-xxx/topic/Only.20emit.20forward.20compatible.20v0.20symbol.20na.E2.80.A6.20compiler-team.23737)) (last review activity: about 27 days ago) + - "Partial compilation using MIR-only rlibs" [compiler-team#738](https://github.com/rust-lang/compiler-team/issues/738) ([Zulip](https://rust-lang.zulipchat.com/#narrow/stream/233931-xxx/topic/Partial.20compilation.20using.20MIR-only.20rlibs.20compiler-team.23738)) (last review activity: about 20 days ago) +- Pending FCP requests (check your boxes!) + - merge: [Add a new `--build-id` flag to rustc (compiler-team#635)](https://github.com/rust-lang/compiler-team/issues/635#issuecomment-1777545767) + - @_**|125250** @_**|116107** @_**|125294** @_**|123856** + - concerns: [other-existing-options (by petrochenkov)](https://github.com/rust-lang/compiler-team/issues/635#issuecomment-1779597156) [option-name (by wesleywiser)](https://github.com/rust-lang/compiler-team/issues/635#issuecomment-1785349936) + - merge: [Retire the mailing list and make all decisions on zulip (compiler-team#649)](https://github.com/rust-lang/compiler-team/issues/649#issuecomment-1618781780) + - no pending checkboxes + - concerns: [automatic-sync (by compiler-errors)](https://github.com/rust-lang/compiler-team/issues/649#issuecomment-1618902660), [single-point-of-failure-via-stream-archival (by pnkfelix)](https://github.com/rust-lang/compiler-team/issues/649#issuecomment-1664056989) + - merge: [Stabilize `--env-set` option (rust#119926)](https://github.com/rust-lang/rust/pull/119926#issuecomment-1898766442) + - @_**|119009** @_**|116083** @_**|124288** @_**|123586** @_**|125250** @_**|119031** @_**|124287** @_**|116118** + - concerns: [other-rustc-vars (by petrochenkov)](https://github.com/rust-lang/rust/pull/119926#issuecomment-1900703005) + - merge: [Show files produced by `--emit foo` in json artifact notifications (rust#122597)](https://github.com/rust-lang/rust/pull/122597#issuecomment-2063945502) + - @_**|116083** @_**|123586** @_**|116107** @_**|125294** @_**|119031** @_**|248906** @_**|426609** @_**|116118** @_**|232957** + - no pending concerns + - merge: [allow overwriting the output of `rustc --version` (rust#124339)](https://github.com/rust-lang/rust/pull/124339#issuecomment-2075414901) + - @_**|116083** @_**|123586** @_**|125250** @_**|116107** @_**|248906** @_**|124287** @_**|426609** @_**|116118** @_**|216206** @_**|232957** + - no pending concerns + - merge: [re-organise the compiler team](https://github.com/rust-lang/rfcs/pull/3599#issuecomment-2062471077) (rfcs#3599) + - no pending concerns + - @**Aaron Hill** @**cjgillot** @**Michael (compiler-errors) Goulet** @**Esteban Küber** @**mw** @**nagisa** +- Things in FCP (make sure you're good with it) + - "Skip virtual drop for !needs_drop types" [compiler-team#730](https://github.com/rust-lang/compiler-team/issues/730) ([Zulip](https://rust-lang.zulipchat.com/#narrow/stream/233931-xxx/topic/Skip.20virtual.20drop.20for.20.21needs_drop.20types.20compiler-team.23730)) + - "Make casts of pointers to trait objects stricter" [rust#120248](https://github.com/rust-lang/rust/pull/120248) +- Accepted MCPs + - "allow all command line flags to be passed multiple times, overwriting previous usages" [compiler-team#731](https://github.com/rust-lang/compiler-team/issues/731) ([Zulip](https://rust-lang.zulipchat.com/#narrow/stream/233931-xxx/topic/allow.20all.20command.20line.20flags.20to.20be.20passed.E2.80.A6.20compiler-team.23731)) + - "Policy: no discussions on T-compiler tracking issues" [compiler-team#739](https://github.com/rust-lang/compiler-team/issues/739) ([Zulip](https://rust-lang.zulipchat.com/#narrow/stream/233931-xxx/topic/Lock.20all.20tracking.20issues.20to.20prevent.20discu.E2.80.A6.20compiler-team.23739)) +- MCPs blocked on unresolved concerns + - "Add hygiene attributes to compile expanded source code" [compiler-team#692](https://github.com/rust-lang/compiler-team/issues/692) ([Zulip](https://rust-lang.zulipchat.com/#narrow/stream/233931-xxx/topic/Add.20option.20to.20compile.20expanded.20ASTs.20for.20h.E2.80.A6.20compiler-team.23692)) (last review activity: 3 months ago) + - concern: [added-complexity-to-frontend](https://github.com/rust-lang/compiler-team/issues/692#issuecomment-1845169318) +- Finalized FCPs (disposition merge) + - "Tracking Issue for RFC 3013: Checking conditional compilation at compile time" [rust#82450](https://github.com/rust-lang/rust/issues/82450) +- Other teams finalized FCPs + - No new finished FCP (disposition merge) this time. + +### WG checkins + +- @_*WG-async* by @**nikomatsakis** and @**tmandry** + > Checkin text + +- @_*WG-diagnostics* by @**Esteban Küber** and @**oli** + > Checkin text + +## 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: "Consider inner modules to be local in the `non_local_definitions` lint" [rust#124539](https://github.com/rust-lang/rust/pull/124539) + - Authored by @_**urgau** (thanks!) + - Fixes #124396, a P-medium regression emitting a false positive and misleading error message when compiling the Diesel crate ([comment](https://github.com/rust-lang/rust/issues/124396#issue-2265162210)): + > The wording [of the error message] might result in cases where the user will believe that this is an upstream diesel issue, rather than an issue with their local code. + +- No stable nominations for `T-compiler` this time. + +[T-types stable](https://github.com/rust-lang/rust/issues?q=is%3Aall+label%3Abeta-nominated+-label%3Abeta-accepted+label%3AT-types) / [T-types beta](https://github.com/rust-lang/rust/issues?q=is%3Aall+label%3Astable-nominated+-label%3Astable-accepted+label%3AT-types) +- No beta nominations for `T-types` this time. +- No stable nominations for `T-types` 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) +- [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) +- [61 T-compiler P-high issues](https://github.com/rust-lang/rust/issues?q=is%3Aopen+label%3AT-compiler+label%3AP-high) + - [33 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, 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, 5 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, 36 P-high, 100 P-medium, 16 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` 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` 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 2024-04-29](https://github.com/rust-lang/rustc-perf/blob/master/triage/2024-04-29.md) + +Several non-noise changes this week, with both improvements and regressions coming as a result. +Overall compiler performance is roughly neutral across the week. + +Triage done by **@simulacrum**. +Revision range: [a77f76e2..c65b2dc9](https://perf.rust-lang.org/?start=a77f76e26302e9a084fb321817675b1dfc1dcd63&end=c65b2dc935c27c0c8c3997c6e8d8894718a2cb1a&absolute=false&stat=instructions%3Au) + +**Summary**: + +| (instructions:u) | mean | range | count | +|:------------------------:|:-----:|:---------------:|:-----:| +| Regressions (primary) | 0.4% | [0.2%, 1.4%] | 104 | +| Regressions (secondary) | 2.4% | [0.2%, 23.7%] | 81 | +| Improvements (primary) | -3.8% | [-26.1%, -0.3%] | 10 | +| Improvements (secondary) | -1.6% | [-4.6%, -0.5%] | 12 | +| All (primary) | 0.1% | [-26.1%, 1.4%] | 114 | + + +2 Regressions, 2 Improvements, 3 Mixed; 1 of them in rollups +51 artifact comparisons made in total + +#### Regressions + +Use fulfillment in method probe, not evaluation [#122317](https://github.com/rust-lang/rust/pull/122317) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=ad07aa12c99698f810d730d7b5a49704c729651d&end=cd90d5c03532da6f7ca7dcfb861ffabdc36a9d00&stat=instructions:u) + +| (instructions:u) | mean | range | count | +|:------------------------:|:----:|:-------------:|:-----:| +| Regressions (primary) | 0.5% | [0.2%, 1.3%] | 38 | +| Regressions (secondary) | 4.2% | [0.5%, 23.6%] | 39 | +| Improvements (primary) | - | - | 0 | +| Improvements (secondary) | - | - | 0 | +| All (primary) | 0.5% | [0.2%, 1.3%] | 38 | + +Some additional attempts to fix perf were done in a follow-up PR +(https://github.com/rust-lang/rust/pull/124303) but did not pan out to be +successful. It looks like this is a correctness fix, so we'll need to accept +the regressions for now. + +Stabilize `Utf8Chunks` [#123909](https://github.com/rust-lang/rust/pull/123909) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=1b3a32958bb54bde45e693217e8f7469459e5865&end=4d570eea025a19564429eb52b34ec34e14659f55&stat=instructions:u) + +| (instructions:u) | mean | range | count | +|:------------------------:|:----:|:------------:|:-----:| +| Regressions (primary) | 0.5% | [0.2%, 1.1%] | 11 | +| Regressions (secondary) | 0.8% | [0.3%, 1.2%] | 19 | +| Improvements (primary) | - | - | 0 | +| Improvements (secondary) | - | - | 0 | +| All (primary) | 0.5% | [0.2%, 1.1%] | 11 | + +The regressions are in doc builds, but are not really expected from what is a +relatively small change. Further investigation feels warranted (see +https://github.com/rust-lang/rust/pull/123909#issuecomment-2082668500). + +#### Improvements + +Rollup of 5 pull requests [#124289](https://github.com/rust-lang/rust/pull/124289) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=c67277301c896857d0534f2bb7431680796833fb&end=ad07aa12c99698f810d730d7b5a49704c729651d&stat=instructions:u) + +| (instructions:u) | mean | range | count | +|:------------------------:|:-----:|:--------------:|:-----:| +| Regressions (primary) | - | - | 0 | +| Regressions (secondary) | - | - | 0 | +| Improvements (primary) | -0.3% | [-0.3%, -0.2%] | 7 | +| Improvements (secondary) | -0.2% | [-0.2%, -0.2%] | 2 | +| All (primary) | -0.3% | [-0.3%, -0.2%] | 7 | + +Unclear whether this is a genuine improvement. Performance seems to have +re-regressed in #123126 (see Mixed results below), so this may just be +bimodality of some kind. + +Set writable and dead_on_unwind attributes for sret arguments [#121298](https://github.com/rust-lang/rust/pull/121298) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=cb3752d20e0f5d24348062211102a08d46fbecff&end=284f94f9c0f77ad4ef85323a634cfda29c1a801d&stat=instructions:u) + +| (instructions:u) | mean | range | count | +|:------------------------:|:-----:|:---------------:|:-----:| +| Regressions (primary) | 0.5% | [0.5%, 0.5%] | 1 | +| Regressions (secondary) | - | - | 0 | +| Improvements (primary) | -3.1% | [-26.0%, -0.3%] | 12 | +| Improvements (secondary) | -1.6% | [-4.4%, -0.5%] | 11 | +| All (primary) | -2.8% | [-26.0%, 0.5%] | 13 | + +#### Mixed + +Enable `CrateNum` query feeding via `TyCtxt` [#123126](https://github.com/rust-lang/rust/pull/123126) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=40dcd796d094b911b8b7b55a0519fb8e3d21680f&end=244da22fabd9fa677bbd0ac601a88e5ca6917526&stat=instructions:u) + +| (instructions:u) | mean | range | count | +|:------------------------:|:-----:|:--------------:|:-----:| +| Regressions (primary) | 0.3% | [0.2%, 0.6%] | 19 | +| Regressions (secondary) | 0.4% | [0.3%, 0.5%] | 5 | +| Improvements (primary) | - | - | 0 | +| Improvements (secondary) | -0.7% | [-0.7%, -0.7%] | 2 | +| All (primary) | 0.3% | [0.2%, 0.6%] | 19 | + +This looks like it's mostly just a regression to incremental. The PR +description notes this is expected and sounds like there's follow-up work +planned (unclear whether it will help with performance though). + +Stop using LLVM struct types for alloca [#122053](https://github.com/rust-lang/rust/pull/122053) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=c1feb3eceef7d5f0126c309a87062cf413fe0a25&end=29a56a3b1c06a624c0c06728c0af756d09df6b1b&stat=instructions:u) + +| (instructions:u) | mean | range | count | +|:------------------------:|:-----:|:--------------:|:-----:| +| Regressions (primary) | 0.2% | [0.2%, 0.3%] | 8 | +| Regressions (secondary) | 0.4% | [0.2%, 1.1%] | 17 | +| Improvements (primary) | -1.9% | [-1.9%, -1.9%] | 1 | +| Improvements (secondary) | -0.4% | [-0.4%, -0.4%] | 1 | +| All (primary) | -0.0% | [-1.9%, 0.3%] | 9 | + +Instruction counts are predominantly affected by some shuffling inside LLVM, +but cycles are largely unaffected. See detailed analysis in +https://github.com/rust-lang/rust/pull/122053#issuecomment-2074850501. + +Abort a process when FD ownership is violated [#124210](https://github.com/rust-lang/rust/pull/124210) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=6c90ac8d8f4489472720fce03c338cd5d0977f33&end=cb4940645775f60d74aee2e018d6c516c5aa9ed7&stat=instructions:u) + +| (instructions:u) | mean | range | count | +|:------------------------:|:-----:|:--------------:|:-----:| +| Regressions (primary) | 0.4% | [0.4%, 0.4%] | 2 | +| Regressions (secondary) | - | - | 0 | +| Improvements (primary) | -0.8% | [-0.8%, -0.8%] | 1 | +| Improvements (secondary) | -0.1% | [-0.1%, -0.1%] | 2 | +| All (primary) | 0.0% | [-0.8%, 0.4%] | 3 | + +Based on the [self profile results](https://perf.rust-lang.org/detailed-query.html?commit=cb4940645775f60d74aee2e018d6c516c5aa9ed7&benchmark=cargo-0.60.0-opt&scenario=full&base_commit=6c90ac8d8f4489472720fce03c338cd5d0977f33&sort_idx=-12) +I suspect this is caused by us generating more code in the downstream crate(s) +as a result of the late-bound ub checks. + +## Nominated Issues + +[T-compiler](https://github.com/rust-lang/rust/issues?q=is%3Aopen+label%3AI-compiler-nominated) +- None + +[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) +- "Make create_def a side effect instead of marking the entire query as always red" [rust#115613](https://github.com/rust-lang/rust/pull/115613) (last review activity: 7 months ago) + - cc: @**cjgillot** (pending rebase cc: @**oli**) +- "tidy watcher" [rust#114209](https://github.com/rust-lang/rust/pull/114209) (last review activity: 4 months ago) + - cc: @**Wesley Wiser** +- "Remove unnecessary impl sorting in queries and metadata" [rust#120812](https://github.com/rust-lang/rust/pull/120812) + - cc: @**cjgillot** +- "Use Box<[T]> for ProcessResult::Changed" [rust#121355](https://github.com/rust-lang/rust/pull/121355) (last review activity: 2 months ago) + - cc: @**Esteban Küber** + +## Next week's WG checkins + +- None + +Next meetings' agenda draft: [hackmd link](https://hackmd.io/XC-GJ4ubTbCwR8KLjXdx7A) diff --git a/content/minutes/triage-meeting/T-compiler Meeting Agenda 2024-05-09.md b/content/minutes/triage-meeting/T-compiler Meeting Agenda 2024-05-09.md new file mode 100644 index 00000000..57e268b7 --- /dev/null +++ b/content/minutes/triage-meeting/T-compiler Meeting Agenda 2024-05-09.md @@ -0,0 +1,322 @@ +--- +tags: weekly, rustc +type: docs +note_id: XC-GJ4ubTbCwR8KLjXdx7A +--- + +# T-compiler Meeting Agenda 2024-05-09 + +## Announcements + +- 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 +- Types Team: ITE (Impl Trait Everywhere) Triage + +## MCPs/FCPs + +- New MCPs (take a look, see if you like them!) + - No new proposals this time. +- Old MCPs (not seconded, take a look) + - "Target families for executable format" [compiler-team#716](https://github.com/rust-lang/compiler-team/issues/716) ([Zulip](https://rust-lang.zulipchat.com/#narrow/stream/233931-xxx/topic/Target.20families.20for.20executable.20format.20compiler-team.23716)) (last review activity: 3 months ago) + - "Promote riscv64gc-unknown-linux-musl to tier 2" [compiler-team#728](https://github.com/rust-lang/compiler-team/issues/728) ([Zulip](https://rust-lang.zulipchat.com/#narrow/stream/233931-xxx/topic/Promote.20riscv64gc-unknown-linux-gnu.20to.20ti.E2.80.A6.20compiler-team.23728)) (last review activity: 2 months ago) + - "Only emit forward compatible v0 symbol names with graceful degradation" [compiler-team#737](https://github.com/rust-lang/compiler-team/issues/737) ([Zulip](https://rust-lang.zulipchat.com/#narrow/stream/233931-xxx/topic/Only.20emit.20forward.20compatible.20v0.20symbol.20na.E2.80.A6.20compiler-team.23737)) (last review activity: about 34 days ago) + - "Partial compilation using MIR-only rlibs" [compiler-team#738](https://github.com/rust-lang/compiler-team/issues/738) ([Zulip](https://rust-lang.zulipchat.com/#narrow/stream/233931-xxx/topic/Partial.20compilation.20using.20MIR-only.20rlibs.20compiler-team.23738)) (last review activity: about 27 days ago) + - "Add --print=check-cfg" [compiler-team#743](https://github.com/rust-lang/compiler-team/issues/743) ([Zulip](https://rust-lang.zulipchat.com/#narrow/stream/233931-xxx/topic/Add.20--print.3Dcheck-cfg.20compiler-team.23743)) (last review activity: about 5 days ago) +- Pending FCP requests (check your boxes!) + - merge: [Add a new `--build-id` flag to rustc (compiler-team#635)](https://github.com/rust-lang/compiler-team/issues/635#issuecomment-1777545767) + - @_**|125250** @_**|116107** @_**|125294** @_**|123856** + - concerns: [other-existing-options (by petrochenkov)](https://github.com/rust-lang/compiler-team/issues/635#issuecomment-1779597156) [option-name (by wesleywiser)](https://github.com/rust-lang/compiler-team/issues/635#issuecomment-1785349936) + - merge: [Retire the mailing list and make all decisions on zulip (compiler-team#649)](https://github.com/rust-lang/compiler-team/issues/649#issuecomment-1618781780) + - no pending checkboxs + - concerns: [automatic-sync (by compiler-errors)](https://github.com/rust-lang/compiler-team/issues/649#issuecomment-1618902660) [single-point-of-failure-via-stream-archival (by pnkfelix)](https://github.com/rust-lang/compiler-team/issues/649#issuecomment-1664056989) + - merge: [Stabilize `--env-set` option (rust#119926)](https://github.com/rust-lang/rust/pull/119926#issuecomment-1898766442) + - @_**|119009** @_**|124288** @_**|123586** @_**|125250** @_**|119031** @_**|124287** @_**|116118** + - concerns: [other-rustc-vars (by petrochenkov)](https://github.com/rust-lang/rust/pull/119926#issuecomment-1900703005) + - merge: [Show files produced by `--emit foo` in json artifact notifications (rust#122597)](https://github.com/rust-lang/rust/pull/122597#issuecomment-2063945502) + - @_**|123586** @_**|116107** @_**|125294** @_**|119031** @_**|248906** @_**|426609** @_**|116118** @_**|232957** + - no pending concerns + - merge: [allow overwriting the output of `rustc --version` (rust#124339)](https://github.com/rust-lang/rust/pull/124339#issuecomment-2075414901) + - @_**|123586** @_**|125250** @_**|248906** @_**|124287** @_**|426609** @_**|116118** @_**|216206** @_**|232957** + - no pending concerns +- Things in FCP (make sure you're good with it) + - "Skip virtual drop for !needs_drop types" [compiler-team#730](https://github.com/rust-lang/compiler-team/issues/730) ([Zulip](https://rust-lang.zulipchat.com/#narrow/stream/233931-xxx/topic/Skip.20virtual.20drop.20for.20.21needs_drop.20types.20compiler-team.23730)) + - "Add `--emit=thin-link-bitcode` to enable distributed ThinLTO users" [compiler-team#735](https://github.com/rust-lang/compiler-team/issues/735) ([Zulip](https://rust-lang.zulipchat.com/#narrow/stream/233931-xxx/topic/Add.20.60-Zemit-thin-lto-index.3D.3Cpath.3E.60.20to.20ena.E2.80.A6.20compiler-team.23735)) + - "Support `-Cforce-frame-pointers=non-leaf`" [compiler-team#744](https://github.com/rust-lang/compiler-team/issues/744) ([Zulip](https://rust-lang.zulipchat.com/#narrow/stream/233931-xxx/topic/Support.20.60-Cforce-frame-pointers.3Dnon-leaf.60.20compiler-team.23744)) + - "Warn (or error) when `Self` ctor from outer item is referenced in inner nested item" [rust#124187](https://github.com/rust-lang/rust/pull/124187) +- Accepted MCPs + - No new accepted proposals this time. +- MCPs blocked on unresolved concerns + - "Add hygiene attributes to compile expanded source code" [compiler-team#692](https://github.com/rust-lang/compiler-team/issues/692) ([Zulip](https://rust-lang.zulipchat.com/#narrow/stream/233931-xxx/topic/Add.20option.20to.20compile.20expanded.20ASTs.20for.20h.E2.80.A6.20compiler-team.23692)) (last review activity: 3 months ago) + - concern: [added-complexity-to-frontend](https://github.com/rust-lang/compiler-team/issues/692#issuecomment-1845169318) +- Finalized FCPs (disposition merge) + - "Make casts of pointers to trait objects stricter" [rust#120248](https://github.com/rust-lang/rust/pull/120248) + - "Allow coercing functions whose signature differs in opaque types in their defining scope into a shared function pointer type" [rust#124297](https://github.com/rust-lang/rust/pull/124297) +- Other teams finalized FCPs + - "Allow coercing functions whose signature differs in opaque types in their defining scope into a shared function pointer type" [rust#124297](https://github.com/rust-lang/rust/pull/124297) + +### WG checkins + +None + +## 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: "Adjust `#[macro_export]`/doctest help suggestion for non_local_defs lint" [rust#124568](https://github.com/rust-lang/rust/pull/124568) + - authored by @_**Urgau** + - partially fixes #124534, a rustdoc lint triggered in rustdoc comments + - t-rustdoc r+'d too + - possibly there will be future work to handle this ([comment](https://github.com/rust-lang/rust/pull/124568#issuecomment-2090439661)) + +- :beta: "Do not ICE on foreign malformed `diagnostic::on_unimplemented`" [rust#124683](https://github.com/rust-lang/rust/pull/124683) + - authored by @_**Esteban Küber** + - fixes #124651, regression on 1.78 stable, the ICE triggered when using a malformed `diagnostic::on_unimplemented` + - Michael mentions that this should be ported together with #124675 (next backport) + +- :beta: "Fix more ICEs in `diagnostic::on_unimplemented`" [rust#124875](https://github.com/rust-lang/rust/pull/124875) + - authored by @_**Michael Goulet (compiler-errors)** + - fixes more ICEs on #124651 + - PR is open but r+d + - Michael mentions that this should be ported together with #124683 (previous backport :)) + +- :stable: "Do not ICE on foreign malformed `diagnostic::on_unimplemented`" [rust#124683](https://github.com/rust-lang/rust/pull/124683) + - backport on stable of the ICE fix mentioned before + +- :stable: "Fix more ICEs in `diagnostic::on_unimplemented`" [rust#124875](https://github.com/rust-lang/rust/pull/124875) + - backport on stable of the ICE fix mentioned before + + +[T-types stable](https://github.com/rust-lang/rust/issues?q=is%3Aall+label%3Abeta-nominated+-label%3Abeta-accepted+label%3AT-types) / [T-types beta](https://github.com/rust-lang/rust/issues?q=is%3Aall+label%3Astable-nominated+-label%3Astable-accepted+label%3AT-types) +- No beta nominations for `T-types` this time. +- No stable nominations for `T-types` 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) +- [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) +- [62 T-compiler P-high issues](https://github.com/rust-lang/rust/issues?q=is%3Aopen+label%3AT-compiler+label%3AP-high) + - [33 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, 5 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, 36 P-high, 100 P-medium, 16 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` 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` 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 2024-05-07](https://github.com/rust-lang/rustc-perf/blob/6774c877ace0a2d9138b2b06ef0aabf6c2317a43/triage/2024-05-06.md) + +Largely uneventful week; the most notable shifts were considered false-alarms +that arose from changes related to cfg-checking (either cargo enabling it, or +adding cfg's like `rustfmt` to the "well-known cfgs list"). + +Triage done by **@pnkfelix**. +Revision range: [c65b2dc9..69f53f5e](https://perf.rust-lang.org/?start=c65b2dc935c27c0c8c3997c6e8d8894718a2cb1a&end=69f53f5e5583381267298ac182eb02c7f1b5c1cd&absolute=false&stat=instructions%3Au) + +**Summary**: + +| (instructions:u) | mean | range | count | +|:------------------------:|:-----:|:--------------:|:-----:| +| Regressions (primary) | 3.0% | [0.2%, 19.5%] | 65 | +| Regressions (secondary) | 1.3% | [0.2%, 4.5%] | 103 | +| Improvements (primary) | -0.9% | [-2.2%, -0.2%] | 24 | +| Improvements (secondary) | -0.7% | [-1.4%, -0.4%] | 23 | +| All (primary) | 1.9% | [-2.2%, 19.5%] | 89 | + + +3 Regressions, 2 Improvements, 3 Mixed; 5 of them in rollups +30 Untriaged Pull Requests +54 artifact comparisons made in total + +#### Regressions + +Rollup of 7 pull requests [#124675](https://github.com/rust-lang/rust/pull/124675) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=0d7b2fb797f214ea7514cfeaf2caef8178d8e3fc&end=befabbc9e5f6e82e659f9f52040ee0dd40593d8a&stat=instructions:u) + +| (instructions:u) | mean | range | count | +|:------------------------:|:----:|:------------:|:-----:| +| Regressions (primary) | 0.5% | [0.2%, 1.2%] | 11 | +| Regressions (secondary) | 0.8% | [0.4%, 1.3%] | 17 | +| Improvements (primary) | - | - | 0 | +| Improvements (secondary) | - | - | 0 | +| All (primary) | 0.5% | [0.2%, 1.2%] | 11 | + +* all primary regressions are to doc-full scenarios, and the 1.2% is to helloworld. +* not worth teasing apart a rollup PR. +* marking as triaged. + +Update cargo [#124684](https://github.com/rust-lang/rust/pull/124684) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=09cd00fea4aecaa6707f122d7e143196b8a12ee2&end=2c4bf249bd47f232de3c1e78ffe69b40c29bfcca&stat=instructions:u) + +| (instructions:u) | mean | range | count | +|:------------------------:|:----:|:-------------:|:-----:| +| Regressions (primary) | 2.4% | [0.2%, 19.1%] | 83 | +| Regressions (secondary) | 1.6% | [0.2%, 5.7%] | 92 | +| Improvements (primary) | - | - | 0 | +| Improvements (secondary) | - | - | 0 | +| All (primary) | 2.4% | [0.2%, 19.1%] | 83 | + + +* syn (mostly check builds, but also a debug incr-unchanged and opt incr-unchanged) had regressions ranging from 7.24% all the way up to 19.11%. +* The most plausible hypothesis is that this is due to an explosion in the number of warnings emitted for this benchmark. (The number of warnings went from ~200 up to 1800, according to Urgau's analysis). +* This means the code ends up becoming, at least in part, a benchmark of the lint machinery, regardless of whether that is our intent or not. +* see also [rustc-perf#1819](https://github.com/rust-lang/rustc-perf/issues/1819) "Consider passing -Awarnings (or similar) to avoid false alarms from lint *reporting*" +* marking as triaged. + +Rollup of 3 pull requests [#124784](https://github.com/rust-lang/rust/pull/124784) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=96f1da82687f499dd3f57006ae71548714532382&end=d287f3e4eeaf680e8fe875f1ec75cca68f357d30&stat=instructions:u) + +| (instructions:u) | mean | range | count | +|:------------------------:|:----:|:------------:|:-----:| +| Regressions (primary) | 0.3% | [0.2%, 0.4%] | 5 | +| Regressions (secondary) | - | - | 0 | +| Improvements (primary) | - | - | 0 | +| Improvements (secondary) | - | - | 0 | +| All (primary) | 0.3% | [0.2%, 0.4%] | 5 | + +* all regressions were to syn, to various incr-unchanged and incr-patched:println scenarios. +* current hypothesis is that this is due to PR #124742, which adds `rustfmt` to the well-known cfgs list. +* that hypothesis implies that this is a (mostly-)false alarm, much like #124684. +* marking as triaged + +#### Improvements + +Rollup of 10 pull requests [#124646](https://github.com/rust-lang/rust/pull/124646) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=79734f1db8dbe322192dea32c0f6b80ab14c4c1d&end=561b5dea1e7e5c21f0fb550ca579229ceb878297&stat=instructions:u) + +| (instructions:u) | mean | range | count | +|:------------------------:|:-----:|:--------------:|:-----:| +| Regressions (primary) | - | - | 0 | +| Regressions (secondary) | - | - | 0 | +| Improvements (primary) | -1.0% | [-2.8%, -0.2%] | 24 | +| Improvements (secondary) | -0.9% | [-1.6%, -0.3%] | 9 | +| All (primary) | -1.0% | [-2.8%, -0.2%] | 24 | + +* the bulk of the improvements are to variations of html5ever and serde_derive. +* skimming over the rollup list, I cannot identify an immediate root cause for improvement +* but for now will treat it like a happy accident + +Some hir cleanups [#124401](https://github.com/rust-lang/rust/pull/124401) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=d2d24e395a1e4fcee62ca17bf4cbddb1f903af97&end=09cd00fea4aecaa6707f122d7e143196b8a12ee2&stat=instructions:u) + +| (instructions:u) | mean | range | count | +|:------------------------:|:-----:|:--------------:|:-----:| +| Regressions (primary) | - | - | 0 | +| Regressions (secondary) | - | - | 0 | +| Improvements (primary) | -0.1% | [-0.2%, -0.1%] | 3 | +| Improvements (secondary) | -1.1% | [-2.0%, -0.2%] | 2 | +| All (primary) | -0.1% | [-0.2%, -0.1%] | 3 | + +* all improvements are to variations of typenum +* the hir cleanups in question are largely to store `AnonConst` (e.g. for array lengths) in the HIR arena, and then move the ConstArg span over to AnonConst span instead. +* inspection of typenum didn't show any particular cases that seemed like the would stress `AnonConst`; maybe the benefit comes more from the places where we now pass a span by value instead of passing a pointer to it. + +#### Mixed + +Account for immutably borrowed locals in MIR copy-prop and GVN [#123602](https://github.com/rust-lang/rust/pull/123602) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=befabbc9e5f6e82e659f9f52040ee0dd40593d8a&end=d2d24e395a1e4fcee62ca17bf4cbddb1f903af97&stat=instructions:u) + +| (instructions:u) | mean | range | count | +|:------------------------:|:-----:|:--------------:|:-----:| +| Regressions (primary) | 0.3% | [0.2%, 0.9%] | 10 | +| Regressions (secondary) | 0.8% | [0.2%, 2.6%] | 4 | +| Improvements (primary) | -0.5% | [-1.1%, -0.2%] | 6 | +| Improvements (secondary) | -0.5% | [-1.0%, -0.3%] | 8 | +| All (primary) | 0.0% | [-1.1%, 0.9%] | 16 | + +* html5ever opt-full regressed by 0.92%; libc in various incremental scenarios regressed by 0.30% to 0.39%. +* the libc changes were anticipated in the perf build prior to merge; html5ever opt-full was not predicted there. +* pnkfelix hypothesizes that this just reflects some extra-work from the compiler attempting to do the copy-propagation and global-value-numbering mir-optimizations on a larger set of immutably-borrowed locals, and is acceptable given the expected benefits. +* marking as triaged + +Rollup of 8 pull requests [#124703](https://github.com/rust-lang/rust/pull/124703) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=7dd170fccb3be6b1737af5df14dd736b366236c1&end=d7ea27808deb5e10a0f7384e339e4e6165e33398&stat=instructions:u) + +| (instructions:u) | mean | range | count | +|:------------------------:|:-----:|:--------------:|:-----:| +| Regressions (primary) | 0.5% | [0.2%, 0.6%] | 4 | +| Regressions (secondary) | - | - | 0 | +| Improvements (primary) | - | - | 0 | +| Improvements (secondary) | -1.0% | [-1.5%, -0.5%] | 4 | +| All (primary) | 0.5% | [0.2%, 0.6%] | 4 | + +* image opt-full regressed by 0.63%; html5ever debug-{incr-full,full} by ~0.5%, html5ever opt-incr-unchaged by 0.21% +* already triaged by Kobzol, who hypothesizes that PR #124700 modified some inlining decisions. + +Rollup of 4 pull requests [#124716](https://github.com/rust-lang/rust/pull/124716) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=1a851da73cdeb02e2c62d301aa6bd98e515a50da&end=d568423a7a4ddb4b49323d96078a22f94df55fbd&stat=instructions:u) + +| (instructions:u) | mean | range | count | +|:------------------------:|:-----:|:--------------:|:-----:| +| Regressions (primary) | - | - | 0 | +| Regressions (secondary) | 0.3% | [0.3%, 0.5%] | 6 | +| Improvements (primary) | -0.8% | [-0.8%, -0.8%] | 1 | +| Improvements (secondary) | - | - | 0 | +| All (primary) | -0.8% | [-0.8%, -0.8%] | 1 | + + +* all regressions are secondary (specifically on unused-warnings benchmark) +* regression identified by Kobzol as caused by [PR #124584](https://github.com/rust-lang/rust/pull/124584) "Various improvements to entrypoint code" +* seems like noise to pnkfelix +* marked as triaged + +## Nominated Issues + +[T-compiler](https://github.com/rust-lang/rust/issues?q=is%3Aopen+label%3AI-compiler-nominated) +- "New rustc nightly suggests adding a `build.rs` to use conditional compilation" [rust#124800](https://github.com/rust-lang/rust/issues/124800) + - @wesleywiser responded on the thread in this [comment](https://github.com/rust-lang/rust/issues/124800#issuecomment-2098802667) + - a summary from `@epage` of T-cargo *(last)* discussion on the topic in this [comment](https://github.com/rust-lang/rust/issues/124800#issuecomment-2100964458) + - with a question for T-compiler: + > If we go with lint configuration, any thoughts or concerns about Cargo "owning" lint configuration under `[lints.rust]` where Cargo translates the configuration into CLI flags for rustc, leaving rustc to be more generic? + - Probably moving the discussion to next meeting of discuss this async + +[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 + +None + +## Next week's WG checkins + +Probably none diff --git a/content/minutes/triage-meeting/T-compiler Meeting Agenda 2024-05-16.md b/content/minutes/triage-meeting/T-compiler Meeting Agenda 2024-05-16.md new file mode 100644 index 00000000..c1686147 --- /dev/null +++ b/content/minutes/triage-meeting/T-compiler Meeting Agenda 2024-05-16.md @@ -0,0 +1,252 @@ +--- +tags: weekly, rustc +type: docs +note_id: Do3ug5jeQPWjlfeqtIHYow +--- + +# T-compiler Meeting Agenda 2024-05-16 + +## Announcements + +- Special reminder for [rfcs#3599](https://github.com/rust-lang/rfcs/pull/3599#issuecomment-2062471077): needs just one more vote :thank_you: cc: @**cjgillot** @**Esteban Küber** and @**Aaron Hill** +- 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 +- Types Team: ITE (Impl Trait Everywhere) Triage + +## MCPs/FCPs + +- New MCPs (take a look, see if you like them!) + - "Add Hotpatch flag" [compiler-team#745](https://github.com/rust-lang/compiler-team/issues/745) ([Zulip](https://rust-lang.zulipchat.com/#narrow/stream/233931-xxx/topic/Add.20Hotpatch.20flag.20compiler-team.23745)) + - "Promote arm64ec-pc-windows-msvc to tier 2" [compiler-team#746](https://github.com/rust-lang/compiler-team/issues/746) ([Zulip](https://rust-lang.zulipchat.com/#narrow/stream/233931-xxx/topic/Promote.20arm64ec-pc-windows-msvc.20to.20tier.202.20compiler-team.23746)) + - "`-Cfixed-x18`" [compiler-team#748](https://github.com/rust-lang/compiler-team/issues/748) ([Zulip](https://rust-lang.zulipchat.com/#narrow/stream/233931-xxx/topic/.60-Cfixed-x18.60.20compiler-team.23748)) +- Old MCPs (not seconded, take a look) + - "Add hygiene attributes to compile expanded source code" [compiler-team#692](https://github.com/rust-lang/compiler-team/issues/692) ([Zulip](https://rust-lang.zulipchat.com/#narrow/stream/233931-xxx/topic/Add.20option.20to.20compile.20expanded.20ASTs.20for.20h.E2.80.A6.20compiler-team.23692)) (last review activity: 4 months ago) + - concern: [added-complexity-to-frontend](https://github.com/rust-lang/compiler-team/issues/692#issuecomment-1845169318) + - "Target families for executable format" [compiler-team#716](https://github.com/rust-lang/compiler-team/issues/716) ([Zulip](https://rust-lang.zulipchat.com/#narrow/stream/233931-xxx/topic/Target.20families.20for.20executable.20format.20compiler-team.23716)) (last review activity: 3 months ago) + - "Promote riscv64gc-unknown-linux-musl to tier 2" [compiler-team#728](https://github.com/rust-lang/compiler-team/issues/728) ([Zulip](https://rust-lang.zulipchat.com/#narrow/stream/233931-xxx/topic/Promote.20riscv64gc-unknown-linux-gnu.20to.20ti.E2.80.A6.20compiler-team.23728)) (last review activity: 2 months ago) + - "Only emit forward compatible v0 symbol names with graceful degradation" [compiler-team#737](https://github.com/rust-lang/compiler-team/issues/737) ([Zulip](https://rust-lang.zulipchat.com/#narrow/stream/233931-xxx/topic/Only.20emit.20forward.20compatible.20v0.20symbol.20na.E2.80.A6.20compiler-team.23737)) (last review activity: about 41 days ago) + - "Partial compilation using MIR-only rlibs" [compiler-team#738](https://github.com/rust-lang/compiler-team/issues/738) ([Zulip](https://rust-lang.zulipchat.com/#narrow/stream/233931-xxx/topic/Partial.20compilation.20using.20MIR-only.20rlibs.20compiler-team.23738)) (last review activity: about 34 days ago) +- Pending FCP requests (check your boxes!) + - merge: [Show files produced by `--emit foo` in json artifact notifications (rust#122597)](https://github.com/rust-lang/rust/pull/122597#issuecomment-2063945502) + - @_**|116107** @_**|125294** @_**|119031** @_**|248906** @_**|426609** @_**|116118** @_**|232957** + - no pending concerns +- Things in FCP (make sure you're good with it) + - "Skip virtual drop for !needs_drop types" [compiler-team#730](https://github.com/rust-lang/compiler-team/issues/730) ([Zulip](https://rust-lang.zulipchat.com/#narrow/stream/233931-xxx/topic/Skip.20virtual.20drop.20for.20.21needs_drop.20types.20compiler-team.23730)) + - "Add `--emit=thin-link-bitcode` to enable distributed ThinLTO users" [compiler-team#735](https://github.com/rust-lang/compiler-team/issues/735) ([Zulip](https://rust-lang.zulipchat.com/#narrow/stream/233931-xxx/topic/Add.20.60-Zemit-thin-lto-index.3D.3Cpath.3E.60.20to.20ena.E2.80.A6.20compiler-team.23735)) + - "Add --print=check-cfg" [compiler-team#743](https://github.com/rust-lang/compiler-team/issues/743) ([Zulip](https://rust-lang.zulipchat.com/#narrow/stream/233931-xxx/topic/Add.20--print.3Dcheck-cfg.20compiler-team.23743)) + - "Support `-Cforce-frame-pointers=non-leaf`" [compiler-team#744](https://github.com/rust-lang/compiler-team/issues/744) ([Zulip](https://rust-lang.zulipchat.com/#narrow/stream/233931-xxx/topic/Support.20.60-Cforce-frame-pointers.3Dnon-leaf.60.20compiler-team.23744)) + - "Support C23's Variadics Without a Named Parameter" [rust#124048](https://github.com/rust-lang/rust/pull/124048) + - "Warn (or error) when `Self` ctor from outer item is referenced in inner nested item" [rust#124187](https://github.com/rust-lang/rust/pull/124187) +- Accepted MCPs + - No new accepted proposals this time. +- MCPs blocked on unresolved concerns + - merge: [Add a new `--build-id` flag to rustc (compiler-team#635)](https://github.com/rust-lang/compiler-team/issues/635#issuecomment-1777545767) + - @_**|125250** @_**|116107** @_**|125294** @_**|123856** + - concerns: [other-existing-options (by petrochenkov)](https://github.com/rust-lang/compiler-team/issues/635#issuecomment-1779597156) [option-name (by wesleywiser)](https://github.com/rust-lang/compiler-team/issues/635#issuecomment-1785349936) + - merge: [Stabilize `--env-set` option (rust#119926)](https://github.com/rust-lang/rust/pull/119926#issuecomment-1898766442) + - @_**|119009** @_**|124288** @_**|123586** @_**|125250** @_**|119031** @_**|124287** @_**|116118** + - concerns: [other-rustc-vars (by petrochenkov)](https://github.com/rust-lang/rust/pull/119926#issuecomment-1900703005) + - merge: [allow overwriting the output of `rustc --version` (rust#124339)](https://github.com/rust-lang/rust/pull/124339#issuecomment-2075414901) + - @_**|125250** @_**|248906** @_**|124287** @_**|426609** @_**|116118** @_**|216206** @_**|232957** + - concerns: [subsequent-crates-io-policy (by wesleywiser)](https://github.com/rust-lang/rust/pull/124339#issuecomment-2113331348) +- Finalized FCPs (disposition merge) + - No new finished FCP (disposition merge) this time. +- Other teams finalized FCPs + - "[ptr] Document maximum allocation size" [rust#116675](https://github.com/rust-lang/rust/pull/116675) + - "Stabilize `min_exhaustive_patterns`" [rust#122792](https://github.com/rust-lang/rust/pull/122792) + +### WG checkins + +None this week + +## 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: "Make `non-local-def` lint Allow by default" [rust#124950](https://github.com/rust-lang/rust/pull/124950) + - authored by @_**Wesley Wiser** + - calms down a slew of warnings on non-local definitions until we figure out how to better implement this lint (relevant [RFC#3373](https://github.com/rust-lang/rust/issues/120363)) + +- :beta: "Don't do post-method-probe error reporting steps if we're in a suggestion" [rust#125100](https://github.com/rust-lang/rust/pull/125100) + - authored by @_**Michael Goulet (compiler-errors)** + - nominated because it can pretty negatively affect user experience when a programmer has many method errors in large projects ([comment](https://github.com/rust-lang/rust/pull/125100#issuecomment-2109177076)) + - Regressed in #120730 + +- :stable: "When comparing SVG tests against their blessed version, ignore the first line" [rust#122779](https://github.com/rust-lang/rust/pull/122779) + - authored by @_**Esteban Küber** + - Fixes a regression in #122779 ([comment](https://github.com/rust-lang/rust/pull/122029#issuecomment-2009130070)) + - nominated with the clause "nice to have, if a dot release happens" ([comment](https://github.com/rust-lang/rust/pull/122779#issuecomment-2108533414)), fix didn't make to 1.78 + + +[T-types stable](https://github.com/rust-lang/rust/issues?q=is%3Aall+label%3Abeta-nominated+-label%3Abeta-accepted+label%3AT-types) / [T-types beta](https://github.com/rust-lang/rust/issues?q=is%3Aall+label%3Astable-nominated+-label%3Astable-accepted+label%3AT-types) +- No beta nominations for `T-types` this time. +- No stable nominations for `T-types` 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) +- "Uplift `clippy::precedence` lint" [rust#117161](https://github.com/rust-lang/rust/pull/117161) +- "Better errors with bad/missing identifiers in MBEs" [rust#118939](https://github.com/rust-lang/rust/pull/118939) +- "Uplift `clippy::invalid_null_ptr_usage` lint" [rust#119220](https://github.com/rust-lang/rust/pull/119220) +- "Rename `AsyncIterator` back to `Stream`, introduce an AFIT-based `AsyncIterator` trait" [rust#119550](https://github.com/rust-lang/rust/pull/119550) +- "Disallow deriving (other than Copy/Clone) on types with unnamed fields" [rust#121270](https://github.com/rust-lang/rust/pull/121270) +- "Implement lint against unexpected unary precedence" [rust#121364](https://github.com/rust-lang/rust/pull/121364) +- "Show files produced by `--emit foo` in json artifact notifications" [rust#122597](https://github.com/rust-lang/rust/pull/122597) +- "Emit a warning if a `match` is too complex" [rust#122685](https://github.com/rust-lang/rust/pull/122685) +- "Support C23's Variadics Without a Named Parameter" [rust#124048](https://github.com/rust-lang/rust/pull/124048) +- "Warn (or error) when `Self` ctor from outer item is referenced in inner nested item" [rust#124187](https://github.com/rust-lang/rust/pull/124187) +- [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) +- [63 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, 1 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, 5 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, 36 P-high, 100 P-medium, 16 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) +- "`-C target_cpu=cortex-a72` (and `-target-cpu=native` on Raspberry Pi) wrongly enables crypto features that are optional on Cortex-A72" [rust#125033](https://github.com/rust-lang/rust/issues/125033) + - @_**apiraino** assigned `P-critical` ([reasoning](https://rust-lang.zulipchat.com/#narrow/stream/245100-t-compiler.2Fwg-prioritization.2Falerts/topic/.23125033.20.60-C.20target_cpu.3Dcortex-a72.60.20.28and.20.60-target-cpu.3Dnative.E2.80.A6/near/438310356)) but happy to hear other opinions + - In any case upstream LLVM issue has been filed [llvm#90365](https://github.com/llvm/llvm-project/issues/90365) + +[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` 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) +- None + +[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+) +- "New rustc nightly suggests adding a `build.rs` to use conditional compilation" [rust#124800](https://github.com/rust-lang/rust/issues/124800) + - Question from cargo team to T-compiler was: + > If we go with lint configuration, any thoughts or concerns about Cargo "owning" lint configuration under [lints.rust] where Cargo translates the configuration into CLI flags for rustc, leaving rustc to be more generic? + - Discussed [last week](https://github.com/rust-lang/rust/issues/124800#issuecomment-2100964458), agreed that cargo can use such section as they see fit + - FYI @**Wesley Wiser** I've added your comment [here](https://github.com/rust-lang/rust/issues/124800#issuecomment-2114838596), please lmk if I represented it correctly :) + +## Performance logs + +> [triage logs for 2024-05-14](https://github.com/rust-lang/rustc-perf/blob/master/triage/2024-05-14.md) + +A pretty quiet week with only a few PRs being flagged for analysis. +More improvements than regressions this week, and also several nice +binary size reductions caused by generating less LLVM IR. + +Triage done by **@kobzol***. +Revision range: [69f53f5e..9105c57b](https://perf.rust-lang.org/?start=69f53f5e5583381267298ac182eb02c7f1b5c1cd&end=9105c57b7f6623310e33f3ee7e48a3114e5190a7&absolute=false&stat=instructions%3Au) + +**Summary**: + +| (instructions:u) | mean | range | count | +|:------------------------:|:-----:|:--------------:|:-----:| +| Regressions (primary) | 0.4% | [0.2%, 0.9%] | 8 | +| Regressions (secondary) | 0.9% | [0.2%, 2.4%] | 18 | +| Improvements (primary) | -1.1% | [-2.3%, -0.2%] | 51 | +| Improvements (secondary) | -0.6% | [-1.4%, -0.3%] | 19 | +| All (primary) | -0.9% | [-2.3%, 0.9%] | 59 | + + +1 Regression, 0 Improvements, 3 Mixed; 0 of them in rollups +75 artifact comparisons made in total + +#### Regressions + +Do not add leading asterisk in the `PartialEq` [#124157](https://github.com/rust-lang/rust/pull/124157) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=5f8c17dcc04a2981268df89874203e9bfea50597&end=cb93c24bf36b3367714516fc2308cf6856916eeb&stat=instructions:u) + +| (instructions:u) | mean | range | count | +|:------------------------:|:----:|:------------:|:-----:| +| Regressions (primary) | 0.3% | [0.2%, 0.5%] | 9 | +| Regressions (secondary) | 0.4% | [0.3%, 0.8%] | 9 | +| Improvements (primary) | - | - | 0 | +| Improvements (secondary) | - | - | 0 | +| All (primary) | 0.3% | [0.2%, 0.5%] | 9 | + +* Small regression on a few benchmarks caused by a change in code generation of `#[derive(PartialEq)]`, +which leads to more valid code being allowed to compile. +* Marked as triaged. + +#### Mixed + +Avoid a cast in `ptr::slice_from_raw_parts(_mut)_)` [#124795](https://github.com/rust-lang/rust/pull/124795) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=c3202afa2865ad26ef407544c3768070bfed7bfe&end=ec1b69852f0c24ae833a74303800db2229b6653e&stat=instructions:u) + +| (instructions:u) | mean | range | count | +|:------------------------:|:-----:|:--------------:|:-----:| +| Regressions (primary) | 0.3% | [0.3%, 0.3%] | 1 | +| Regressions (secondary) | - | - | 0 | +| Improvements (primary) | -0.4% | [-0.6%, -0.3%] | 6 | +| Improvements (secondary) | -0.3% | [-0.4%, -0.2%] | 16 | +| All (primary) | -0.3% | [-0.6%, 0.3%] | 7 | + +* A single tiny regression outweighed by several performance wins. +* This PR also reduced binary size nicely. + +Avoid `alloca`s in codegen for simple `mir::Aggregate` statements [#123886](https://github.com/rust-lang/rust/pull/123886) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=2cce0885840cd171cb3a8677af795d0abd2dc77c&end=6e1d94708a0a4a35ca7e46c6cac98adf62fe800e&stat=instructions:u) + +| (instructions:u) | mean | range | count | +|:------------------------:|:-----:|:--------------:|:-----:| +| Regressions (primary) | 0.2% | [0.2%, 0.3%] | 6 | +| Regressions (secondary) | 0.5% | [0.2%, 1.3%] | 4 | +| Improvements (primary) | -0.6% | [-1.0%, -0.3%] | 6 | +| Improvements (secondary) | -0.7% | [-1.1%, -0.4%] | 2 | +| All (primary) | -0.2% | [-1.0%, 0.3%] | 12 | + +* The regression was limited to a single primary benchmark, there were more primary benchmark wins. +* Also a nice binary size reduction in debug builds. + +Remove `NtIdent` and `NtLifetime` [#124256](https://github.com/rust-lang/rust/pull/124256) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=34582118afaf00b0eb2d209a90b181c7156b501c&end=9105c57b7f6623310e33f3ee7e48a3114e5190a7&stat=instructions:u) + +| (instructions:u) | mean | range | count | +|:------------------------:|:-----:|:--------------:|:-----:| +| Regressions (primary) | 0.2% | [0.2%, 0.2%] | 1 | +| Regressions (secondary) | 1.9% | [1.2%, 2.7%] | 8 | +| Improvements (primary) | -0.8% | [-2.0%, -0.1%] | 24 | +| Improvements (secondary) | -0.6% | [-1.1%, -0.3%] | 9 | +| All (primary) | -0.7% | [-2.0%, 0.2%] | 25 | + +* Pretty much a pure performance improvement, the instruction count regression on `tt-muncher` was +actually a decent win in cycle count. + +## Nominated Issues + +[T-compiler](https://github.com/rust-lang/rust/issues?q=is%3Aopen+label%3AI-compiler-nominated) +- "The const-eval interpreter is called on incomplete/invalid/ill-formed code" [rust#124789](https://github.com/rust-lang/rust/issues/124789) + - Nominated by @**Jieyou Xu** ([comment](https://github.com/rust-lang/rust/issues/124789#issuecomment-2107425409)) + > It's probably desirable to discuss some error handling strategy that preserves the "fail as late as possible, report as many errors as possible" idea and yet does not let inputs that const-eval does not expect to handle to go through, at the item granularity. Maybe this involves some pre-const-eval validation/guard, or hardening const-eval against invalid inputs, or some other strategy. + - Discussion on [Zulip](https://rust-lang.zulipchat.com/#narrow/stream/131828-t-compiler/topic/The.20const-eval.20interpreter.20is.20called.20on.20invalid.20code), where @**lcnr** points out that we already have the `tainted_by_errors` mechanism for this. But either the MIR bodies containing these invalid operations do not get tainted properly, or the interpreter is not properly skipping execution of tainted MIR bodies. + +[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) +- Skipping this week + +## Next week's WG checkins + +None + +Next meetings' agenda draft: [hackmd link](https://hackmd.io/9smuckNqRJmQ4a1s1sHbcQ) diff --git a/content/minutes/triage-meeting/T-compiler Meeting Agenda 2024-05-23.md b/content/minutes/triage-meeting/T-compiler Meeting Agenda 2024-05-23.md new file mode 100644 index 00000000..6a6c03f5 --- /dev/null +++ b/content/minutes/triage-meeting/T-compiler Meeting Agenda 2024-05-23.md @@ -0,0 +1,319 @@ +--- +tags: weekly, rustc +type: docs +note_id: 9smuckNqRJmQ4a1s1sHbcQ +--- + +# T-compiler Meeting Agenda 2024-05-23 + +## Announcements + +- 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)) +- Types Team: ITE (Impl Trait Everywhere) Triage + +## MCPs/FCPs + +- New MCPs (take a look, see if you like them!) + - "Add a `--emit=nameres` for IDEs" [compiler-team#749](https://github.com/rust-lang/compiler-team/issues/749) ([Zulip](https://rust-lang.zulipchat.com/#narrow/stream/233931-xxx/topic/Add.20a.20.60--emit.3Dnameres.60.20for.20IDEs.20compiler-team.23749)) + - "Fully rustfmt `use` declarations" [compiler-team#750](https://github.com/rust-lang/compiler-team/issues/750) ([Zulip](https://rust-lang.zulipchat.com/#narrow/stream/233931-xxx/topic/.28My.20major.20change.20proposal.29.20compiler-team.23750)) +- 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) + - "Add hygiene attributes to compile expanded source code" [compiler-team#692](https://github.com/rust-lang/compiler-team/issues/692) ([Zulip](https://rust-lang.zulipchat.com/#narrow/stream/233931-xxx/topic/Add.20option.20to.20compile.20expanded.20ASTs.20for.20h.E2.80.A6.20compiler-team.23692)) (last review activity: 4 months ago) + - concern: [added-complexity-to-frontend](https://github.com/rust-lang/compiler-team/issues/692#issuecomment-1845169318) + - "Target families for executable format" [compiler-team#716](https://github.com/rust-lang/compiler-team/issues/716) ([Zulip](https://rust-lang.zulipchat.com/#narrow/stream/233931-xxx/topic/Target.20families.20for.20executable.20format.20compiler-team.23716)) (last review activity: 3 months ago) + - "Promote riscv64gc-unknown-linux-musl to tier 2" [compiler-team#728](https://github.com/rust-lang/compiler-team/issues/728) ([Zulip](https://rust-lang.zulipchat.com/#narrow/stream/233931-xxx/topic/Promote.20riscv64gc-unknown-linux-gnu.20to.20ti.E2.80.A6.20compiler-team.23728)) (last review activity: 2 months ago) + - "Only emit forward compatible v0 symbol names with graceful degradation" [compiler-team#737](https://github.com/rust-lang/compiler-team/issues/737) ([Zulip](https://rust-lang.zulipchat.com/#narrow/stream/233931-xxx/topic/Only.20emit.20forward.20compatible.20v0.20symbol.20na.E2.80.A6.20compiler-team.23737)) (last review activity: about 48 days ago) + - "Partial compilation using MIR-only rlibs" [compiler-team#738](https://github.com/rust-lang/compiler-team/issues/738) ([Zulip](https://rust-lang.zulipchat.com/#narrow/stream/233931-xxx/topic/Partial.20compilation.20using.20MIR-only.20rlibs.20compiler-team.23738)) (last review activity: about 41 days ago) + - "Add Hotpatch flag" [compiler-team#745](https://github.com/rust-lang/compiler-team/issues/745) ([Zulip](https://rust-lang.zulipchat.com/#narrow/stream/233931-xxx/topic/Add.20Hotpatch.20flag.20compiler-team.23745)) (last review activity: about 6 days ago) +- Pending FCP requests (check your boxes!) + - merge: [Show files produced by `--emit foo` in json artifact notifications (rust#122597)](https://github.com/rust-lang/rust/pull/122597#issuecomment-2063945502) + - @**|116107** @**|125294** @**|248906** @**|426609** @**|116118** @**|232957** + - no pending concerns +- Things in FCP (make sure you're good with it) + - "Skip virtual drop for !needs_drop types" [compiler-team#730](https://github.com/rust-lang/compiler-team/issues/730) ([Zulip](https://rust-lang.zulipchat.com/#narrow/stream/233931-xxx/topic/Skip.20virtual.20drop.20for.20.21needs_drop.20types.20compiler-team.23730)) + - "Add `--emit=thin-link-bitcode` to enable distributed ThinLTO users" [compiler-team#735](https://github.com/rust-lang/compiler-team/issues/735) ([Zulip](https://rust-lang.zulipchat.com/#narrow/stream/233931-xxx/topic/Add.20.60-Zemit-thin-lto-index.3D.3Cpath.3E.60.20to.20ena.E2.80.A6.20compiler-team.23735)) + - "Add --print=check-cfg" [compiler-team#743](https://github.com/rust-lang/compiler-team/issues/743) ([Zulip](https://rust-lang.zulipchat.com/#narrow/stream/233931-xxx/topic/Add.20--print.3Dcheck-cfg.20compiler-team.23743)) + - "Support `-Cforce-frame-pointers=non-leaf`" [compiler-team#744](https://github.com/rust-lang/compiler-team/issues/744) ([Zulip](https://rust-lang.zulipchat.com/#narrow/stream/233931-xxx/topic/Support.20.60-Cforce-frame-pointers.3Dnon-leaf.60.20compiler-team.23744)) + - "Promote arm64ec-pc-windows-msvc to tier 2" [compiler-team#746](https://github.com/rust-lang/compiler-team/issues/746) ([Zulip](https://rust-lang.zulipchat.com/#narrow/stream/233931-xxx/topic/Promote.20arm64ec-pc-windows-msvc.20to.20tier.202.20compiler-team.23746)) + - "`-Zfixed-x18`" [compiler-team#748](https://github.com/rust-lang/compiler-team/issues/748) ([Zulip](https://rust-lang.zulipchat.com/#narrow/stream/233931-xxx/topic/.60-Cfixed-x18.60.20compiler-team.23748)) + - "Support C23's Variadics Without a Named Parameter" [rust#124048](https://github.com/rust-lang/rust/pull/124048) +- Accepted MCPs + - No new accepted proposals this time. +- MCPs blocked on unresolved concerns + - merge: [Add a new `--build-id` flag to rustc (compiler-team#635)](https://github.com/rust-lang/compiler-team/issues/635#issuecomment-1777545767) + - @_**|125250** @_**|116107** @_**|125294** @_**|123856** + - concerns: [other-existing-options (by petrochenkov)](https://github.com/rust-lang/compiler-team/issues/635#issuecomment-1779597156) [option-name (by wesleywiser)](https://github.com/rust-lang/compiler-team/issues/635#issuecomment-1785349936) + - "Retire the mailing list and make all decisions on zulip" [compiler-team#649](https://github.com/rust-lang/compiler-team/issues/649) ([Zulip](https://rust-lang.zulipchat.com/#narrow/stream/233931-xxx/topic/Retire.20the.20mailing.20list.20and.20make.20all.20deci.E2.80.A6.20compiler-team.23649)) + - concern: [single-point-of-failure-via-stream-archival](https://github.com/rust-lang/compiler-team/issues/649#issuecomment-1664056989) + - concern: [automatic-sync](https://github.com/rust-lang/compiler-team/issues/649#issuecomment-1618902660) + - merge: [Stabilize `--env-set` option (rust#119926)](https://github.com/rust-lang/rust/pull/119926#issuecomment-1898766442) + - @_**|119009** @_**|124288** @_**|123586** @_**|125250** @_**|119031** @_**|124287** @_**|116118** + - concerns: [other-rustc-vars (by petrochenkov)](https://github.com/rust-lang/rust/pull/119926#issuecomment-1900703005) + - merge: [allow overwriting the output of `rustc --version` (rust#124339)](https://github.com/rust-lang/rust/pull/124339#issuecomment-2075414901) + - @_**|248906** @_**|124287** @_**|426609** @_**|116118** @_**|216206** @_**|232957** + - concerns: [subsequent-crates-io-policy (by wesleywiser)](https://github.com/rust-lang/rust/pull/124339#issuecomment-2113331348) +- Finalized FCPs (disposition merge) + - No new finished FCP (disposition merge) this time. +- Other teams finalized FCPs + - "offset: allow zero-byte offset on arbitrary pointers" [rust#117329](https://github.com/rust-lang/rust/pull/117329) + +### WG checkins + +None + +## 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: "Add v0 symbol mangling for `f16` and `f128`" [rust#123816](https://github.com/rust-lang/rust/pull/123816) + - Authored by tgross35 + - Suggests backporting the first [commit](https://github.com/rust-lang/rust/pull/123816/commits/809b84edba988408071630b1e89a8c06be07aeed), low-risk and unblocks updating [compiler_builtins#125016](https://github.com/rust-lang/rust/pull/125016) ([comment](https://github.com/rust-lang/rust/pull/123816#issuecomment-2116383814) and [discussion on Zulip](https://rust-lang.zulipchat.com/#narrow/stream/131828-t-compiler/topic/Backport.20.20.23123816.20.28v0.20mangling.20for.20f16.20.26.20f128.29.20to.20beta)) + +- :beta: "Only make GAT ambiguous in `match_projection_projections` considering shallow resolvability" [rust#125214](https://github.com/rust-lang/rust/pull/125214) + - Authored by compiler-errors + - This revert will fix #125196, regression emerged in the latest beta crater run + - About: + > In #123537, I tweaked the hack from #93892 to use `resolve_vars_if_possible` instead of + > `shallow_resolve`. This considers more inference guidance ambiguous but resulted in a crater + > regressions. I've effectively reverted the change to the old behavior. That being + > said, I don't like this behavior, but I'd rather keep it for now since #123537 was not meant to + > make any behavioral changes. + +- :beta: "Update to LLVM 18.1.6" [rust#125288](https://github.com/rust-lang/rust/pull/125288) + - Authored by nikic + - perf. neutral, notable changes: + > Fixes #123695 (miscompile with wrapping pointer arithmetic). + > Fixes #125053 (compiler crash on M1). + > Also fixes https://bugzilla.redhat.com/show_bug.cgi?id=2226905 (crypto miscompile on s390x) + - [Big diff](https://github.com/rust-lang/llvm-project/compare/5399a24c66cb6164cf32280e7d300488c90d5765...b31c30a9bb4dbbd13c359d0e2bea7f65d20adf3f) and LLVM 18.1.6 [release notes](https://github.com/llvm/llvm-project/releases/tag/llvmorg-18.1.6) + +- No stable nominations for `T-compiler` this time. + +[T-types stable](https://github.com/rust-lang/rust/issues?q=is%3Aall+label%3Abeta-nominated+-label%3Abeta-accepted+label%3AT-types) / [T-types beta](https://github.com/rust-lang/rust/issues?q=is%3Aall+label%3Astable-nominated+-label%3Astable-accepted+label%3AT-types) +- No beta nominations for `T-types` this time. +- No stable nominations for `T-types` 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) +- "Show files produced by `--emit foo` in json artifact notifications" [rust#122597](https://github.com/rust-lang/rust/pull/122597) + - pending checkboxes from team members +- [Issues in progress or waiting on other teams](https://hackmd.io/XYr1BrOWSiqCrl8RCWXRaQ) + +## Issues of Note + +### Short Summary + +- [5 T-compiler P-critical issues](https://github.com/rust-lang/rust/issues?q=is%3Aopen+label%3AT-compiler+label%3AP-critical) + - [4 of those are unassigned](https://github.com/rust-lang/rust/issues?q=is%3Aopen+label%3AT-compiler+label%3AP-critical+no%3Aassignee) +- [63 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) +- [4 P-critical, 2 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, 0 P-high, 5 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, 36 P-high, 100 P-medium, 16 P-low regression-from-stable-to-stable](https://github.com/rust-lang/rust/labels/regression-from-stable-to-stable) + +### P-critical + +These are mostly all regressions in the latest beta crater run (feel free to downgrade priority, if necessary) + +[T-compiler](https://github.com/rust-lang/rust/issues?q=is%3Aopen+label%3AP-critical+label%3AT-compiler) +- "`-C target_cpu=cortex-a72` (and `-target-cpu=native` on Raspberry Pi) wrongly enables crypto features that are optional on Cortex-A72" [rust#125033](https://github.com/rust-lang/rust/issues/125033) + - Tracked in [llvm-project#90365](https://github.com/llvm/llvm-project/issues/90365#issuecomment-2117644294) +- "regression: opaque types got hidden types registered from within subtype predicate" [rust#125192](https://github.com/rust-lang/rust/issues/125192) + - Regressed in #123979, @_**oli** self-assigned so it's on their radar +- "regression: trait bound not satisfied" [rust#125194](https://github.com/rust-lang/rust/issues/125194) + - [Comment](https://github.com/rust-lang/rust/issues/125194#issuecomment-2116465608) from @**lcnr**: considering reverting in #119820 for one more beta +- "regression: type annotations needed" [rust#125196](https://github.com/rust-lang/rust/issues/125196) + - Fixed by @_**Michael Goulet (compiler-errors)** in #125194 (thanks!) +- "regression: ambiguous outer attributes" [rust#125199](https://github.com/rust-lang/rust/issues/125199) + - Comes from #124099, no owner yet for a fix + - [Question](https://github.com/rust-lang/rust/issues/125199#issuecomment-2122381178) from @_**apiraino**: + > How do we want to handle the changes in #124099? I don't see a mention of it being aware about breaking changes (PR was rolled up) + > i.e. just revert or try to fix? + +[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` 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) +- "False positive and highly misleading suggestions for the `non-local-definitions` lint" [rust#124396](https://github.com/rust-lang/rust/issues/124396) + - Fixed by #124539, beta-accepted +- "endless loop by running `cargo test` with toolchain 2024-05-14" [rust#125269](https://github.com/rust-lang/rust/issues/125269) + - @**lcnr** authored fix #125343 (thanks!), review in progress but waiting on #125413 first to fix a test ([comment](https://github.com/rust-lang/rust/pull/125413/files#diff-32f4e070dfb8a097027fb27ee48e089c2a0d94d99d1cf4078d7f579bc7c8cef4R5)) + +[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 2024-05-21](https://github.com/rust-lang/rustc-perf/blob/master/triage/2024-05-21.md) + +Fairly quiet week with the exception of a very large improvement coming from the switch to `rust-lld` on nightly Linux. This can have very large impacts on benchmarks where linking dominates the build time (e.g., `ripgrep`, `exa`, small binaries like `hello-world`). Aside from that change, there were a few small regressions that were either deemed worth it or are still being investigated. + +Triage done by **@rylev**. +Revision range: [9105c57b..1d0e4afd](https://perf.rust-lang.org/?start=9105c57b7f6623310e33f3ee7e48a3114e5190a7&end=1d0e4afd4cac09078e12a232508c3e9f8d42535d&absolute=false&stat=instructions%3Au) + +**Summary**: + +| (instructions:u) | mean | range | count | +|:------------------------:|:------:|:---------------:|:-----:| +| Regressions (primary) | 0.7% | [0.1%, 2.5%] | 30 | +| Regressions (secondary) | 0.5% | [0.2%, 0.8%] | 5 | +| Improvements (primary) | -30.4% | [-71.7%, -0.4%] | 35 | +| Improvements (secondary) | -25.6% | [-70.9%, -0.5%] | 75 | +| All (primary) | -16.1% | [-71.7%, 2.5%] | 65 | + + +4 Regressions, 1 Improvement, 4 Mixed; 2 of them in rollups +66 artifact comparisons made in total + +#### Regressions + +Add x86_64-unknown-linux-none target [#125023](https://github.com/rust-lang/rust/pull/125023) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=c45e831d8fcd33d656047ba97d263c4b91a00735&end=31026b7fe3e510a646eddeda838d1f0859f892e7&stat=instructions:u) + +| (instructions:u) | mean | range | count | +|:------------------------:|:----:|:------------:|:-----:| +| Regressions (primary) | 0.6% | [0.2%, 1.0%] | 3 | +| Regressions (secondary) | 0.4% | [0.4%, 0.4%] | 3 | +| Improvements (primary) | - | - | 0 | +| Improvements (secondary) | - | - | 0 | +| All (primary) | 0.6% | [0.2%, 1.0%] | 3 | +- Noise + + +Rollup of 6 pull requests [#125144](https://github.com/rust-lang/rust/pull/125144) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=3cb0030fe9de01eeacb7c03eeef0c51420798cfb&end=ade234d5743795423db6cc7cd52541390a088eab&stat=instructions:u) + +| (instructions:u) | mean | range | count | +|:------------------------:|:----:|:------------:|:-----:| +| Regressions (primary) | 0.5% | [0.2%, 1.2%] | 3 | +| Regressions (secondary) | - | - | 0 | +| Improvements (primary) | - | - | 0 | +| Improvements (secondary) | - | - | 0 | +| All (primary) | 0.5% | [0.2%, 1.2%] | 3 | + + +Update `expr` matcher for Edition 2024 and add `expr_2021` nonterminal [#123865](https://github.com/rust-lang/rust/pull/123865) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=1a7397988684934ae01a71f524bdfff24895d8cc&end=9b75a4388143a163b77fa7d458e4aa4dd34ac1bd&stat=instructions:u) + +| (instructions:u) | mean | range | count | +|:------------------------:|:----:|:------------:|:-----:| +| Regressions (primary) | 0.2% | [0.2%, 0.3%] | 5 | +| Regressions (secondary) | 0.5% | [0.2%, 1.7%] | 7 | +| Improvements (primary) | - | - | 0 | +| Improvements (secondary) | - | - | 0 | +| All (primary) | 0.2% | [0.2%, 0.3%] | 5 | +- It seems the primary benchmark affected by this html5ever seems to spend lots of time in expand_crate which could be impacted by this change. +- Asked authors and reviewer whether this is worth an investigation or not. + + +Update `unexpected_cfgs` lint for Cargo new `check-cfg` config [#125219](https://github.com/rust-lang/rust/pull/125219) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=be71fd477243f253a735bb35e0cd23cc528cf30a&end=b92758a9aef1cef7b79e2b72c3d8ba113e547f89&stat=instructions:u) + +| (instructions:u) | mean | range | count | +|:------------------------:|:----:|:------------:|:-----:| +| Regressions (primary) | 0.8% | [0.2%, 2.5%] | 21 | +| Regressions (secondary) | 0.2% | [0.2%, 0.2%] | 1 | +| Improvements (primary) | - | - | 0 | +| Improvements (secondary) | - | - | 0 | +| All (primary) | 0.8% | [0.2%, 2.5%] | 21 | +- Somewhat further fall out from https://github.com/rust-lang/rust/pull/124684. This adds additional output which will slow down benchmarks which emit this warning particularly often. +- We're likely ok with this given this is the "unhappy path". + + +#### Improvements + +Enable `rust-lld` on nightly `x86_64-unknown-linux-gnu` [#124129](https://github.com/rust-lang/rust/pull/124129) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=fa37db51ac2ba8d20eb88079cb3234d0072c5c3a&end=8af67ba01a1b1d95ff375b645ef5a395d3249e09&stat=instructions:u) + +| (instructions:u) | mean | range | count | +|:------------------------:|:------:|:---------------:|:-----:| +| Regressions (primary) | - | - | 0 | +| Regressions (secondary) | - | - | 0 | +| Improvements (primary) | -30.8% | [-71.8%, -0.5%] | 31 | +| Improvements (secondary) | -25.6% | [-70.9%, -0.5%] | 75 | +| All (primary) | -30.8% | [-71.8%, -0.5%] | 31 | + + +#### Mixed + +Rollup of 7 pull requests [#125120](https://github.com/rust-lang/rust/pull/125120) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=bdfd941f4dcbe54e0283433ac970febf4092fa6a&end=ac385a5af6d9fa8399a0cec799833cd28324abf8&stat=instructions:u) + +| (instructions:u) | mean | range | count | +|:------------------------:|:-----:|:--------------:|:-----:| +| Regressions (primary) | 0.2% | [0.2%, 0.2%] | 2 | +| Regressions (secondary) | 0.5% | [0.3%, 1.0%] | 12 | +| Improvements (primary) | - | - | 0 | +| Improvements (secondary) | -0.4% | [-0.5%, -0.4%] | 2 | +| All (primary) | 0.2% | [0.2%, 0.2%] | 2 | +- Caused by https://github.com/rust-lang/rust/pull/125088. Asked the author/reviewers whether this is worth following up on. + + +Remove bound checks from `BorrowedBuf` and `BorrowedCursor` methods [#123786](https://github.com/rust-lang/rust/pull/123786) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=698293518de49ac79eb7874e97557f8e2eabda06&end=959a67a7f2215d80b55e765d6c4b3f5a711ad484&stat=instructions:u) + +| (instructions:u) | mean | range | count | +|:------------------------:|:-----:|:--------------:|:-----:| +| Regressions (primary) | 0.8% | [0.8%, 0.8%] | 1 | +| Regressions (secondary) | 1.3% | [1.3%, 1.3%] | 1 | +| Improvements (primary) | -1.7% | [-1.7%, -1.7%] | 1 | +| Improvements (secondary) | - | - | 0 | +| All (primary) | -0.5% | [-1.7%, 0.8%] | 2 | +- Noise + + +optimize inplace collection of Vec [#123878](https://github.com/rust-lang/rust/pull/123878) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=d84b9037541f45dc2c52a41d723265af211c0497&end=12075f04e677de64f740687f601114e2a21e09ca&stat=instructions:u) + +| (instructions:u) | mean | range | count | +|:------------------------:|:------:|:---------------:|:-----:| +| Regressions (primary) | 1.4% | [0.3%, 2.9%] | 3 | +| Regressions (secondary) | 0.3% | [0.2%, 0.3%] | 2 | +| Improvements (primary) | -22.7% | [-37.4%, -0.4%] | 5 | +| Improvements (secondary) | - | - | 0 | +| All (primary) | -13.7% | [-37.4%, 2.9%] | 8 | +- Improvements vastly outweigh the regressions which seemed to have returned to baseline after this PR. + + +Follow-up fixes to `report_return_mismatched_types` [#123812](https://github.com/rust-lang/rust/pull/123812) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=1d0e4afd4cac09078e12a232508c3e9f8d42535d&end=e8753914580fb42554a79a4b5c5fb4cc98933231&stat=instructions:u) + +| (instructions:u) | mean | range | count | +|:------------------------:|:-----:|:--------------:|:-----:| +| Regressions (primary) | 1.1% | [0.6%, 1.8%] | 3 | +| Regressions (secondary) | 0.2% | [0.1%, 0.2%] | 6 | +| Improvements (primary) | - | - | 0 | +| Improvements (secondary) | -1.1% | [-1.1%, -1.1%] | 2 | +| All (primary) | 1.1% | [0.6%, 1.8%] | 3 | +- Single benchmark with a large regression. Asked author to investigate. + +## 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) +- TODO + +## Next week's WG checkins + +- @_*WG-async* by @**nikomatsakis** and @**tmandry** +- @_*WG-diagnostics* by @**Esteban Küber** and @**oli** + +Next meetings' agenda draft: [hackmd link](https://hackmd.io/khtxxG3CQ5KkoiqKDN_qug) diff --git a/content/minutes/triage-meeting/T-compiler Meeting Agenda 2024-05-30.md b/content/minutes/triage-meeting/T-compiler Meeting Agenda 2024-05-30.md new file mode 100644 index 00000000..1a03cddc --- /dev/null +++ b/content/minutes/triage-meeting/T-compiler Meeting Agenda 2024-05-30.md @@ -0,0 +1,327 @@ +--- +tags: weekly, rustc +type: docs +note_id: khtxxG3CQ5KkoiqKDN_qug +--- + +# T-compiler Meeting Agenda 2024-05-30 + +## Announcements + +- Friday [steering meeting]: Project Goals by @_**nikomatsakis** +- 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). + +## 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) + - "Add hygiene attributes to compile expanded source code" [compiler-team#692](https://github.com/rust-lang/compiler-team/issues/692) ([Zulip](https://rust-lang.zulipchat.com/#narrow/stream/233931-xxx/topic/Add.20option.20to.20compile.20expanded.20ASTs.20for.20h.E2.80.A6.20compiler-team.23692)) (last review activity: 4 months ago) + - concern: [added-complexity-to-frontend](https://github.com/rust-lang/compiler-team/issues/692#issuecomment-1845169318) + - "Target families for executable format" [compiler-team#716](https://github.com/rust-lang/compiler-team/issues/716) ([Zulip](https://rust-lang.zulipchat.com/#narrow/stream/233931-xxx/topic/Target.20families.20for.20executable.20format.20compiler-team.23716)) (last review activity: 3 months ago) + - "Promote riscv64gc-unknown-linux-musl to tier 2" [compiler-team#728](https://github.com/rust-lang/compiler-team/issues/728) ([Zulip](https://rust-lang.zulipchat.com/#narrow/stream/233931-xxx/topic/Promote.20riscv64gc-unknown-linux-gnu.20to.20ti.E2.80.A6.20compiler-team.23728)) (last review activity: 2 months ago) + - "Only emit forward compatible v0 symbol names with graceful degradation" [compiler-team#737](https://github.com/rust-lang/compiler-team/issues/737) ([Zulip](https://rust-lang.zulipchat.com/#narrow/stream/233931-xxx/topic/Only.20emit.20forward.20compatible.20v0.20symbol.20na.E2.80.A6.20compiler-team.23737)) (last review activity: about 54 days ago) + - "Partial compilation using MIR-only rlibs" [compiler-team#738](https://github.com/rust-lang/compiler-team/issues/738) ([Zulip](https://rust-lang.zulipchat.com/#narrow/stream/233931-xxx/topic/Partial.20compilation.20using.20MIR-only.20rlibs.20compiler-team.23738)) (last review activity: about 47 days ago) + - "Add Hotpatch flag" [compiler-team#745](https://github.com/rust-lang/compiler-team/issues/745) ([Zulip](https://rust-lang.zulipchat.com/#narrow/stream/233931-xxx/topic/Add.20Hotpatch.20flag.20compiler-team.23745)) (last review activity: about 13 days ago) + - "Add a `--emit=nameres` for IDEs" [compiler-team#749](https://github.com/rust-lang/compiler-team/issues/749) ([Zulip](https://rust-lang.zulipchat.com/#narrow/stream/233931-xxx/topic/Add.20a.20.60--emit.3Dnameres.60.20for.20IDEs.20compiler-team.23749)) (last review activity: about 5 days ago) + - "Fully rustfmt `use` declarations" [compiler-team#750](https://github.com/rust-lang/compiler-team/issues/750) ([Zulip](https://rust-lang.zulipchat.com/#narrow/stream/233931-xxx/topic/.28My.20major.20change.20proposal.29.20compiler-team.23750)) (last review activity: about 5 days ago) +- Pending FCP requests (check your boxes!) + - merge: [Add a new `--build-id` flag to rustc (compiler-team#635)](https://github.com/rust-lang/compiler-team/issues/635#issuecomment-1777545767) + - @_**|125250** @_**|116107** @_**|125294** @_**|123856** + - concerns: [other-existing-options (by petrochenkov)](https://github.com/rust-lang/compiler-team/issues/635#issuecomment-1779597156) [option-name (by wesleywiser)](https://github.com/rust-lang/compiler-team/issues/635#issuecomment-1785349936) + - "Retire the mailing list and make all decisions on zulip" [compiler-team#649](https://github.com/rust-lang/compiler-team/issues/649) ([Zulip](https://rust-lang.zulipchat.com/#narrow/stream/233931-xxx/topic/Retire.20the.20mailing.20list.20and.20make.20all.20deci.E2.80.A6.20compiler-team.23649)) + - concern: [automatic-sync](https://github.com/rust-lang/compiler-team/issues/649#issuecomment-1618902660) + - merge: [Stabilize `--env-set` option (rust#119926)](https://github.com/rust-lang/rust/pull/119926#issuecomment-1898766442) + - @_**|119009** @_**|124288** @_**|123586** @_**|125250** @_**|119031** @_**|124287** @_**|116118** + - concerns: [other-rustc-vars (by petrochenkov)](https://github.com/rust-lang/rust/pull/119926#issuecomment-1900703005) + - merge: [sanitizers: stabilize core sanitizers (i.e., AddressSanitizer, LeakSanitizer, MemorySanitizer, ThreadSanitizer) (rust#123617)](https://github.com/rust-lang/rust/pull/123617#issuecomment-2135121317) + - @_**|119009** @_**|116083** @_**|124288** @_**|123586** @_**|125250** @_**|119031** @_**|124287** @_**|426609** @_**|123856** @_**|116118** @_**|232957** + - no pending concerns + - merge: [allow overwriting the output of `rustc --version` (rust#124339)](https://github.com/rust-lang/rust/pull/124339#issuecomment-2075414901) + - @_**|248906** @_**|426609** @_**|116118** @_**|216206** @_**|232957** + - no pending concerns + - merge: [Add `--print host-triple` to print host target triple (rust#125579)](https://github.com/rust-lang/rust/pull/125579#issuecomment-2133192548) + - @_**|119009** @_**|116083** @_**|123586** @_**|125250** @_**|426609** @_**|116118** @_**|232957** + - concerns: [triple vs tuple (by lcnr)](https://github.com/rust-lang/rust/pull/125579#issuecomment-2133938172) +- Things in FCP (make sure you're good with it) + - "Promote arm64ec-pc-windows-msvc to tier 2" [compiler-team#746](https://github.com/rust-lang/compiler-team/issues/746) ([Zulip](https://rust-lang.zulipchat.com/#narrow/stream/233931-xxx/topic/Promote.20arm64ec-pc-windows-msvc.20to.20tier.202.20compiler-team.23746)) + - "Promote loongarch64-unknown-linux-musl to tier 2" [compiler-team#753](https://github.com/rust-lang/compiler-team/issues/753) ([Zulip](https://rust-lang.zulipchat.com/#narrow/stream/233931-xxx/topic/Promote.20loongarch64-unknown-linux-musl.20to.E2.80.A6.20compiler-team.23753)) + - "Show files produced by `--emit foo` in json artifact notifications" [rust#122597](https://github.com/rust-lang/rust/pull/122597) +- Accepted MCPs + - "Skip virtual drop for !needs_drop types" [compiler-team#730](https://github.com/rust-lang/compiler-team/issues/730) ([Zulip](https://rust-lang.zulipchat.com/#narrow/stream/233931-xxx/topic/Skip.20virtual.20drop.20for.20.21needs_drop.20types.20compiler-team.23730)) + - "Add `--emit=thin-link-bitcode` to enable distributed ThinLTO users" [compiler-team#735](https://github.com/rust-lang/compiler-team/issues/735) ([Zulip](https://rust-lang.zulipchat.com/#narrow/stream/233931-xxx/topic/Add.20.60-Zemit-thin-lto-index.3D.3Cpath.3E.60.20to.20ena.E2.80.A6.20compiler-team.23735)) + - "Add --print=check-cfg" [compiler-team#743](https://github.com/rust-lang/compiler-team/issues/743) ([Zulip](https://rust-lang.zulipchat.com/#narrow/stream/233931-xxx/topic/Add.20--print.3Dcheck-cfg.20compiler-team.23743)) + - "Support `-Cforce-frame-pointers=non-leaf`" [compiler-team#744](https://github.com/rust-lang/compiler-team/issues/744) ([Zulip](https://rust-lang.zulipchat.com/#narrow/stream/233931-xxx/topic/Support.20.60-Cforce-frame-pointers.3Dnon-leaf.60.20compiler-team.23744)) + - "`-Zfixed-x18`" [compiler-team#748](https://github.com/rust-lang/compiler-team/issues/748) ([Zulip](https://rust-lang.zulipchat.com/#narrow/stream/233931-xxx/topic/.60-Cfixed-x18.60.20compiler-team.23748)) +- Finalized FCPs (disposition merge) + - No new finished FCP (disposition merge) this time. +- Other teams finalized FCPs + - "Tracking Issue for asm_const" [rust#93332](https://github.com/rust-lang/rust/issues/93332) + - "Edition 2024: Make `!` fall back to `!`" [rust#123508](https://github.com/rust-lang/rust/pull/123508) + - "Edition 2024: don't special-case diverging blocks" [rust#123590](https://github.com/rust-lang/rust/pull/123590) + - "Turn remaining non-structural-const-in-pattern lints into hard errors" [rust#124661](https://github.com/rust-lang/rust/pull/124661) + +### WG checkins + +- @_*WG-async* by @**nikomatsakis** and @**tmandry** + > Checkin text + +- @_*WG-diagnostics* by @**Esteban Küber** and @**oli** + > Checkin text + +## 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: "Fix ICE in non-operand `aggregate_raw_ptr` intrinsic codegen" [rust#125184](https://github.com/rust-lang/rust/pull/125184) + - Authored by scottmcm + - Ben nominated: + > I would like this in beta so that the stage0 compiler does not ICE if it gets passed -Zmir-opt-level=0. Yes I can work around this issue without huge difficulty, but the diff here is so small. + +- :beta: "Revert problematic opaque type change" [rust#125489](https://github.com/rust-lang/rust/pull/125489) + - Authored by oli-obk + - Fixes P-critical beta regression + +- :beta: "[BETA] revert leak check changes" [rust#125629](https://github.com/rust-lang/rust/pull/125629) + - Authored by lcnr + - Fixes P-critical beta regression + +- :beta: "ast: Revert a breaking attribute visiting order change #125734" + - Authored by petrochenkov + - Fixes P-high beta regression + +- No stable nominations for `T-compiler` this time. + +[T-types stable](https://github.com/rust-lang/rust/issues?q=is%3Aall+label%3Abeta-nominated+-label%3Abeta-accepted+label%3AT-types) / [T-types beta](https://github.com/rust-lang/rust/issues?q=is%3Aall+label%3Astable-nominated+-label%3Astable-accepted+label%3AT-types) +- No beta nominations for `T-types` this time. +- No stable nominations for `T-types` 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) +- [Issues in progress or waiting on other teams](https://hackmd.io/XYr1BrOWSiqCrl8RCWXRaQ) + +## Issues of Note + +### Short Summary + +- [4 T-compiler P-critical issues](https://github.com/rust-lang/rust/issues?q=is%3Aopen+label%3AT-compiler+label%3AP-critical) + - [3 of those are unassigned](https://github.com/rust-lang/rust/issues?q=is%3Aopen+label%3AT-compiler+label%3AP-critical+no%3Aassignee) +- [64 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) +- [3 P-critical, 1 P-high, 2 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, 0 P-high, 5 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, 36 P-high, 100 P-medium, 16 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) +- "`-C target_cpu=cortex-a72` (and `-target-cpu=native` on Raspberry Pi) wrongly enables crypto features that are optional on Cortex-A72" [rust#125033](https://github.com/rust-lang/rust/issues/125033) + - Discussed extensively last week +- "regression: trait bound not satisfied" [rust#125194](https://github.com/rust-lang/rust/issues/125194) + - Fix was beta nominated +- "regression: type annotations needed" [rust#125196](https://github.com/rust-lang/rust/issues/125196) +- "regression: ambiguous outer attributes" [rust#125199](https://github.com/rust-lang/rust/issues/125199) + +[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` 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: cannot find macro in scope" [rust#125201](https://github.com/rust-lang/rust/issues/125201) + - Fix was beta nominated + +[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 + +# 2024-05-27 Triage Log + +A relatively quiet week, with few large changes, the largest driven by further +increasing the scope of unsafe precondition checking. + +Triage done by **@simulacrum**. +Revision range: [1d0e4afd..a59072ec](https://perf.rust-lang.org/?start=1d0e4afd4cac09078e12a232508c3e9f8d42535d&end=a59072ec4fb6824213df5e9de8cae4812fd4fe97&absolute=false&stat=instructions%3Au) + +**Summary**: + +| (instructions:u) | mean | range | count | +|:----------------------------------:|:-----:|:--------------:|:-----:| +| Regressions ❌
(primary) | 1.6% | [0.2%, 6.3%] | 84 | +| Regressions ❌
(secondary) | 0.9% | [0.1%, 3.8%] | 66 | +| Improvements ✅
(primary) | -0.4% | [-2.3%, -0.2%] | 37 | +| Improvements ✅
(secondary) | -1.7% | [-3.8%, -0.2%] | 22 | +| All ❌✅ (primary) | 1.0% | [-2.3%, 6.3%] | 121 | + +2 Regressions, 3 Improvements, 5 Mixed; 3 of them in rollups +51 artifact comparisons made in total + +#### Regressions + +Rewrite native thread-local storage [#116123](https://github.com/rust-lang/rust/pull/116123) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=ed172dbbaf1c702b99da54554b33b3fe65021da9&end=9c8a58fdb895204cb19eeb97472a78caa1c57c19&stat=instructions:u) + +| (instructions:u) | mean | range | count | +|:----------------------------------:|:----:|:------------:|:-----:| +| Regressions ❌
(primary) | 0.4% | [0.2%, 1.2%] | 10 | +| Regressions ❌
(secondary) | 1.0% | [0.7%, 1.6%] | 9 | +| Improvements ✅
(primary) | - | - | 0 | +| Improvements ✅
(secondary) | - | - | 0 | +| All ❌✅ (primary) | 0.4% | [0.2%, 1.2%] | 10 | + +Regressions deemed worth the overall change's contents (see +https://github.com/rust-lang/rust/pull/116123#issuecomment-2009408868). The TLS +state is now stored in a single thread-local object rather than two, which +should decrease costs of addressing it in general (modulo LLVM difficulties). + +Rollup of 6 pull requests [#125463](https://github.com/rust-lang/rust/pull/125463) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=78dd504f2fd87c0cfabff7d9174253411caf2f80&end=7601adcc764d42c9f2984082b49948af652df986&stat=instructions:u) + +| (instructions:u) | mean | range | count | +|:----------------------------------:|:-----:|:--------------:|:-----:| +| Regressions ❌
(primary) | 1.4% | [1.1%, 2.0%] | 8 | +| Regressions ❌
(secondary) | 1.0% | [0.4%, 1.8%] | 23 | +| Improvements ✅
(primary) | -0.5% | [-0.5%, -0.5%] | 1 | +| Improvements ✅
(secondary) | -0.3% | [-0.3%, -0.3%] | 1 | +| All ❌✅ (primary) | 1.2% | [-0.5%, 2.0%] | 9 | + +Likely related to fixing an issue around LLD discovery, see +https://github.com/rust-lang/rust/pull/125463#issuecomment-2129069901. Bugfix +warrants spending a bit more time. + +#### Improvements + +Move the checks for Arguments constructors to inline const [#125518](https://github.com/rust-lang/rust/pull/125518) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=0a59f113629aafb6e5ee55ad04a2d451a11d8466&end=75e2c5dcd0ddce0fe0eb3d4a2195cd51073c729b&stat=instructions:u) + +| (instructions:u) | mean | range | count | +|:----------------------------------:|:-----:|:--------------:|:-----:| +| Regressions ❌
(primary) | - | - | 0 | +| Regressions ❌
(secondary) | - | - | 0 | +| Improvements ✅
(primary) | -0.5% | [-0.7%, -0.3%] | 5 | +| Improvements ✅
(secondary) | -0.5% | [-0.9%, -0.4%] | 7 | +| All ❌✅ (primary) | -0.5% | [-0.7%, -0.3%] | 5 | + + +Remove `DefId` from `EarlyParamRegion` [#125468](https://github.com/rust-lang/rust/pull/125468) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=cdc509f7c09361466d543fc8311ce7066b10cc4f&end=fec98b3bbc94b54a0b3085d004708aabcc48081a&stat=instructions:u) + +| (instructions:u) | mean | range | count | +|:----------------------------------:|:-----:|:--------------:|:-----:| +| Regressions ❌
(primary) | - | - | 0 | +| Regressions ❌
(secondary) | - | - | 0 | +| Improvements ✅
(primary) | -0.4% | [-0.9%, -0.2%] | 48 | +| Improvements ✅
(secondary) | -0.8% | [-2.0%, -0.3%] | 19 | +| All ❌✅ (primary) | -0.4% | [-0.9%, -0.2%] | 48 | + + +[perf] Delay the construction of early lint diag structs [#125410](https://github.com/rust-lang/rust/pull/125410) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=fec98b3bbc94b54a0b3085d004708aabcc48081a&end=b582f807fae230b22ac126ff1d8a13262bb099ba&stat=instructions:u) + +| (instructions:u) | mean | range | count | +|:----------------------------------:|:-----:|:--------------:|:-----:| +| Regressions ❌
(primary) | - | - | 0 | +| Regressions ❌
(secondary) | - | - | 0 | +| Improvements ✅
(primary) | -0.5% | [-0.7%, -0.3%] | 12 | +| Improvements ✅
(secondary) | -2.0% | [-2.8%, -1.2%] | 13 | +| All ❌✅ (primary) | -0.5% | [-0.7%, -0.3%] | 12 | + + +#### Mixed + +Follow-up fixes to `report_return_mismatched_types` [#123812](https://github.com/rust-lang/rust/pull/123812) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=1d0e4afd4cac09078e12a232508c3e9f8d42535d&end=e8753914580fb42554a79a4b5c5fb4cc98933231&stat=instructions:u) + +| (instructions:u) | mean | range | count | +|:----------------------------------:|:-----:|:--------------:|:-----:| +| Regressions ❌
(primary) | 1.1% | [0.6%, 1.8%] | 3 | +| Regressions ❌
(secondary) | 0.2% | [0.1%, 0.2%] | 6 | +| Improvements ✅
(primary) | - | - | 0 | +| Improvements ✅
(secondary) | -1.1% | [-1.1%, -1.1%] | 2 | +| All ❌✅ (primary) | 1.1% | [0.6%, 1.8%] | 3 | + +Seems to be limited primarily to one scenario in regex, with lots of new +metadata decoding. Asked for follow-up by PR author. + +Make early lints translatable [#124417](https://github.com/rust-lang/rust/pull/124417) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=39e02f1bd1e53d009da382654139f7c0639172a8&end=791adf759cc065316f054961875052d5bc03e16c&stat=instructions:u) + +| (instructions:u) | mean | range | count | +|:----------------------------------:|:-----:|:--------------:|:-----:| +| Regressions ❌
(primary) | 1.5% | [0.2%, 6.3%] | 66 | +| Regressions ❌
(secondary) | 0.4% | [0.3%, 0.5%] | 7 | +| Improvements ✅
(primary) | - | - | 0 | +| Improvements ✅
(secondary) | -0.7% | [-1.1%, -0.6%] | 12 | +| All ❌✅ (primary) | 1.5% | [0.2%, 6.3%] | 66 | + +Regressions are partially mitigated by #125410 (see earlier in the report). +Further follow-up is expected to investigate closing remaining gap +(https://github.com/rust-lang/rust/pull/124417#issuecomment-2126056523). + +Panic directly in Arguments::new* instead of recursing [#117804](https://github.com/rust-lang/rust/pull/117804) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=9c8a58fdb895204cb19eeb97472a78caa1c57c19&end=606afbb617a2949a4e35c4b0258ff94c980b9451&stat=instructions:u) + +| (instructions:u) | mean | range | count | +|:----------------------------------:|:-----:|:--------------:|:-----:| +| Regressions ❌
(primary) | 0.3% | [0.3%, 0.3%] | 2 | +| Regressions ❌
(secondary) | 0.4% | [0.1%, 0.9%] | 9 | +| Improvements ✅
(primary) | -0.5% | [-0.5%, -0.5%] | 1 | +| Improvements ✅
(secondary) | - | - | 0 | +| All ❌✅ (primary) | 0.0% | [-0.5%, 0.3%] | 3 | + +Regressions are likely to be inliner noise, not meaningful changes. + +Rollup of 7 pull requests [#125456](https://github.com/rust-lang/rust/pull/125456) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=606afbb617a2949a4e35c4b0258ff94c980b9451&end=5baee04b6349d176440cb1fcd5424a89f67b9f7b&stat=instructions:u) + +| (instructions:u) | mean | range | count | +|:----------------------------------:|:-----:|:--------------:|:-----:| +| Regressions ❌
(primary) | - | - | 0 | +| Regressions ❌
(secondary) | 0.3% | [0.2%, 0.4%] | 8 | +| Improvements ✅
(primary) | -0.3% | [-0.4%, -0.3%] | 2 | +| Improvements ✅
(secondary) | -0.5% | [-0.9%, -0.4%] | 7 | +| All ❌✅ (primary) | -0.3% | [-0.4%, -0.3%] | 2 | + +Seems plausible that the regression is due to #124389 (since it affected derive +macros). But also seems not worth further investigation given it's a secondary +benchmark and minimal impact. Marked as triaged. + +Add assert_unsafe_precondition to unchecked_{add,sub,neg,mul,shl,shr} methods [#121571](https://github.com/rust-lang/rust/pull/121571) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=14562ddf8c4302a52c72c9c71f5be6516fec5537&end=48f00110d0dae38b3046a9ac05d20ea321fd6637&stat=instructions:u) + +| (instructions:u) | mean | range | count | +|:----------------------------------:|:-----:|:--------------:|:-----:| +| Regressions ❌
(primary) | 1.5% | [0.2%, 3.4%] | 27 | +| Regressions ❌
(secondary) | 1.8% | [0.4%, 3.8%] | 5 | +| Improvements ✅
(primary) | -0.9% | [-2.5%, -0.3%] | 5 | +| Improvements ✅
(secondary) | - | - | 0 | +| All ❌✅ (primary) | 1.1% | [-2.5%, 3.4%] | 32 | + +Regressions are likely expected as we're lowering more code that's late-removed. + +## 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 + +None this week + +Next meetings' agenda draft: [hackmd link](#)