From 441fae564ed19456519565c4c6968968ae27ddca Mon Sep 17 00:00:00 2001 From: apiraino Date: Thu, 7 Mar 2024 15:35:52 +0100 Subject: [PATCH] Add T-compiler meeting notes 02/24 --- .../T-compiler Meeting Agenda 2024-02-01.md | 299 ++++++++++++ .../T-compiler Meeting Agenda 2024-02-08.md | 217 +++++++++ .../T-compiler Meeting Agenda 2024-02-15.md | 435 ++++++++++++++++++ .../T-compiler Meeting Agenda 2024-02-22.md | 304 ++++++++++++ .../T-compiler Meeting Agenda 2024-02-29.md | 346 ++++++++++++++ 5 files changed, 1601 insertions(+) create mode 100644 content/minutes/triage-meeting/T-compiler Meeting Agenda 2024-02-01.md create mode 100644 content/minutes/triage-meeting/T-compiler Meeting Agenda 2024-02-08.md create mode 100644 content/minutes/triage-meeting/T-compiler Meeting Agenda 2024-02-15.md create mode 100644 content/minutes/triage-meeting/T-compiler Meeting Agenda 2024-02-22.md create mode 100644 content/minutes/triage-meeting/T-compiler Meeting Agenda 2024-02-29.md diff --git a/content/minutes/triage-meeting/T-compiler Meeting Agenda 2024-02-01.md b/content/minutes/triage-meeting/T-compiler Meeting Agenda 2024-02-01.md new file mode 100644 index 00000000..d481e696 --- /dev/null +++ b/content/minutes/triage-meeting/T-compiler Meeting Agenda 2024-02-01.md @@ -0,0 +1,299 @@ +--- +tags: weekly, rustc +type: docs +note_id: zW1EBQGZQ2yVhGBlvlPPpg +--- + +# T-compiler Meeting Agenda 2024-02-01 + +## Announcements + +- No T-compiler meeting according [to the calendar file](https://github.com/rust-lang/calendar/blob/main/compiler.events-only.toml) +- Feb 8th, Rust 1.76 stable release +- There's Rustc Dev Guide reading club initiative in case you want to join, [more info here](https://rust-lang.zulipchat.com/#narrow/stream/131828-t-compiler/topic/Rustc.20dev.20guide.20reading.20club) +- 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 +- Stable MIR Weekly Meeting + +## MCPs/FCPs + +- New MCPs (take a look, see if you like them!) + - "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)) + - "Promote tier 3 arm64e-apple-darwin target to tier 2" [compiler-team#717](https://github.com/rust-lang/compiler-team/issues/717) ([Zulip](https://rust-lang.zulipchat.com/#narrow/stream/233931-xxx/topic/Promote.20tier.203.20arm64e-apple-darwin.20target.E2.80.A6.20compiler-team.23717)) + - "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)) +- 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: about 15 days ago) + - concern: [added-complexity-to-frontend](https://github.com/rust-lang/compiler-team/issues/692#issuecomment-1845169318) + - "Introduce perma-unstable `wasm-c-abi` flag" [compiler-team#703](https://github.com/rust-lang/compiler-team/issues/703) ([Zulip](https://rust-lang.zulipchat.com/#narrow/stream/233931-xxx/topic/Introduce.20perma-unstable.20.60wasm-c-abi.60.20flag.20compiler-team.23703)) (last review activity: about 47 days ago) + - "Support patchable-function-entry" [compiler-team#704](https://github.com/rust-lang/compiler-team/issues/704) ([Zulip](https://rust-lang.zulipchat.com/#narrow/stream/233931-xxx/topic/Support.20patchable-function-entry.20compiler-team.23704)) (last review activity: about 47 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: [option-name](https://github.com/rust-lang/compiler-team/issues/635#issuecomment-1785349936) + - concern: [other-existing-options](https://github.com/rust-lang/compiler-team/issues/635#issuecomment-1779597156) + - "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 `--json=unused-externs(-silent)`" [compiler-team#674](https://github.com/rust-lang/compiler-team/issues/674) ([Zulip](https://rust-lang.zulipchat.com/#narrow/stream/233931-xxx/topic/Stabilize.20.60--json.3Dunused-externs.28-silent.29.60.20compiler-team.23674)) + - "Support overriding `warnings` level for a specific lint via command line" [rust#113307](https://github.com/rust-lang/rust/pull/113307) + - "Update Windows platform support" [rust#115141](https://github.com/rust-lang/rust/pull/115141) + - "Stabilize Wasm target features that are in phase 4 and 5" [rust#117457](https://github.com/rust-lang/rust/pull/117457) + - "Stabilize `--env-set` option" [rust#119926](https://github.com/rust-lang/rust/pull/119926) +- Things in FCP (make sure you're good with it) + - "Add a stable flag to enable/disable codegen UB checks" [compiler-team#625](https://github.com/rust-lang/compiler-team/issues/625) ([Zulip](https://rust-lang.zulipchat.com/#narrow/stream/233931-xxx/topic/Add.20a.20blanket.20flag.20to.20enable.2Fdisable.20code.E2.80.A6.20compiler-team.23625)) + - "Stabilize `--json=unused-externs(-silent)`" [compiler-team#674](https://github.com/rust-lang/compiler-team/issues/674) ([Zulip](https://rust-lang.zulipchat.com/#narrow/stream/233931-xxx/topic/Stabilize.20.60--json.3Dunused-externs.28-silent.29.60.20compiler-team.23674)) + - "Semantics of `-Cinstrument-coverage=all`" [compiler-team#690](https://github.com/rust-lang/compiler-team/issues/690) ([Zulip](https://rust-lang.zulipchat.com/#narrow/stream/233931-xxx/topic/Semantics.20of.20.60-Cinstrument-coverage.3Dall.60.20compiler-team.23690)) + - "New Tier-3 target: `wasm32-wasi-preview2`" [compiler-team#694](https://github.com/rust-lang/compiler-team/issues/694) ([Zulip](https://rust-lang.zulipchat.com/#narrow/stream/233931-xxx/topic/New.20Tier-3.20target.3A.20.60wasm32-wasi-preview2.60.20compiler-team.23694)) + - "Provide option to shorten symbol names by replacing them with a digest" [compiler-team#705](https://github.com/rust-lang/compiler-team/issues/705) ([Zulip](https://rust-lang.zulipchat.com/#narrow/stream/233931-xxx/topic/new.20option.20to.20reduce.20the.20size.20of.20dylib.20compiler-team.23705)) + - "uplift some -Zverbose calls and rename to -Zverbose-internals" [compiler-team#706](https://github.com/rust-lang/compiler-team/issues/706) ([Zulip](https://rust-lang.zulipchat.com/#narrow/stream/233931-xxx/topic/merge.20-Zverbose.20into.20--verbose.20compiler-team.23706)) + - "Add -Z direct-access-external-data" [compiler-team#707](https://github.com/rust-lang/compiler-team/issues/707) ([Zulip](https://rust-lang.zulipchat.com/#narrow/stream/233931-xxx/topic/Add.20-Z.20direct-access-external-data.20compiler-team.23707)) + - "Promote tier 3 `*-pc-windows-gnullvm` targets to tier 2" [compiler-team#710](https://github.com/rust-lang/compiler-team/issues/710) ([Zulip](https://rust-lang.zulipchat.com/#narrow/stream/233931-xxx/topic/Promote.20tier.203.20.60.2A-pc-windows-gnullvm.60.20tar.E2.80.A6.20compiler-team.23710)) + - "Unstably support MIR-only rlibs" [compiler-team#713](https://github.com/rust-lang/compiler-team/issues/713) ([Zulip](https://rust-lang.zulipchat.com/#narrow/stream/233931-xxx/topic/Unstably.20support.20MIR-only.20rlibs.20compiler-team.23713)) +- Accepted MCPs + - "Smooth the renaming transition of `wasm32-wasi`" [compiler-team#695](https://github.com/rust-lang/compiler-team/issues/695) ([Zulip](https://rust-lang.zulipchat.com/#narrow/stream/233931-xxx/topic/Smooth.20the.20renaming.20transition.20of.20.60wasm32.E2.80.A6.20compiler-team.23695)) +- Finalized FCPs (disposition merge) + - No new finished FCP (disposition merge) this time. + +@*T-compiler/meeting* Reminder to not forget giving a glance at MCPs in the FCP phase (if there are any in your area of expertise/interest). Thanks! +(@**apiraino** wonders if at some point we should establish a protocol to close FCPs with longstanding unresolved concerns) + +### WG checkins + +- @_*WG-rustc-dev-guide* by @**Santiago Pastorino** and @**Yuki Okushi|217081** + + > #### Most notable changes + > + > - Document unsafety checking [#1847](https://github.com/rust-lang/rustc-dev-guide/pull/1847) + > - Add guide for rustdoc search implementation [#1846](https://github.com/rust-lang/rustc-dev-guide/pull/1846) + > - Add a chapter on editions. [#1835](https://github.com/rust-lang/rustc-dev-guide/pull/1835) + > - Replace experts map with reviewers from triagebot [#1831](https://github.com/rust-lang/rustc-dev-guide/pull/1831) + > - Explain the important concepts of exhaustiveness checking [#1830](https://github.com/rust-lang/rustc-dev-guide/pull/1830) + > - Update how-to-build-and-run.md [#1828](https://github.com/rust-lang/rustc-dev-guide/pull/1828) + > - Emphasize that the experts map is not up to date [#1826](https://github.com/rust-lang/rustc-dev-guide/pull/1826) + > - Update documentation for coverage tests [#1823](https://github.com/rust-lang/rustc-dev-guide/pull/1823) + > - add a new type system invariant [#1822](https://github.com/rust-lang/rustc-dev-guide/pull/1822) + > - Add explanations on how to run rustc_codegen_gcc tests [#1821](https://github.com/rust-lang/rustc-dev-guide/pull/1821) + > - notification groups: add information about how to ping them [#1818](https://github.com/rust-lang/rustc-dev-guide/pull/1818) + > - Add some documentation for unsizing [#1817](https://github.com/rust-lang/rustc-dev-guide/pull/1817) + > + > #### Most notable WIPs + > + > - Add overview.drawio.svg [#1725](https://github.com/rust-lang/rustc-dev-guide/pull/1725) + > - rewrite bootstrapping stages [#1650](https://github.com/rust-lang/rustc-dev-guide/pull/1650) + > - new chapter with examples of diagnostic translation PRs [#1621](https://github.com/rust-lang/rustc-dev-guide/pull/1621) + > - Improve documentation of MIR queries & passes [#1434](https://github.com/rust-lang/rustc-dev-guide/pull/1434) + > - Document inert vs active attributes [#1110](https://github.com/rust-lang/rustc-dev-guide/pull/1110) + +- Impl Trait initiative by @**oli** + > Currently preparing an "impl trait in associated types" stabilization report along with a roadmap for type-alias-impl-trait. Targetting next month for providing the report to T-lang. + +## 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: "Fold arithmetic identities in GVN" [rustc#119670](https://github.com/rust-lang/rust/pull/119670) + - perf. fix from #111344 + > This PR implements a few arithmetic folds for unary and binary operations. + > This should take care of the missed optimizations introduced by #116012. + +- :beta: "Correct paths for hexagon-unknown-none-elf platform doc" [rust#120533](https://github.com/rust-lang/rust/pull/120533) + - Not merged. Fixes paths in platform docs for a tier 3 target (`hexagon-unknown-none-elf`) + - Maybe superseded by #117601? That could make it faster to the next beta build artifact ([comment](https://github.com/rust-lang/rust/pull/120533#issuecomment-1920189295)) + - nominated after request from an interested party for this target ([comment](https://github.com/rust-lang/rust/pull/120533#issuecomment-1919831674)) + > "it was wrong when initially submitted". Following the procedure from the baseline will result in confusing link errors. + > [...] probably not critical to backport, but I'd prefer it if possible. + +- 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) +- Other 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) +- [60 T-compiler P-high issues](https://github.com/rust-lang/rust/issues?q=is%3Aopen+label%3AT-compiler+label%3AP-high) + - [32 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, 0 P-low regression-from-stable-to-beta](https://github.com/rust-lang/rust/labels/regression-from-stable-to-beta) +- [0 P-critical, 0 P-high, 2 P-medium, 2 P-low regression-from-stable-to-nightly](https://github.com/rust-lang/rust/labels/regression-from-stable-to-nightly) +- [0 P-critical, 38 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-01-30](https://github.com/rust-lang/rustc-perf/blob/54a18b2515048a5695aa61e79cbf12b5ed9a118d/triage/2024-01-30.md) + +This was a very quiet week with only one PR having any real impact on overall compiler performance. The removal of the internal `StructuralEq` trait saw a roughly 0.4% improvement on average across nearly 50 real-world benchmarks. + +Triage done by **@rylev**. +Revision range: [d6b151fc7..5c9c3c7](https://perf.rust-lang.org/?start=d6b151fc77e213bf637db0f12c1965ace3ffe255&end=5c9c3c7871d603ba13d38372830eca0c9013e575&absolute=false&stat=instructions%3Au) + +**Summary**: + +| (instructions:u) | mean | range | count | +|:------------------------:|:-----:|:--------------:|:-----:| +| Regressions (primary) | 0.5% | [0.3%, 0.7%] | 5 | +| Regressions (secondary) | 0.5% | [0.2%, 1.4%] | 10 | +| Improvements (primary) | -0.5% | [-1.5%, -0.2%] | 48 | +| Improvements (secondary) | -2.3% | [-7.7%, -0.4%] | 36 | +| All (primary) | -0.4% | [-1.5%, 0.7%] | 53 | + + +0 Regressions, 4 Improvements, 4 Mixed; 3 of them in rollups +37 artifact comparisons made in total + +#### Regressions + +None? :big_smile: + +#### Improvements + +Only use dense bitsets in dataflow analyses [#116152](https://github.com/rust-lang/rust/pull/116152) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=8b94152af68a0ed6d6af0b5ba57491e40481008e&end=0e4243538b9119654c22dce688f8a63c81864de9&stat=instructions:u) + +| (instructions:u) | mean | range | count | +|:------------------------:|:-----:|:--------------:|:-----:| +| Regressions (primary) | - | - | 0 | +| Regressions (secondary) | - | - | 0 | +| Improvements (primary) | -0.4% | [-0.5%, -0.2%] | 5 | +| Improvements (secondary) | -0.8% | [-1.1%, -0.4%] | 2 | +| All (primary) | -0.4% | [-0.5%, -0.2%] | 5 | + + +const-eval interning: get rid of type-driven traversal [#119044](https://github.com/rust-lang/rust/pull/119044) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=0e4243538b9119654c22dce688f8a63c81864de9&end=6265a95b3735a51cca1d48b8bbc3c8a6a035e15b&stat=instructions:u) + +| (instructions:u) | mean | range | count | +|:------------------------:|:-----:|:--------------:|:-----:| +| Regressions (primary) | - | - | 0 | +| Regressions (secondary) | - | - | 0 | +| Improvements (primary) | -0.9% | [-1.1%, -0.8%] | 3 | +| Improvements (secondary) | -3.8% | [-8.0%, -0.6%] | 14 | +| All (primary) | -0.9% | [-1.1%, -0.8%] | 3 | + + +Remove all ConstPropNonsense [#119627](https://github.com/rust-lang/rust/pull/119627) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=7ffc697ce10f19447c0ce338428ae4b9bc0c041c&end=68411c955458ffbc98649d6dd057c4be3b187f38&stat=instructions:u) + +| (instructions:u) | mean | range | count | +|:------------------------:|:-----:|:--------------:|:-----:| +| Regressions (primary) | - | - | 0 | +| Regressions (secondary) | - | - | 0 | +| Improvements (primary) | -0.4% | [-0.6%, -0.2%] | 11 | +| Improvements (secondary) | -0.5% | [-0.5%, -0.5%] | 3 | +| All (primary) | -0.4% | [-0.6%, -0.2%] | 11 | + + +remove StructuralEq trait [#116167](https://github.com/rust-lang/rust/pull/116167) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=0c1fb2a1e65a57073dc62dd502319a00cf753371&end=dd2559e08e1530806740931037d6bb83ef956161&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.2%] | 48 | +| Improvements (secondary) | -1.3% | [-3.0%, -0.3%] | 23 | +| All (primary) | -0.4% | [-0.6%, 0.3%] | 49 | + + +#### Mixed + +Rollup of 10 pull requests [#120335](https://github.com/rust-lang/rust/pull/120335) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=d93feccb35183fa66fee77e7a2c9d4bf4d01695c&end=5bd5d214effd494f4bafb29b3a7a2f6c2070ca5c&stat=instructions:u) + +| (instructions:u) | mean | range | count | +|:------------------------:|:-----:|:--------------:|:-----:| +| Regressions (primary) | 0.4% | [0.3%, 0.8%] | 9 | +| Regressions (secondary) | 0.7% | [0.6%, 0.9%] | 2 | +| Improvements (primary) | - | - | 0 | +| Improvements (secondary) | -0.7% | [-0.7%, -0.7%] | 1 | +| All (primary) | 0.4% | [0.3%, 0.8%] | 9 | +- Small regressions in doc benchmarks +- Most likely caused by [addings `AsyncFn` family of traits](https://github.com/rust-lang/rust/pull/119305). +- Author has been pinged, but it's probably acceptable cost given that we're documenting more. + + +Rollup of 9 pull requests [#120375](https://github.com/rust-lang/rust/pull/120375) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=cdd4ff8d8179197ba25708e0d85a4fc30f0a4971&end=e7bbe8ce933123a8e327c79e38bcb790595e6a65&stat=instructions:u) + +| (instructions:u) | mean | range | count | +|:------------------------:|:-----:|:--------------:|:-----:| +| Regressions (primary) | - | - | 0 | +| Regressions (secondary) | 0.3% | [0.3%, 0.4%] | 3 | +| Improvements (primary) | -0.2% | [-0.2%, -0.2%] | 6 | +| Improvements (secondary) | - | - | 0 | +| All (primary) | -0.2% | [-0.2%, -0.2%] | 6 | +- Small number of improvements outweigh the small number of regressions and so it's not really worth investigating further. + + +Rollup of 12 pull requests [#120401](https://github.com/rust-lang/rust/pull/120401) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=c073f56a416b541fc66e46fb5265dad870da9229&end=b362939be16f9324dd9e6e36e22b606020068d75&stat=instructions:u) + +| (instructions:u) | mean | range | count | +|:------------------------:|:-----:|:--------------:|:-----:| +| Regressions (primary) | - | - | 0 | +| Regressions (secondary) | 0.6% | [0.5%, 1.1%] | 7 | +| Improvements (primary) | - | - | 0 | +| Improvements (secondary) | -3.1% | [-3.1%, -3.1%] | 1 | +| All (primary) | - | - | 0 | +- Very small regressions in match stress test is not worth investigating + + +Merge into larger interval set [#120024](https://github.com/rust-lang/rust/pull/120024) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=6b4f1c5e782c72a047a23e922decd33e7d462345&end=635124704849eeead4e3a7bb6e663c5351571d93&stat=instructions:u) + +| (instructions:u) | mean | range | count | +|:------------------------:|:-----:|:--------------:|:-----:| +| Regressions (primary) | 0.3% | [0.2%, 0.4%] | 14 | +| Regressions (secondary) | 0.2% | [0.2%, 0.2%] | 1 | +| Improvements (primary) | - | - | 0 | +| Improvements (secondary) | -0.3% | [-0.3%, -0.2%] | 2 | +| All (primary) | 0.3% | [0.2%, 0.4%] | 14 | +- The reviewer decided that the performance hit here was worth it given that we are now protecting against truly extreme cases that the perf benchmark suite doesn't test against. + +## 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-llvm* by @**nagisa** and @**Nikita Popov** +- @_*WG-mir-opt* by @**oli** + +Next meetings' agenda draft: [hackmd link](https://hackmd.io/QQzvErTHQF6o8btLDH3oPw) diff --git a/content/minutes/triage-meeting/T-compiler Meeting Agenda 2024-02-08.md b/content/minutes/triage-meeting/T-compiler Meeting Agenda 2024-02-08.md new file mode 100644 index 00000000..c8a0ecf0 --- /dev/null +++ b/content/minutes/triage-meeting/T-compiler Meeting Agenda 2024-02-08.md @@ -0,0 +1,217 @@ +--- +tags: weekly, rustc +type: docs +note_id: QQzvErTHQF6o8btLDH3oPw +--- + +# T-compiler Meeting Agenda 2024-02-08 + +## Announcements + +- Today Rust stable 1.76 is out :top_hat: :rabbit: [Blog post](https://github.com/rust-lang/blog.rust-lang.org/pull/1243) +- Announcement: experts/interested in C++/Rust interop might be interested to take part to the new initiative meant to work on long term goals in this area ([Zulip thread](https://rust-lang.zulipchat.com/#narrow/stream/392734-council/topic/Creating.20a.20WG.20or.20project.20group.20for.20Interop.20Initiative)). Funding provided by Google, [blog post of the Foundation](https://foundation.rust-lang.org/news/google-contributes-1m-to-rust-foundation-to-support-c-rust-interop-initiative). +- 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 Types Team: ITE (Impl Trait Everywhere) Triage +- Types Team: Rotating Solver/Formality/Polonius Deep Dive + +## MCPs/FCPs + +- New MCPs (take a look, see if you like them!) + - "Use debug fission instead of dwarf split debuginfo for -Csplit-debuginfo=packed" [compiler-team#721](https://github.com/rust-lang/compiler-team/issues/721) ([Zulip](https://rust-lang.zulipchat.com/#narrow/stream/233931-xxx/topic/Use.20debug.20fission.20instead.20of.20dwarf.20split.20.E2.80.A6.20compiler-team.23721)) +- 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: about 22 days ago) + - concern: [added-complexity-to-frontend](https://github.com/rust-lang/compiler-team/issues/692#issuecomment-1845169318) + - "Introduce perma-unstable `wasm-c-abi` flag" [compiler-team#703](https://github.com/rust-lang/compiler-team/issues/703) ([Zulip](https://rust-lang.zulipchat.com/#narrow/stream/233931-xxx/topic/Introduce.20perma-unstable.20.60wasm-c-abi.60.20flag.20compiler-team.23703)) (last review activity: about 55 days ago) + - "Support patchable-function-entry" [compiler-team#704](https://github.com/rust-lang/compiler-team/issues/704) ([Zulip](https://rust-lang.zulipchat.com/#narrow/stream/233931-xxx/topic/Support.20patchable-function-entry.20compiler-team.23704)) (last review activity: about 55 days ago) + - "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: about 6 days ago) + - "Promote tier 3 arm64e-apple-darwin target to tier 2" [compiler-team#717](https://github.com/rust-lang/compiler-team/issues/717) ([Zulip](https://rust-lang.zulipchat.com/#narrow/stream/233931-xxx/topic/Promote.20tier.203.20arm64e-apple-darwin.20target.E2.80.A6.20compiler-team.23717)) (last review activity: about 6 days 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: 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 `--json=unused-externs(-silent)`" [compiler-team#674](https://github.com/rust-lang/compiler-team/issues/674) ([Zulip](https://rust-lang.zulipchat.com/#narrow/stream/233931-xxx/topic/Stabilize.20.60--json.3Dunused-externs.28-silent.29.60.20compiler-team.23674)) + - "Support overriding `warnings` level for a specific lint via command line" [rust#113307](https://github.com/rust-lang/rust/pull/113307) + - "Update Windows platform support" [rust#115141](https://github.com/rust-lang/rust/pull/115141) + - "Stabilize Wasm target features that are in phase 4 and 5" [rust#117457](https://github.com/rust-lang/rust/pull/117457) + - "Stabilize `--env-set` option" [rust#119926](https://github.com/rust-lang/rust/pull/119926) +- Things in FCP (make sure you're good with it) + - "Add a stable flag to enable/disable codegen UB checks" [compiler-team#625](https://github.com/rust-lang/compiler-team/issues/625) ([Zulip](https://rust-lang.zulipchat.com/#narrow/stream/233931-xxx/topic/Add.20a.20blanket.20flag.20to.20enable.2Fdisable.20code.E2.80.A6.20compiler-team.23625)) + - "Stabilize `--json=unused-externs(-silent)`" [compiler-team#674](https://github.com/rust-lang/compiler-team/issues/674) ([Zulip](https://rust-lang.zulipchat.com/#narrow/stream/233931-xxx/topic/Stabilize.20.60--json.3Dunused-externs.28-silent.29.60.20compiler-team.23674)) + - "Semantics of `-Cinstrument-coverage=all`" [compiler-team#690](https://github.com/rust-lang/compiler-team/issues/690) ([Zulip](https://rust-lang.zulipchat.com/#narrow/stream/233931-xxx/topic/Semantics.20of.20.60-Cinstrument-coverage.3Dall.60.20compiler-team.23690)) + - "New Tier-3 target: `wasm32-wasi-preview2`" [compiler-team#694](https://github.com/rust-lang/compiler-team/issues/694) ([Zulip](https://rust-lang.zulipchat.com/#narrow/stream/233931-xxx/topic/New.20Tier-3.20target.3A.20.60wasm32-wasi-preview2.60.20compiler-team.23694)) + - "Provide option to shorten symbol names by replacing them with a digest" [compiler-team#705](https://github.com/rust-lang/compiler-team/issues/705) ([Zulip](https://rust-lang.zulipchat.com/#narrow/stream/233931-xxx/topic/new.20option.20to.20reduce.20the.20size.20of.20dylib.20compiler-team.23705)) + - "uplift some -Zverbose calls and rename to -Zverbose-internals" [compiler-team#706](https://github.com/rust-lang/compiler-team/issues/706) ([Zulip](https://rust-lang.zulipchat.com/#narrow/stream/233931-xxx/topic/merge.20-Zverbose.20into.20--verbose.20compiler-team.23706)) + - "Promote tier 3 `*-pc-windows-gnullvm` targets to tier 2" [compiler-team#710](https://github.com/rust-lang/compiler-team/issues/710) ([Zulip](https://rust-lang.zulipchat.com/#narrow/stream/233931-xxx/topic/Promote.20tier.203.20.60.2A-pc-windows-gnullvm.60.20tar.E2.80.A6.20compiler-team.23710)) + - "Unstably support MIR-only rlibs" [compiler-team#713](https://github.com/rust-lang/compiler-team/issues/713) ([Zulip](https://rust-lang.zulipchat.com/#narrow/stream/233931-xxx/topic/Unstably.20support.20MIR-only.20rlibs.20compiler-team.23713)) + - "Promote OpenHarmony targets to tier 2" [compiler-team#719](https://github.com/rust-lang/compiler-team/issues/719) ([Zulip](https://rust-lang.zulipchat.com/#narrow/stream/233931-xxx/topic/Promote.20OpenHarmony.20targets.20to.20tier.202.20compiler-team.23719)) + - "Remove fake `rust-intrinsic` ABI" [compiler-team#720](https://github.com/rust-lang/compiler-team/issues/720) ([Zulip](https://rust-lang.zulipchat.com/#narrow/stream/233931-xxx/topic/Remove.20fake.20.60rust-intrinsic.60.20ABI.20compiler-team.23720)) + - "Overhaul `Diagnostic` and `DiagnosticBuilder` " [compiler-team#722](https://github.com/rust-lang/compiler-team/issues/722) ([Zulip](https://rust-lang.zulipchat.com/#narrow/stream/233931-xxx/topic/Overhaul.20.60Diagnostic.60.20and.20.60DiagnosticBuil.E2.80.A6.20compiler-team.23722)) +- Accepted MCPs + - "Add -Z direct-access-external-data" [compiler-team#707](https://github.com/rust-lang/compiler-team/issues/707) ([Zulip](https://rust-lang.zulipchat.com/#narrow/stream/233931-xxx/topic/Add.20-Z.20direct-access-external-data.20compiler-team.23707)) +- Finalized FCPs (disposition merge) + - "Decision: semantics of the `#[expect]` attribute" [rust#115980](https://github.com/rust-lang/rust/issues/115980) + - "style-guide: Format single associated type `where` clauses on the same line" [rust#119515](https://github.com/rust-lang/rust/pull/119515) + - "style-guide: When breaking binops handle multi-line first operand better" [rust#119838](https://github.com/rust-lang/rust/pull/119838) + - "style-guide: Tweak `Cargo.toml` formatting to not put `description` last" [rust#120072](https://github.com/rust-lang/rust/pull/120072) + - "Make it so that async-fn-in-trait is compatible with a concrete future in implementation" [rust#120103](https://github.com/rust-lang/rust/pull/120103) + +### WG checkins + +- @_*WG-llvm* by @**nagisa** and @**Nikita Popov** ([previous checkin](https://hackmd.io/dpHKGJflSWiY_yyXprzSww#WG-checkins)): + > We have an ongoing update to LLVM 18, which will land soon(TM) and has some nice perf results. + +- @_*WG-mir-opt* by @**oli**: + > I did not track updates this cycle. + +## 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: "Correctly check `never_type` feature gating" [rust#120552](https://github.com/rust-lang/rust/pull/120552) + - Fixes p-high #120542, the never_type `!` slipped out of the feaature gate. + - nominated by Michael ([comment](https://github.com/rust-lang/rust/pull/120552#issuecomment-1921616806)) in case it doesn't make it to 1.77 + - By reading [the milestone](https://github.com/rust-lang/rust/pull/120552#event-11697373772) (1.78), unsure if it made 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) +- "Stabilize `cfg_target_abi`" [rust#119590](https://github.com/rust-lang/rust/pull/119590) + - what is this waiting on a team for? (cc @**Jubilee**) +- Other issues [in progress or waiting on other teams](https://hackmd.io/XYr1BrOWSiqCrl8RCWXRaQ). Note: a few of them are `I-lang-nominated` (cc @**pnkfelix** ) + +## 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) +- [60 T-compiler P-high issues](https://github.com/rust-lang/rust/issues?q=is%3Aopen+label%3AT-compiler+label%3AP-high) + - [32 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, 0 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, 3 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, 38 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 2023-02-05](https://github.com/rust-lang/rustc-perf/blob/master/triage/2024-02-05.md) + +Rust's CI was down most of the week, leading to a much smaller collection of +commits than usual. + +Triage done by **@simulacrum**. +Revision range: [5c9c3c7871d603ba13d38372830eca0c9013e575..0984becf01112cbd3583c796541760b65340c8db](https://perf.rust-lang.org/?start=5c9c3c7871d603ba13d38372830eca0c9013e575&end=0984becf01112cbd3583c796541760b65340c8db&absolute=false&stat=instructions%3Au) + +**Summary**: + +| (instructions:u) | mean | range | count | +|:------------------------:|:-----:|:--------------:|:-----:| +| Regressions (primary) | - | - | 0 | +| Regressions (secondary) | 0.3% | [0.2%, 0.3%] | 3 | +| Improvements (primary) | -0.3% | [-0.7%, -0.2%] | 7 | +| Improvements (secondary) | -0.6% | [-1.0%, -0.5%] | 7 | +| All (primary) | -0.3% | [-0.7%, -0.2%] | 7 | + + +0 Regressions, 2 Improvements, 1 Mixed; 1 of them in rollups +17 artifact comparisons made in total + +#### Regressions + +* None this week. + +#### Improvements + +Normalize region obligation in lexical region resolution with next-gen solver [#119101](https://github.com/rust-lang/rust/pull/119101) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=f3d71c9249072413f014b378bb5ea79c8a7dc9a7&end=cb4d9a1902b3ea17e93872dafb76d24aa6295c47&stat=instructions:u) + +| (instructions:u) | mean | range | count | +|:------------------------:|:-----:|:--------------:|:-----:| +| Regressions (primary) | - | - | 0 | +| Regressions (secondary) | - | - | 0 | +| Improvements (primary) | -0.2% | [-0.3%, -0.2%] | 4 | +| Improvements (secondary) | - | - | 0 | +| All (primary) | -0.2% | [-0.3%, -0.2%] | 4 | + + +hir: Refactor getters for owner nodes [#120346](https://github.com/rust-lang/rust/pull/120346) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=80deabd0987201e1b8d060400f50e03309a0105e&end=d53ddcd8bbb41cd977ab4f7a54886fd7779c0eba&stat=instructions:u) + +| (instructions:u) | mean | range | count | +|:------------------------:|:-----:|:--------------:|:-----:| +| Regressions (primary) | - | - | 0 | +| Regressions (secondary) | - | - | 0 | +| Improvements (primary) | -3.6% | [-3.6%, -3.6%] | 1 | +| Improvements (secondary) | -0.6% | [-1.0%, -0.5%] | 7 | +| All (primary) | -3.6% | [-3.6%, -3.6%] | 1 | + +#### Mixed + +Rollup of 9 pull requests [#120660](https://github.com/rust-lang/rust/pull/120660) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=0984becf01112cbd3583c796541760b65340c8db&end=8c0b4f67c9b4bf477df38c16669fd576d46a2b3d&stat=instructions:u) + +| (instructions:u) | mean | range | count | +|:------------------------:|:-----:|:--------------:|:-----:| +| Regressions (primary) | 0.8% | [0.2%, 1.4%] | 2 | +| Regressions (secondary) | - | - | 0 | +| Improvements (primary) | - | - | 0 | +| Improvements (secondary) | -0.2% | [-0.3%, -0.2%] | 2 | +| All (primary) | 0.8% | [0.2%, 1.4%] | 2 | + +Needs further investigation. This just landed so it's hard to say whether the +regressions are noise or not. Kicked off another run on the PR to see if that +helps. + +## 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) +- "Add rustc_intrinsic_const_vector_arg attribute to allow vectors to be passed as constants" [rust#118980](https://github.com/rust-lang/rust/pull/118980) + - cc Wesley +- "tidy watcher" [rust#114209](https://github.com/rust-lang/rust/pull/114209) + - Wesley autoassigned (but in case we can re-roll) +- "Fix type resolution of associated const equality bounds (take 2)" [rust#119385](https://github.com/rust-lang/rust/pull/119385) + - cc @**Michael Goulet (compiler-errors)** (though PR author is fine with waiting a bit) + +## Next week's WG checkins + +- @_*T-rust-analyzer* by @**Lukas Wirth** + +Next meetings' agenda draft: [hackmd link](https://hackmd.io/kumG_EirTtOWJiQcgji7_w) 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 new file mode 100644 index 00000000..b502b61a --- /dev/null +++ b/content/minutes/triage-meeting/T-compiler Meeting Agenda 2024-02-15.md @@ -0,0 +1,435 @@ +--- +tags: weekly, rustc +type: docs +note_id: kumG_EirTtOWJiQcgji7_w +--- + +# T-compiler Meeting Agenda 2024-02-15 + +## 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 Types Team: ITE (Impl Trait Everywhere) Triage +- Types Team: Rotating Solver/Formality/Polonius Deep dive + +## MCPs/FCPs + +- New MCPs (take a look, see if you like them!) + - No new 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: about 29 days ago) + - concern: [added-complexity-to-frontend](https://github.com/rust-lang/compiler-team/issues/692#issuecomment-1845169318) + - "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: [option-name](https://github.com/rust-lang/compiler-team/issues/635#issuecomment-1785349936) + - concern: [other-existing-options](https://github.com/rust-lang/compiler-team/issues/635#issuecomment-1779597156) + - "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) +- Old MCPs (not seconded, take a look) + - "Introduce perma-unstable `wasm-c-abi` flag" [compiler-team#703](https://github.com/rust-lang/compiler-team/issues/703) ([Zulip](https://rust-lang.zulipchat.com/#narrow/stream/233931-xxx/topic/Introduce.20perma-unstable.20.60wasm-c-abi.60.20flag.20compiler-team.23703)) (last review activity: 2 months ago) + - "Support patchable-function-entry" [compiler-team#704](https://github.com/rust-lang/compiler-team/issues/704) ([Zulip](https://rust-lang.zulipchat.com/#narrow/stream/233931-xxx/topic/Support.20patchable-function-entry.20compiler-team.23704)) (last review activity: 2 months ago) + - "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: about 12 days ago) + - "Promote tier 3 arm64e-apple-darwin target to tier 2" [compiler-team#717](https://github.com/rust-lang/compiler-team/issues/717) ([Zulip](https://rust-lang.zulipchat.com/#narrow/stream/233931-xxx/topic/Promote.20tier.203.20arm64e-apple-darwin.20target.E2.80.A6.20compiler-team.23717)) (last review activity: about 12 days 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: about 12 days ago) + - "Use debug fission instead of dwarf split debuginfo for -Csplit-debuginfo=packed" [compiler-team#721](https://github.com/rust-lang/compiler-team/issues/721) ([Zulip](https://rust-lang.zulipchat.com/#narrow/stream/233931-xxx/topic/Use.20debug.20fission.20instead.20of.20dwarf.20split.20.E2.80.A6.20compiler-team.23721)) (last review activity: about 6 days ago) +- Pending FCP requests (check your boxes!) + - "Update Windows platform support" [rust#115141](https://github.com/rust-lang/rust/pull/115141) + - "Stabilize Wasm target features that are in phase 4 and 5" [rust#117457](https://github.com/rust-lang/rust/pull/117457) + - "Stabilize `--env-set` option" [rust#119926](https://github.com/rust-lang/rust/pull/119926) + - "debuginfo: Stabilize `-Z debug-macros`, `-Z collapse-macro-debuginfo` and `#[collapse_debuginfo]`" [rust#120845](https://github.com/rust-lang/rust/pull/120845) +- Things in FCP (make sure you're good with it) + - "Add a stable flag to enable/disable codegen UB checks" [compiler-team#625](https://github.com/rust-lang/compiler-team/issues/625) ([Zulip](https://rust-lang.zulipchat.com/#narrow/stream/233931-xxx/topic/Add.20a.20blanket.20flag.20to.20enable.2Fdisable.20code.E2.80.A6.20compiler-team.23625)) + - "Remove fake `rust-intrinsic` ABI" [compiler-team#720](https://github.com/rust-lang/compiler-team/issues/720) ([Zulip](https://rust-lang.zulipchat.com/#narrow/stream/233931-xxx/topic/Remove.20fake.20.60rust-intrinsic.60.20ABI.20compiler-team.23720)) + - "Overhaul `Diagnostic` and `DiagnosticBuilder` " [compiler-team#722](https://github.com/rust-lang/compiler-team/issues/722) ([Zulip](https://rust-lang.zulipchat.com/#narrow/stream/233931-xxx/topic/Overhaul.20.60Diagnostic.60.20and.20.60DiagnosticBuil.E2.80.A6.20compiler-team.23722)) + - "Rename `astconv::AstConv` and related items" [compiler-team#723](https://github.com/rust-lang/compiler-team/issues/723) ([Zulip](https://rust-lang.zulipchat.com/#narrow/stream/233931-xxx/topic/Rename.20.60astconv.3A.3AAstConv.60.20and.20related.20ite.E2.80.A6.20compiler-team.23723)) +- Accepted MCPs + - "Stabilize `--json=unused-externs(-silent)`" [compiler-team#674](https://github.com/rust-lang/compiler-team/issues/674) ([Zulip](https://rust-lang.zulipchat.com/#narrow/stream/233931-xxx/topic/Stabilize.20.60--json.3Dunused-externs.28-silent.29.60.20compiler-team.23674)) + - "Semantics of `-Cinstrument-coverage=all`" [compiler-team#690](https://github.com/rust-lang/compiler-team/issues/690) ([Zulip](https://rust-lang.zulipchat.com/#narrow/stream/233931-xxx/topic/Semantics.20of.20.60-Cinstrument-coverage.3Dall.60.20compiler-team.23690)) + - "New Tier-3 target: `wasm32-wasi-preview2`" [compiler-team#694](https://github.com/rust-lang/compiler-team/issues/694) ([Zulip](https://rust-lang.zulipchat.com/#narrow/stream/233931-xxx/topic/New.20Tier-3.20target.3A.20.60wasm32-wasi-preview2.60.20compiler-team.23694)) + - "Provide option to shorten symbol names by replacing them with a digest" [compiler-team#705](https://github.com/rust-lang/compiler-team/issues/705) ([Zulip](https://rust-lang.zulipchat.com/#narrow/stream/233931-xxx/topic/new.20option.20to.20reduce.20the.20size.20of.20dylib.20compiler-team.23705)) + - "uplift some -Zverbose calls and rename to -Zverbose-internals" [compiler-team#706](https://github.com/rust-lang/compiler-team/issues/706) ([Zulip](https://rust-lang.zulipchat.com/#narrow/stream/233931-xxx/topic/merge.20-Zverbose.20into.20--verbose.20compiler-team.23706)) + - "Promote tier 3 `*-pc-windows-gnullvm` targets to tier 2" [compiler-team#710](https://github.com/rust-lang/compiler-team/issues/710) ([Zulip](https://rust-lang.zulipchat.com/#narrow/stream/233931-xxx/topic/Promote.20tier.203.20.60.2A-pc-windows-gnullvm.60.20tar.E2.80.A6.20compiler-team.23710)) + - "Unstably support MIR-only rlibs" [compiler-team#713](https://github.com/rust-lang/compiler-team/issues/713) ([Zulip](https://rust-lang.zulipchat.com/#narrow/stream/233931-xxx/topic/Unstably.20support.20MIR-only.20rlibs.20compiler-team.23713)) + - "Promote OpenHarmony targets to tier 2" [compiler-team#719](https://github.com/rust-lang/compiler-team/issues/719) ([Zulip](https://rust-lang.zulipchat.com/#narrow/stream/233931-xxx/topic/Promote.20OpenHarmony.20targets.20to.20tier.202.20compiler-team.23719)) +- Finalized FCPs (disposition merge) + - "static mut: allow mutable reference to arbitrary types, not just slices and arrays" [rust#117614](https://github.com/rust-lang/rust/pull/117614) + - "Check normalized call signature for WF in mir typeck" [rust#118882](https://github.com/rust-lang/rust/pull/118882) + +### 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. + +## 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.77] "Update jobserver-rs to 0.1.28" [rust#120846](https://github.com/rust-lang/rust/pull/120846) + - Fixes #120515, regression when running `rustc` with `make -j2` + - nominated by @**Vadim Petrochenkov** + +- :beta: [1.77] "Improve wording of `static_mut_ref`" [rust#121034](https://github.com/rust-lang/rust/pull/121034) + - nominated by @**oli**, closes #120964 (documentation wording, IIUC) + - PR is being reviewed. Diff is non-trivial even if not code + +- :beta: [1.77] "Update LLVM submodule" [rust#121132](https://github.com/rust-lang/rust/pull/121132) + - nominated by @**nikic** + - Fixes various P-high LLVM related issues + +- :stable: [1.76] "Update jobserver-rs to 0.1.28" [rust#120846](https://github.com/rust-lang/rust/pull/120846) + - as above. Stable backport in case a minor release is in the air + + +[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) +- "debuginfo: Stabilize `-Z debug-macros`, `-Z collapse-macro-debuginfo` and `#[collapse_debuginfo]`" [rust#120845](https://github.com/rust-lang/rust/pull/120845) + - `I-compiler-nominated`: see end of the agenda +- Other issues [in progress or waiting on other teams](https://hackmd.io/XYr1BrOWSiqCrl8RCWXRaQ) + +## Issues of Note + +### Short Summary + +- [1 T-compiler P-critical issues](https://github.com/rust-lang/rust/issues?q=is%3Aopen+label%3AT-compiler+label%3AP-critical) + - [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) + - [32 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, 0 P-low regression-from-stable-to-beta](https://github.com/rust-lang/rust/labels/regression-from-stable-to-beta) +- [1 P-critical, 0 P-high, 2 P-medium, 2 P-low regression-from-stable-to-nightly](https://github.com/rust-lang/rust/labels/regression-from-stable-to-nightly) +- [0 P-critical, 37 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) +- "thread 'rustc' panicked at compiler/rustc_metadata/src/rmeta/encoder.rs:1888:17" [rust#120830](https://github.com/rust-lang/rust/issues/120830) + - Happens on nightly + - `diesel` crate author proposes to revert the change rolled up in #121038 (exact PR is #119592) + - Vadim suggest a different approach than reverting ([comment](https://github.com/rust-lang/rust/pull/121038#issuecomment-1942075058)) + +[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-02-13](https://github.com/rust-lang/rustc-perf/blob/master/triage/2024-02-13.md) + +Relatively balanced results this week, with more improvements than regressions. Some of the +larger regressions are not relevant, however there was a real large regression on `doc` builds, that was +caused by a correctness fix (`rustdoc` was doing the wrong thing before). + +Triage done by **@kobzol**. +Revision range: [0984becf..74c3f5a1](https://perf.rust-lang.org/?start=0984becf01112cbd3583c796541760b65340c8db&end=74c3f5a146860c94ff4d179fc3bfa34f879adf41&absolute=false&stat=instructions%3Au) + +**Summary**: + +| (instructions:u) | mean | range | count | +|:------------------------:|:-----:|:--------------:|:-----:| +| Regressions (primary) | 2.1% | [0.2%, 12.0%] | 44 | +| Regressions (secondary) | 5.2% | [0.2%, 20.1%] | 76 | +| Improvements (primary) | -0.7% | [-2.4%, -0.2%] | 139 | +| Improvements (secondary) | -1.3% | [-3.3%, -0.3%] | 86 | +| All (primary) | -0.1% | [-2.4%, 12.0%] | 183 | + + +6 Regressions, 5 Improvements, 8 Mixed; 5 of them in rollups +53 artifact comparisons made in total + +#### Regressions + +pattern_analysis: Gracefully abort on type incompatibility [#120313](https://github.com/rust-lang/rust/pull/120313) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=ea37e8091fe87ae0a7e204c034e7d55061e56790&end=f067fd6084d750f3797f54b71771c5dbc149726f&stat=instructions:u) + +| (instructions:u) | mean | range | count | +|:------------------------:|:----:|:------------:|:-----:| +| Regressions (primary) | - | - | 0 | +| Regressions (secondary) | 1.9% | [1.8%, 2.0%] | 6 | +| Improvements (primary) | - | - | 0 | +| Improvements (secondary) | - | - | 0 | +| All (primary) | - | - | 0 | + +* The pattern matching machinery is now receiving a lot of updates, and the `match-stress` stress test +is swinging back and forth. Marked as triaged. + +Rework support for async closures; allow them to return futures that borrow from the closure's captures [#120361](https://github.com/rust-lang/rust/pull/120361) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=037f515caf46846d2bffae55883eebc6c1ccb861&end=4a2fe4491ea616983a0cf0cbbd145a39768f4e7a&stat=instructions:u) + +| (instructions:u) | mean | range | count | +|:------------------------:|:-----:|:--------------:|:-----:| +| Regressions (primary) | 0.5% | [0.2%, 0.7%] | 11 | +| Regressions (secondary) | 0.6% | [0.4%, 0.7%] | 11 | +| Improvements (primary) | - | - | 0 | +| Improvements (secondary) | -0.2% | [-0.2%, -0.2%] | 1 | +| All (primary) | 0.5% | [0.2%, 0.7%] | 11 | + +* This is probably just codegen noise, the changes were reverted in followup commits. Marked as triaged. + +Make traits / trait methods detected by the dead code lint [#118257](https://github.com/rust-lang/rust/pull/118257) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=586893c7b0adabf5f0a4c155fd86e13cf470e74b&end=d4f6f9ee6a3b24f2cb97b1a5b82963609b93aa33&stat=instructions:u) + +| (instructions:u) | mean | range | count | +|:------------------------:|:----:|:-------------:|:-----:| +| Regressions (primary) | 0.7% | [0.1%, 1.8%] | 18 | +| Regressions (secondary) | 9.4% | [0.2%, 16.0%] | 10 | +| Improvements (primary) | - | - | 0 | +| Improvements (secondary) | - | - | 0 | +| All (primary) | 0.7% | [0.1%, 1.8%] | 18 | + +* This PR implements a new lint for unused traits, so the compiler does more work. +The large regression is a red herring, it is a small stress test that didn't produce any warnings before, +but it does now, which causes it to initialize the diagnostics machinery, which is a one-time cost. +Marked as triaged. + +Stop bailing out from compilation just because there were incoherent traits [#120558](https://github.com/rust-lang/rust/pull/120558) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=384b02c0825cefa59f2e8a99a33d9a5344959079&end=870a01a30e45d73b8e922a91850919e03f772636&stat=instructions:u) + +| (instructions:u) | mean | range | count | +|:------------------------:|:----:|:------------:|:-----:| +| Regressions (primary) | 0.4% | [0.2%, 1.0%] | 14 | +| Regressions (secondary) | 1.2% | [0.1%, 3.5%] | 23 | +| Improvements (primary) | - | - | 0 | +| Improvements (secondary) | - | - | 0 | +| All (primary) | 0.4% | [0.2%, 1.0%] | 14 | + +* The regression was resolved in [#120835](https://github.com/rust-lang/rust/pull/120835). + +Rollup of 6 pull requests [#120862](https://github.com/rust-lang/rust/pull/120862) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=d44e3b95cb9d410d89cb8ab3233906a33f43756a&end=b5c46dc5426038a49c95398bce30eeb20ec421e2&stat=instructions:u) + +| (instructions:u) | mean | range | count | +|:------------------------:|:----:|:------------:|:-----:| +| Regressions (primary) | 0.5% | [0.3%, 0.7%] | 7 | +| Regressions (secondary) | 4.0% | [1.2%, 7.7%] | 13 | +| Improvements (primary) | - | - | 0 | +| Improvements (secondary) | - | - | 0 | +| All (primary) | 0.5% | [0.3%, 0.7%] | 7 | + +* Regression is expected to be partially resolved by [#120942](https://github.com/rust-lang/rust/pull/120942). + +Assert that params with the same *index* have the same *name* [#120619](https://github.com/rust-lang/rust/pull/120619) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=1a648b397dedc98ada3dd3360f6d661ec2436c56&end=520b0b20aa8c218f84cefc6260f52406b84fa55f&stat=instructions:u) + +| (instructions:u) | mean | range | count | +|:------------------------:|:-----:|:-------------:|:-----:| +| Regressions (primary) | 6.0% | [1.6%, 19.0%] | 18 | +| Regressions (secondary) | 12.2% | [0.8%, 19.1%] | 22 | +| Improvements (primary) | - | - | 0 | +| Improvements (secondary) | - | - | 0 | +| All (primary) | 6.0% | [1.6%, 19.0%] | 18 | + +* The `doc` regressions are unfortunately real, however this is a bugfix, `rustdoc` was doing incorrect work. + +#### Improvements + +Rollup of 13 pull requests [#120748](https://github.com/rust-lang/rust/pull/120748) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=cfb42e5d7f6d5fc39f532ec251e1cea4bbafc746&end=8ace7ea1f7cbba7b4f031e66c54ca237a0d65de6&stat=instructions:u) + +| (instructions:u) | mean | range | count | +|:------------------------:|:-----:|:--------------:|:-----:| +| Regressions (primary) | - | - | 0 | +| Regressions (secondary) | - | - | 0 | +| Improvements (primary) | -1.1% | [-2.3%, -0.2%] | 27 | +| Improvements (secondary) | -1.7% | [-2.2%, -1.4%] | 11 | +| All (primary) | -1.1% | [-2.3%, -0.2%] | 27 | + +* Nice win caused by [#120733](https://github.com/rust-lang/rust/pull/120733). + +Prevent running some code if it is already in the map [#120579](https://github.com/rust-lang/rust/pull/120579) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=870a01a30e45d73b8e922a91850919e03f772636&end=81bef0b0ba78f9b7bb08beb0575e245fbe18674a&stat=instructions:u) + +| (instructions:u) | mean | range | count | +|:------------------------:|:-----:|:--------------:|:-----:| +| Regressions (primary) | - | - | 0 | +| Regressions (secondary) | - | - | 0 | +| Improvements (primary) | -2.3% | [-5.9%, -0.8%] | 19 | +| Improvements (secondary) | -4.0% | [-6.4%, -0.6%] | 22 | +| All (primary) | -2.3% | [-5.9%, -0.8%] | 19 | + +* A nice win for `doc` benchmarks. + +Continue to borrowck even if there were previous errors [#120550](https://github.com/rust-lang/rust/pull/120550) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=81bef0b0ba78f9b7bb08beb0575e245fbe18674a&end=af88f7db51f6f2a1472f9279d7c7e7c822afff77&stat=instructions:u) + +| (instructions:u) | mean | range | count | +|:------------------------:|:-----:|:--------------:|:-----:| +| Regressions (primary) | - | - | 0 | +| Regressions (secondary) | - | - | 0 | +| Improvements (primary) | -0.9% | [-1.0%, -0.8%] | 4 | +| Improvements (secondary) | -0.5% | [-0.7%, -0.3%] | 17 | +| All (primary) | -0.9% | [-1.0%, -0.8%] | 4 | + +Harmonize `AsyncFn` implementations, make async closures conditionally impl `Fn*` traits [#120712](https://github.com/rust-lang/rust/pull/120712) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=68125c72d389060fe9aaee8d87ebd834f417c9fc&end=757b8efed44eacbbc6baf4a393f77d23d5be90c8&stat=instructions:u) + +| (instructions:u) | mean | range | count | +|:------------------------:|:-----:|:--------------:|:-----:| +| Regressions (primary) | - | - | 0 | +| Regressions (secondary) | - | - | 0 | +| Improvements (primary) | -0.5% | [-0.8%, -0.2%] | 5 | +| Improvements (secondary) | -0.6% | [-0.7%, -0.5%] | 2 | +| All (primary) | -0.5% | [-0.8%, -0.2%] | 5 | + + +A trait's local impls are trivially coherent if there are no impls. [#120834](https://github.com/rust-lang/rust/pull/120834) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=084ce5bdb5f7dc1c725f6770a8de281165ba3b0a&end=de4d615e6b86f7ef6deacd24610b0678230b8af3&stat=instructions:u) + +| (instructions:u) | mean | range | count | +|:------------------------:|:-----:|:--------------:|:-----:| +| Regressions (primary) | - | - | 0 | +| Regressions (secondary) | - | - | 0 | +| Improvements (primary) | -0.4% | [-1.0%, -0.2%] | 10 | +| Improvements (secondary) | -1.4% | [-3.5%, -0.3%] | 24 | +| All (primary) | -0.4% | [-1.0%, -0.2%] | 10 | + + +#### Mixed + +Rollup of 9 pull requests [#120660](https://github.com/rust-lang/rust/pull/120660) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=0984becf01112cbd3583c796541760b65340c8db&end=8c0b4f67c9b4bf477df38c16669fd576d46a2b3d&stat=instructions:u) + +| (instructions:u) | mean | range | count | +|:------------------------:|:-----:|:--------------:|:-----:| +| Regressions (primary) | 0.8% | [0.2%, 1.4%] | 2 | +| Regressions (secondary) | - | - | 0 | +| Improvements (primary) | - | - | 0 | +| Improvements (secondary) | -0.2% | [-0.3%, -0.2%] | 2 | +| All (primary) | 0.8% | [0.2%, 1.4%] | 2 | + +* The regression was small and looks like noise, marking as triaged. + +Make `NonZero` constructors generic. [#120521](https://github.com/rust-lang/rust/pull/120521) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=6894f435d35d3d540dcefbc51390158ca5954861&end=384b02c0825cefa59f2e8a99a33d9a5344959079&stat=instructions:u) + +| (instructions:u) | mean | range | count | +|:------------------------:|:-----:|:--------------:|:-----:| +| Regressions (primary) | 0.7% | [0.4%, 1.7%] | 9 | +| Regressions (secondary) | - | - | 0 | +| Improvements (primary) | -1.0% | [-1.0%, -1.0%] | 1 | +| Improvements (secondary) | -1.3% | [-1.3%, -1.3%] | 1 | +| All (primary) | 0.5% | [-1.0%, 1.7%] | 10 | + +* Regression later resolved in [#120809](https://github.com/rust-lang/rust/pull/120809). + +Rollup of 9 pull requests [#120767](https://github.com/rust-lang/rust/pull/120767) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=af88f7db51f6f2a1472f9279d7c7e7c822afff77&end=1280928a99ad3ef2c5735b42dc8852456ae3b974&stat=instructions:u) + +| (instructions:u) | mean | range | count | +|:------------------------:|:-----:|:--------------:|:-----:| +| Regressions (primary) | 0.4% | [0.3%, 0.4%] | 2 | +| Regressions (secondary) | 0.3% | [0.3%, 0.3%] | 1 | +| Improvements (primary) | -0.2% | [-0.3%, -0.2%] | 13 | +| Improvements (secondary) | -0.4% | [-0.8%, -0.2%] | 25 | +| All (primary) | -0.2% | [-0.3%, 0.4%] | 15 | + +* The improvements outweight the regressions. Marked as triaged. + +Toggle assert_unsafe_precondition in codegen instead of expansion [#120594](https://github.com/rust-lang/rust/pull/120594) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=972452c4473b2d8f6f6415614f915296bfc34f12&end=8fb67fb37fed736cb04f307473af7c863be224fb&stat=instructions:u) + +| (instructions:u) | mean | range | count | +|:------------------------:|:-----:|:--------------:|:-----:| +| Regressions (primary) | 0.5% | [0.3%, 1.0%] | 13 | +| Regressions (secondary) | 0.5% | [0.2%, 2.1%] | 8 | +| Improvements (primary) | -0.6% | [-1.4%, -0.2%] | 15 | +| Improvements (secondary) | -0.6% | [-1.4%, -0.2%] | 15 | +| All (primary) | -0.1% | [-1.4%, 1.0%] | 28 | + +* The wins and regressions are more or less balanced out. + +Rollup of 8 pull requests [#120843](https://github.com/rust-lang/rust/pull/120843) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=8fb67fb37fed736cb04f307473af7c863be224fb&end=e28fae52d99d7c14bf0890d1f2b13c2c34fa8932&stat=instructions:u) + +| (instructions:u) | mean | range | count | +|:------------------------:|:-----:|:--------------:|:-----:| +| Regressions (primary) | 0.2% | [0.2%, 0.2%] | 1 | +| Regressions (secondary) | 0.6% | [0.2%, 1.0%] | 11 | +| Improvements (primary) | -0.5% | [-1.0%, -0.2%] | 41 | +| Improvements (secondary) | -0.8% | [-2.4%, -0.2%] | 17 | +| All (primary) | -0.5% | [-1.0%, 0.2%] | 42 | + +* More wins than losses. Marked as triaged. + +Enable MIR JumpThreading by default [#117206](https://github.com/rust-lang/rust/pull/117206) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=6cc4843512d613f51ec81aba689180c31b0b28b6&end=42752cbe095b9ad9941f20f22f80788d95f4ab06&stat=instructions:u) + +| (instructions:u) | mean | range | count | +|:------------------------:|:-----:|:--------------:|:-----:| +| Regressions (primary) | 1.8% | [0.4%, 7.1%] | 10 | +| Regressions (secondary) | 1.0% | [0.4%, 3.3%] | 18 | +| Improvements (primary) | -0.5% | [-1.6%, -0.2%] | 130 | +| Improvements (secondary) | -0.8% | [-2.5%, -0.3%] | 74 | +| All (primary) | -0.4% | [-1.6%, 7.1%] | 140 | + +* Wins outweight the losses here, and this PR should also hopefully improve runtime performance slightly, +which seems to be confirmed by our runtime `hashmap` benchmarks. Marked as triaged. + +Fold pointer operations in GVN [#120405](https://github.com/rust-lang/rust/pull/120405) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=0cbef48150e1fab161b5fd147b57ceb3f9272a52&end=9aa232ecc7bb006a1fad404f437b049482021a3a&stat=instructions:u) + +| (instructions:u) | mean | range | count | +|:------------------------:|:-----:|:--------------:|:-----:| +| Regressions (primary) | 0.9% | [0.7%, 1.1%] | 2 | +| Regressions (secondary) | 2.7% | [2.7%, 2.7%] | 1 | +| Improvements (primary) | -0.5% | [-0.8%, -0.3%] | 4 | +| Improvements (secondary) | -1.8% | [-1.8%, -1.8%] | 1 | +| All (primary) | 0.0% | [-0.8%, 1.1%] | 6 | + +* There are a few regressions, but nothing too large. This change should eventually help the compiler +optimize Rust code better. Marked as triaged. + +Lowering unnamed fields and anonymous adt [#115367](https://github.com/rust-lang/rust/pull/115367) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=ed195328689e052b5270b25d0e410b491914fc71&end=bdc15928c8119a86d15e2946cb54851264607842&stat=instructions:u) + +| (instructions:u) | mean | range | count | +|:------------------------:|:-----:|:--------------:|:-----:| +| Regressions (primary) | - | - | 0 | +| Regressions (secondary) | 6.1% | [0.3%, 20.7%] | 9 | +| Improvements (primary) | -1.1% | [-1.1%, -1.1%] | 1 | +| Improvements (secondary) | -0.3% | [-0.3%, -0.3%] | 1 | +| All (primary) | -1.1% | [-1.1%, -1.1%] | 1 | + +* A large regression on a stress test. Not marking as triaged yet. + +## Nominated Issues + +[T-compiler](https://github.com/rust-lang/rust/issues?q=is%3Aopen+label%3AI-compiler-nominated) +- "Limit `-C strip` on MSVC" [rust#115120](https://github.com/rust-lang/rust/pull/115120) + - Nominated by @**davidtwco** + - Discussion about `-C` flags starts [here](https://github.com/rust-lang/rust/pull/115120#issuecomment-1857697068) +- "Feature gates for renamed features hard error, breaking "nightly-detecting" crates" [rust#120804](https://github.com/rust-lang/rust/issues/120804) + - Nominated by @**Manish Goregaokar** + - Seems that renaming nightly features can break some crates (also fundamental ones, like `proc-macro2`). The proposal is to add some machinery in `rustc` to prevent this to happen + - Other comments point out that this is a "bad" behaviour that crates should avoid ([comment](https://github.com/rust-lang/rust/issues/120804#issuecomment-1934812070) and following) + - Also interesting [this comment](https://github.com/tkaitchuck/aHash/issues/200#issuecomment-1928961077) from @**RalfJ** in a crate affected +- "debuginfo: Stabilize `-Z debug-macros`, `-Z collapse-macro-debuginfo` and `#[collapse_debuginfo]`" [rust#120845](https://github.com/rust-lang/rust/pull/120845) + - Nominated by @**Vadim Petrochenkov** (see [Stabilization report](https://github.com/rust-lang/rust/pull/120845#issuecomment-1939145242)), opened FCP + +[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) +- None this week + +## Next week's WG checkins + +- @_*WG-diagnostics* by @**Esteban Küber** and @**oli** +- @_*WG-rustc-dev-guide* by @**Santiago Pastorino** and @**Yuki Okushi|217081** + +Next meetings' agenda draft: [hackmd link](https://hackmd.io/UiuKhvMQSbeGjtWD-W8eTA) diff --git a/content/minutes/triage-meeting/T-compiler Meeting Agenda 2024-02-22.md b/content/minutes/triage-meeting/T-compiler Meeting Agenda 2024-02-22.md new file mode 100644 index 00000000..7cd0361f --- /dev/null +++ b/content/minutes/triage-meeting/T-compiler Meeting Agenda 2024-02-22.md @@ -0,0 +1,304 @@ +--- +tags: weekly, rustc +type: docs +note_id: UiuKhvMQSbeGjtWD-W8eTA +--- + +# T-compiler Meeting Agenda 2024-02-22 + +## 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 Types Team: ITE (Impl Trait Everywhere) Triage + +## MCPs/FCPs + +- New MCPs (take a look, see if you like them!) + - "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: about 36 days ago) + - concern: [added-complexity-to-frontend](https://github.com/rust-lang/compiler-team/issues/692#issuecomment-1845169318) +([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: [option-name](https://github.com/rust-lang/compiler-team/issues/635#issuecomment-1785349936) + - concern: [other-existing-options](https://github.com/rust-lang/compiler-team/issues/635#issuecomment-1779597156) + - "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) +- Old MCPs (not seconded, take a look) + - "Introduce perma-unstable `wasm-c-abi` flag" [compiler-team#703](https://github.com/rust-lang/compiler-team/issues/703) ([Zulip](https://rust-lang.zulipchat.com/#narrow/stream/233931-xxx/topic/Introduce.20perma-unstable.20.60wasm-c-abi.60.20flag.20compiler-team.23703)) (last review activity: 2 months ago) + - "Support patchable-function-entry" [compiler-team#704](https://github.com/rust-lang/compiler-team/issues/704) ([Zulip](https://rust-lang.zulipchat.com/#narrow/stream/233931-xxx/topic/Support.20patchable-function-entry.20compiler-team.23704)) (last review activity: 2 months ago) + - "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: about 20 days ago) + - "Promote tier 3 arm64e-apple-darwin target to tier 2" [compiler-team#717](https://github.com/rust-lang/compiler-team/issues/717) ([Zulip](https://rust-lang.zulipchat.com/#narrow/stream/233931-xxx/topic/Promote.20tier.203.20arm64e-apple-darwin.20target.E2.80.A6.20compiler-team.23717)) (last review activity: about 20 days 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: about 20 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#issuecomment-1777545767) + - "Update Windows platform support" [rust#115141](https://github.com/rust-lang/rust/pull/115141#issuecomment-1740089459) + - "Stabilize Wasm target features that are in phase 4 and 5" [rust#117457](https://github.com/rust-lang/rust/pull/117457#issuecomment-1789204219) + - "Stabilize `--env-set` option" [rust#119926](https://github.com/rust-lang/rust/pull/119926#issuecomment-1898766442) + - "debuginfo: Stabilize `-Z debug-macros`, `-Z collapse-macro-debuginfo` and `#[collapse_debuginfo]`" [rust#120845](https://github.com/rust-lang/rust/pull/120845#issuecomment-1939147057) +- Things in FCP (make sure you're good with it) + - "Support debug fission using -Csplit-debuginfo=post-link" [compiler-team#721](https://github.com/rust-lang/compiler-team/issues/721) ([Zulip](https://rust-lang.zulipchat.com/#narrow/stream/233931-xxx/topic/Use.20debug.20fission.20instead.20of.20dwarf.20split.20.E2.80.A6.20compiler-team.23721)) +- Accepted MCPs + - "Remove fake `rust-intrinsic` ABI" [compiler-team#720](https://github.com/rust-lang/compiler-team/issues/720) ([Zulip](https://rust-lang.zulipchat.com/#narrow/stream/233931-xxx/topic/Remove.20fake.20.60rust-intrinsic.60.20ABI.20compiler-team.23720)) + - "Overhaul `Diagnostic` and `DiagnosticBuilder` " [compiler-team#722](https://github.com/rust-lang/compiler-team/issues/722) ([Zulip](https://rust-lang.zulipchat.com/#narrow/stream/233931-xxx/topic/Overhaul.20.60Diagnostic.60.20and.20.60DiagnosticBuil.E2.80.A6.20compiler-team.23722)) + - "Rename `astconv::AstConv` and related items" [compiler-team#723](https://github.com/rust-lang/compiler-team/issues/723) ([Zulip](https://rust-lang.zulipchat.com/#narrow/stream/233931-xxx/topic/Rename.20.60astconv.3A.3AAstConv.60.20and.20related.20ite.E2.80.A6.20compiler-team.23723)) +- Finalized FCPs (disposition merge) + - "Make unsafe_op_in_unsafe_fn warn-by-default starting in 2024 edition" [rust#120535](https://github.com/rust-lang/rust/issues/120535) + +### WG checkins + +- @_*WG-diagnostics* by @**Esteban Küber** and @**oli** ([previous checkin](https://hackmd.io/XFCdZKuHRO2QFV5gUfUoDA#WG-checkins)): + > Checkin text + +- @_*WG-rustc-dev-guide* by @**Santiago Pastorino** and @**Yuki Okushi|217081** ([prev checkin](https://hackmd.io/zW1EBQGZQ2yVhGBlvlPPpg#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.77] "Improve wording of `static_mut_ref`" [rust#121034](https://github.com/rust-lang/rust/pull/121034) + - postponed from last week ([comment](https://doc.rust-lang.org/rustc/platform-support.html#tier-2-without-host-tools)), waiting for the patch to be r+'ed + - which now happened (thanks @**RalfJ**!) + +- :beta: [1.77] "Solaris linker does not support --strip-debug" [rust#121399](https://github.com/rust-lang/rust/pull/121399) + - @_**Eric Huss** nominated since issue reporter asks for a backport ([comment](https://github.com/rust-lang/rust/pull/121399#issuecomment-1956929676)). + - fixes #121381, linkage broke on Solaris in a recent beta ([Tier 2 without host tools](https://doc.rust-lang.org/rustc/platform-support.html#tier-2-without-host-tools)) + +- 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) +- Other issues [in progress or waiting on other teams](https://hackmd.io/XYr1BrOWSiqCrl8RCWXRaQ) + +## Issues of Note + +### Short Summary + +- [1 T-compiler P-critical issues](https://github.com/rust-lang/rust/issues?q=is%3Aopen+label%3AT-compiler+label%3AP-critical) + - [1 of those are unassigned](https://github.com/rust-lang/rust/issues?q=is%3Aopen+label%3AT-compiler+label%3AP-critical+no%3Aassignee) +- [61 T-compiler P-high issues](https://github.com/rust-lang/rust/issues?q=is%3Aopen+label%3AT-compiler+label%3AP-high) + - [33 of those are unassigned](https://github.com/rust-lang/rust/issues?q=is%3Aopen+label%3AT-compiler+label%3AP-high+no%3Aassignee) +- [1 P-critical, 1 P-high, 2 P-medium, 0 P-low regression-from-stable-to-beta](https://github.com/rust-lang/rust/labels/regression-from-stable-to-beta) +- [0 P-critical, 1 P-high, 4 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, 15 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) +- "rust-1.75.0 fails to compile with ICE on aarch64 and various ppc arches with LTO enabled - error: could not compile memchr" [rust#121124](https://github.com/rust-lang/rust/issues/121124) + - Reported from a Gentoo user (in their issue tracker) + - Waiting for a feedback on a question whether it also happen on LLVM 18 ([comment](https://github.com/rust-lang/rust/issues/121124#issuecomment-1952228591)) + - @**nils (Nilstrieb)** suggests whether to disable LTO=fat altogether ([comment](https://github.com/rust-lang/rust/issues/121124#issuecomment-1945445978)) + +[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+) +- "Severe perf regression in optimized debug builds due to extra UB checks" [rust#121245](https://github.com/rust-lang/rust/issues/121245) + - @**apiraino** assigned P-high given it's reported as a /severe/ perf. regression in Miri built with optimized and debug assertions. Open to re-assess priority. + - reported that disabling one of the UB checks introduced in #120594 gives a speedup of the same ballpark as that slowdown + - [last perf. run](https://github.com/rust-lang/rust/pull/120594#issuecomment-1936402227) on #120594 were mostly positive :thinking: + +## Performance logs + +> [triage logs for 2022-02-20](https://github.com/rust-lang/rustc-perf/blob/d18e18944c4ab14988ca5219b17530454d133474/triage/2024-02-20.md) + +Relatively few PRs affecting performance, but massive improvements thanks to the +update to LLVM 18 (PR #12005), as well as the merging of two related compiler +queries (PR #120919) and other small improvements from a rollup (PR #121055). + +Triage done by **@pnkfelix**. +Revision range: [74c3f5a1..5af21304](https://perf.rust-lang.org/?start=74c3f5a146860c94ff4d179fc3bfa34f879adf41&end=5af2130440c198afefbe5b8099342057cf272ef4&absolute=false&stat=instructions%3Au) + +**Summary**: + +| (instructions:u) | mean | range | count | +|:------------------------:|:-----:|:---------------:|:-----:| +| Regressions (primary) | 0.5% | [0.5%, 0.5%] | 1 | +| Regressions (secondary) | 7.1% | [0.5%, 78.5%] | 17 | +| Improvements (primary) | -2.4% | [-13.9%, -0.4%] | 222 | +| Improvements (secondary) | -2.0% | [-9.8%, -0.3%] | 155 | +| All (primary) | -2.4% | [-13.9%, 0.5%] | 223 | + + +3 Regressions, 1 Improvements, 6 Mixed; 1 of them in rollups +65 artifact comparisons made in total + +#### Regressions + +Tracking import use types for more accurate redundant import checking [#117772](https://github.com/rust-lang/rust/pull/117772) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=6f726205a1b7992537ddec96c83f2b054b03e04f&end=8b21296b5db6d5724d6b8440dcf459fa82fd88b5&stat=instructions:u) + +| (instructions:u) | mean | range | count | +|:------------------------:|:----:|:------------:|:-----:| +| Regressions (primary) | 0.4% | [0.2%, 1.0%] | 44 | +| Regressions (secondary) | 0.7% | [0.4%, 1.1%] | 13 | +| Improvements (primary) | - | - | 0 | +| Improvements (secondary) | - | - | 0 | +| All (primary) | 0.4% | [0.2%, 1.0%] | 44 | + +* regressions are [explained by petrochenkov](https://github.com/rust-lang/rust/pull/117772#issuecomment-1951430297): This lint is newly firing against benchmark code, which means that lint reporting machinery is being exercised that was previously not being exercised. +* marked as triaged and filed rust-lang/rustc-perf#1819 to follow up with potential counter-action in benchmark tooling. + +macro_rules: Preserve all metavariable spans in a global side table [#119673](https://github.com/rust-lang/rust/pull/119673) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=8a497723e311a62fccb1f0bf40e79c6519744a12&end=2bf78d12d33ae02d10010309a0d85dd04e7cff72&stat=instructions:u) + +| (instructions:u) | mean | range | count | +|:------------------------:|:----:|:------------:|:-----:| +| Regressions (primary) | 0.4% | [0.1%, 1.3%] | 26 | +| Regressions (secondary) | 0.5% | [0.1%, 3.3%] | 12 | +| Improvements (primary) | - | - | 0 | +| Improvements (secondary) | - | - | 0 | +| All (primary) | 0.4% | [0.1%, 1.3%] | 26 | + +* Instruction count regressions flagged against serde_derive, diesel, serde, html5ever, syn +* Most of these were anticipated in the final perf runs against the try builds. +* Marking as triaged under assumption that the reviewers deemed this change to be worth the predicted cost. + + +Always evaluate free constants and statics, even if previous errors occurred [#121087](https://github.com/rust-lang/rust/pull/121087) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=5af2130440c198afefbe5b8099342057cf272ef4&end=cce6a6e22e715bd74455f2560a956ab920c3a914&stat=instructions:u) + +| (instructions:u) | mean | range | count | +|:------------------------:|:----:|:------------:|:-----:| +| Regressions (primary) | 0.8% | [0.4%, 2.0%] | 4 | +| Regressions (secondary) | 1.0% | [0.3%, 5.2%] | 11 | +| Improvements (primary) | - | - | 0 | +| Improvements (secondary) | - | - | 0 | +| All (primary) | 0.8% | [0.4%, 2.0%] | 4 | + + +#### Improvements + +pattern_analysis: Move constructor selection logic to `PlaceInfo` [#120692](https://github.com/rust-lang/rust/pull/120692) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=0b9f6ad99482c9fc35baa5f40cebf21be4fd98b3&end=bcea3cb748040aa507f44abbd66c50725f35ea4f&stat=instructions:u) + +| (instructions:u) | mean | range | count | +|:------------------------:|:-----:|:--------------:|:-----:| +| Regressions (primary) | - | - | 0 | +| Regressions (secondary) | - | - | 0 | +| Improvements (primary) | - | - | 0 | +| Improvements (secondary) | -1.8% | [-1.9%, -1.7%] | 6 | +| All (primary) | - | - | 0 | + + +#### Mixed + +Merge `impl_polarity` and `impl_trait_ref` queries [#120919](https://github.com/rust-lang/rust/pull/120919) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=0a5b998c57a8681acc13206b5917340b053b3a30&end=d26b41711282042c4ea0c5733e7332b07cfa4933&stat=instructions:u) + +| (instructions:u) | mean | range | count | +|:------------------------:|:-----:|:--------------:|:-----:| +| Regressions (primary) | 0.6% | [0.5%, 0.7%] | 3 | +| Regressions (secondary) | 1.5% | [1.5%, 1.5%] | 1 | +| Improvements (primary) | -0.3% | [-0.7%, -0.2%] | 43 | +| Improvements (secondary) | -0.4% | [-0.5%, -0.2%] | 5 | +| All (primary) | -0.3% | [-0.7%, 0.7%] | 46 | + +* already marked as triaged (more wins than losses) + +Update to LLVM 18 [#120055](https://github.com/rust-lang/rust/pull/120055) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=bc1b9e0e9a813d27a09708b293dc2d41c472f0d0&end=eaff1af8fdd18ee3eb05167b2836042b7d4315f6&stat=instructions:u) + +| (instructions:u) | mean | range | count | +|:------------------------:|:-----:|:---------------:|:-----:| +| Regressions (primary) | - | - | 0 | +| Regressions (secondary) | 1.1% | [0.7%, 3.5%] | 7 | +| Improvements (primary) | -2.4% | [-14.1%, -0.5%] | 233 | +| Improvements (secondary) | -1.6% | [-8.0%, -0.3%] | 160 | +| All (primary) | -2.4% | [-14.1%, -0.5%] | 233 | + +* already marked as triaged (more wins than losses) + +Rollup of 8 pull requests [#121055](https://github.com/rust-lang/rust/pull/121055) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=37b65339c8cf1d18e331f184dbf70bbddcb1e4f7&end=7508c3e4c1349e3dd405547bc7dd8d9549e105b6&stat=instructions:u) + +| (instructions:u) | mean | range | count | +|:------------------------:|:-----:|:--------------:|:-----:| +| Regressions (primary) | 0.2% | [0.2%, 0.2%] | 2 | +| Regressions (secondary) | 0.9% | [0.8%, 0.9%] | 2 | +| Improvements (primary) | -0.9% | [-1.8%, -0.2%] | 9 | +| Improvements (secondary) | -0.6% | [-1.1%, -0.3%] | 21 | +| All (primary) | -0.7% | [-1.8%, 0.2%] | 11 | + +* already marked as triaged (more wins than losses) + + +`cargo update` [#120454](https://github.com/rust-lang/rust/pull/120454) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=7508c3e4c1349e3dd405547bc7dd8d9549e105b6&end=cc1c0990ab6f7136d1d54fd008598095b2c53c66&stat=instructions:u) + +| (instructions:u) | mean | range | count | +|:------------------------:|:-----:|:--------------:|:-----:| +| Regressions (primary) | - | - | 0 | +| Regressions (secondary) | 1.4% | [0.8%, 1.9%] | 10 | +| Improvements (primary) | - | - | 0 | +| Improvements (secondary) | -0.9% | [-3.4%, -0.2%] | 15 | +| All (primary) | - | - | 0 | + +* already marked as triaged (improvements and regressions balanced out, and the binary size regressions were deemed due to upstream dependencies) + +Store static initializers in metadata instead of the MIR of statics. [#116564](https://github.com/rust-lang/rust/pull/116564) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=4ae1e79876fcee94a56c1edf7c029a677084d7fc&end=6a4222b5119bce8c24e74dd3ad44006ce0c803e6&stat=instructions:u) + +| (instructions:u) | mean | range | count | +|:------------------------:|:-----:|:--------------:|:-----:| +| Regressions (primary) | - | - | 0 | +| Regressions (secondary) | 15.9% | [0.4%, 81.2%] | 8 | +| Improvements (primary) | -0.4% | [-0.5%, -0.2%] | 8 | +| Improvements (secondary) | -2.5% | [-8.9%, -0.4%] | 18 | +| All (primary) | -0.4% | [-0.5%, -0.2%] | 8 | + +* already marked as triaged: the benchmark stress test is now writing an 8MB constant to metadata instead of a tiny bit of MIR + +Clean up potential_query_instability with FxIndexMap and UnordMap [#120931](https://github.com/rust-lang/rust/pull/120931) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=6a4222b5119bce8c24e74dd3ad44006ce0c803e6&end=fa9f77ff35b4b63ed0cef9a9642c8f881b33f14f&stat=instructions:u) + +| (instructions:u) | mean | range | count | +|:------------------------:|:-----:|:--------------:|:-----:| +| Regressions (primary) | - | - | 0 | +| Regressions (secondary) | 0.2% | [0.2%, 0.2%] | 4 | +| Improvements (primary) | -0.2% | [-0.2%, -0.2%] | 2 | +| Improvements (secondary) | -6.6% | [-6.6%, -6.6%] | 1 | +| All (primary) | -0.2% | [-0.2%, -0.2%] | 2 | + +* regressions are solely to the secondary many-assoc-items benchmark (check full, check/debug/opt incr-full), and was anticipated. +* marking as triaged + +## Nominated Issues + +[T-compiler](https://github.com/rust-lang/rust/issues?q=is%3Aopen+label%3AI-compiler-nominated) +- "debuginfo: Stabilize `-Z debug-macros`, `-Z collapse-macro-debuginfo` and `#[collapse_debuginfo]`" [rust#120845](https://github.com/rust-lang/rust/pull/120845) + - Nominated by @**Vadim Petrochenkov** (see [Stabilization report](https://github.com/rust-lang/rust/pull/120845#issuecomment-1939145242)), opened FCP ([link](https://github.com/rust-lang/rust/pull/120845#issuecomment-1939147057)) + - mentioned quickly last week (unsure got some attention) + +[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) +- "compiler: allow transmute of ZST arrays with generics" [rust#114009](https://github.com/rust-lang/rust/pull/114009) (last review activity: 7 months ago) + - cc @**Wesley Wiser** (or are you ok with passing this to someone else?) +- "Create the previous dep graph index on a background thread" [rust#116375](https://github.com/rust-lang/rust/pull/116375) (last review activity: 4 months ago) + - cc: **cjgillot** +- "Fix ICE from zero-length span when suggesting to remove trailing semi-colon from final statement in block" [rust#118953](https://github.com/rust-lang/rust/pull/118953) (last review activity: 2 months ago) + - cc @**cjgillot** + +## 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/uDPdSPqLTReGUGYL2yp4EA) diff --git a/content/minutes/triage-meeting/T-compiler Meeting Agenda 2024-02-29.md b/content/minutes/triage-meeting/T-compiler Meeting Agenda 2024-02-29.md new file mode 100644 index 00000000..e0fdafee --- /dev/null +++ b/content/minutes/triage-meeting/T-compiler Meeting Agenda 2024-02-29.md @@ -0,0 +1,346 @@ +--- +tags: weekly, rustc +type: docs +note_id: uDPdSPqLTReGUGYL2yp4EA +--- + +# T-compiler Meeting Agenda 2024-02-29 + +## 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!) + - No new 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: about 43 days ago) + - concern: [added-complexity-to-frontend](https://github.com/rust-lang/compiler-team/issues/692#issuecomment-1845169318) + - "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: [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) +- Old MCPs (not seconded, take a look) + - "Support patchable-function-entry" [compiler-team#704](https://github.com/rust-lang/compiler-team/issues/704) ([Zulip](https://rust-lang.zulipchat.com/#narrow/stream/233931-xxx/topic/Support.20patchable-function-entry.20compiler-team.23704)) (last review activity: 2 months ago) + - "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: about 27 days ago) + - "Promote tier 3 arm64e-apple-darwin target to tier 2" [compiler-team#717](https://github.com/rust-lang/compiler-team/issues/717) ([Zulip](https://rust-lang.zulipchat.com/#narrow/stream/233931-xxx/topic/Promote.20tier.203.20arm64e-apple-darwin.20target.E2.80.A6.20compiler-team.23717)) (last review activity: about 27 days 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: about 27 days ago) + - "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)) (last review activity: about 6 days ago) +- Pending FCP requests (check your boxes!) + - "Tracking Issue for RFC 3013: Checking conditional compilation at compile time" [rust#82450](https://github.com/rust-lang/rust/issues/82450) + - "Update Windows platform support" [rust#115141](https://github.com/rust-lang/rust/pull/115141) + - "Stabilize Wasm target features that are in phase 4 and 5" [rust#117457](https://github.com/rust-lang/rust/pull/117457) + - "Add `wasm_c_abi` `future-incompat` lint" [rust#117918](https://github.com/rust-lang/rust/pull/117918) + - "Stabilize `--env-set` option" [rust#119926](https://github.com/rust-lang/rust/pull/119926) + - "debuginfo: Stabilize `-Z debug-macros`, `-Z collapse-macro-debuginfo` and `#[collapse_debuginfo]`" [rust#120845](https://github.com/rust-lang/rust/pull/120845) +- Things in FCP (make sure you're good with it) + - "Introduce perma-unstable `wasm-c-abi` flag" [compiler-team#703](https://github.com/rust-lang/compiler-team/issues/703) ([Zulip](https://rust-lang.zulipchat.com/#narrow/stream/233931-xxx/topic/Introduce.20perma-unstable.20.60wasm-c-abi.60.20flag.20compiler-team.23703)) + - "Support debug fission using -Csplit-debuginfo=post-link" [compiler-team#721](https://github.com/rust-lang/compiler-team/issues/721) ([Zulip](https://rust-lang.zulipchat.com/#narrow/stream/233931-xxx/topic/Use.20debug.20fission.20instead.20of.20dwarf.20split.20.E2.80.A6.20compiler-team.23721)) + - "Put "checks that detect UB" under their own flag below `debug_assertions`" [compiler-team#725](https://github.com/rust-lang/compiler-team/issues/725) ([Zulip](https://rust-lang.zulipchat.com/#narrow/stream/233931-xxx/topic/Put.20.22checks.20that.20detect.20UB.22.20under.20their.20o.E2.80.A6.20compiler-team.23725)) + - "Separate incremental crate identity" [compiler-team#726](https://github.com/rust-lang/compiler-team/issues/726) ([Zulip](https://rust-lang.zulipchat.com/#narrow/stream/233931-xxx/topic/Separate.20incremental.20crate.20identity.20compiler-team.23726)) + - "MCP: Low level components for async drop" [compiler-team#727](https://github.com/rust-lang/compiler-team/issues/727) ([Zulip](https://rust-lang.zulipchat.com/#narrow/stream/233931-xxx/topic/MCP.3A.20Low.20level.20components.20for.20async.20drop.20compiler-team.23727)) +- Accepted MCPs + - No new accepted proposals this time. +- Finalized FCPs (disposition merge) + - "Tracking Issue for cfg-target-abi" [rust#80970](https://github.com/rust-lang/rust/issues/80970) + - "change equate for binders to not rely on subtyping" [rust#118247](https://github.com/rust-lang/rust/pull/118247) + - "Tracking Issue for `min_exhaustive_patterns`" [rust#119612](https://github.com/rust-lang/rust/issues/119612) + - "Stabilize the `#[diagnostic]` namespace and `#[diagnostic::on_unimplemented]` attribute" [rust#119888](https://github.com/rust-lang/rust/pull/119888) + - "Implement RFC 3373: Avoid non-local definitions in functions" [rust#120393](https://github.com/rust-lang/rust/pull/120393) + - "make non-PartialEq-typed consts as patterns a hard error" [rust#120805](https://github.com/rust-lang/rust/pull/120805) + +### WG checkins + +- Impl Trait initiative by @**oli** ([previous checkin](https://hackmd.io/zW1EBQGZQ2yVhGBlvlPPpg?view=#WG-checkins)): + > Checkin text + +- @_*WG-llvm* by @**nagisa** and @**Nikita Popov** ([previous checkin](https://hackmd.io/QQzvErTHQF6o8btLDH3oPw?view=#WG-checkins)): + > Checkin text + +## Backport nominations + +Note: we are ~20 days from the release cut, if you have anything to backport feel free to label as such! + +[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) +- Other 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) +- [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) +- [2 P-critical, 0 P-high, 2 P-medium, 0 P-low regression-from-stable-to-beta](https://github.com/rust-lang/rust/labels/regression-from-stable-to-beta) +- [0 P-critical, 1 P-high, 4 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, 15 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: visibility qualifiers are not permitted" [rust#121607](https://github.com/rust-lang/rust/issues/121607) + - Regression in a beta crater run, affects a number of correlated crates, not particularly widespread nor updated but the minimal repro looks pretty simple ([comment](https://github.com/rust-lang/rust/issues/121607#issuecomment-1963084636)) + - Fine to also downgrade the `P-` label + - @**León Orell Liehr (fmease)** already posted a patch #120698, assigned to @**Michael (compiler-errors) Goulet** for review (thanks to both!) + +[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+) +- "Severe perf regression in optimized debug builds due to extra UB checks" [rust#121245](https://github.com/rust-lang/rust/issues/121245) + - [from last week](https://rust-lang.zulipchat.com/#narrow/stream/238009-t-compiler.2Fmeetings/topic/.5Bweekly.5D.202024-02-22/near/422843279), meeting time ran out, postponed to today + - suggestion from Wesley to land Nils' PR #121114 ([comment](https://rust-lang.zulipchat.com/#narrow/stream/238009-t-compiler.2Fmeetings/topic/.5Bweekly.5D.202024-02-22/near/422851025)) + +## Performance logs + +> [triage logs for 2024-02-7](https://github.com/rust-lang/rustc-perf/blob/master/triage/2024-02-27.md) + +A rare week where regressions out powered improvements to make the compiler roughly half a percent slower on average on nearly 100 benchmarks. Some regressions have fixes in the pipeline, but some remain elusive or were introduced to address correctness issues. + +Triage done by **@rylev**. +Revision range: [5af21304..71ffdf7f](https://perf.rust-lang.org/?start=5af2130440c198afefbe5b8099342057cf272ef4&end=71ffdf7ff7ac6df5f9f64de7e780b8345797e8a0&absolute=false&stat=instructions%3Au) + +**Summary**: + +| (instructions:u) | mean | range | count | +|:------------------------:|:-----:|:--------------:|:-----:| +| Regressions (primary) | 1.0% | [0.2%, 4.4%] | 69 | +| Regressions (secondary) | 1.4% | [0.2%, 4.9%] | 66 | +| Improvements (primary) | -1.1% | [-3.3%, -0.2%] | 28 | +| Improvements (secondary) | -0.6% | [-1.5%, -0.2%] | 33 | +| All (primary) | 0.4% | [-3.3%, 4.4%] | 97 | + + +4 Regressions, 6 Improvements, 5 Mixed; 2 of them in rollups +58 artifact comparisons made in total + +#### Regressions + +Always evaluate free constants and statics, even if previous errors occurred [#121087](https://github.com/rust-lang/rust/pull/121087) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=5af2130440c198afefbe5b8099342057cf272ef4&end=cce6a6e22e715bd74455f2560a956ab920c3a914&stat=instructions:u) + +| (instructions:u) | mean | range | count | +|:------------------------:|:----:|:------------:|:-----:| +| Regressions (primary) | 0.8% | [0.4%, 2.0%] | 4 | +| Regressions (secondary) | 1.0% | [0.3%, 5.2%] | 11 | +| Improvements (primary) | - | - | 0 | +| Improvements (secondary) | - | - | 0 | +| All (primary) | 0.8% | [0.4%, 2.0%] | 4 | +- Regressions in primary benchmarks are real and addressed in #121387 +- Regressions in secondary benchmarks seem to be all noise. + + +Use intrinsics::debug_assertions in debug_assert_nounwind [#120863](https://github.com/rust-lang/rust/pull/120863) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=29f87ade9d78d233e85ef6ca2d6153d0d4fd38d6&end=2b43e75c98cc5ae32328c8b49657bcd882eb5e75&stat=instructions:u) + +| (instructions:u) | mean | range | count | +|:------------------------:|:-----:|:--------------:|:-----:| +| Regressions (primary) | 0.8% | [0.3%, 1.7%] | 13 | +| Regressions (secondary) | - | - | 0 | +| Improvements (primary) | -0.4% | [-0.4%, -0.4%] | 1 | +| Improvements (secondary) | - | - | 0 | +| All (primary) | 0.7% | [-0.4%, 1.7%] | 14 | +- Pinged the author on what next steps are. Regression is in codegen which would be expected given the nature of the change, but it's unclear how one would address the issue. + + +wasm: Store rlib metadata in wasm object files [#120588](https://github.com/rust-lang/rust/pull/120588) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=0987e41d1ccbae7a8a55fdcde4af0ea76ebfe2d3&end=7168c13579a550f2c47f7eea22f5e226a436cd00&stat=instructions:u) + +| (instructions:u) | mean | range | count | +|:------------------------:|:----:|:------------:|:-----:| +| Regressions (primary) | 3.1% | [3.0%, 3.3%] | 4 | +| Regressions (secondary) | 1.5% | [0.2%, 2.9%] | 33 | +| Improvements (primary) | - | - | 0 | +| Improvements (secondary) | - | - | 0 | +| All (primary) | 3.1% | [3.0%, 3.3%] | 4 | +- Regressions seem legit but nothing in self profiling stands out as a likely culprit. +- Asked the author for more investigation. + + +Subtree update of `rust-analyzer` [#121581](https://github.com/rust-lang/rust/pull/121581) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=710048f790ebc9ebfac6039c6733570f8084c9de&end=43fdd4916d19f4004e23d422b5547637ad67ab21&stat=instructions:u) + +| (instructions:u) | mean | range | count | +|:------------------------:|:----:|:------------:|:-----:| +| Regressions (primary) | 0.7% | [0.7%, 0.8%] | 4 | +| Regressions (secondary) | 0.4% | [0.2%, 0.7%] | 23 | +| Improvements (primary) | - | - | 0 | +| Improvements (secondary) | - | - | 0 | +| All (primary) | 0.7% | [0.7%, 0.8%] | 4 | +- This is all noise - regressions revert in the next run. + + +#### Improvements + +Improve codegen diagnostic handling [#121129](https://github.com/rust-lang/rust/pull/121129) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=026b3b8e955e0571db39aa96fc9d7aba25cc4d66&end=f70f19fef41cfdda75c92f163434c29ad046cf09&stat=instructions:u) + +| (instructions:u) | mean | range | count | +|:------------------------:|:-----:|:--------------:|:-----:| +| Regressions (primary) | - | - | 0 | +| Regressions (secondary) | - | - | 0 | +| Improvements (primary) | - | - | 0 | +| Improvements (secondary) | -5.1% | [-5.1%, -5.1%] | 1 | +| All (primary) | - | - | 0 | + + +remove `sub_relations` from the `InferCtxt` [#119989](https://github.com/rust-lang/rust/pull/119989) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=d9ae43c7879c83f08ea2e886b55ea0f6839c9ead&end=397937d812852f9bbeb671005cb399dbcb357cde&stat=instructions:u) + +| (instructions:u) | mean | range | count | +|:------------------------:|:-----:|:--------------:|:-----:| +| Regressions (primary) | - | - | 0 | +| Regressions (secondary) | - | - | 0 | +| Improvements (primary) | -0.3% | [-0.5%, -0.2%] | 28 | +| Improvements (secondary) | -0.4% | [-0.7%, -0.2%] | 28 | +| All (primary) | -0.3% | [-0.5%, -0.2%] | 28 | + + +Rollup of 7 pull requests [#121549](https://github.com/rust-lang/rust/pull/121549) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=6bdb8a4a96945527677f4b3dc7161875834189a4&end=381d69953bb7c3390cec0fee200f24529cb6320f&stat=instructions:u) + +| (instructions:u) | mean | range | count | +|:------------------------:|:-----:|:--------------:|:-----:| +| Regressions (primary) | - | - | 0 | +| Regressions (secondary) | - | - | 0 | +| Improvements (primary) | -2.8% | [-2.8%, -2.8%] | 1 | +| Improvements (secondary) | - | - | 0 | +| All (primary) | -2.8% | [-2.8%, -2.8%] | 1 | + + +Use `br` instead of a conditional when switching on a constant boolean [#120650](https://github.com/rust-lang/rust/pull/120650) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=2ae1bb671183a072b54ed8ed39abfcd72990a3e7&end=89d8e3116ccb7f55760825b731de4f4e0fd76770&stat=instructions:u) + +| (instructions:u) | mean | range | count | +|:------------------------:|:-----:|:--------------:|:-----:| +| Regressions (primary) | - | - | 0 | +| Regressions (secondary) | - | - | 0 | +| Improvements (primary) | -0.9% | [-2.2%, -0.1%] | 19 | +| Improvements (secondary) | - | - | 0 | +| All (primary) | -0.9% | [-2.2%, -0.1%] | 19 | + + +speed up `x install` by skipping archiving and compression [#118724](https://github.com/rust-lang/rust/pull/118724) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=43fdd4916d19f4004e23d422b5547637ad67ab21&end=26cd5d862e22c013ecb3396b177d3af80e95c836&stat=instructions:u) + +| (instructions:u) | mean | range | count | +|:------------------------:|:-----:|:--------------:|:-----:| +| Regressions (primary) | - | - | 0 | +| Regressions (secondary) | - | - | 0 | +| Improvements (primary) | -0.7% | [-0.8%, -0.6%] | 4 | +| Improvements (secondary) | -0.4% | [-0.7%, -0.2%] | 24 | +| All (primary) | -0.7% | [-0.8%, -0.6%] | 4 | + + +Use generic `NonZero` in tests. [#121461](https://github.com/rust-lang/rust/pull/121461) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=0ecbd0605770f45c9151715e66ba2b3cae367fcb&end=0250ef2571185b05701ed9d74fc904c17508a397&stat=instructions:u) + +| (instructions:u) | mean | range | count | +|:------------------------:|:-----:|:--------------:|:-----:| +| Regressions (primary) | - | - | 0 | +| Regressions (secondary) | - | - | 0 | +| Improvements (primary) | -3.6% | [-3.6%, -3.6%] | 1 | +| Improvements (secondary) | - | - | 0 | +| All (primary) | -3.6% | [-3.6%, -3.6%] | 1 | + + +#### Mixed + +Rollup of 8 pull requests [#121345](https://github.com/rust-lang/rust/pull/121345) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=2b43e75c98cc5ae32328c8b49657bcd882eb5e75&end=bb594538fc6e84213a6b8d5e165442570aa48923&stat=instructions:u) + +| (instructions:u) | mean | range | count | +|:------------------------:|:-----:|:--------------:|:-----:| +| Regressions (primary) | 0.6% | [0.4%, 1.1%] | 9 | +| Regressions (secondary) | 1.7% | [1.7%, 1.7%] | 1 | +| Improvements (primary) | -0.4% | [-0.8%, -0.2%] | 6 | +| Improvements (secondary) | -0.8% | [-2.1%, -0.3%] | 17 | +| All (primary) | 0.2% | [-0.8%, 1.1%] | 15 | +- Lots of seemingly risky PRs in this roll up. Need to run through them. + + +match lowering: eagerly simplify match pairs [#120904](https://github.com/rust-lang/rust/pull/120904) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=2dc0170233689435f988579a2080f27b02027d21&end=4e650749337bd4b0b464ebb5252d122b7cb98c8d&stat=instructions:u) + +| (instructions:u) | mean | range | count | +|:------------------------:|:-----:|:--------------:|:-----:| +| Regressions (primary) | - | - | 0 | +| Regressions (secondary) | 0.2% | [0.2%, 0.2%] | 3 | +| Improvements (primary) | -2.0% | [-3.1%, -0.2%] | 7 | +| Improvements (secondary) | - | - | 0 | +| All (primary) | -2.0% | [-3.1%, -0.2%] | 7 | +- Improvements far outweigh the regressions so I don't think this needs further investigation. + + +compiler: clippy::complexity fixes [#121523](https://github.com/rust-lang/rust/pull/121523) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=8f359beca4e58bc3ae795a666301a8f47023044c&end=6bdb8a4a96945527677f4b3dc7161875834189a4&stat=instructions:u) + +| (instructions:u) | mean | range | count | +|:------------------------:|:-----:|:--------------:|:-----:| +| Regressions (primary) | 1.5% | [0.2%, 2.7%] | 2 | +| Regressions (secondary) | - | - | 0 | +| Improvements (primary) | - | - | 0 | +| Improvements (secondary) | -1.2% | [-1.2%, -1.2%] | 1 | +| All (primary) | 1.5% | [0.2%, 2.7%] | 2 | +- The large regression that caused this to be marked overall as a regression is just noise. + + +Add `#[rustc_no_mir_inline]` for standard library UB checks [#121114](https://github.com/rust-lang/rust/pull/121114) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=89d8e3116ccb7f55760825b731de4f4e0fd76770&end=e9f95949138125bb1b98ed213a41b9aa825bacf5&stat=instructions:u) + +| (instructions:u) | mean | range | count | +|:------------------------:|:-----:|:--------------:|:-----:| +| Regressions (primary) | 0.5% | [0.2%, 1.2%] | 33 | +| Regressions (secondary) | 1.5% | [0.3%, 5.5%] | 12 | +| Improvements (primary) | -0.3% | [-0.3%, -0.3%] | 3 | +| Improvements (secondary) | -0.3% | [-0.3%, -0.2%] | 8 | +| All (primary) | 0.4% | [-0.3%, 1.2%] | 36 | +- Consider necessary for fixing some pathological performance cases as well as addressing another critical issue. (See [this analysis](https://github.com/rust-lang/rust/pull/121114#issuecomment-1962316858) for more detail.) + + +Implement RFC 3373: Avoid non-local definitions in functions [#120393](https://github.com/rust-lang/rust/pull/120393) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=8c0b1fcd2914caaf1c3a1071028fb74b70c519e9&end=b0d3e04ca9f848c5fce3ad4bab6153009be06db0&stat=instructions:u) + +| (instructions:u) | mean | range | count | +|:------------------------:|:-----:|:--------------:|:-----:| +| Regressions (primary) | 2.2% | [0.5%, 4.2%] | 12 | +| Regressions (secondary) | 0.7% | [0.1%, 1.8%] | 5 | +| Improvements (primary) | - | - | 0 | +| Improvements (secondary) | -0.4% | [-0.8%, -0.1%] | 27 | +| All (primary) | 2.2% | [0.5%, 4.2%] | 12 | +- [#121625](https://github.com/rust-lang/rust/pull/121625) is meant to try to address this. +- Given the complex nature of the change, I imagine a revert is not desirable even if performance can't be gained back. + +## Nominated Issues + +[T-compiler](https://github.com/rust-lang/rust/issues?q=is%3Aopen+label%3AI-compiler-nominated) +- "debuginfo: Stabilize `-Z debug-macros`, `-Z collapse-macro-debuginfo` and `#[collapse_debuginfo]`" [rust#120845](https://github.com/rust-lang/rust/pull/120845) + - posted in a past meeting ([comment](https://rust-lang.zulipchat.com/#narrow/stream/238009-t-compiler.2Fmeetings/topic/.5Bweekly.5D.202024-02-15/near/421688818)) + - @**Jack Huey** left some [comments](https://github.com/rust-lang/rust/pull/120845#issuecomment-1943753599) + - nominated by @**Vadim Petrochenkov**, opened an FCP. Anything more to discuss or can the nomination be removed? + +[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) +- "compiler: allow transmute of ZST arrays with generics" [rust#114009](https://github.com/rust-lang/rust/pull/114009) (last review activity: 7 months ago) + - cc @**Wesley Wiser** (or are you ok with passing this to someone else?) +- "Create the previous dep graph index on a background thread" [rust#116375](https://github.com/rust-lang/rust/pull/116375) (last review activity: 4 months ago) + - cc: **cjgillot** +- "Fix ICE from zero-length span when suggesting to remove trailing semi-colon from final statement in block" [rust#118953](https://github.com/rust-lang/rust/pull/118953) (last review activity: 2 months ago) + - cc @**cjgillot** + +## Next week's WG checkins + +Skipping next week + +Next meetings' agenda draft: [hackmd link](https://hackmd.io/pr4gaVUvQv2UNLSVHbptzQ)