diff --git a/content/minutes/triage-meeting/T-compiler Meeting Agenda 2023-11-09.md b/content/minutes/triage-meeting/T-compiler Meeting Agenda 2023-11-09.md index b63a2a47..48d72211 100644 --- a/content/minutes/triage-meeting/T-compiler Meeting Agenda 2023-11-09.md +++ b/content/minutes/triage-meeting/T-compiler Meeting Agenda 2023-11-09.md @@ -407,7 +407,6 @@ Add all RPITITs when augmenting param-env with GAT bounds in `check_type_bounds` ## Next week's WG checkins -- @*WG-X* checkin by @**person1** -- @*WG-X* checkin by @**person2** +TODO -Next meetings' agenda draft: [hackmd link](#) +Next meetings' agenda draft: [hackmd link](hackmd.io/0GmbMjmTSDO5dXpIjsXmng) diff --git a/content/minutes/triage-meeting/T-compiler Meeting Agenda 2023-11-16.md b/content/minutes/triage-meeting/T-compiler Meeting Agenda 2023-11-16.md index 054a6459..8fa074bb 100644 --- a/content/minutes/triage-meeting/T-compiler Meeting Agenda 2023-11-16.md +++ b/content/minutes/triage-meeting/T-compiler Meeting Agenda 2023-11-16.md @@ -255,4 +255,4 @@ Rollup of 6 pull requests [#117769](https://github.com/rust-lang/rust/pull/11776 - "Try to use approximate placeholder regions when outputting an AscribeUserType error in borrowck" [rust#116097](https://github.com/rust-lang/rust/pull/116097) (last review activity: about 52 days ago) - cc: @**wesley wiser** -## Next triage meeting on \ No newline at end of file +## Next triage meeting on diff --git a/content/minutes/triage-meeting/T-compiler Meeting Agenda 2023-11-23.md b/content/minutes/triage-meeting/T-compiler Meeting Agenda 2023-11-23.md deleted file mode 100644 index 5fe70058..00000000 --- a/content/minutes/triage-meeting/T-compiler Meeting Agenda 2023-11-23.md +++ /dev/null @@ -1,13 +0,0 @@ ---- -tags: weekly, rustc -type: docs -note_id: UH2bZYXtT9CMPjnu62n7UQ ---- - -# T-compiler Meeting Agenda 2023-11-23 - -## Add notes asynchronously here - -Please feel free to add notes for the next meeting - -## Autogenerated agenda will be added below diff --git a/content/minutes/triage-meeting/T-compiler Meeting Agenda 2023-12-07.md b/content/minutes/triage-meeting/T-compiler Meeting Agenda 2023-12-07.md new file mode 100644 index 00000000..e96ae185 --- /dev/null +++ b/content/minutes/triage-meeting/T-compiler Meeting Agenda 2023-12-07.md @@ -0,0 +1,271 @@ +--- +tags: weekly, rustc +type: docs +note_id: CBacAmB6TTyQJb4kmrBGfw +--- + +# T-compiler Meeting Agenda 2023-12-07 + +## Announcements + +- 1.74.1 is released ([Zulip](https://rust-lang.zulipchat.com/#narrow/stream/241545-t-release/topic/1.2E74.2E1)) and [blog post](https://blog.rust-lang.org/2023/12/07/Rust-1.74.1.html) + - With some P-high/critical regression were fixed (a big thanks to those that helped debugging and fixing) +- 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)) +- [AFIT/RPITIT Impl Triage](https://www.google.com/calendar/event?eid=N2VsaWszdm9rY3NhdDF1MjdyMjVqajNpcWVfMjAyMzEyMDdUMjEwMDAwWiA2dTVycnRjZTZscnR2MDdwZmkzZGFtZ2p1c0Bn) at +- [Types team meeting](https://www.google.com/calendar/event?eid=MTg3MDhpdTc3YXBqMGMzbnNxanUwdWZnazhfMjAyMzEyMTFUMTUwMDAwWiA2dTVycnRjZTZscnR2MDdwZmkzZGFtZ2p1c0Bn) at +- [[Types] Rotating new solver / formality / polonius deep dive](https://www.google.com/calendar/event?eid=N29vMXZqbGZ1MDIxbzllMDI3dGhocWhhZmNfMjAyMzEyMTFUMTYwMDAwWiA2dTVycnRjZTZscnR2MDdwZmkzZGFtZ2p1c0Bn) at + +## MCPs/FCPs + +- New MCPs (take a look, see if you like them!) + - "Require `--known-broken-llvm` flag for x.py to skip codegen tests on old LLVM" [compiler-team#687](https://github.com/rust-lang/compiler-team/issues/687) ([Zulip](https://rust-lang.zulipchat.com/#narrow/stream/233931-xxx/topic/Require.20.60--known-broken-llvm.60.20flag.20for.20x.2E.E2.80.A6.20compiler-team.23687)) + - concern [codegen-tests-are-for-new-optimizations](https://github.com/rust-lang/compiler-team/issues/687#issuecomment-1809869102) + - "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)) + - "Add hygiene attributes to compile expanded source code" [compiler-team#692](https://github.com/rust-lang/compiler-team/issues/692) ([Zulip](https://rust-lang.zulipchat.com/#narrow/stream/233931-xxx/topic/Add.20option.20to.20compile.20expanded.20ASTs.20for.20h.E2.80.A6.20compiler-team.23692)) + - concern: [added-complexity-to-frontend](https://rust-lang.zulipchat.com/#narrow/stream/233931-t-compiler.2Fmajor-changes/topic/Add.20hygiene.20attributes.20to.20compile.20expande.E2.80.A6.20compiler-team.23692/near/403245433) + - "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)) + - "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)) +- Old MCPs (not seconded, take a look) + - "De-llvm some integer intrinsics that on the Rust side always use `u32`" [compiler-team#693](https://github.com/rust-lang/compiler-team/issues/693) ([Zulip](https://rust-lang.zulipchat.com/#narrow/stream/233931-xxx/topic/De-llvm.20some.20integer.20intrinsics.20that.20on.20t.E2.80.A6.20compiler-team.23693)) (last review activity: about 10 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-1777545767) + - concern [other-existing-options](https://github.com/rust-lang/compiler-team/issues/635#issuecomment-1777545767) + - "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-1618781780) + - concern [single-point-of-failure-via-stream-archival](https://github.com/rust-lang/compiler-team/issues/649#issuecomment-1618781780) + - "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)) + - concern [lint-interactions](https://github.com/rust-lang/compiler-team/issues/674#issuecomment-1746696850) + - "Support overriding `warnings` level for a specific lint via command line" [rust#113307](https://github.com/rust-lang/rust/pull/113307) + - concern [nesting](https://github.com/rust-lang/rust/pull/113307#issuecomment-1621305927) + - "Update Windows platform support" [rust#115141](https://github.com/rust-lang/rust/pull/115141) + - concern [needs blog post](https://github.com/rust-lang/rust/pull/115141#issuecomment-1740089459) + - "make soft_unstable show up in future breakage reports" [rust#116274](https://github.com/rust-lang/rust/pull/116274) + - "Stabilize Wasm target features that are in phase 4 and 5" [rust#117457](https://github.com/rust-lang/rust/pull/117457) + - "static mut: allow mutable reference to arbitrary types, not just slices and arrays" [rust#117614](https://github.com/rust-lang/rust/pull/117614) +- Things in FCP (make sure you're good with it) + - "Promote tier 3 riscv32 bare metal targets to tier 2" [compiler-team#701](https://github.com/rust-lang/compiler-team/issues/701) + - "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)) + - concern [needs-fcp](https://github.com/rust-lang/compiler-team/issues/625#issuecomment-1672919695) + - "Report all lints, even if other errors already occurred." [compiler-team#633](https://github.com/rust-lang/compiler-team/issues/633) ([Zulip](https://rust-lang.zulipchat.com/#narrow/stream/233931-xxx/topic/Report.20all.20lints.2C.20even.20if.20other.20errors.20al.E2.80.A6.20compiler-team.23633)) + - concern [errors-inherently-higher-priority](https://github.com/rust-lang/compiler-team/issues/633#issuecomment-1545905322) + - "Add infrastructure to "compute the ABI of a Rust type, described as a C type"" [compiler-team#672](https://github.com/rust-lang/compiler-team/issues/672) ([Zulip](https://rust-lang.zulipchat.com/#narrow/stream/233931-xxx/topic/Add.20infrastructure.20to.20.22compute.20the.20ABI.20of.E2.80.A6.20compiler-team.23672)) + - "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 response files generated by ninja with `@ninja:path` syntax" [compiler-team#684](https://github.com/rust-lang/compiler-team/issues/684) ([Zulip](https://rust-lang.zulipchat.com/#narrow/stream/233931-xxx/topic/Use.20shell.20parsing.20for.20response.20files.20compiler-team.23684)) + - "Add `-Zexperimental-target`" [compiler-team#685](https://github.com/rust-lang/compiler-team/issues/685) ([Zulip](https://rust-lang.zulipchat.com/#narrow/stream/233931-xxx/topic/Add.20.60-Zexperimental-target.60.20compiler-team.23685)) + - concern [doesn-t-justify-the-maintenance](https://github.com/rust-lang/compiler-team/issues/685#issuecomment-1804693114) + - "Consistent `Handler` naming" [compiler-team#699](https://github.com/rust-lang/compiler-team/issues/699) ([Zulip](https://rust-lang.zulipchat.com/#narrow/stream/233931-xxx/topic/Consistent.20.60Handler.60.20naming.20compiler-team.23699)) + - "Stabilize THIR unsafeck" [rust#117673](https://github.com/rust-lang/rust/pull/117673) + - "guarantee that char and u32 are ABI-compatible" [rust#118032](https://github.com/rust-lang/rust/pull/118032) + - "Propose rules for team repo maintenance" [rust-forge#707](https://github.com/rust-lang/rust-forge/pull/707) +- Accepted MCPs + - "Add -Z small-data-threshold" [compiler-team#689](https://github.com/rust-lang/compiler-team/issues/689) ([Zulip](https://rust-lang.zulipchat.com/#narrow/stream/233931-xxx/topic/Add.20-Z.20small-data-threshold.20compiler-team.23689)) + - "Add `$message_type` field to distinguish json diagnostic outputs" [compiler-team#673](https://github.com/rust-lang/compiler-team/issues/673) ([Zulip](https://rust-lang.zulipchat.com/#narrow/stream/233931-xxx/topic/.20Add.20.60type.60.20field.20to.20json.20diagnostic.20outp.E2.80.A6.20compiler-team.23673)) + - "Set alignment of `i128` to 128 bits for x86" [compiler-team#683](https://github.com/rust-lang/compiler-team/issues/683) ([Zulip](https://rust-lang.zulipchat.com/#narrow/stream/233931-xxx/topic/Set.20alignment.20of.20.60i128.60.20to.20128.20bits.20compiler-team.23683)) + - "Stop emitting less useful debug sections: `.debug_pubnames` and `.debug_pubtypes`" [compiler-team#688](https://github.com/rust-lang/compiler-team/issues/688) ([Zulip](https://rust-lang.zulipchat.com/#narrow/stream/233931-xxx/topic/Flag.20to.20stop.20emitting.20less.20useful.20debug.20s.E2.80.A6.20compiler-team.23688)) +- Finalized FCPs (disposition merge) + - "Tracking issue for dyn upcasting coercion" [rust#65991](https://github.com/rust-lang/rust/issues/65991) + - "TAIT defining scope options" [rust#107645](https://github.com/rust-lang/rust/issues/107645) + - Note: seems there is disagreement about the status of this proposal. See this [comment](https://github.com/rust-lang/rust/issues/107645#issuecomment-1819331287) and also @**Jack Huey** [comment](https://github.com/rust-lang/rust/issues/107645#issuecomment-1789947052) + - "[style edition 2024] Combine all delimited exprs as last argument" [rust#114764](https://github.com/rust-lang/rust/pull/114764) + - "generalize: handle occurs check failure in aliases" [rust#117088](https://github.com/rust-lang/rust/pull/117088) + - "dropck_outlives check whether generator witness needs_drop" [rust#117134](https://github.com/rust-lang/rust/pull/117134) + - "Stabilize C string literals" [rust#117472](https://github.com/rust-lang/rust/pull/117472) + - "generator layout: ignore fake borrows" [rust#117712](https://github.com/rust-lang/rust/pull/117712) + +### WG checkins + +- @_*T-rust-analyzer* checkin by @**Lukas Wirth** ([previous checkin](https://hackmd.io/CG_A-TBVTBqsH_mfID3Fvg#WG-checkins)): + > Big things happened! rust-analyzer now uses proper spans for associating things from macro inputs to expansions (although not quite what rustc uses, as rustc's spans are the opposite of being incremental), they are roughly `(FileId, AstId, TextRangeRelativeToAstId, SyntaxContextId)`, https://github.com/rust-lang/rust-analyzer/pull/15959. That PR also switched our `$crate` resolution over to the marking `SyntaxContext` approach that rustc uses meaning we can now start making all of r-a's name resolution hygienic. Finally, support for implicit format args in almost all IDE features has landed, https://github.com/rust-lang/rust-analyzer/pull/16027 + +## Backport nominations + +[T-compiler stable](https://github.com/rust-lang/rust/issues?q=is%3Aall+label%3Abeta-nominated+-label%3Abeta-accepted+label%3AT-compiler) / [T-compiler beta](https://github.com/rust-lang/rust/issues?q=is%3Aall+label%3Astable-nominated+-label%3Astable-accepted+label%3AT-compiler) +- No beta nominations for `T-compiler` this time. +- :stable: "Make subtyping explicit in MIR" [rust#115025](https://github.com/rust-lang/rust/pull/115025) + - This is a dependency of #116415 (stable backport approved [2 weeks ago](https://github.com/rust-lang/rust/pull/116415#issuecomment-1822543299), fixes a number of regressions and ICEs) + - it probably /needs/ to be backported into 1.74.1 as well ([comment](https://github.com/rust-lang/rust/pull/115025#issuecomment-1838841143)) + + +[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) +- [60 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, 2 P-high, 4 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, 2 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) +- [1 P-critical, 39 P-high, 100 P-medium, 18 P-low regression-from-stable-to-stable](https://github.com/rust-lang/rust/labels/regression-from-stable-to-stable) + +### P-critical + +[T-compiler](https://github.com/rust-lang/rust/issues?q=is%3Aopen+label%3AP-critical+label%3AT-compiler) +- "Miscompilation of Bevy (and some wgpu) apps resulting in segfault on macOS." [rust#117902](https://github.com/rust-lang/rust/issues/117902) + - long and painful reduction (thanks @**lqd** and @**Ben Kimock (Saethlin)**!) + - finally cornered to an LLVM issue (submitted as [llvm-project#74680](https://github.com/llvm/llvm-project/issues/74680), see [comment](https://github.com/rust-lang/rust/issues/117902#issuecomment-1843945104))) +- "1.74 causes an internal compiler error: broken MIR in Item" [rust#117976](https://github.com/rust-lang/rust/issues/117976) + - stable backports of #116415 and #115025 into 1.74.1 should fix this + +[T-types](https://github.com/rust-lang/rust/issues?q=is%3Aopen+label%3AP-critical+label%3AT-types) +- No `P-critical` issues for `T-types` this time. + +### P-high regressions + +[P-high beta regressions](https://github.com/rust-lang/rust/issues?q=is%3Aopen+label%3Aregression-from-stable-to-beta+label%3AP-high+-label%3AT-infra+-label%3AT-libs+-label%3AT-libs-api+-label%3AT-release+-label%3AT-rustdoc+-label%3AT-core) +- "regression: new resolution failures in 1.74" [rust#117056](hjttps://github.com/rust-lang/rust/issues/117056) + - (mentioned last week) these regressions *should* hopefully be all fixed +- "Problem running a method on the output of a function that returns an associated type ("missing optimized MIR")" [rust#117997](https://github.com/rust-lang/rust/issues/117997) + - Culprit identified in #117076 cc: @petrochenkov (reviewer) + - Issue prioritization review: really P-high? + +[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-12-05](https://github.com/rust-lang/rustc-perf/blob/master/triage/2023-12-05.md) + +A small number of perf changes that unfortunately led to quite a few perf regressions. A large chunk of those regressions were in rustdoc and were considered acceptable since rustdoc is now doing strictly more work. Some other regressions have already been fixed and will hopefully soon be merged. The last of the regressions are still under investigation, but hopefully they will be resolved soon. + +Triage done by **@rylev**. +Revision range: [df0295f0..9358642e](https://perf.rust-lang.org/?start=df0295f07175acc7325ce3ca4152eb05752af1f2&end=9358642e3b8560eee89e6f40aa996c8394a3db31&absolute=false&stat=instructions%3Au) + +**Summary**: + +| (instructions:u) | mean | range | count | +|:------------------------:|:-----:|:--------------:|:-----:| +| Regressions (primary) | 3.0% | [0.2%, 12.3%] | 53 | +| Regressions (secondary) | 4.1% | [0.2%, 11.6%] | 102 | +| Improvements (primary) | -0.3% | [-0.5%, -0.1%] | 65 | +| Improvements (secondary) | -0.6% | [-1.2%, -0.2%] | 25 | +| All (primary) | 1.1% | [-0.5%, 12.3%] | 118 | + + +4 Regressions, 1 Improvements, 1 Mixed; 1 of them in rollups +60 artifact comparisons made in total + +#### Regressions + +Rollup of 5 pull requests [#118473](https://github.com/rust-lang/rust/pull/118473) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=c52b8763bf36027f24baabe1f97cab3d3571c9e5&end=1670ff64bf1ccb2ad71068254b53725631c55864&stat=instructions:u) + +| (instructions:u) | mean | range | count | +|:------------------------:|:----:|:------------:|:-----:| +| Regressions (primary) | 1.4% | [1.4%, 1.4%] | 1 | +| Regressions (secondary) | 0.1% | [0.1%, 0.1%] | 3 | +| Improvements (primary) | - | - | 0 | +| Improvements (secondary) | - | - | 0 | +| All (primary) | 1.4% | [1.4%, 1.4%] | 1 | +- Noise + + +Restore `#![no_builtins]` crates participation in LTO. [#113923](https://github.com/rust-lang/rust/pull/113923) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=9cf18e98f82d85fa41141391d54485b8747da46f&end=8c2b57721728233e074db69d93517614de338055&stat=instructions:u) + +| (instructions:u) | mean | range | count | +|:------------------------:|:----:|:-------------:|:-----:| +| Regressions (primary) | 6.4% | [0.8%, 12.4%] | 17 | +| Regressions (secondary) | 5.3% | [0.5%, 12.2%] | 72 | +| Improvements (primary) | - | - | 0 | +| Improvements (secondary) | - | - | 0 | +| All (primary) | 6.4% | [0.8%, 12.4%] | 17 | +- Builtin function symbols that erroneously do not get GCed +- [#118568](https://github.com/rust-lang/rust/pull/118568) seems to reverse these perf regressions. + + +Portable SIMD subtree update [#118077](https://github.com/rust-lang/rust/pull/118077) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=0908f173fd884ae90584e0b0bca83cb270c23936&end=3f1e30a0a595f1d29fb10d41d9a58811ffdefb6a&stat=instructions:u) + +| (instructions:u) | mean | range | count | +|:------------------------:|:----:|:------------:|:-----:| +| Regressions (primary) | 0.7% | [0.3%, 2.1%] | 14 | +| Regressions (secondary) | 1.3% | [0.2%, 2.2%] | 23 | +| Improvements (primary) | - | - | 0 | +| Improvements (secondary) | - | - | 0 | +| All (primary) | 0.7% | [0.3%, 2.1%] | 14 | +- All doc regressions due to more docs being generated and thus acceptable + + +Add an assume that the index is inbounds to slice::get_unchecked [#116915](https://github.com/rust-lang/rust/pull/116915) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=c9808f87028e16d134438787cab3d4cc16d05fe2&end=85a4bd8f5873aa3ec5eb38baf63b89aa9bd21a7b&stat=instructions:u) + +| (instructions:u) | mean | range | count | +|:------------------------:|:-----:|:--------------:|:-----:| +| Regressions (primary) | 2.5% | [0.3%, 4.5%] | 10 | +| Regressions (secondary) | 0.4% | [0.3%, 0.6%] | 3 | +| Improvements (primary) | -0.5% | [-0.5%, -0.5%] | 1 | +| Improvements (secondary) | - | - | 0 | +| All (primary) | 2.2% | [-0.5%, 4.5%] | 11 | +- Still under investigation and perhaps a revert is called for + + +#### Improvements + +resolve: Feed the `def_kind` query immediately on `DefId` creation [#118188](https://github.com/rust-lang/rust/pull/118188) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=df0295f07175acc7325ce3ca4152eb05752af1f2&end=5facb422f8a5a61df515572fe79b02433639d565&stat=instructions:u) + +| (instructions:u) | mean | range | count | +|:------------------------:|:-----:|:--------------:|:-----:| +| Regressions (primary) | - | - | 0 | +| Regressions (secondary) | - | - | 0 | +| Improvements (primary) | -0.3% | [-0.5%, -0.2%] | 58 | +| Improvements (secondary) | -0.5% | [-1.0%, -0.1%] | 34 | +| All (primary) | -0.3% | [-0.5%, -0.2%] | 58 | + + +#### Mixed + +add track_caller for arith ops [#114841](https://github.com/rust-lang/rust/pull/114841) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=bbefc9837f4157cc09ed60e6d7b21e345d582dd9&end=b1e56deadaf4b08cd591feaa1a1283348298427d&stat=instructions:u) + +| (instructions:u) | mean | range | count | +|:------------------------:|:-----:|:--------------:|:-----:| +| Regressions (primary) | 0.3% | [0.2%, 0.4%] | 6 | +| Regressions (secondary) | 0.7% | [0.2%, 1.3%] | 12 | +| Improvements (primary) | - | - | 0 | +| Improvements (secondary) | -0.2% | [-0.3%, -0.2%] | 3 | +| All (primary) | 0.3% | [0.2%, 0.4%] | 6 | +- Only really affecting rustdoc which is an acceptable tradeoff given the wins in diagnostics + + +## 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) +- "resolve: re-export ambiguity as warning" [rust#114682](https://github.com/rust-lang/rust/pull/114682) (last review activity: about 55 days ago) + - cc: **vadim petrochenkov** +- "LLVM 18 x86 data layout update" [rust#116672](https://github.com/rust-lang/rust/pull/116672) (last review activity: about 49 days ago) + - cc: @**nikita Popov** (will this be part of the next LLVM 18 upgrade?) +- "WIP fix unsoundness via adjusting overlap check for some Pin impls" [rust#116706](https://github.com/rust-lang/rust/pull/116706) (last review activity: about 48 days ago) + - cc: @**Michael (compiler-errors) Goulet** do you need a review at this time? Also from T-libs? +- "discard invalid spans in external blocks" [rust#116420](https://github.com/rust-lang/rust/pull/116420) (last review activity: about 46 days ago) + - cc: @**nils (Nilstrieb)** +- "large_assignments: Lint on specific large args passed to functions" [rust#116520](https://github.com/rust-lang/rust/pull/116520) (last review activity: about 43 days ago) + - latest [comment](https://github.com/rust-lang/rust/pull/116520#issuecomment-1771119477) mentions [WG-compiler-performance](https://github.com/orgs/rust-lang/teams/wg-compiler-performance) for an opinion. Who can have a look at that? + +## 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/aNZxRH4vSlqax-QqPc_h-A) diff --git a/content/minutes/triage-meeting/T-compiler Meeting Agenda 2023-12-14.md b/content/minutes/triage-meeting/T-compiler Meeting Agenda 2023-12-14.md new file mode 100644 index 00000000..93781919 --- /dev/null +++ b/content/minutes/triage-meeting/T-compiler Meeting Agenda 2023-12-14.md @@ -0,0 +1,361 @@ +--- +tags: weekly, rustc +type: docs +note_id: aNZxRH4vSlqax-QqPc_h-A +--- + +# T-compiler Meeting Agenda 2023-12-14 + +## Announcements + +- [Compiler Team Planning meeting](https://www.google.com/calendar/event?eid=MDJyYnJ1cGFtdWR1c2lnNjFmcHJ2b3JlODFfMjAyMzEyMTVUMTUwMDAwWiA2dTVycnRjZTZscnR2MDdwZmkzZGFtZ2p1c0Bn) at +- Google Summer of Code 2024: brainstorming ideas in ([Zulip thread](https://rust-lang.zulipchat.com/#narrow/stream/335408-foundation/topic/Google.20Summer.20of.20Code.20and.20idea.20list)) + - Do top teams have a wish for projects to be submitted? + - Do top teams have *capacity* to mentor GSoC participants? + - GSoC details at [this link](https://google.github.io/gsocguides/mentor/defining-a-project-ideas-list), time window for submissions **Jan, 22nd 2024** until **Feb. 6th, 2024** +- 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)) +- [AFIT/RPITIT Impl Triage](https://www.google.com/calendar/event?eid=N2VsaWszdm9rY3NhdDF1MjdyMjVqajNpcWVfMjAyMzEyMTRUMjEwMDAwWiA2dTVycnRjZTZscnR2MDdwZmkzZGFtZ2p1c0Bn) at +- [Types team meeting](https://www.google.com/calendar/event?eid=MTg3MDhpdTc3YXBqMGMzbnNxanUwdWZnazhfMjAyMzEyMThUMTUwMDAwWiA2dTVycnRjZTZscnR2MDdwZmkzZGFtZ2p1c0Bn) at +- [[Types] Rotating new solver / formality / polonius deep dive](https://www.google.com/calendar/event?eid=N29vMXZqbGZ1MDIxbzllMDI3dGhocWhhZmNfMjAyMzEyMThUMTYwMDAwWiA2dTVycnRjZTZscnR2MDdwZmkzZGFtZ2p1c0Bn) at + +## MCPs/FCPs + +- New MCPs (take a look, see if you like them!) + - "Require `--known-broken-llvm` flag for x.py to skip codegen tests on old LLVM" [compiler-team#687](https://github.com/rust-lang/compiler-team/issues/687) ([Zulip](https://rust-lang.zulipchat.com/#narrow/stream/233931-xxx/topic/Require.20.60--known-broken-llvm.60.20flag.20for.20x.2E.E2.80.A6.20compiler-team.23687)) + - concern [codegen-tests-are-for-new-optimizations](https://github.com/rust-lang/compiler-team/issues/687#issuecomment-1809869102) + - "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)) + - "Add hygiene attributes to compile expanded source code" [compiler-team#692](https://github.com/rust-lang/compiler-team/issues/692) ([Zulip](https://rust-lang.zulipchat.com/#narrow/stream/233931-xxx/topic/Add.20option.20to.20compile.20expanded.20ASTs.20for.20h.E2.80.A6.20compiler-team.23692)) + - concern: [added-complexity-to-frontend](https://rust-lang.zulipchat.com/#narrow/stream/233931-t-compiler.2Fmajor-changes/topic/Add.20hygiene.20attributes.20to.20compile.20expande.E2.80.A6.20compiler-team.23692/near/403245433) + - "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)) + - "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)) + - "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)) +- Old MCPs (not seconded, take a look) + - No old proposals this time (cool, we finally catched up with MCPs!) +- 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-1777545767) + - concern [other-existing-options](https://github.com/rust-lang/compiler-team/issues/635#issuecomment-1777545767) + - "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-1618781780) + - concern [single-point-of-failure-via-stream-archival](https://github.com/rust-lang/compiler-team/issues/649#issuecomment-1618781780) + - "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)) + - concern [lint-interactions](https://github.com/rust-lang/compiler-team/issues/674#issuecomment-1746696850) + - "Support overriding `warnings` level for a specific lint via command line" [rust#113307](https://github.com/rust-lang/rust/pull/113307) + - concern [nesting](https://github.com/rust-lang/rust/pull/113307#issuecomment-1621305927) + - "Update Windows platform support" [rust#115141](https://github.com/rust-lang/rust/pull/115141) + - concern [needs blog post](https://github.com/rust-lang/rust/pull/115141#issuecomment-1740089459) + - "make soft_unstable show up in future breakage reports" [rust#116274](https://github.com/rust-lang/rust/pull/116274) + - "Stabilize Wasm target features that are in phase 4 and 5" [rust#117457](https://github.com/rust-lang/rust/pull/117457) + - "static mut: allow mutable reference to arbitrary types, not just slices and arrays" [rust#117614](https://github.com/rust-lang/rust/pull/117614) +- 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)) + - concern [needs-fcp](https://github.com/rust-lang/compiler-team/issues/625#issuecomment-1672919695) + - "Report all lints, even if other errors already occurred." [compiler-team#633](https://github.com/rust-lang/compiler-team/issues/633) ([Zulip](https://rust-lang.zulipchat.com/#narrow/stream/233931-xxx/topic/Report.20all.20lints.2C.20even.20if.20other.20errors.20al.E2.80.A6.20compiler-team.23633)) + - concern [errors-inherently-higher-priority](https://github.com/rust-lang/compiler-team/issues/633#issuecomment-1545905322) + - "Add infrastructure to "compute the ABI of a Rust type, described as a C type"" [compiler-team#672](https://github.com/rust-lang/compiler-team/issues/672) ([Zulip](https://rust-lang.zulipchat.com/#narrow/stream/233931-xxx/topic/Add.20infrastructure.20to.20.22compute.20the.20ABI.20of.E2.80.A6.20compiler-team.23672)) + - "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 response files generated by ninja with `@ninja:path` syntax" [compiler-team#684](https://github.com/rust-lang/compiler-team/issues/684) ([Zulip](https://rust-lang.zulipchat.com/#narrow/stream/233931-xxx/topic/Use.20shell.20parsing.20for.20response.20files.20compiler-team.23684)) + - "Add `-Zexperimental-target`" [compiler-team#685](https://github.com/rust-lang/compiler-team/issues/685) ([Zulip](https://rust-lang.zulipchat.com/#narrow/stream/233931-xxx/topic/Add.20.60-Zexperimental-target.60.20compiler-team.23685)) + - concern [doesn-t-justify-the-maintenance](https://github.com/rust-lang/compiler-team/issues/685#issuecomment-1804693114) + - "De-llvm some integer intrinsics that on the Rust side always use `u32`" [compiler-team#693](https://github.com/rust-lang/compiler-team/issues/693) ([Zulip](https://rust-lang.zulipchat.com/#narrow/stream/233931-xxx/topic/De-llvm.20some.20integer.20intrinsics.20that.20on.20t.E2.80.A6.20compiler-team.23693)) + - "Consistent `Handler` naming" [compiler-team#699](https://github.com/rust-lang/compiler-team/issues/699) ([Zulip](https://rust-lang.zulipchat.com/#narrow/stream/233931-xxx/topic/Consistent.20.60Handler.60.20naming.20compiler-team.23699)) + - "Promote tier 3 riscv32 bare metal targets to tier 2" [compiler-team#701](https://github.com/rust-lang/compiler-team/issues/701) ([Zulip](https://rust-lang.zulipchat.com/#narrow/stream/233931-xxx/topic/Promote.20tier.203.20riscv32.20bare.20metal.20targets.E2.80.A6.20compiler-team.23701)) + - "Use the MSVC provided Address Sanitizer runtime when building for MSVC" [compiler-team#702](https://github.com/rust-lang/compiler-team/issues/702) ([Zulip](https://rust-lang.zulipchat.com/#narrow/stream/233931-xxx/topic/Use.20the.20MSVC.20provided.20Address.20Sanitizer.20r.E2.80.A6.20compiler-team.23702)) + - "Stabilize THIR unsafeck" [rust#117673](https://github.com/rust-lang/rust/pull/117673) + - "Propose rules for team repo maintenance" [rust-forge#707](https://github.com/rust-lang/rust-forge/pull/707) +- Accepted MCPs + - " Add `$message_type` field to distinguish json diagnostic outputs" [compiler-team#673](https://github.com/rust-lang/compiler-team/issues/673) ([Zulip](https://rust-lang.zulipchat.com/#narrow/stream/233931-xxx/topic/.20Add.20.60type.60.20field.20to.20json.20diagnostic.20outp.E2.80.A6.20compiler-team.23673)) + - "Set alignment of `i128` to 128 bits for x86" [compiler-team#683](https://github.com/rust-lang/compiler-team/issues/683) ([Zulip](https://rust-lang.zulipchat.com/#narrow/stream/233931-xxx/topic/Set.20alignment.20of.20.60i128.60.20to.20128.20bits.20compiler-team.23683)) + - "Stop emitting less useful debug sections: `.debug_pubnames` and `.debug_pubtypes`" [compiler-team#688](https://github.com/rust-lang/compiler-team/issues/688) ([Zulip](https://rust-lang.zulipchat.com/#narrow/stream/233931-xxx/topic/Flag.20to.20stop.20emitting.20less.20useful.20debug.20s.E2.80.A6.20compiler-team.23688)) + - "Add -Z small-data-threshold" [compiler-team#689](https://github.com/rust-lang/compiler-team/issues/689) ([Zulip](https://rust-lang.zulipchat.com/#narrow/stream/233931-xxx/topic/Add.20-Z.20small-data-threshold.20compiler-team.23689)) +- Finalized FCPs (disposition merge) + - "Tracking issue for dyn upcasting coercion" [rust#65991](https://github.com/rust-lang/rust/issues/65991) + - "TAIT defining scope options" [rust#107645](https://github.com/rust-lang/rust/issues/107645) + - "[style edition 2024] Combine all delimited exprs as last argument" [rust#114764](https://github.com/rust-lang/rust/pull/114764) + - "Use version-sorting for all sorting" [rust#115046](https://github.com/rust-lang/rust/pull/115046) + - "check `FnDef` return type for WF" [rust#115538](https://github.com/rust-lang/rust/pull/115538) + - "generalize: handle occurs check failure in aliases" [rust#117088](https://github.com/rust-lang/rust/pull/117088) + - "dropck_outlives check whether generator witness needs_drop" [rust#117134](https://github.com/rust-lang/rust/pull/117134) + - "Stabilize C string literals" [rust#117472](https://github.com/rust-lang/rust/pull/117472) + - "generator layout: ignore fake borrows" [rust#117712](https://github.com/rust-lang/rust/pull/117712) + - "Add lint against ambiguous wide pointer comparisons" [rust#117758](https://github.com/rust-lang/rust/pull/117758) + - "guarantee that char and u32 are ABI-compatible" [rust#118032](https://github.com/rust-lang/rust/pull/118032) + +### WG checkins + +- T-types checkin by @**Jack Huey** ([HackMD link](https://hackmd.io/Edf1Pg0SRUaSw9JIdwF1Tg)): + > - We have automatic planning meeting agenda creation and stream opening! + > - triagebot#1739 and triagebot#1742 + > - Lots of work done by Michael on extracting things into `rustc_type_ir` + > - Too many to list! + > - async fns in traits and RPITs in traits are stable in 1.75 + > - Further work on e.g. RTN stalled on new trait solver + > - There is a plan to stabilize a TAIT MVP, many open lang questions being decided + > - RFC accepted for RPITs to capture all lifetimes + > - RFC: https://github.com/rust-lang/rfcs/pull/3498 + > - impl: https://github.com/rust-lang/rust/pull/116952 + > - Trait upcasting to be stable in 1.76 + > - Plan to stabilize a subset of negative impls + > - Lots of ongoing work to next trait solver + > - Tracked in types-team#105 and types-team#112 + > - Plan is still to stabilize next trait solver in coherence *first* + > - Good progress on a location-insenstive Polonius-based borrow check in rustc + > - Blog post with roadmap: https://blog.rust-lang.org/inside-rust/2023/10/06/polonius-update.html + > + +## 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: "temporarily revert "ice on ambguity in mir typeck"" [rust#118736](https://github.com/rust-lang/rust/pull/118736) + - Reverts #116530 as a temporary measure to fix #117577 (P-medium regression, see [comment](https://github.com/rust-lang/rust/issues/117577#issuecomment-1793563079)) + +- 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) +- [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) +- [1 P-critical, 1 P-high, 3 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, 2 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, 18 P-low regression-from-stable-to-stable](https://github.com/rust-lang/rust/labels/regression-from-stable-to-stable) + +### P-critical + +[T-compiler](https://github.com/rust-lang/rust/issues?q=is%3Aopen+label%3AP-critical+label%3AT-compiler) +- "Miscompilation of Bevy (and some wgpu) apps resulting in segfault on macOS." [rust#117902](https://github.com/rust-lang/rust/issues/117902) + - Pending review of LLVM patch [llvm-project#75184](https://github.com/llvm/llvm-project/pull/75184) to close issue LLVM [llvm-project#74680](https://github.com/llvm/llvm-project/issues/74680), see [comment](https://github.com/rust-lang/rust/issues/117902#issuecomment-1843945104))) + +[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 new `P-high` regressions + +[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-12-11](https://github.com/rust-lang/rustc-perf/blob/022edbea80a746395513ea8849db035c007138ef/triage/2023-12-11.md) + +A quiet week overall. A few smaller crate (e.g., helloworld) benchmarks saw +significant improvements in +[#118568](https://github.com/rust-lang/rust/pull/118568), but this merely +restores performance regressed earlier. + +Triage done by **@simulacrum**. +Revision range: [9358642..5701093](https://perf.rust-lang.org/?start=9358642e3b8560eee89e6f40aa996c8394a3db31&end=57010939ed1d00076b4af0ed06a81ec69ea5e4a8&absolute=false&stat=instructions%3Au) + +**Summary**: + +| (instructions:u) | mean | range | count | +|:------------------------:|:-----:|:---------------:|:-----:| +| Regressions (primary) | 0.5% | [0.2%, 1.3%] | 111 | +| Regressions (secondary) | 0.7% | [0.1%, 1.5%] | 34 | +| Improvements (primary) | -5.2% | [-11.1%, -0.5%] | 18 | +| Improvements (secondary) | -4.6% | [-10.5%, -0.4%] | 72 | +| All (primary) | -0.3% | [-11.1%, 1.3%] | 129 | + +5 Regressions, 2 Improvements, 3 Mixed; 2 of them in rollups +69 artifact comparisons made in total + +#### Regressions + +compile-time evaluation: detect writes through immutable pointers [#118324](https://github.com/rust-lang/rust/pull/118324) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=f16c81fa79940da0c3e4cedd7b064ecdee2278bf&end=0e7f91b75e7484a713e2f644212cfc1aa7478a28&stat=instructions:u) + +| (instructions:u) | mean | range | count | +|:------------------------:|:----:|:------------:|:-----:| +| Regressions (primary) | - | - | 0 | +| Regressions (secondary) | 0.9% | [0.3%, 1.4%] | 12 | +| Improvements (primary) | - | - | 0 | +| Improvements (secondary) | - | - | 0 | +| All (primary) | - | - | 0 | + +> I feel like the remaining regression is small enough to be acceptable. We're doing more checks in const-eval, and there are no regressions in the builds of real crates. + +(https://github.com/rust-lang/rust/pull/118324#issuecomment-1832836626) + +Introduce support for `async gen` blocks [#118420](https://github.com/rust-lang/rust/pull/118420) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=2b399b52753eac351067e73f4ff0de829443b9a7&end=f967532a47eb728ada44473a5c4c2eca1a45fe30&stat=instructions:u) + +| (instructions:u) | mean | range | count | +|:------------------------:|:----:|:------------:|:-----:| +| Regressions (primary) | 0.2% | [0.1%, 0.3%] | 23 | +| Regressions (secondary) | 0.4% | [0.2%, 0.7%] | 3 | +| Improvements (primary) | - | - | 0 | +| Improvements (secondary) | - | - | 0 | +| All (primary) | 0.2% | [0.1%, 0.3%] | 23 | + +New functionality costs some additional time across some benchmarks. + +Rollup of 6 pull requests [#118763](https://github.com/rust-lang/rust/pull/118763) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=2d2f1b2099a9cf10d4300042f5ea15a65a203dae&end=dc3a3539d595272c6a578c35f5eb6a85b867aca8&stat=instructions:u) + +| (instructions:u) | mean | range | count | +|:------------------------:|:----:|:------------:|:-----:| +| Regressions (primary) | 0.4% | [0.2%, 0.5%] | 18 | +| Regressions (secondary) | - | - | 0 | +| Improvements (primary) | - | - | 0 | +| Improvements (secondary) | - | - | 0 | +| All (primary) | 0.4% | [0.2%, 0.5%] | 18 | + +> We do a little bit more work after that PR because the reachable set is +> slightly bigger and that in turn means more MIR gets encoded and things like +> that. + +(https://github.com/rust-lang/rust/pull/118763#issuecomment-1850073772) + +Don't warn an empty pattern unreachable if we're not sure the data is valid [#118308](https://github.com/rust-lang/rust/pull/118308) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=c722d5191c26bbeea77dee2c06d814075ae785f2&end=06e02d5b259c1e88cbf0c74366d9e0a4c7cfd6d9&stat=instructions:u) + +| (instructions:u) | mean | range | count | +|:------------------------:|:----:|:------------:|:-----:| +| Regressions (primary) | 0.6% | [0.2%, 0.9%] | 4 | +| Regressions (secondary) | 1.0% | [1.0%, 1.0%] | 6 | +| Improvements (primary) | - | - | 0 | +| Improvements (secondary) | - | - | 0 | +| All (primary) | 0.6% | [0.2%, 0.9%] | 4 | + +> Yeah I expected a perf regression because of the validity tracking. It adds +> an extra step for every constructor we try, and match-stress has an enum with +> 8000 of these. I don't think there's a way around it, I need to know the +> validity of every inspected place. + +(https://github.com/rust-lang/rust/pull/118308#issuecomment-1831103831) + +This adds costs particularly to crates with lots or large matches, seen across +a few primary workloads and within rustc bootstrap. This is a diagnostic +correctness fix, so some cost is acceptable. + +Restore `const PartialEq` [#118661](https://github.com/rust-lang/rust/pull/118661) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=8b1ba11cb1176cd7b8a0f4b55d1c97ee9fd3662d&end=6f40082313d8374bdf962aba943a712d5322fae6&stat=instructions:u) + +| (instructions:u) | mean | range | count | +|:------------------------:|:-----:|:--------------:|:-----:| +| Regressions (primary) | 0.3% | [0.2%, 0.4%] | 9 | +| Regressions (secondary) | 0.3% | [0.2%, 0.6%] | 11 | +| Improvements (primary) | - | - | 0 | +| Improvements (secondary) | -0.8% | [-0.8%, -0.8%] | 1 | +| All (primary) | 0.3% | [0.2%, 0.4%] | 9 | + +Feature addition carrying likely unavoidable cost in some benchmarks. + +#### Improvements + +Avoid adding builtin functions to `symbols.o` [#118568](https://github.com/rust-lang/rust/pull/118568) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=0e7f91b75e7484a713e2f644212cfc1aa7478a28&end=503e129328080e924c0ddfca6abf4c2812580102&stat=instructions:u) + +| (instructions:u) | mean | range | count | +|:------------------------:|:-----:|:---------------:|:-----:| +| Regressions (primary) | - | - | 0 | +| Regressions (secondary) | - | - | 0 | +| Improvements (primary) | -6.6% | [-11.0%, -0.7%] | 14 | +| Improvements (secondary) | -5.0% | [-10.7%, -0.3%] | 66 | +| All (primary) | -6.6% | [-11.0%, -0.7%] | 14 | + +Smaller benchmarks show significant improvements, recovering a past performance +regression. See PR description for details. + +Rollup of 8 pull requests [#118838](https://github.com/rust-lang/rust/pull/118838) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=57010939ed1d00076b4af0ed06a81ec69ea5e4a8&end=21cce21d8c012f14cf74d5afddd795d324600dac&stat=instructions:u) + +| (instructions:u) | mean | range | count | +|:------------------------:|:-----:|:--------------:|:-----:| +| Regressions (primary) | - | - | 0 | +| Regressions (secondary) | - | - | 0 | +| Improvements (primary) | - | - | 0 | +| Improvements (secondary) | -0.9% | [-1.0%, -0.9%] | 6 | +| All (primary) | - | - | 0 | + +https://github.com/rust-lang/rust/pull/118822 is the likely cause, but not +worth digging deeper on this improvement. + +#### Mixed + +split `NormalizesTo` out of `Projection` 3 [#118725](https://github.com/rust-lang/rust/pull/118725) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=d6fa38a9b2426487e010a6c16862132f89755e41&end=21982a4383a92ec00ec11204584b86f3f17c92ef&stat=instructions:u) + +| (instructions:u) | mean | range | count | +|:------------------------:|:-----:|:--------------:|:-----:| +| Regressions (primary) | 0.4% | [0.2%, 0.9%] | 17 | +| Regressions (secondary) | 0.3% | [0.2%, 0.3%] | 3 | +| Improvements (primary) | -2.6% | [-2.6%, -2.6%] | 1 | +| Improvements (secondary) | - | - | 0 | +| All (primary) | 0.3% | [-2.6%, 0.9%] | 18 | + +Moving code around in hot area, with slightly different work being done. Seems to add some cost to a few primary benchmarks. + +See details in https://github.com/rust-lang/rust/pull/118725#issuecomment-1847121861 + +never_patterns: Parse match arms with no body [#118527](https://github.com/rust-lang/rust/pull/118527) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=ae612bedcbfc7098d1711eb35bc7ca994eb17a4c&end=2b399b52753eac351067e73f4ff0de829443b9a7&stat=instructions:u) + +| (instructions:u) | mean | range | count | +|:------------------------:|:-----:|:--------------:|:-----:| +| Regressions (primary) | 0.1% | [0.1%, 0.1%] | 1 | +| Regressions (secondary) | - | - | 0 | +| Improvements (primary) | -0.9% | [-1.0%, -0.8%] | 2 | +| Improvements (secondary) | - | - | 0 | +| All (primary) | -0.5% | [-1.0%, 0.1%] | 3 | + +Regression is justified by the extra work for this new feature. + +Improve `print_tts` [#114571](https://github.com/rust-lang/rust/pull/114571) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=d86d65bbc19b928387f68427fcc3a0da498d8a19&end=a9cb8ee82132b6ef0f8db3e3bc25f98dfae08c04&stat=instructions:u) + +| (instructions:u) | mean | range | count | +|:------------------------:|:-----:|:--------------:|:-----:| +| Regressions (primary) | 0.2% | [0.2%, 0.2%] | 1 | +| Regressions (secondary) | 0.8% | [0.5%, 1.0%] | 8 | +| Improvements (primary) | - | - | 0 | +| Improvements (secondary) | -0.2% | [-0.3%, -0.2%] | 2 | +| All (primary) | 0.2% | [0.2%, 0.2%] | 1 | + +Regressions mostly limited to secondary benchmarks. Single primary regression is in incr-unchanged and is relatively small. + +## 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) +- "Require `type_map::stub` callers to supply file information" [rust#104342](https://github.com/rust-lang/rust/pull/104342) (last review activity: 6 months ago) + - cc @**Wesley Wiser** (would you prefer reassigning?) +- "compiler: allow transmute of ZST arrays with generics" [rust#114009](https://github.com/rust-lang/rust/pull/114009) (last review activity: 4 months ago) + - cc: @**wesley wiser** +- "fix(parse): avoid panic when cfg wrapper by bracket under `capture-cfg` mode" [rust#113056](https://github.com/rust-lang/rust/pull/113056) (last review activity: 4 months ago) + - cc: @**aaron hill** (still actively reviewing PRs?) +- "Limit `-C strip` on MSVC" [rust#115120](https://github.com/rust-lang/rust/pull/115120) (last review activity: 3 months ago) + - PR author reassigned review? [comment](https://github.com/rust-lang/rust/pull/115120#issuecomment-1841092948) +- "Stabilize `extended_varargs_abi_support`" [rust#116161](https://github.com/rust-lang/rust/pull/116161) (last review activity: 2 months ago) + - cc: @**wesley wiser** +- "make soft_unstable show up in future breakage reports" [rust#116274](https://github.com/rust-lang/rust/pull/116274) + - FCP waiting on your checkboxes @**esteban küber** @**wesley wiser** @**pnkfelix** ([comment](https://github.com/rust-lang/rust/pull/116274#issuecomment-1793405783)) (apropos refreshing the FCP process) +- "Create the previous dep graph index on a background thread" [rust#116375](https://github.com/rust-lang/rust/pull/116375) (last review activity: 2 months ago) + - cc: **cjgillot** + +## Next week's WG checkins + +@*T-compiler/meeting* is the next meeting on Dec, 21st happening, correct? + +- @_*WG-llvm* by @**nagisa** and @**Nikita Popov** + +Next meetings' agenda draft: [hackmd link](https://hackmd.io/dpHKGJflSWiY_yyXprzSww) diff --git a/content/minutes/triage-meeting/T-compiler Meeting Agenda 2023-12-21.md b/content/minutes/triage-meeting/T-compiler Meeting Agenda 2023-12-21.md new file mode 100644 index 00000000..08d12250 --- /dev/null +++ b/content/minutes/triage-meeting/T-compiler Meeting Agenda 2023-12-21.md @@ -0,0 +1,409 @@ +--- +tags: weekly, rustc +type: docs +note_id: dpHKGJflSWiY_yyXprzSww +--- + +# T-compiler Meeting Agenda 2023-12-21 + +## Announcements + +- Next week Rust stable release 1.75 +- [Compiler Team Steering: P-high review](https://www.google.com/calendar/event?eid=MnJmNnY2czZsbHJmMjZidGNmcG9oczFrbm8gNnU1cnJ0Y2U2bHJ0djA3cGZpM2RhbWdqdXNAZw) at +- 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)) +- [AFIT/RPITIT Impl Triage](https://www.google.com/calendar/event?eid=N2VsaWszdm9rY3NhdDF1MjdyMjVqajNpcWVfMjAyMzEyMjFUMjEwMDAwWiA2dTVycnRjZTZscnR2MDdwZmkzZGFtZ2p1c0Bn) at +- [Types team meeting](https://www.google.com/calendar/event?eid=MTg3MDhpdTc3YXBqMGMzbnNxanUwdWZnazhfMjAyMzEyMjVUMTUwMDAwWiA2dTVycnRjZTZscnR2MDdwZmkzZGFtZ2p1c0Bn) at +- [AFIT/RPITIT Impl Triage](https://www.google.com/calendar/event?eid=N2VsaWszdm9rY3NhdDF1MjdyMjVqajNpcWVfMjAyMzEyMjhUMjEwMDAwWiA2dTVycnRjZTZscnR2MDdwZmkzZGFtZ2p1c0Bn) at + +## MCPs/FCPs + +- New MCPs (take a look, see if you like them!) + - "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)) +- 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) + - "Require `--known-broken-llvm` flag for x.py to skip codegen tests on old LLVM" [compiler-team#687](https://github.com/rust-lang/compiler-team/issues/687) ([Zulip](https://rust-lang.zulipchat.com/#narrow/stream/233931-xxx/topic/Require.20.60--known-broken-llvm.60.20flag.20for.20x.2E.E2.80.A6.20compiler-team.23687)) + - concern [codegen-tests-are-for-new-optimizations](https://github.com/rust-lang/compiler-team/issues/687#issuecomment-1809869102) + - "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)) (last review activity: about 8 days ago) + - "Add hygiene attributes to compile expanded source code" [compiler-team#692](https://github.com/rust-lang/compiler-team/issues/692) ([Zulip](https://rust-lang.zulipchat.com/#narrow/stream/233931-xxx/topic/Add.20option.20to.20compile.20expanded.20ASTs.20for.20h.E2.80.A6.20compiler-team.23692)) + - concern: [added-complexity-to-frontend](https://rust-lang.zulipchat.com/#narrow/stream/233931-t-compiler.2Fmajor-changes/topic/Add.20hygiene.20attributes.20to.20compile.20expande.E2.80.A6.20compiler-team.23692/near/403245433) + - "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)) (last review activity: about 2 days ago) + - "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)) (last review activity: about 8 days ago) + - "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 6 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 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 [option-name](https://github.com/rust-lang/compiler-team/issues/635#issuecomment-1777545767) + - concern [other-existing-options](https://github.com/rust-lang/compiler-team/issues/635#issuecomment-1777545767) + - "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-1618781780) + - concern [single-point-of-failure-via-stream-archival](https://github.com/rust-lang/compiler-team/issues/649#issuecomment-1618781780) + - "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)) + - concern [lint-interactions](https://github.com/rust-lang/compiler-team/issues/674#issuecomment-1746696850) + - "Support overriding `warnings` level for a specific lint via command line" [rust#113307](https://github.com/rust-lang/rust/pull/113307) + - concern [nesting](https://github.com/rust-lang/rust/pull/113307#issuecomment-1621305927) + - "Update Windows platform support" [rust#115141](https://github.com/rust-lang/rust/pull/115141) + - concern [needs blog post](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) + - "Undeprecate lint `unstable_features` and make use of it in the compiler" [rust#118639](https://github.com/rust-lang/rust/pull/118639) +- 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)) + - concern [needs-fcp](https://github.com/rust-lang/compiler-team/issues/625#issuecomment-1672919695) + - "Report all lints, even if other errors already occurred." [compiler-team#633](https://github.com/rust-lang/compiler-team/issues/633) ([Zulip](https://rust-lang.zulipchat.com/#narrow/stream/233931-xxx/topic/Report.20all.20lints.2C.20even.20if.20other.20errors.20al.E2.80.A6.20compiler-team.23633)) + - "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)) + - "Use the MSVC provided Address Sanitizer runtime when building for MSVC" [compiler-team#702](https://github.com/rust-lang/compiler-team/issues/702) ([Zulip](https://rust-lang.zulipchat.com/#narrow/stream/233931-xxx/topic/Use.20the.20MSVC.20provided.20Address.20Sanitizer.20r.E2.80.A6.20compiler-team.23702)) + - "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)) + - "make soft_unstable show up in future breakage reports" [rust#116274](https://github.com/rust-lang/rust/pull/116274) +- Accepted MCPs + - "Add infrastructure to "compute the ABI of a Rust type, described as a C type"" [compiler-team#672](https://github.com/rust-lang/compiler-team/issues/672) ([Zulip](https://rust-lang.zulipchat.com/#narrow/stream/233931-xxx/topic/Add.20infrastructure.20to.20.22compute.20the.20ABI.20of.E2.80.A6.20compiler-team.23672)) + - "Support response files generated by ninja with `@ninja:path` syntax" [compiler-team#684](https://github.com/rust-lang/compiler-team/issues/684) ([Zulip](https://rust-lang.zulipchat.com/#narrow/stream/233931-xxx/topic/Use.20shell.20parsing.20for.20response.20files.20compiler-team.23684)) + - "De-llvm some integer intrinsics that on the Rust side always use `u32`" [compiler-team#693](https://github.com/rust-lang/compiler-team/issues/693) ([Zulip](https://rust-lang.zulipchat.com/#narrow/stream/233931-xxx/topic/De-llvm.20some.20integer.20intrinsics.20that.20on.20t.E2.80.A6.20compiler-team.23693)) + - "Consistent `Handler` naming" [compiler-team#699](https://github.com/rust-lang/compiler-team/issues/699) ([Zulip](https://rust-lang.zulipchat.com/#narrow/stream/233931-xxx/topic/Consistent.20.60Handler.60.20naming.20compiler-team.23699)) + - "Promote tier 3 riscv32 bare metal targets to tier 2" [compiler-team#701](https://github.com/rust-lang/compiler-team/issues/701) ([Zulip](https://rust-lang.zulipchat.com/#narrow/stream/233931-xxx/topic/Promote.20tier.203.20riscv32.20bare.20metal.20targets.E2.80.A6.20compiler-team.23701)) +- Finalized FCPs (disposition merge) + - "Stabilize THIR unsafeck" [rust#117673](https://github.com/rust-lang/rust/pull/117673) + - "Properly reject `default` on free const items" [rust#117818](https://github.com/rust-lang/rust/pull/117818) + - "Make inductive cycles in coherence ambiguous always" [rust#118649](https://github.com/rust-lang/rust/pull/118649) + +### WG checkins + +- @_*WG-llvm* by @**nagisa** and @**Nikita Popov** ([previous checkin](https://hackmd.io/Eq0n1oBvTaajzXK5WvKPng#WG-checkins)): + > LLVM 18 is going to branch in about a month + +## Backport nominations + +[T-compiler stable](https://github.com/rust-lang/rust/issues?q=is%3Aall+label%3Abeta-nominated+-label%3Abeta-accepted+label%3AT-compiler) / [T-compiler beta](https://github.com/rust-lang/rust/issues?q=is%3Aall+label%3Astable-nominated+-label%3Astable-accepted+label%3AT-compiler) +- :beta: "Exhaustiveness: Improve complexity on some wide matches" [rust#118796](https://github.com/rust-lang/rust/pull/118796) + - PR is being reviewed, fixes a (P-high) exhaustiveness check [rust#118437](https://github.com/rust-lang/rust/issues/118437) ([comment](https://github.com/rust-lang/rust/pull/118796#issue-2034270817)) + - issue analysis and patch authored by @**Nadrieril** (big thanks!) + - nominated by @**apiraino**, could be nice to have it backported to beta after merge (issue report affects a real-world crate) + +- 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) + - [33 of those are unassigned](https://github.com/rust-lang/rust/issues?q=is%3Aopen+label%3AT-compiler+label%3AP-high+no%3Aassignee) +- [0 P-critical, 1 P-high, 3 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, 2 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, 39 P-high, 100 P-medium, 18 P-low regression-from-stable-to-stable](https://github.com/rust-lang/rust/labels/regression-from-stable-to-stable) + +### P-critical + +[T-compiler](https://github.com/rust-lang/rust/issues?q=is%3Aopen+label%3AP-critical+label%3AT-compiler) +- 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 new `P-high` 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-12-18](https://github.com/rust-lang/rustc-perf/blob/b9ecf1aba002cd6b33d06f784e088839636d7e92/triage/2023-12-18.md) + +A lot of noise in the results this week; there was an lull in the noise +recently, so our auto-inferred noise threshold went down, and thus five PR's +were artificially flagged this week (and three supposed improvements were just +reverting to the mean). Beyond that, we had three nice improvements: the first +to debug builds in #117962 (by ceasing emission of expensive+unused +`.debug_pubnames` and `.debug_pubtypes`), a second to diesel and serde in +#119048 (by avoiding some unnecessary work), and a third to several benchmarks +in #117749 (by adding some caching of an internal compiler structure). + +Triage done by **@pnkfelix**. +Revision range: [57010939..bf9229a2](https://perf.rust-lang.org/?start=57010939ed1d00076b4af0ed06a81ec69ea5e4a8&end=bf9229a2e366b4c311f059014a4aa08af16de5d8&absolute=false&stat=instructions%3Au) + +**Summary**: + +| (instructions:u) | mean | range | count | +|:------------------------:|:-----:|:---------------:|:-----:| +| Regressions (primary) | 0.3% | [0.2%, 0.4%] | 9 | +| Regressions (secondary) | 0.4% | [0.2%, 0.9%] | 21 | +| Improvements (primary) | -1.8% | [-10.8%, -0.1%] | 103 | +| Improvements (secondary) | -1.2% | [-2.6%, -0.2%] | 93 | +| All (primary) | -1.6% | [-10.8%, 0.4%] | 112 | + + +6 Regressions, 9 Improvements, 3 Mixed; 5 of them in rollups +67 artifact comparisons made in total + +#### Regressions + +rustc_passes: Enforce `rustc::potential_query_instability` lint [#118870](https://github.com/rust-lang/rust/pull/118870) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=56d25ba5ea3515ba2b361b6c4636373734eb27cc&end=c3def263a44e07e09ae6d57abfc8650227fb4972&stat=instructions:u) + +| (instructions:u) | mean | range | count | +|:------------------------:|:-----:|:-------------:|:-----:| +| Regressions (primary) | 13.5% | [0.5%, 44.5%] | 8 | +| Regressions (secondary) | - | - | 0 | +| Improvements (primary) | - | - | 0 | +| Improvements (secondary) | - | - | 0 | +| All (primary) | 13.5% | [0.5%, 44.5%] | 8 | + +* already marked as triaged by lqd; this PR did not regress things, the reported change is due to a periodic "slow s3 uploads on the collector", i.e. instrument noise/bias. + +fix --dry-run when the change-id warning is printed [#118789](https://github.com/rust-lang/rust/pull/118789) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=1aa6aefdc92555b3fbc5ae4c99365df9845a3e31&end=529047cfc3f4f7b3ea5aaac054408f368d153727&stat=instructions:u) + +| (instructions:u) | mean | range | count | +|:------------------------:|:----:|:------------:|:-----:| +| Regressions (primary) | 0.9% | [0.8%, 1.0%] | 4 | +| Regressions (secondary) | 0.5% | [0.3%, 0.8%] | 18 | +| Improvements (primary) | - | - | 0 | +| Improvements (secondary) | - | - | 0 | +| All (primary) | 0.9% | [0.8%, 1.0%] | 4 | + +* already marked as triaged by lqd; this PR did not regress things. lqd hypothesized that the inferred noise threshold was lowered (due to a period of low noisiness?), and thus normal amounts of noise are tripping the threshold. + +Rollup of 3 pull requests [#118982](https://github.com/rust-lang/rust/pull/118982) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=4d1bd0db7f489b22c6d8aa2385937a95412c015b&end=e6707df0de337976dce7577e68fc57adcd5e4842&stat=instructions:u) + +| (instructions:u) | mean | range | count | +|:------------------------:|:----:|:------------:|:-----:| +| Regressions (primary) | 0.8% | [0.8%, 0.9%] | 4 | +| Regressions (secondary) | 0.4% | [0.0%, 0.8%] | 32 | +| Improvements (primary) | - | - | 0 | +| Improvements (secondary) | - | - | 0 | +| All (primary) | 0.8% | [0.8%, 0.9%] | 4 | + + +* already marked as triaged by lqd. We think this is another case where the inferred noise threshold was low and we are seeing regression reports as the noise ramps up again. + +Rollup of 5 pull requests [#119002](https://github.com/rust-lang/rust/pull/119002) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=a96d57bdb6d2bb6d233d7d5aaefc2995ab99be01&end=ca5c68a110099b17c3537e6e5840dbcc21b0e3ca&stat=instructions:u) + +| (instructions:u) | mean | range | count | +|:------------------------:|:-----:|:--------------:|:-----:| +| Regressions (primary) | 0.2% | [0.1%, 0.5%] | 40 | +| Regressions (secondary) | 0.4% | [0.1%, 0.7%] | 36 | +| Improvements (primary) | -0.3% | [-0.3%, -0.3%] | 1 | +| Improvements (secondary) | -0.1% | [-0.1%, -0.1%] | 2 | +| All (primary) | 0.2% | [-0.3%, 0.5%] | 41 | + +* lqd identified PR #118396, "Collect lang items from AST, get rid of GenericBound::LangItemTrait" as the root cause for the regressions here. +* not marking as triaged + +More unescaping cleanups [#118897](https://github.com/rust-lang/rust/pull/118897) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=1c6a06183a1452c2772db370b572e38bac9c5d86&end=3ad8e2d129a67b0dc450d6ef1100ae41d2cd4b8a&stat=instructions:u) + +| (instructions:u) | mean | range | count | +|:------------------------:|:----:|:------------:|:-----:| +| Regressions (primary) | 0.6% | [0.1%, 0.8%] | 5 | +| Regressions (secondary) | 0.4% | [0.2%, 0.7%] | 26 | +| Improvements (primary) | - | - | 0 | +| Improvements (secondary) | - | - | 0 | +| All (primary) | 0.6% | [0.1%, 0.8%] | 5 | + +* lqd theorized this is another instance of noise threshold wriggling +* pnkfelix agrees and marked as triaged. + +coverage: Regression test for `assert!(!false)` [#119011](https://github.com/rust-lang/rust/pull/119011) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=445177724ac2beebf4faa5a3ffacb2adbe7e7846&end=9022e6a39c2714d2f447285c4ee7513bf153e3a9&stat=instructions:u) + +| (instructions:u) | mean | range | count | +|:------------------------:|:----:|:------------:|:-----:| +| Regressions (primary) | 0.7% | [0.7%, 0.8%] | 4 | +| Regressions (secondary) | 0.5% | [0.3%, 0.6%] | 2 | +| Improvements (primary) | - | - | 0 | +| Improvements (secondary) | - | - | 0 | +| All (primary) | 0.7% | [0.7%, 0.8%] | 4 | + +* yet again, helloworld check is being flagged as regressing (in four scenarios), probably due to wriggling noise threshold. +* pnkfelix marking as triaged + +#### Improvements + +Rollup of 8 pull requests [#118838](https://github.com/rust-lang/rust/pull/118838) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=57010939ed1d00076b4af0ed06a81ec69ea5e4a8&end=21cce21d8c012f14cf74d5afddd795d324600dac&stat=instructions:u) + +| (instructions:u) | mean | range | count | +|:------------------------:|:-----:|:--------------:|:-----:| +| Regressions (primary) | - | - | 0 | +| Regressions (secondary) | - | - | 0 | +| Improvements (primary) | - | - | 0 | +| Improvements (secondary) | -0.9% | [-1.0%, -0.9%] | 6 | +| All (primary) | - | - | 0 | + + +fix: stop emitting `.debug_pubnames` and `.debug_pubtypes` [#117962](https://github.com/rust-lang/rust/pull/117962) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=21cce21d8c012f14cf74d5afddd795d324600dac&end=e2a3c9b3f0895c866c104bd2fff2a8bf16eaf964&stat=instructions:u) + +| (instructions:u) | mean | range | count | +|:------------------------:|:-----:|:--------------:|:-----:| +| Regressions (primary) | - | - | 0 | +| Regressions (secondary) | - | - | 0 | +| Improvements (primary) | -2.1% | [-5.2%, -0.3%] | 24 | +| Improvements (secondary) | -1.6% | [-3.1%, -0.2%] | 61 | +| All (primary) | -2.1% | [-5.2%, -0.3%] | 24 | + +* nice improvement to debug builds, especially for ripgrep and serde_derive + +Unbreak non-unix non-windows bootstrap [#118894](https://github.com/rust-lang/rust/pull/118894) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=c3def263a44e07e09ae6d57abfc8650227fb4972&end=7176b8babdc55d68a485ab61940b10611cfa6c57&stat=instructions:u) + +| (instructions:u) | mean | range | count | +|:------------------------:|:------:|:---------------:|:-----:| +| Regressions (primary) | - | - | 0 | +| Regressions (secondary) | - | - | 0 | +| Improvements (primary) | -10.4% | [-30.8%, -0.6%] | 8 | +| Improvements (secondary) | - | - | 0 | +| All (primary) | -10.4% | [-30.8%, -0.6%] | 8 | + +* (don't get excited; this is just a return-to-normal after the artificial regression flagged with PR #118870 above) + +cache param env canonicalization [#117749](https://github.com/rust-lang/rust/pull/117749) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=e6d1b0ec9859e6f5c29aaa3b6525fb625bf354ad&end=d23e1a689426638a5146c204e09278433c509610&stat=instructions:u) + +| (instructions:u) | mean | range | count | +|:------------------------:|:-----:|:--------------:|:-----:| +| Regressions (primary) | - | - | 0 | +| Regressions (secondary) | - | - | 0 | +| Improvements (primary) | -2.0% | [-4.8%, -0.2%] | 32 | +| Improvements (secondary) | -1.3% | [-1.4%, -1.3%] | 2 | +| All (primary) | -2.0% | [-4.8%, -0.2%] | 32 | + +* pretty solid improvement here to serde, diesel, bitmaps, hyper, image. + +`-Ztrait-solver=next` to `-Znext-solver` [#118937](https://github.com/rust-lang/rust/pull/118937) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=529047cfc3f4f7b3ea5aaac054408f368d153727&end=2ecba0fa00b75e7291978c50bece407f17296f45&stat=instructions:u) + +| (instructions:u) | mean | range | count | +|:------------------------:|:-----:|:--------------:|:-----:| +| Regressions (primary) | - | - | 0 | +| Regressions (secondary) | - | - | 0 | +| Improvements (primary) | -0.9% | [-1.0%, -0.9%] | 4 | +| Improvements (secondary) | -0.5% | [-0.8%, -0.3%] | 21 | +| All (primary) | -0.9% | [-1.0%, -0.9%] | 4 | + +* (just noise) + +Use the LLVM option NoTrapAfterNoreturn [#110494](https://github.com/rust-lang/rust/pull/110494) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=e223c41028def5123ffd2a4a51a9109b1aae2c2e&end=02ad6676ddc7ea7bc3acd73f383180bc80185aeb&stat=instructions:u) + +| (instructions:u) | mean | range | count | +|:------------------------:|:-----:|:--------------:|:-----:| +| Regressions (primary) | - | - | 0 | +| Regressions (secondary) | - | - | 0 | +| Improvements (primary) | -0.9% | [-0.9%, -0.8%] | 4 | +| Improvements (secondary) | -0.5% | [-0.8%, -0.3%] | 25 | +| All (primary) | -0.9% | [-0.9%, -0.8%] | 4 | + +* (just noise) + +Add support for `--env` on `tracked_env::var` [#118830](https://github.com/rust-lang/rust/pull/118830) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=9022e6a39c2714d2f447285c4ee7513bf153e3a9&end=5e7025419d1b1359e4cb7cd365ba5900c8299089&stat=instructions:u) + +| (instructions:u) | mean | range | count | +|:------------------------:|:-----:|:--------------:|:-----:| +| Regressions (primary) | - | - | 0 | +| Regressions (secondary) | - | - | 0 | +| Improvements (primary) | -0.7% | [-0.8%, -0.7%] | 3 | +| Improvements (secondary) | -0.5% | [-0.7%, -0.3%] | 7 | +| All (primary) | -0.7% | [-0.8%, -0.7%] | 3 | + +* (just noise) + +don't fold ParamEnv in register_predicate_obligation [#119048](https://github.com/rust-lang/rust/pull/119048) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=d14e52b47ab27bcc3c3e083ed5f009a57db63eff&end=4283aeaca5c0c14864d4af3369a42c6b8b21f80f&stat=instructions:u) + +| (instructions:u) | mean | range | count | +|:------------------------:|:-----:|:--------------:|:-----:| +| Regressions (primary) | - | - | 0 | +| Regressions (secondary) | - | - | 0 | +| Improvements (primary) | -2.1% | [-7.3%, -0.2%] | 23 | +| Improvements (secondary) | -0.3% | [-0.3%, -0.3%] | 1 | +| All (primary) | -2.1% | [-7.3%, -0.2%] | 23 | + +* nice improvement to diesel and serde. + +resolve: Replace visibility table in resolver outputs with query feeding [#118657](https://github.com/rust-lang/rust/pull/118657) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=43dcc9b786c922251c3fbe75a0142f50f07053ca&end=321b6565a5f8ebf6f23622fc91ea1191a54f2a38&stat=instructions:u) + +| (instructions:u) | mean | range | count | +|:------------------------:|:-----:|:--------------:|:-----:| +| Regressions (primary) | - | - | 0 | +| Regressions (secondary) | - | - | 0 | +| Improvements (primary) | -0.3% | [-0.5%, -0.1%] | 70 | +| Improvements (secondary) | -0.6% | [-1.2%, -0.1%] | 42 | +| All (primary) | -0.3% | [-0.5%, -0.1%] | 70 | + + +#### Mixed + +codegen_llvm: set `DW_AT_accessibility` [#115165](https://github.com/rust-lang/rust/pull/115165) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=e6707df0de337976dce7577e68fc57adcd5e4842&end=3f39cae1199a2a0217c3646a16d1ae7fa599130b&stat=instructions:u) + +| (instructions:u) | mean | range | count | +|:------------------------:|:-----:|:--------------:|:-----:| +| Regressions (primary) | 0.2% | [0.2%, 0.3%] | 4 | +| Regressions (secondary) | - | - | 0 | +| Improvements (primary) | -0.7% | [-0.7%, -0.6%] | 4 | +| Improvements (secondary) | -0.4% | [-0.7%, -0.2%] | 22 | +| All (primary) | -0.2% | [-0.7%, 0.3%] | 8 | + +* the improvements are helloworld noise; the regressions are minor. + +Rollup of 6 pull requests [#119009](https://github.com/rust-lang/rust/pull/119009) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=5c927ab99946c312eed65f28aea15d2a035441f0&end=1c6a06183a1452c2772db370b572e38bac9c5d86&stat=instructions:u) + +| (instructions:u) | mean | range | count | +|:------------------------:|:-----:|:--------------:|:-----:| +| Regressions (primary) | 0.2% | [0.2%, 0.2%] | 1 | +| Regressions (secondary) | 0.4% | [0.2%, 1.2%] | 8 | +| Improvements (primary) | -1.3% | [-1.9%, -0.9%] | 8 | +| Improvements (secondary) | - | - | 0 | +| All (primary) | -1.1% | [-1.9%, 0.2%] | 9 | + +* The single tiny regression to exa doc full does not warrant spending time trying to tease apart this rollup, IMO. +* marked as triaged + +Rollup of 5 pull requests [#119069](https://github.com/rust-lang/rust/pull/119069) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=cda4736f1eaad8af6f49388baa9b7e480df8e329&end=e004adb5561b724ac18f5b24584648ca4e42b6ad&stat=instructions:u) + +| (instructions:u) | mean | range | count | +|:------------------------:|:-----:|:--------------:|:-----:| +| Regressions (primary) | - | - | 0 | +| Regressions (secondary) | 0.3% | [0.3%, 0.3%] | 2 | +| Improvements (primary) | -0.2% | [-0.3%, -0.1%] | 12 | +| Improvements (secondary) | -0.3% | [-0.5%, -0.2%] | 13 | +| All (primary) | -0.2% | [-0.3%, -0.1%] | 12 | + +* The two minor regressions to secondary benchmarks do not warrant spending time trying to tease apart this rollup, IMO. +* marked as triaged + +## 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) +- "tidy watcher" [rust#114209](https://github.com/rust-lang/rust/pull/114209) (last review activity: 2 months ago) + - anyone wants to adopt this puppet? Seems it's bouncing a bit around +- "Try Carbon's new hashing strategy in the compiler" [rust#117079](https://github.com/rust-lang/rust/pull/117079) (last review activity: about 58 days ago) + - cc: @**bjorn3** (IIUC) +- "mark ty::Const::Error when meet unsupport ty for const generic params" [rust#117176](https://github.com/rust-lang/rust/pull/117176) (last review activity: about 56 days ago) + - cc: @**michael goulet (compiler-errors)** (for some questions but review is assigned to @**Wesley Wiser**) +- "Make `#![allow_internal_unstable(..)]` work with `stmt_expr_attributes`" [rust#117420](https://github.com/rust-lang/rust/pull/117420) (last review activity: about 51 days ago) + - cc: @**wesley wiser** + +## Next week's WG checkins + +- @_*WG-mir-opt* by @_**oli** (on leave, other WG member?) +- @_*T-rust-analyzer* by @**Lukas Wirth** + +Next meetings' agenda draft: [hackmd link](https://hackmd.io/GFdlns3tRjaeF-u-k-1PlA) diff --git a/content/minutes/triage-meeting/T-compiler Meeting Agenda 2023-12-28.md b/content/minutes/triage-meeting/T-compiler Meeting Agenda 2023-12-28.md new file mode 100644 index 00000000..3df1dbc0 --- /dev/null +++ b/content/minutes/triage-meeting/T-compiler Meeting Agenda 2023-12-28.md @@ -0,0 +1,361 @@ +--- +tags: weekly, rustc +type: docs +note_id: GFdlns3tRjaeF-u-k-1PlA +--- + +# T-compiler Meeting Agenda 2023-12-28 + +## Announcements + +- Today release of Rust 1.75.0 ([blog post draft](https://github.com/rust-lang/blog.rust-lang.org/blob/8c59641a44a01220136ce63b50051b6c3175c8e5/posts/2023-12-28-Rust-1.75.0.md)) +- 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)) +- [Stable MIR Weekly Meeting](https://www.google.com/calendar/event?eid=N25kMTM2Z3NxbXJjNTE5ZWJpM2traHNpa21fMjAyMzEyMjlUMTUwMDAwWiA2dTVycnRjZTZscnR2MDdwZmkzZGFtZ2p1c0Bn) at +- [Types team meeting](https://www.google.com/calendar/event?eid=MTg3MDhpdTc3YXBqMGMzbnNxanUwdWZnazhfMjAyNDAxMDFUMTUwMDAwWiA2dTVycnRjZTZscnR2MDdwZmkzZGFtZ2p1c0Bn) at +- [[Types] Rotating new solver / formality / polonius deep dive](https://www.google.com/calendar/event?eid=N29vMXZqbGZ1MDIxbzllMDI3dGhocWhhZmNfMjAyNDAxMDFUMTYwMDAwWiA2dTVycnRjZTZscnR2MDdwZmkzZGFtZ2p1c0Bn) at + - @**Jack Huey** are these T-type meetings happening on New Year's Eve or it's just calendar repetition? :-) + +## MCPs/FCPs + +- New MCPs (take a look, see if you like them!) + - "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)) +- Old MCPs (not seconded, take a look) + - "Require `--known-broken-llvm` flag for x.py to skip codegen tests on old LLVM" [compiler-team#687](https://github.com/rust-lang/compiler-team/issues/687) ([Zulip](https://rust-lang.zulipchat.com/#narrow/stream/233931-xxx/topic/Require.20.60--known-broken-llvm.60.20flag.20for.20x.2E.E2.80.A6.20compiler-team.23687)) (last review activity: about 15 days ago) + - concern [codegen-tests-are-for-new-optimizations](https://github.com/rust-lang/compiler-team/issues/687#issuecomment-1809869102) + - "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)) (last review activity: about 15 days ago) + - "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://rust-lang.zulipchat.com/#narrow/stream/233931-t-compiler.2Fmajor-changes/topic/Add.20hygiene.20attributes.20to.20compile.20expande.E2.80.A6.20compiler-team.23692/near/403245433) + - "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)) (last review activity: about 9 days ago) + - "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)) (last review activity: about 15 days ago) + - "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 13 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 13 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-1777545767) + - concern [other-existing-options](https://github.com/rust-lang/compiler-team/issues/635#issuecomment-1777545767) + - "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-1618781780) + - concern [single-point-of-failure-via-stream-archival](https://github.com/rust-lang/compiler-team/issues/649#issuecomment-1618781780) + - "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)) + - concern [lint-interactions](https://github.com/rust-lang/compiler-team/issues/674#issuecomment-1746696850) + - "Support overriding `warnings` level for a specific lint via command line" [rust#113307](https://github.com/rust-lang/rust/pull/113307) + - concern [nesting](https://github.com/rust-lang/rust/pull/113307#issuecomment-1621305927) + - "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) + - "Undeprecate lint `unstable_features` and make use of it in the compiler" [rust#118639](https://github.com/rust-lang/rust/pull/118639) +- 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)) + - concern [needs-fcp](https://github.com/rust-lang/compiler-team/issues/625#issuecomment-1672919695), can someone from T-compiler start it? + - "Report all lints, even if other errors already occurred." [compiler-team#633](https://github.com/rust-lang/compiler-team/issues/633) ([Zulip](https://rust-lang.zulipchat.com/#narrow/stream/233931-xxx/topic/Report.20all.20lints.2C.20even.20if.20other.20errors.20al.E2.80.A6.20compiler-team.23633)) + - "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)) + - "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)) +- Accepted MCPs + - "Add infrastructure to "compute the ABI of a Rust type, described as a C type"" [compiler-team#672](https://github.com/rust-lang/compiler-team/issues/672) ([Zulip](https://rust-lang.zulipchat.com/#narrow/stream/233931-xxx/topic/Add.20infrastructure.20to.20.22compute.20the.20ABI.20of.E2.80.A6.20compiler-team.23672)) + - "Support response files generated by ninja with `@ninja:path` syntax" [compiler-team#684](https://github.com/rust-lang/compiler-team/issues/684) ([Zulip](https://rust-lang.zulipchat.com/#narrow/stream/233931-xxx/topic/Use.20shell.20parsing.20for.20response.20files.20compiler-team.23684)) + - "De-llvm some integer intrinsics that on the Rust side always use `u32`" [compiler-team#693](https://github.com/rust-lang/compiler-team/issues/693) ([Zulip](https://rust-lang.zulipchat.com/#narrow/stream/233931-xxx/topic/De-llvm.20some.20integer.20intrinsics.20that.20on.20t.E2.80.A6.20compiler-team.23693)) + - "Consistent `Handler` naming" [compiler-team#699](https://github.com/rust-lang/compiler-team/issues/699) ([Zulip](https://rust-lang.zulipchat.com/#narrow/stream/233931-xxx/topic/Consistent.20.60Handler.60.20naming.20compiler-team.23699)) + - "Promote tier 3 riscv32 bare metal targets to tier 2" [compiler-team#701](https://github.com/rust-lang/compiler-team/issues/701) ([Zulip](https://rust-lang.zulipchat.com/#narrow/stream/233931-xxx/topic/Promote.20tier.203.20riscv32.20bare.20metal.20targets.E2.80.A6.20compiler-team.23701)) + - "Use the MSVC provided Address Sanitizer runtime when building for MSVC" [compiler-team#702](https://github.com/rust-lang/compiler-team/issues/702) ([Zulip](https://rust-lang.zulipchat.com/#narrow/stream/233931-xxx/topic/Use.20the.20MSVC.20provided.20Address.20Sanitizer.20r.E2.80.A6.20compiler-team.23702)) +- Finalized FCPs (disposition merge) + - "make soft_unstable show up in future breakage reports" [rust#116274](https://github.com/rust-lang/rust/pull/116274) + - "Stabilize THIR unsafeck" [rust#117673](https://github.com/rust-lang/rust/pull/117673) + - "Support async recursive calls (as long as they have indirection)" [rust#117703](https://github.com/rust-lang/rust/pull/117703) + - "Properly reject `default` on free const items" [rust#117818](https://github.com/rust-lang/rust/pull/117818) + - "Make inductive cycles in coherence ambiguous always" [rust#118649](https://github.com/rust-lang/rust/pull/118649) + +### WG checkins + +- @_*WG-mir-opt* (any WG members have news to share?) ([previous checkin](https://hackmd.io/IPpNv80sQAmD2ZTF6h56ng#WG-checkins)): + > Checkin text + +- @_*T-rust-analyzer* by @**Lukas Wirth** ([previous checkin](https://hackmd.io/CBacAmB6TTyQJb4kmrBGfw#WG-checkins)): + > Checkin text + +## Backport nominations + +[T-compiler stable](https://github.com/rust-lang/rust/issues?q=is%3Aall+label%3Abeta-nominated+-label%3Abeta-accepted+label%3AT-compiler) / [T-compiler beta](https://github.com/rust-lang/rust/issues?q=is%3Aall+label%3Astable-nominated+-label%3Astable-accepted+label%3AT-compiler) +- :beta: [1.76.0] "Exhaustiveness: Improve complexity on some wide matches" [rust#118796](https://github.com/rust-lang/rust/pull/118796) + - (mentioned last week) + - PR is now approved and merged, fixes a (P-high) exhaustiveness check [rust#118437](https://github.com/rust-lang/rust/issues/118437) ([comment](https://github.com/rust-lang/rust/pull/118796#issue-2034270817)) + +- 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) +- [61 T-compiler P-high issues](https://github.com/rust-lang/rust/issues?q=is%3Aopen+label%3AT-compiler+label%3AP-high) + - [33 of those are unassigned](https://github.com/rust-lang/rust/issues?q=is%3Aopen+label%3AT-compiler+label%3AP-high+no%3Aassignee) +- [0 P-critical, 1 P-high, 3 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, 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, 40 P-high, 100 P-medium, 18 P-low regression-from-stable-to-stable](https://github.com/rust-lang/rust/labels/regression-from-stable-to-stable) + +### P-critical + +[T-compiler](https://github.com/rust-lang/rust/issues?q=is%3Aopen+label%3AP-critical+label%3AT-compiler) +- 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 new beta `P-high` regressions + +[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-12-26](https://github.com/rust-lang/rustc-perf/blob/master/triage/2023-12-26.md) + +Some of the recent noise swings have been appearing again this week, but luckily +less often than before. There were a few actual regressions, but most of them +were localized to a single stress test. On the other hand, there were a few very +nice wins across the board, especially for check and incremental builds, primarily +thanks to [#118824](https://github.com/rust-lang/rust/pull/118824) and +[#119265](https://github.com/rust-lang/rust/pull/119265). + +Triage done by **@kobzol**. +Revision range: [bf9229a2e366b4c311f059014a4aa08af16de5d8..1ab783112ab4e4807304dbd249b39771246013ef](https://perf.rust-lang.org/?start=bf9229a2e366b4c311f059014a4aa08af16de5d8&end=1ab783112ab4e4807304dbd249b39771246013ef&absolute=false&stat=instructions%3Au) + +**Summary**: + +| (instructions:u) | mean | range | count | +|:------------------------:|:-----:|:--------------:|:-----:| +| Regressions (primary) | 0.6% | [0.6%, 0.6%] | 1 | +| Regressions (secondary) | 2.5% | [0.3%, 4.2%] | 10 | +| Improvements (primary) | -0.8% | [-3.3%, -0.1%] | 180 | +| Improvements (secondary) | -1.2% | [-5.5%, -0.2%] | 109 | +| All (primary) | -0.8% | [-3.3%, 0.6%] | 181 | + + +5 Regressions, 7 Improvements, 2 Mixed; 1 of them in rollups +58 artifact comparisons made in total + +#### Regressions + +Make exhaustiveness usable outside of rustc [#118842](https://github.com/rust-lang/rust/pull/118842) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=c9c9f527e373efbb755e88661aaf012ad6a2d17c&end=3a539c08891a422d34beb32d2556a08ea0357b7d&stat=instructions:u) + +| (instructions:u) | mean | range | count | +|:------------------------:|:-----:|:--------------:|:-----:| +| Regressions (primary) | - | - | 0 | +| Regressions (secondary) | 0.9% | [0.9%, 1.0%] | 6 | +| Improvements (primary) | - | - | 0 | +| Improvements (secondary) | -0.4% | [-0.4%, -0.4%] | 1 | +| All (primary) | - | - | 0 | + +* This PR enables the use of exhaustiveness checking e.g. in rust-analyzer, which is part of the +"librarification effort". The small regression in a single stress-test benchmark is worth it. + +mark ty::Const::Error when meet unsupport ty for const generic params [#117176](https://github.com/rust-lang/rust/pull/117176) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=cf6427373b8b6d4b8efed2087fb9df5149e69e67&end=08cc634f1a26f30801daa1cbe7b866b12aaf1edd&stat=instructions:u) + +| (instructions:u) | mean | range | count | +|:------------------------:|:----:|:------------:|:-----:| +| Regressions (primary) | 0.7% | [0.6%, 0.7%] | 4 | +| Regressions (secondary) | 0.4% | [0.2%, 0.6%] | 19 | +| Improvements (primary) | - | - | 0 | +| Improvements (secondary) | - | - | 0 | +| All (primary) | 0.7% | [0.6%, 0.7%] | 4 | + +* This PR only added a test, so this has to be noise. +* Already marked as triaged by @jackh726 + +Exhaustiveness: Improve complexity on some wide matches [#118796](https://github.com/rust-lang/rust/pull/118796) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=ebb821f625db3cbc77c675326165b8dfc3d7a2be&end=1a086e49f14dd019a6ee147b6a9a72b32ac3fe2b&stat=instructions:u) + +| (instructions:u) | mean | range | count | +|:------------------------:|:-----:|:--------------:|:-----:| +| Regressions (primary) | - | - | 0 | +| Regressions (secondary) | 2.9% | [2.6%, 3.1%] | 6 | +| Improvements (primary) | - | - | 0 | +| Improvements (secondary) | -1.3% | [-1.3%, -1.3%] | 1 | +| All (primary) | - | - | 0 | + +* This PR fixed a potential hang in the compiler, the regression of the match checking stress-test +is unfortunate, but it's more important to avoid the pathological case. +* Already marked as triaged by @apiraino + +Subtree sync for rustc_codegen_cranelift [#119278](https://github.com/rust-lang/rust/pull/119278) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=1a086e49f14dd019a6ee147b6a9a72b32ac3fe2b&end=f736079c3caceca1adfd75822c754e1e31bddc3d&stat=instructions:u) + +| (instructions:u) | mean | range | count | +|:------------------------:|:----:|:------------:|:-----:| +| Regressions (primary) | 0.9% | [0.8%, 0.9%] | 3 | +| Regressions (secondary) | 0.5% | [0.3%, 0.7%] | 20 | +| Improvements (primary) | - | - | 0 | +| Improvements (secondary) | - | - | 0 | +| All (primary) | 0.9% | [0.8%, 0.9%] | 3 | + +* Noise + +fix ICE when using raw ptr in a pattern [#119274](https://github.com/rust-lang/rust/pull/119274) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=bf8716f1cd6416266807706bcae0ecb2e51c9d4a&end=471dcbdb0910bcacbef6732e5ec1dab0dcd6b999&stat=instructions:u) + +| (instructions:u) | mean | range | count | +|:------------------------:|:----:|:------------:|:-----:| +| Regressions (primary) | 0.7% | [0.7%, 0.7%] | 1 | +| Regressions (secondary) | 0.4% | [0.3%, 0.5%] | 6 | +| Improvements (primary) | - | - | 0 | +| Improvements (secondary) | - | - | 0 | +| All (primary) | 0.7% | [0.7%, 0.7%] | 1 | + +* Noise + +#### Improvements + +fast path for declared_generic_bounds_from_env [#119084](https://github.com/rust-lang/rust/pull/119084) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=3a539c08891a422d34beb32d2556a08ea0357b7d&end=57ad5058d643d06c0e76bb85442ff9244d966f34&stat=instructions:u) + +| (instructions:u) | mean | range | count | +|:------------------------:|:-----:|:--------------:|:-----:| +| Regressions (primary) | - | - | 0 | +| Regressions (secondary) | - | - | 0 | +| Improvements (primary) | -1.9% | [-2.9%, -0.2%] | 8 | +| Improvements (secondary) | - | - | 0 | +| All (primary) | -1.9% | [-2.9%, -0.2%] | 8 | + +* Very nice improvement to diesel. + +use Vec for region constraints instead of BTreeMap [#118824](https://github.com/rust-lang/rust/pull/118824) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=398fd92e177cd1a47ae1bb146506953e87e73d30&end=d6d7a93866f2ffcfb51828b8859bdad760b54ce0&stat=instructions:u) + +| (instructions:u) | mean | range | count | +|:------------------------:|:-----:|:--------------:|:-----:| +| Regressions (primary) | - | - | 0 | +| Regressions (secondary) | - | - | 0 | +| Improvements (primary) | -0.5% | [-1.3%, -0.2%] | 39 | +| Improvements (secondary) | -0.7% | [-1.7%, -0.2%] | 29 | +| All (primary) | -0.5% | [-1.3%, -0.2%] | 39 | + +* Nice improvements to check builds across the board. + +Rollup of 6 pull requests [#119237](https://github.com/rust-lang/rust/pull/119237) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=495203bf61efabecc2c460be38e1eb0f9952601b&end=c03d978a4bcb7c01d8cdf80bd7600b27e2d21588&stat=instructions:u) + +| (instructions:u) | mean | range | count | +|:------------------------:|:-----:|:--------------:|:-----:| +| Regressions (primary) | - | - | 0 | +| Regressions (secondary) | - | - | 0 | +| Improvements (primary) | -0.5% | [-0.8%, -0.3%] | 17 | +| Improvements (secondary) | -0.4% | [-0.6%, -0.2%] | 10 | +| All (primary) | -0.5% | [-0.8%, -0.3%] | 17 | + +* Nice win for type checking across several benchmarks. It's unclear which PR from the rollup +has caused the wins though. + +Stabilize ip_in_core feature [#119276](https://github.com/rust-lang/rust/pull/119276) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=f736079c3caceca1adfd75822c754e1e31bddc3d&end=e87ccb8676be9ab641849a2539b215d0c9027237&stat=instructions:u) + +| (instructions:u) | mean | range | count | +|:------------------------:|:-----:|:--------------:|:-----:| +| Regressions (primary) | - | - | 0 | +| Regressions (secondary) | - | - | 0 | +| Improvements (primary) | -0.9% | [-0.9%, -0.8%] | 4 | +| Improvements (secondary) | -0.5% | [-0.8%, -0.2%] | 21 | +| All (primary) | -0.9% | [-0.9%, -0.8%] | 4 | + +* This is just noise returning back to steady state. + +Unify SourceFile::name_hash and StableSourceFileId [#119139](https://github.com/rust-lang/rust/pull/119139) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=e87ccb8676be9ab641849a2539b215d0c9027237&end=bf8716f1cd6416266807706bcae0ecb2e51c9d4a&stat=instructions:u) + +| (instructions:u) | mean | range | count | +|:------------------------:|:-----:|:--------------:|:-----:| +| Regressions (primary) | - | - | 0 | +| Regressions (secondary) | - | - | 0 | +| Improvements (primary) | -0.2% | [-0.2%, -0.1%] | 3 | +| Improvements (secondary) | -0.8% | [-0.9%, -0.6%] | 3 | +| All (primary) | -0.2% | [-0.2%, -0.1%] | 3 | + +* A few small wins for incremental benchmarks. + +Fix display of warning block if it is first element of the top doc block [#119283](https://github.com/rust-lang/rust/pull/119283) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=471dcbdb0910bcacbef6732e5ec1dab0dcd6b999&end=b87f649a5de8496df7be2fd272da5f1d42d82087&stat=instructions:u) + +| (instructions:u) | mean | range | count | +|:------------------------:|:-----:|:--------------:|:-----:| +| Regressions (primary) | - | - | 0 | +| Regressions (secondary) | - | - | 0 | +| Improvements (primary) | -0.7% | [-0.7%, -0.7%] | 2 | +| Improvements (secondary) | -0.4% | [-0.6%, -0.3%] | 5 | +| All (primary) | -0.7% | [-0.7%, -0.7%] | 2 | + +* This PR only modified the UI and tests of rustdoc, so this is just noise. + +Make closures carry their own ClosureKind [#119258](https://github.com/rust-lang/rust/pull/119258) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=2271c26e4a8e062bb00d709d0ccb5846e0c341b9&end=1ab783112ab4e4807304dbd249b39771246013ef&stat=instructions:u) + +| (instructions:u) | mean | range | count | +|:------------------------:|:-----:|:--------------:|:-----:| +| Regressions (primary) | - | - | 0 | +| Regressions (secondary) | - | - | 0 | +| Improvements (primary) | -1.1% | [-1.1%, -1.1%] | 1 | +| Improvements (secondary) | - | - | 0 | +| All (primary) | -1.1% | [-1.1%, -1.1%] | 1 | + +* This is probably just noise. + +#### Mixed + +add more niches to rawvec [#106790](https://github.com/rust-lang/rust/pull/106790) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=f704f3b93b1543cf504ecca0052f9f8531b1f61f&end=51c0db6a9118735190466d15432b5d8890bb09ee&stat=instructions:u) + +| (instructions:u) | mean | range | count | +|:------------------------:|:-----:|:--------------:|:-----:| +| Regressions (primary) | 0.4% | [0.1%, 0.7%] | 20 | +| Regressions (secondary) | 0.6% | [0.2%, 1.0%] | 2 | +| Improvements (primary) | -0.4% | [-2.0%, -0.1%] | 27 | +| Improvements (secondary) | -0.9% | [-5.3%, -0.2%] | 16 | +| All (primary) | -0.1% | [-2.0%, 0.7%] | 47 | + +* This PR enabled more optimization opportunities for LLVM, which could in theory help with +program optimization, but it also caused some binary size increases and compile-time regressions. +* Not marking as triaged yet. + +Remove metadata decoding DefPathHash cache [#119265](https://github.com/rust-lang/rust/pull/119265) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=08cc634f1a26f30801daa1cbe7b866b12aaf1edd&end=ebb821f625db3cbc77c675326165b8dfc3d7a2be&stat=instructions:u) + +| (instructions:u) | mean | range | count | +|:------------------------:|:-----:|:--------------:|:-----:| +| Regressions (primary) | 0.9% | [0.9%, 0.9%] | 1 | +| Regressions (secondary) | - | - | 0 | +| Improvements (primary) | -0.6% | [-2.1%, -0.2%] | 101 | +| Improvements (secondary) | -1.2% | [-3.2%, -0.2%] | 65 | +| All (primary) | -0.6% | [-2.1%, 0.9%] | 102 | + +* Very nice check and incremental wins across the board. +* The single regression is probably just noise returning back to steady state. + +## 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) +- "large_assignments: Lint on specific large args passed to functions" [rust#116520](https://github.com/rust-lang/rust/pull/116520) (last review activity: 2 months ago) + - cc: WG-compiler-performance? ([comment](https://github.com/rust-lang/rust/pull/116520#issuecomment-1771119477)) +- "Add -Zuse-sync-unwind" [rust#117744](https://github.com/rust-lang/rust/pull/117744) (last review activity: about 41 days ago) + - Do these changes need an MCP? +- revert for benchmark [rust#118436](https://github.com/rust-lang/rust/pull/118436) + - cc: @**vadim petrochenkov** @**pnkfelix** seems PR author is waiting on a feedback about perf. results ([comment](https://github.com/rust-lang/rust/pull/118436#issuecomment-1843038392)) + +## Next week's WG checkins + +- @_*WG-async-foundations* by @**nikomatsakis** and @**tmandry** +- @_*WG-diagnostics* by @**Esteban Küber** and @_**oli** + +Next meetings' agenda draft: [hackmd link](https://hackmd.io/GbNOsH56RWudQ4drStxBHQ)