diff --git a/content/minutes/triage-meeting/T-compiler Meeting Agenda 2024-09-05.md b/content/minutes/triage-meeting/T-compiler Meeting Agenda 2024-09-05.md new file mode 100644 index 00000000..99f78ae8 --- /dev/null +++ b/content/minutes/triage-meeting/T-compiler Meeting Agenda 2024-09-05.md @@ -0,0 +1,256 @@ +--- +tags: weekly, rustc +type: docs +note_id: 68SAwhUVRmC5oPTrsheiBg +--- + +# T-compiler Meeting Agenda 2024-09-05 + +## Announcements + +- Today Rust stable release 1.81. [Blog post](https://github.com/Mark-Simulacrum/blog.rust-lang.org/blob/1.81/posts/2024-09-05-Rust-1.81.0.md) +- Draft blog post for the election of the Project Directors (PDs): https://github.com/rust-lang/blog.rust-lang.org/blob/fb8299d3dd4d42eb928442115a8a730889c466bb/posts/inside-rust/2024-09-04-electing-new-project-directors.md +- Draft blog post about upcoming changes in WASM targets : https://github.com/rust-lang/blog.rust-lang.org/pull/1385 + - Context: https://github.com/rust-lang/rust/pull/128511 + - after a cursory review from t-compiler (thanks!), we can set a date for publishing +- Reminder: if you see a PR/issue that seems like there might be legal implications due to copyright/IP/etc, please let us know (or at least message @_**davidtwco** or @_**Wesley Wiser** so we can pass it along). + +### Other WG meetings +- Types Team: ITE (Impl Trait Everywhere) Triage +- wg-rust-analyzer steering meeting on Zulip (https://rust-lang.zulipchat.com/#narrow/stream/185405-t-compiler.2Fwg-rls-2.2E0/topic/Steering.20meeting) +- wg-macros triage meeting Zulip (https://rust-lang.zulipchat.com/#narrow/stream/410876-wg-macros.2Ftriage) + +## MCPs/FCPs + +- New MCPs (take a look, see if you like them!) + - "Add `evex512` target feature for AVX10" [compiler-team#778](https://github.com/rust-lang/compiler-team/issues/778) ([Zulip](https://rust-lang.zulipchat.com/#narrow/stream/233931-xxx/topic/Add.20.60evex512.60.20target.20feature.20for.20AVX10.20compiler-team.23778)) + - "mark some target features as 'forbidden' so they cannot be (un)set with -Ctarget-feature" [compiler-team#780](https://github.com/rust-lang/compiler-team/issues/780) ([Zulip](https://rust-lang.zulipchat.com/#narrow/stream/233931-xxx/topic/mark.20some.20target.20features.20as.20.27forbidden.27.20.E2.80.A6.20compiler-team.23780)) +- Old MCPs (stale MCP might be closed as per [MCP procedure](https://forge.rust-lang.org/compiler/mcp.html#when-should-major-change-proposals-be-closed)) + - None at this time +- Old MCPs (not seconded, take a look) + - "Target families for executable format" [compiler-team#716](https://github.com/rust-lang/compiler-team/issues/716) ([Zulip](https://rust-lang.zulipchat.com/#narrow/stream/233931-xxx/topic/Target.20families.20for.20executable.20format.20compiler-team.23716)) (last review activity: 7 months ago) + - "Add Hotpatch flag" [compiler-team#745](https://github.com/rust-lang/compiler-team/issues/745) ([Zulip](https://rust-lang.zulipchat.com/#narrow/stream/233931-xxx/topic/Add.20Hotpatch.20flag.20compiler-team.23745)) (last review activity: 3 months ago) + - "Opt-in flag for absolute paths in diagnostics" [compiler-team#770](https://github.com/rust-lang/compiler-team/issues/770) ([Zulip](https://rust-lang.zulipchat.com/#narrow/stream/233931-xxx/topic/Opt-in.20flag.20for.20absolute.20paths.20in.20diagnos.E2.80.A6.20compiler-team.23770)) (last review activity: about 20 days ago) +- Pending FCP requests (check your boxes!) + - "sanitizers: Stabilize AddressSanitizer and LeakSanitizer for the Tier 1 targets" [rust#123617](https://github.com/rust-lang/rust/pull/123617) + - "Add `--print host-triple` to print host target triple" [rust#125579](https://github.com/rust-lang/rust/pull/125579) +- Things in FCP (make sure you're good with it) + - "Don't track `--emit=` options as part of crate SVH" [compiler-team#769](https://github.com/rust-lang/compiler-team/issues/769) ([Zulip](https://rust-lang.zulipchat.com/#narrow/stream/233931-xxx/topic/Don.27t.20track.20.60--emit.3D.60.20options.20as.20part.20of.20.E2.80.A6.20compiler-team.23769)) + - "`--hint-msrv=version` option so the compiler can take MSRV into account when linting" [compiler-team#772](https://github.com/rust-lang/compiler-team/issues/772) ([Zulip](https://rust-lang.zulipchat.com/#narrow/stream/233931-xxx/topic/.60-C.20msrv.3Dversion.60.20option.20so.20the.20compiler.20.E2.80.A6.20compiler-team.23772)) + - "Deprecate `-Csoft-float`" [compiler-team#779](https://github.com/rust-lang/compiler-team/issues/779) ([Zulip](https://rust-lang.zulipchat.com/#narrow/stream/233931-xxx/topic/Deprecate.20.60-Csoft-float.60.20compiler-team.23779)) + - "const-eval interning: accept interior mutable pointers in final value" [rust#128543](https://github.com/rust-lang/rust/pull/128543) + - "Don't warn empty branches unreachable for now" [rust#129103](https://github.com/rust-lang/rust/pull/129103) +- Accepted MCPs + - No new accepted proposals this time. +- MCPs blocked on unresolved concerns + - "Add hygiene attributes to compile expanded source code" [compiler-team#692](https://github.com/rust-lang/compiler-team/issues/692) ([Zulip](https://rust-lang.zulipchat.com/#narrow/stream/233931-xxx/topic/Add.20option.20to.20compile.20expanded.20ASTs.20for.20h.E2.80.A6.20compiler-team.23692)) (last review activity: 7 months ago) + - concern: [added-complexity-to-frontend](https://github.com/rust-lang/compiler-team/issues/692#issuecomment-1845169318) + - "Add a new `--build-id` flag to rustc" [compiler-team#635](https://github.com/rust-lang/compiler-team/issues/635) ([Zulip](https://rust-lang.zulipchat.com/#narrow/stream/233931-xxx/topic/Add.20a.20new.20.60--build-id.60.20flag.20to.20rustc.20compiler-team.23635)) + - concern: [other-existing-options](https://github.com/rust-lang/compiler-team/issues/635#issuecomment-1779597156) + - concern: [option-name](https://github.com/rust-lang/compiler-team/issues/635#issuecomment-1785349936) + - "Retire the mailing list and make all decisions on zulip" [compiler-team#649](https://github.com/rust-lang/compiler-team/issues/649) ([Zulip](https://rust-lang.zulipchat.com/#narrow/stream/233931-xxx/topic/Retire.20the.20mailing.20list.20and.20make.20all.20deci.E2.80.A6.20compiler-team.23649)) + - concern: [automatic-sync](https://github.com/rust-lang/compiler-team/issues/649#issuecomment-1618902660) +- Finalized FCPs (disposition merge) + - None +- Other teams finalized FCPs + - "rustdoc: add header map to the table of contents" [rust#120736](https://github.com/rust-lang/rust/pull/120736) + - "doc: Make block of inline Deref methods foldable" [rust#127474](https://github.com/rust-lang/rust/pull/127474) + +### WG checkins + +None + +## Backport nominations + +[T-compiler beta](https://github.com/rust-lang/rust/issues?q=is%3Aall+label%3Abeta-nominated+-label%3Abeta-accepted+label%3AT-compiler) / [T-compiler stable](https://github.com/rust-lang/rust/issues?q=is%3Aall+label%3Astable-nominated+-label%3Astable-accepted+label%3AT-compiler) +- No beta nominations for `T-compiler` this time. +- No stable nominations for `T-compiler` this time. + +[T-types stable](https://github.com/rust-lang/rust/issues?q=is%3Aall+label%3Abeta-nominated+-label%3Abeta-accepted+label%3AT-types) / [T-types beta](https://github.com/rust-lang/rust/issues?q=is%3Aall+label%3Astable-nominated+-label%3Astable-accepted+label%3AT-types) +- No beta nominations for `T-types` this time. +- No stable nominations for `T-types` this time. + +## PRs S-waiting-on-team + +[T-compiler](https://github.com/rust-lang/rust/pulls?q=is%3Aopen+label%3AS-waiting-on-team+label%3AT-compiler) +- "Stabilize `extended_varargs_abi_support`" [rust#116161](https://github.com/rust-lang/rust/pull/116161) +- "Better errors with bad/missing identifiers in MBEs" [rust#118939](https://github.com/rust-lang/rust/pull/118939) +- "Uplift `clippy::invalid_null_ptr_usage` lint" [rust#119220](https://github.com/rust-lang/rust/pull/119220) +- "Rename `AsyncIterator` back to `Stream`, introduce an AFIT-based `AsyncIterator` trait" [rust#119550](https://github.com/rust-lang/rust/pull/119550) +- "Disallow deriving (other than Copy/Clone) on types with unnamed fields" [rust#121270](https://github.com/rust-lang/rust/pull/121270) +- "Emit a warning if a `match` is too complex" [rust#122685](https://github.com/rust-lang/rust/pull/122685) +- "Add Unicode block-drawing compiler output support" [rust#126597](https://github.com/rust-lang/rust/pull/126597) +- "Emit error when calling/declaring functions with vectors that require missing target feature" [rust#127731](https://github.com/rust-lang/rust/pull/127731) +- "[crater] Make `missing_fragment_specifier` an unconditional error" [rust#128425](https://github.com/rust-lang/rust/pull/128425) +- "repr(int) fieldless enums are ABI-compatible with int" [rust#128600](https://github.com/rust-lang/rust/pull/128600) +- "`optimize` attribute applied to things other than methods/functions/c…" [rust#128943](https://github.com/rust-lang/rust/pull/128943) +- "Gate `repr(Rust)` correctly on non-ADT items" [rust#129422](https://github.com/rust-lang/rust/pull/129422) +- [Issues in progress or waiting on other teams](https://hackmd.io/XYr1BrOWSiqCrl8RCWXRaQ) + +## Issues of Note + +### Short Summary + +- [1 T-compiler P-critical issues](https://github.com/rust-lang/rust/issues?q=is%3Aopen+label%3AT-compiler+label%3AP-critical) + - [0 of those are unassigned](https://github.com/rust-lang/rust/issues?q=is%3Aopen+label%3AT-compiler+label%3AP-critical+no%3Aassignee) +- [66 T-compiler P-high issues](https://github.com/rust-lang/rust/issues?q=is%3Aopen+label%3AT-compiler+label%3AP-high) + - [38 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, 0 P-high, 5 P-medium, 2 P-low regression-from-stable-to-nightly](https://github.com/rust-lang/rust/labels/regression-from-stable-to-nightly) +- [0 P-critical, 36 P-high, 100 P-medium, 16 P-low regression-from-stable-to-stable](https://github.com/rust-lang/rust/labels/regression-from-stable-to-stable) + +### P-critical + +[T-compiler](https://github.com/rust-lang/rust/issues?q=is%3Aopen+label%3AP-critical+label%3AT-compiler) +- None + +[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) +- [SIGTRAP during compilation on MacOS · Issue #129887 · rust-lang/rust](https://github.com/rust-lang/rust/issues/129887) + - issue just slipped from nightly to beta. Already fixed upstream in LLVM 19 ([comment](https://github.com/rust-lang/rust/issues/129887#issuecomment-2330461075)) +- "regression: overflow evaluating the requirement" [rust#128887](https://github.com/rust-lang/rust/issues/128887) + - accepted regression, some crates that regressed fixed downstream. + - fixed by #129714 (beta backported) and #129073 (in progress), thus keeping it open for tracking purposes + +[Unassigned P-high nightly regressions](https://github.com/rust-lang/rust/issues?q=is%3Aopen+label%3Aregression-from-stable-to-nightly+label%3AP-high+no%3Aassignee+-label%3AT-infra+-label%3AT-libs+-label%3AT-libs-api+-label%3AT-release+-label%3AT-rustdoc+-label%3AT-core+) +- No unassigned `P-high` nightly regressions this time. + +## Performance logs + +> [triage logs for 2024-09-03](https://github.com/Kobzol/rustc-perf/blob/ee7cd7e680ebf9d588ad23cc0f1ba32b3caf1813/triage/2024-09-03.md) + +This week we had some trouble with our performance bot, but luckily the issue has been resolved. +In the end, we saw much more improvements than regressions. + +Triage done by **@kobzol**. +Revision range: [acb4e8b6..6199b69c](https://perf.rust-lang.org/?start=acb4e8b6251f1d8da36f08e7a70fa23fc581839e&end=6199b69c53a8c275ca3cd59647ea0af5ca29aae2&absolute=false&stat=instructions%3Au) + +**Summary**: + +| (instructions:u) | mean | range | count | +|:----------------------------------:|:-----:|:--------------:|:-----:| +| Regressions ❌
(primary) | 0.3% | [0.2%, 0.4%] | 8 | +| Regressions ❌
(secondary) | 0.7% | [0.2%, 1.5%] | 9 | +| Improvements ✅
(primary) | -0.8% | [-3.4%, -0.2%] | 158 | +| Improvements ✅
(secondary) | -0.7% | [-2.3%, -0.2%] | 96 | +| All ❌✅ (primary) | -0.7% | [-3.4%, 0.4%] | 166 | + + +2 Regressions, 3 Improvements, 1 Mixed; 3 of them in rollups +19 artifact comparisons made in total + +#### Regressions + +Rollup of 7 pull requests [#129750](https://github.com/rust-lang/rust/pull/129750) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=784d444733d65c3d305ce5edcbb41e3d0d0aee2e&end=0d634185dfddefe09047881175f35c65d68dcff1&stat=instructions:u) + +| (instructions:u) | mean | range | count | +|:----------------------------------:|:----:|:------------:|:-----:| +| Regressions ❌
(primary) | 0.4% | [0.3%, 0.5%] | 7 | +| Regressions ❌
(secondary) | 6.0% | [6.0%, 6.0%] | 1 | +| Improvements ✅
(primary) | - | - | 0 | +| Improvements ✅
(secondary) | - | - | 0 | +| All ❌✅ (primary) | 0.4% | [0.3%, 0.5%] | 7 | + +- This was bimodal noise. + +Rollup of 8 pull requests [#129922](https://github.com/rust-lang/rust/pull/129922) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=6199b69c53a8c275ca3cd59647ea0af5ca29aae2&end=d6c8169c186ab16a3404cd0d0866674018e8a19e&stat=instructions:u) + +| (instructions:u) | mean | range | count | +|:----------------------------------:|:----:|:------------:|:-----:| +| Regressions ❌
(primary) | - | - | 0 | +| Regressions ❌
(secondary) | 5.8% | [5.8%, 5.8%] | 1 | +| Improvements ✅
(primary) | - | - | 0 | +| Improvements ✅
(secondary) | - | - | 0 | +| All ❌✅ (primary) | - | - | 0 | + +- Likely the same story, just with a different benchmark. +- Not marking as triaged yet. + +#### Improvements + +Rollup of 15 pull requests [#129809](https://github.com/rust-lang/rust/pull/129809) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=fa72f0763de6bc1596208fc1419883ce5aea0de4&end=9649706eada1b2c68cf6504356efb058f68ad739&stat=instructions:u) + +| (instructions:u) | mean | range | count | +|:----------------------------------:|:-----:|:--------------:|:-----:| +| Regressions ❌
(primary) | - | - | 0 | +| Regressions ❌
(secondary) | - | - | 0 | +| Improvements ✅
(primary) | -0.3% | [-0.9%, -0.2%] | 21 | +| Improvements ✅
(secondary) | -0.7% | [-5.9%, -0.1%] | 18 | +| All ❌✅ (primary) | -0.3% | [-0.9%, -0.2%] | 21 | + + +Revert "Auto merge of #127537 - veluca93:struct_tf, r=BoxyUwU" [#129854](https://github.com/rust-lang/rust/pull/129854) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=a48861a6279b386ad2b9c3518490181d238fe727&end=94885bc699512cfee8560e73c2a01ee6b4b76563&stat=instructions:u) + +| (instructions:u) | mean | range | count | +|:----------------------------------:|:-----:|:--------------:|:-----:| +| Regressions ❌
(primary) | - | - | 0 | +| Regressions ❌
(secondary) | - | - | 0 | +| Improvements ✅
(primary) | -0.4% | [-1.1%, -0.2%] | 81 | +| Improvements ✅
(secondary) | -0.5% | [-2.2%, -0.2%] | 24 | +| All ❌✅ (primary) | -0.4% | [-1.1%, -0.2%] | 81 | + +- Revert of an earlier PR that had larger than expected regressions. +- Investigation is ongoing on how to land it without such large regressions. + +Apply size optimizations to panic machinery and some cold functions [#129063](https://github.com/rust-lang/rust/pull/129063) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=94885bc699512cfee8560e73c2a01ee6b4b76563&end=e71f9529121ca8f687e4b725e3c9adc3f1ebab4d&stat=instructions:u) + +| (instructions:u) | mean | range | count | +|:----------------------------------:|:-----:|:--------------:|:-----:| +| Regressions ❌
(primary) | 0.2% | [0.2%, 0.2%] | 2 | +| Regressions ❌
(secondary) | - | - | 0 | +| Improvements ✅
(primary) | -1.2% | [-3.0%, -0.3%] | 16 | +| Improvements ✅
(secondary) | -1.0% | [-1.5%, -0.4%] | 4 | +| All ❌✅ (primary) | -1.0% | [-3.0%, 0.2%] | 18 | + + +#### Mixed + +Rewrite lint_expectations in a single pass. [#127313](https://github.com/rust-lang/rust/pull/127313) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=1a1cc050d8efc906ede39f444936ade1fdc9c6cb&end=a48861a6279b386ad2b9c3518490181d238fe727&stat=instructions:u) + +| (instructions:u) | mean | range | count | +|:----------------------------------:|:-----:|:--------------:|:-----:| +| Regressions ❌
(primary) | 0.4% | [0.3%, 0.4%] | 9 | +| Regressions ❌
(secondary) | 0.6% | [0.2%, 1.5%] | 14 | +| Improvements ✅
(primary) | -0.5% | [-1.5%, -0.2%] | 82 | +| Improvements ✅
(secondary) | -0.7% | [-1.8%, -0.1%] | 58 | +| All ❌✅ (primary) | -0.4% | [-1.5%, 0.4%] | 91 | + +- More improvements than regressions, marking as triaged. + +## Nominated Issues + +[T-compiler](https://github.com/rust-lang/rust/issues?q=is%3Aopen+label%3AI-compiler-nominated) +- "Tracking peak total storage use" [rust#129808](https://github.com/rust-lang/rust/issues/129808) + - nominated by @**Jubilee** + - Context: last week our CI started to fail due to not having enough storage available + - Questions for all teams: + > - Are we aware of past efforts being aware of whether or not we have reduced the size? + > - What information is [t-compiler] currently tracking re: size? + > - What information would [t-compiler] like to have available re: size? +- "Add Unicode block-drawing compiler output support" [rust#126597](https://github.com/rust-lang/rust/pull/126597) + - Proposal from @**Esteban Küber** + - Nominated by @**León Orell Liehr (fmease)** (assigned reviewer), asks if this proposal would benefit from some sort of agreement from T-compiler (MCP or other) + - More context [here](https://github.com/rust-lang/rust/pull/126597#issuecomment-2267602708) and [here](https://rust-lang.zulipchat.com/#narrow/stream/131828-t-compiler/topic/Unstable.20Unicode.20box.20drawing.20support.20for.20diagnostics.3A.20MCP.3F/near/467577067) + +[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) +- "fix: get llvm type of global val" [rust#128820](https://github.com/rust-lang/rust/pull/128820) (last review activity: about 21 days ago) + - cc @**Nikita Popov** +- "Implement a lint for implicit autoref of raw pointer dereference - take 2" [rust#123239](https://github.com/rust-lang/rust/pull/123239) + - cc: @**León Orell Liehr (fmease)** +- "Apply `EarlyOtherwiseBranch` to scalar value" [rust#129047](https://github.com/rust-lang/rust/pull/129047) (last review activity: about 22 days ago) + - cc: @**cjgillot** + +## Next week's WG checkins + +None + +Next meetings' agenda draft: [hackmd link](https://hackmd.io/XV_FIeKwRx2TTtvsbVuTFA) diff --git a/content/minutes/triage-meeting/T-compiler Meeting Agenda 2024-09-12.md b/content/minutes/triage-meeting/T-compiler Meeting Agenda 2024-09-12.md new file mode 100644 index 00000000..c275373e --- /dev/null +++ b/content/minutes/triage-meeting/T-compiler Meeting Agenda 2024-09-12.md @@ -0,0 +1,240 @@ +--- +tags: weekly, rustc +type: docs +note_id: XV_FIeKwRx2TTtvsbVuTFA +--- + +# T-compiler Meeting Agenda 2024-09-12 + +## Announcements + +- Reminder: if you see a PR/issue that seems like there might be legal implications due to copyright/IP/etc, please let us know (or at least message @_**davidtwco** or @_**Wesley Wiser** so we can pass it along). + +### Other WG meetings +- Types Team: ITE (Impl Trait Everywhere) Triage +- wg-rust-analyzer steering meeting on Zulip (https://rust-lang.zulipchat.com/#narrow/stream/185405-t-compiler.2Fwg-rls-2.2E0/topic/Steering.20meeting) +- wg-macros triage meeting Zulip (https://rust-lang.zulipchat.com/#narrow/stream/410876-wg-macros.2Ftriage) + +## MCPs/FCPs + +- New MCPs (take a look, see if you like them!) + - "-Z default-visibility option" [compiler-team#782](https://github.com/rust-lang/compiler-team/issues/782) ([Zulip](https://rust-lang.zulipchat.com/#narrow/stream/233931-xxx/topic/-Z.20default-visibility.20option.20compiler-team.23782)) +- Old MCPs (stale MCP might be closed as per [MCP procedure](https://forge.rust-lang.org/compiler/mcp.html#when-should-major-change-proposals-be-closed)) + - None at this time +- Old MCPs (not seconded, take a look) + - "Target families for executable format" [compiler-team#716](https://github.com/rust-lang/compiler-team/issues/716) ([Zulip](https://rust-lang.zulipchat.com/#narrow/stream/233931-xxx/topic/Target.20families.20for.20executable.20format.20compiler-team.23716)) (last review activity: 7 months ago) + - "Add Hotpatch flag" [compiler-team#745](https://github.com/rust-lang/compiler-team/issues/745) ([Zulip](https://rust-lang.zulipchat.com/#narrow/stream/233931-xxx/topic/Add.20Hotpatch.20flag.20compiler-team.23745)) (last review activity: about 6 days ago) + - "Opt-in flag for absolute paths in diagnostics" [compiler-team#770](https://github.com/rust-lang/compiler-team/issues/770) ([Zulip](https://rust-lang.zulipchat.com/#narrow/stream/233931-xxx/topic/Opt-in.20flag.20for.20absolute.20paths.20in.20diagnos.E2.80.A6.20compiler-team.23770)) (last review activity: about 27 days ago) + - "Add `evex512` target feature for AVX10" [compiler-team#778](https://github.com/rust-lang/compiler-team/issues/778) ([Zulip](https://rust-lang.zulipchat.com/#narrow/stream/233931-xxx/topic/Add.20.60evex512.60.20target.20feature.20for.20AVX10.20compiler-team.23778)) (last review activity: about 6 days ago) + - "mark some target features as 'forbidden' so they cannot be (un)set with -Ctarget-feature" [compiler-team#780](https://github.com/rust-lang/compiler-team/issues/780) ([Zulip](https://rust-lang.zulipchat.com/#narrow/stream/233931-xxx/topic/mark.20some.20target.20features.20as.20.27forbidden.27.20.E2.80.A6.20compiler-team.23780)) (last review activity: about 6 days ago) +- Pending FCP requests (check your boxes!) + - "Add a new `--orchestrator-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)) + - Author updated proposal trying to address concerns (cc: @**Wesley Wiser** @**Vadim Petrochenkov** ) + - concern: [other-existing-options](https://github.com/rust-lang/compiler-team/issues/635#issuecomment-1779597156) + - concern: [option-name](https://github.com/rust-lang/compiler-team/issues/635#issuecomment-1785349936) + - "sanitizers: Stabilize AddressSanitizer and LeakSanitizer for the Tier 1 targets" [rust#123617](https://github.com/rust-lang/rust/pull/123617) + - "Add `--print host-triple` to print host target triple" [rust#125579](https://github.com/rust-lang/rust/pull/125579) + - "make unsupported_calling_conventions a hard error" [rust#129935](https://github.com/rust-lang/rust/pull/129935) +- Things in FCP (make sure you're good with it) + - "Don't track `--emit=` options as part of crate SVH" [compiler-team#769](https://github.com/rust-lang/compiler-team/issues/769) ([Zulip](https://rust-lang.zulipchat.com/#narrow/stream/233931-xxx/topic/Don.27t.20track.20.60--emit.3D.60.20options.20as.20part.20of.20.E2.80.A6.20compiler-team.23769)) + - "`--hint-msrv=version` option so the compiler can take MSRV into account when linting" [compiler-team#772](https://github.com/rust-lang/compiler-team/issues/772) ([Zulip](https://rust-lang.zulipchat.com/#narrow/stream/233931-xxx/topic/.60-C.20msrv.3Dversion.60.20option.20so.20the.20compiler.20.E2.80.A6.20compiler-team.23772)) + - "Deprecate `-Csoft-float`" [compiler-team#779](https://github.com/rust-lang/compiler-team/issues/779) ([Zulip](https://rust-lang.zulipchat.com/#narrow/stream/233931-xxx/topic/Deprecate.20.60-Csoft-float.60.20compiler-team.23779)) + - "Test rule annotations" [compiler-team#783](https://github.com/rust-lang/compiler-team/issues/783) ([Zulip](https://rust-lang.zulipchat.com/#narrow/stream/233931-xxx/topic/Test.20rule.20annotations.20compiler-team.23783)) + - "const-eval interning: accept interior mutable pointers in final value" [rust#128543](https://github.com/rust-lang/rust/pull/128543) +- Accepted MCPs + - No new accepted proposals this time. +- MCPs blocked on unresolved concerns + - "Add hygiene attributes to compile expanded source code" [compiler-team#692](https://github.com/rust-lang/compiler-team/issues/692) ([Zulip](https://rust-lang.zulipchat.com/#narrow/stream/233931-xxx/topic/Add.20option.20to.20compile.20expanded.20ASTs.20for.20h.E2.80.A6.20compiler-team.23692)) (last review activity: about 7 days ago) + - concern: [added-complexity-to-frontend](https://github.com/rust-lang/compiler-team/issues/692#issuecomment-1845169318) + - "Retire the mailing list and make all decisions on zulip" [compiler-team#649](https://github.com/rust-lang/compiler-team/issues/649) ([Zulip](https://rust-lang.zulipchat.com/#narrow/stream/233931-xxx/topic/Retire.20the.20mailing.20list.20and.20make.20all.20deci.E2.80.A6.20compiler-team.23649)) + - concern: [automatic-sync](https://github.com/rust-lang/compiler-team/issues/649#issuecomment-1618902660) +- Finalized FCPs (disposition merge) + - None +- Other teams finalized FCPs + - "Proposal: stabilize `const_refs_to_static`" [rust#128183](https://github.com/rust-lang/rust/issues/128183) + - "Check WF of source type's signature on fn pointer cast" [rust#129021](https://github.com/rust-lang/rust/pull/129021) + - "Make destructors on `extern "C"` frames to be executed" [rust#129582](https://github.com/rust-lang/rust/pull/129582) + +### WG checkins + +None + +## Backport nominations + +[T-compiler beta](https://github.com/rust-lang/rust/issues?q=is%3Aall+label%3Abeta-nominated+-label%3Abeta-accepted+label%3AT-compiler) / [T-compiler stable](https://github.com/rust-lang/rust/issues?q=is%3Aall+label%3Astable-nominated+-label%3Astable-accepted+label%3AT-compiler) +- :beta:"Don't warn empty branches unreachable for now" [rust#129103](https://github.com/rust-lang/rust/pull/129103) + - Authored by Nadrieril + - Disable some linting until the 2024 edition, or code's MSRV is ≥ 1.82 + - Closes #129031, changes RFC'd by T-lang ([comment](https://github.com/rust-lang/rust/pull/129103#issuecomment-2303043848)) + +- No stable nominations for `T-compiler` this time. + +[T-types stable](https://github.com/rust-lang/rust/issues?q=is%3Aall+label%3Abeta-nominated+-label%3Abeta-accepted+label%3AT-types) / [T-types beta](https://github.com/rust-lang/rust/issues?q=is%3Aall+label%3Astable-nominated+-label%3Astable-accepted+label%3AT-types) +- No beta nominations for `T-types` this time. +- No stable nominations for `T-types` this time. + +## PRs S-waiting-on-team + +[T-compiler](https://github.com/rust-lang/rust/pulls?q=is%3Aopen+label%3AS-waiting-on-team+label%3AT-compiler) +- [Issues in progress or waiting on other teams](https://hackmd.io/XYr1BrOWSiqCrl8RCWXRaQ) + +## Issues of Note + +### Short Summary + +- [1 T-compiler P-critical issues](https://github.com/rust-lang/rust/issues?q=is%3Aopen+label%3AT-compiler+label%3AP-critical) + - [0 of those are unassigned](https://github.com/rust-lang/rust/issues?q=is%3Aopen+label%3AT-compiler+label%3AP-critical+no%3Aassignee) +- [66 T-compiler P-high issues](https://github.com/rust-lang/rust/issues?q=is%3Aopen+label%3AT-compiler+label%3AP-high) + - [38 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) +- [1 P-critical, 0 P-high, 5 P-medium, 3 P-low regression-from-stable-to-nightly](https://github.com/rust-lang/rust/labels/regression-from-stable-to-nightly) +- [0 P-critical, 36 P-high, 100 P-medium, 17 P-low regression-from-stable-to-stable](https://github.com/rust-lang/rust/labels/regression-from-stable-to-stable) + +### P-critical + +[T-compiler](https://github.com/rust-lang/rust/issues?q=is%3Aopen+label%3AP-critical+label%3AT-compiler) +- "core::iter::repeat_n is unsound with Box" [rust#130141](https://github.com/rust-lang/rust/issues/130141) + - Should be closed by #130145 authored by @**fee1-dead**, PR being reviewed + +[T-types](https://github.com/rust-lang/rust/issues?q=is%3Aopen+label%3AP-critical+label%3AT-types) +- "Regression in nightly-2024-09-07: hang affecting `nalgebra`" [rust#130056](https://github.com/rust-lang/rust/issues/130056) + - Under @**lcnr** scrutiny ([comment](https://github.com/rust-lang/rust/issues/130056#issuecomment-2337705829)) (thanks!) + - Meanwhile @**Michael Goulet (compiler-errors)** suggests reverting the stabilization of `-Znext-solver=coherence` #130249 + +### 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: overflow evaluating the requirement" [rust#128887](https://github.com/rust-lang/rust/issues/128887) + - #129073 in final comment period ([comment](https://github.com/rust-lang/rust/pull/129073#issuecomment-2312112547)x) + +[Unassigned P-high nightly regressions](https://github.com/rust-lang/rust/issues?q=is%3Aopen+label%3Aregression-from-stable-to-nightly+label%3AP-high+no%3Aassignee+-label%3AT-infra+-label%3AT-libs+-label%3AT-libs-api+-label%3AT-release+-label%3AT-rustdoc+-label%3AT-core+) +- No unassigned `P-high` nightly regressions this time. + +## Performance logs + +> [triage logs for 2024-09-10](https://github.com/rust-lang/rustc-perf/blob/master/triage/2024-09-10.md) + +A relatively quiet week with a majority of regressions coming in rollups which makes investigation more difficult. Luckily the regressions are relatively small and overall the week was a slight improvement in compiler performance. + +Triage done by **@rylev**. +Revision range: [6199b69c..263a3aee](https://perf.rust-lang.org/?start=6199b69c53a8c275ca3cd59647ea0af5ca29aae2&end=263a3aeeb8f2d0e9cc85eee61774d1f5f23dc3f5&absolute=false&stat=instructions%3Au) + +**Summary**: + +| (instructions:u) | mean | range | count | +|:----------------------------------:|:-----:|:--------------:|:-----:| +| Regressions ❌
(primary) | 0.6% | [0.2%, 1.4%] | 57 | +| Regressions ❌
(secondary) | 0.7% | [0.2%, 1.5%] | 23 | +| Improvements ✅
(primary) | -2.2% | [-4.0%, -0.4%] | 23 | +| Improvements ✅
(secondary) | -0.3% | [-0.3%, -0.2%] | 10 | +| All ❌✅ (primary) | -0.2% | [-4.0%, 1.4%] | 80 | + + +3 Regressions, 1 Improvement, 2 Mixed; 3 of them in rollups +26 artifact comparisons made in total + +#### Regressions + +Rollup of 8 pull requests [#129922](https://github.com/rust-lang/rust/pull/129922) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=6199b69c53a8c275ca3cd59647ea0af5ca29aae2&end=d6c8169c186ab16a3404cd0d0866674018e8a19e&stat=instructions:u) + +| (instructions:u) | mean | range | count | +|:----------------------------------:|:----:|:------------:|:-----:| +| Regressions ❌
(primary) | - | - | 0 | +| Regressions ❌
(secondary) | 5.8% | [5.8%, 5.8%] | 1 | +| Improvements ✅
(primary) | - | - | 0 | +| Improvements ✅
(secondary) | - | - | 0 | +| All ❌✅ (primary) | - | - | 0 | +- Noise + + +Update x86_64-linux host compiler to LLVM 19 rc 3 [#129356](https://github.com/rust-lang/rust/pull/129356) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=d6c8169c186ab16a3404cd0d0866674018e8a19e&end=842d6fc32e3d0d26bb11fbe6a2f6ae2afccc06cb&stat=instructions:u) + +| (instructions:u) | mean | range | count | +|:----------------------------------:|:-----:|:--------------:|:-----:| +| Regressions ❌
(primary) | 0.5% | [0.2%, 0.8%] | 34 | +| Regressions ❌
(secondary) | 2.6% | [0.5%, 5.7%] | 6 | +| Improvements ✅
(primary) | -0.4% | [-0.4%, -0.4%] | 1 | +| Improvements ✅
(secondary) | - | - | 0 | +| All ❌✅ (primary) | 0.5% | [-0.4%, 0.8%] | 35 | +- "Looks like this update is a very mild regression, but not enough to look into it in more detail, or skip this version." + + +Rollup of 10 pull requests [#130091](https://github.com/rust-lang/rust/pull/130091) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=12b26c13fba25c9e1bc2fdf05f3c2dbb851c83de&end=878f49f5ff0dd88a85bcd5d99fc0d90e219c354c&stat=instructions:u) + +| (instructions:u) | mean | range | count | +|:----------------------------------:|:----:|:------------:|:-----:| +| Regressions ❌
(primary) | 0.9% | [0.3%, 1.7%] | 13 | +| Regressions ❌
(secondary) | 0.8% | [0.2%, 1.3%] | 14 | +| Improvements ✅
(primary) | - | - | 0 | +| Improvements ✅
(secondary) | - | - | 0 | +| All ❌✅ (primary) | 0.9% | [0.3%, 1.7%] | 13 | +- Regressions are happening in `expand_crate` so testing a change that touched `rustc_expand` + + +#### Improvements + +Use `DeepRejectCtxt` to quickly reject `ParamEnv` candidates [#128776](https://github.com/rust-lang/rust/pull/128776) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=17b322fa69eed7216dccc9f097eb68237cf62234&end=26b5599e4d6ed2b45152c60493c1788c0a27533d&stat=instructions:u) + +| (instructions:u) | mean | range | count | +|:----------------------------------:|:-----:|:--------------:|:-----:| +| Regressions ❌
(primary) | - | - | 0 | +| Regressions ❌
(secondary) | - | - | 0 | +| Improvements ✅
(primary) | -1.8% | [-4.7%, -0.3%] | 17 | +| Improvements ✅
(secondary) | - | - | 0 | +| All ❌✅ (primary) | -1.8% | [-4.7%, -0.3%] | 17 | + + +#### Mixed + +Rollup of 10 pull requests [#129978](https://github.com/rust-lang/rust/pull/129978) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=009e73825af0e59ad4fc603562e038b3dbd6593a&end=eb33b43bab08223fa6b46abacc1e95e859fe375d&stat=instructions:u) + +| (instructions:u) | mean | range | count | +|:----------------------------------:|:-----:|:--------------:|:-----:| +| Regressions ❌
(primary) | 0.4% | [0.3%, 0.5%] | 4 | +| Regressions ❌
(secondary) | 0.4% | [0.4%, 0.4%] | 1 | +| Improvements ✅
(primary) | - | - | 0 | +| Improvements ✅
(secondary) | -3.1% | [-3.1%, -3.1%] | 1 | +| All ❌✅ (primary) | 0.4% | [0.3%, 0.5%] | 4 | +- The regressions here are small enough that I don't think it's worth investigating further. + + +stabilize `-Znext-solver=coherence` [#121848](https://github.com/rust-lang/rust/pull/121848) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=59d4114b2d1aaac9a6dfe770997f2e79ccfd28ab&end=17b322fa69eed7216dccc9f097eb68237cf62234&stat=instructions:u) + +| (instructions:u) | mean | range | count | +|:----------------------------------:|:-----:|:--------------:|:-----:| +| Regressions ❌
(primary) | 0.4% | [0.2%, 0.6%] | 11 | +| Regressions ❌
(secondary) | 1.1% | [0.4%, 5.1%] | 8 | +| Improvements ✅
(primary) | -3.4% | [-4.2%, -2.8%] | 7 | +| Improvements ✅
(secondary) | -0.3% | [-0.3%, -0.2%] | 5 | +| All ❌✅ (primary) | -1.1% | [-4.2%, 0.6%] | 18 | +- Mainly noise + +## Nominated Issues + +[T-compiler](https://github.com/rust-lang/rust/issues?q=is%3Aopen+label%3AI-compiler-nominated) +- None + +[RFC](https://github.com/rust-lang/rfcs/issues?q=is%3Aopen+label%3AI-compiler-nominated) +- No I-compiler-nominated RFCs this time. + +### Oldest PRs waiting for review + +[T-compiler](https://github.com/rust-lang/rust/pulls?q=is%3Apr+is%3Aopen+sort%3Aupdated-asc+label%3AS-waiting-on-review+draft%3Afalse+label%3AT-compiler) +- "Consistently use the highest bit of vector masks when converting to i1 vectors" [rust#104693](https://github.com/rust-lang/rust/pull/104693) + - cc: @**Wesley Wiser** +- "add error message for c# style named arguments" [rust#118733](https://github.com/rust-lang/rust/pull/118733) + - cc: @**Esteban Küber** +- "Fix bug where `option_env!` would return `None` when env var is present but not valid Unicode" [rust#122670](https://github.com/rust-lang/rust/pull/122670) + - cc: @**lcnr** +- "More translatable diagnostics" [rust#123822](https://github.com/rust-lang/rust/pull/123822) (last review activity: 5 months ago) + - cc @**cjgillot** + +## Next week's WG checkins + +None + +Next meeting's agenda draft: [hackmd link](https://hackmd.io/XV_FIeKwRx2TTtvsbVuTFA) diff --git a/content/minutes/triage-meeting/T-compiler Meeting Agenda 2024-09-19.md b/content/minutes/triage-meeting/T-compiler Meeting Agenda 2024-09-19.md new file mode 100644 index 00000000..2ae7ae95 --- /dev/null +++ b/content/minutes/triage-meeting/T-compiler Meeting Agenda 2024-09-19.md @@ -0,0 +1,310 @@ +--- +tags: weekly, rustc +type: docs +note_id: eoSa0ZoUTUyaLx6IFPIefg +--- + +# T-compiler Meeting Agenda 2024-09-19 + +## Announcements + +- Reminder: if you see a PR/issue that seems like there might be legal implications due to copyright/IP/etc, please let us know (or at least message @_**davidtwco** or @_**Wesley Wiser** so we can pass it along). + +### Other WG meetings +- Types Team: ITE (Impl Trait Everywhere) Triage +- wg-rust-analyzer steering meeting on Zulip (https://rust-lang.zulipchat.com/#narrow/stream/185405-t-compiler.2Fwg-rls-2.2E0/topic/Steering.20meeting) +- wg-macros triage meeting Zulip (https://rust-lang.zulipchat.com/#narrow/stream/410876-wg-macros.2Ftriage) + +## MCPs/FCPs + +- New MCPs (take a look, see if you like them!) + - "Make the test cfg a userspace check-cfg" [compiler-team#785](https://github.com/rust-lang/compiler-team/issues/785) ([Zulip](https://rust-lang.zulipchat.com/#narrow/stream/233931-xxx/topic/Make.20the.20test.20cfg.20a.20userspace.20check-cfg.20compiler-team.23785)) +- Old MCPs (not seconded, take a look) + - "Add hygiene attributes to compile expanded source code" [compiler-team#692](https://github.com/rust-lang/compiler-team/issues/692) ([Zulip](https://rust-lang.zulipchat.com/#narrow/stream/233931-xxx/topic/Add.20option.20to.20compile.20expanded.20ASTs.20for.20h.E2.80.A6.20compiler-team.23692)) (last review activity: about 13 days ago) + - "Target families for executable format" [compiler-team#716](https://github.com/rust-lang/compiler-team/issues/716) ([Zulip](https://rust-lang.zulipchat.com/#narrow/stream/233931-xxx/topic/Target.20families.20for.20executable.20format.20compiler-team.23716)) (last review activity: 7 months ago) + - "Add Hotpatch flag" [compiler-team#745](https://github.com/rust-lang/compiler-team/issues/745) ([Zulip](https://rust-lang.zulipchat.com/#narrow/stream/233931-xxx/topic/Add.20Hotpatch.20flag.20compiler-team.23745)) (last review activity: about 13 days ago) + - "Opt-in flag for absolute paths in diagnostics" [compiler-team#770](https://github.com/rust-lang/compiler-team/issues/770) ([Zulip](https://rust-lang.zulipchat.com/#narrow/stream/233931-xxx/topic/Opt-in.20flag.20for.20absolute.20paths.20in.20diagnos.E2.80.A6.20compiler-team.23770)) (last review activity: about 34 days ago) + - "Add `evex512` target feature for AVX10" [compiler-team#778](https://github.com/rust-lang/compiler-team/issues/778) ([Zulip](https://rust-lang.zulipchat.com/#narrow/stream/233931-xxx/topic/Add.20.60evex512.60.20target.20feature.20for.20AVX10.20compiler-team.23778)) (last review activity: about 13 days ago) +- Pending FCP requests (check your boxes!) + - "Add a new `--orchestrator-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)) + - "sanitizers: Stabilize AddressSanitizer and LeakSanitizer for the Tier 1 targets" [rust#123617](https://github.com/rust-lang/rust/pull/123617) + - "Add `--print host-triple` to print host target triple" [rust#125579](https://github.com/rust-lang/rust/pull/125579) + - "make unsupported_calling_conventions a hard error" [rust#129935](https://github.com/rust-lang/rust/pull/129935) +- Things in FCP (make sure you're good with it) + - "-Z default-visibility option" [compiler-team#782](https://github.com/rust-lang/compiler-team/issues/782) ([Zulip](https://rust-lang.zulipchat.com/#narrow/stream/233931-xxx/topic/-Z.20default-visibility.20option.20compiler-team.23782)) + - "mark some target features as 'forbidden' so they cannot be (un)set with -Ctarget-feature" [compiler-team#780](https://github.com/rust-lang/compiler-team/issues/780) ([Zulip](https://rust-lang.zulipchat.com/#narrow/stream/233931-xxx/topic/mark.20some.20target.20features.20as.20.27forbidden.27.20.E2.80.A6.20compiler-team.23780)) + - "Test rule annotations" [compiler-team#783](https://github.com/rust-lang/compiler-team/issues/783) ([Zulip](https://rust-lang.zulipchat.com/#narrow/stream/233931-xxx/topic/Test.20rule.20annotations.20compiler-team.23783)) + - "New Tier-3 target for OpenHarmony on LoongArch64" [compiler-team#784](https://github.com/rust-lang/compiler-team/issues/784) ([Zulip](https://rust-lang.zulipchat.com/#narrow/stream/233931-xxx/topic/New.20Tier-3.20target.20for.20OpenHarmony.20on.20Loon.E2.80.A6.20compiler-team.23784)) +- Accepted MCPs + - "Don't track `--emit=` options as part of crate SVH" [compiler-team#769](https://github.com/rust-lang/compiler-team/issues/769) ([Zulip](https://rust-lang.zulipchat.com/#narrow/stream/233931-xxx/topic/Don.27t.20track.20.60--emit.3D.60.20options.20as.20part.20of.20.E2.80.A6.20compiler-team.23769)) + - "`--hint-msrv=version` option so the compiler can take MSRV into account when linting" [compiler-team#772](https://github.com/rust-lang/compiler-team/issues/772) ([Zulip](https://rust-lang.zulipchat.com/#narrow/stream/233931-xxx/topic/.60-C.20msrv.3Dversion.60.20option.20so.20the.20compiler.20.E2.80.A6.20compiler-team.23772)) +- MCPs blocked on unresolved concerns + - "Retire the mailing list and make all decisions on zulip" [compiler-team#649](https://github.com/rust-lang/compiler-team/issues/649) ([Zulip](https://rust-lang.zulipchat.com/#narrow/stream/233931-xxx/topic/Retire.20the.20mailing.20list.20and.20make.20all.20deci.E2.80.A6.20compiler-team.23649)) + - concern: [automatic-sync](https://github.com/rust-lang/compiler-team/issues/649#issuecomment-1618902660) +- Finalized FCPs (disposition merge) + - "Check WF of source type's signature on fn pointer cast" [rust#129021](https://github.com/rust-lang/rust/pull/129021) + - "Relate receiver invariantly in method probe for `Mode::Path`" [rust#129073](https://github.com/rust-lang/rust/pull/129073) + - "(Anti-)regression between Rust 1.78.0 and Rust 1.79.0 with struct containing `Cow<[Self]>`" [rust#129541](https://github.com/rust-lang/rust/issues/129541) +- Other teams finalized FCPs + - "Proposal: stabilize `const_refs_to_static`" [rust#128183](https://github.com/rust-lang/rust/issues/128183) + - "Check WF of source type's signature on fn pointer cast" [rust#129021](https://github.com/rust-lang/rust/pull/129021) + - "Relate receiver invariantly in method probe for `Mode::Path`" [rust#129073](https://github.com/rust-lang/rust/pull/129073) + - "Stabilize `&mut` (and `*mut`) as well as `&Cell` (and `*const Cell`) in const" [rust#129195](https://github.com/rust-lang/rust/pull/129195) + - "(Anti-)regression between Rust 1.78.0 and Rust 1.79.0 with struct containing `Cow<[Self]>`" [rust#129541](https://github.com/rust-lang/rust/issues/129541) + - "Make destructors on `extern "C"` frames to be executed" [rust#129582](https://github.com/rust-lang/rust/pull/129582) + - "stabilize `const_extern_fn`" [rust#129753](https://github.com/rust-lang/rust/pull/129753) + +### WG checkins + +None + +## Backport nominations + +[T-compiler beta](https://github.com/rust-lang/rust/issues?q=is%3Aall+label%3Abeta-nominated+-label%3Abeta-accepted+label%3AT-compiler) / [T-compiler stable](https://github.com/rust-lang/rust/issues?q=is%3Aall+label%3Astable-nominated+-label%3Astable-accepted+label%3AT-compiler) +- :beta: "Update LLVM to 19 327ca6c" [rust#130212](https://github.com/rust-lang/rust/pull/130212) + - Authored by DianQK + - will fix #129887, a P-high crash on compiling on aarch64 + +- :beta: "Revert #129749 to fix segfault in LLVM" [rust#130477](https://github.com/rust-lang/rust/pull/130477) + - Authored by tmandry + - reverts some LLVM breaking changes (see [comment](https://github.com/rust-lang/rust/pull/129749#issuecomment-2354417960)). Also fixes #130333 + +- :beta: "Check params for unsafety in THIR" [rust#130531](https://github.com/rust-lang/rust/pull/130531) + - Authored by compiler-errors + - Fixes p-critical unsoundness #130528 + +- No stable nominations for `T-compiler` this time. + +[T-types stable](https://github.com/rust-lang/rust/issues?q=is%3Aall+label%3Abeta-nominated+-label%3Abeta-accepted+label%3AT-types) / [T-types beta](https://github.com/rust-lang/rust/issues?q=is%3Aall+label%3Astable-nominated+-label%3Astable-accepted+label%3AT-types) +- No beta nominations for `T-types` this time. +- No stable nominations for `T-types` this time. + +## PRs S-waiting-on-team + +[T-compiler](https://github.com/rust-lang/rust/pulls?q=is%3Aopen+label%3AS-waiting-on-team+label%3AT-compiler) +- [Issues in progress or waiting on other teams](https://hackmd.io/XYr1BrOWSiqCrl8RCWXRaQ) + +## Issues of Note + +### Short Summary + +- [1 T-compiler P-critical issues](https://github.com/rust-lang/rust/issues?q=is%3Aopen+label%3AT-compiler+label%3AP-critical) + - [0 of those are unassigned](https://github.com/rust-lang/rust/issues?q=is%3Aopen+label%3AT-compiler+label%3AP-critical+no%3Aassignee) +- [67 T-compiler P-high issues](https://github.com/rust-lang/rust/issues?q=is%3Aopen+label%3AT-compiler+label%3AP-high) + - [39 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, 0 P-high, 6 P-medium, 3 P-low regression-from-stable-to-nightly](https://github.com/rust-lang/rust/labels/regression-from-stable-to-nightly) +- [1 P-critical, 36 P-high, 100 P-medium, 17 P-low regression-from-stable-to-stable](https://github.com/rust-lang/rust/labels/regression-from-stable-to-stable) + +### P-critical + +[T-compiler](https://github.com/rust-lang/rust/issues?q=is%3Aopen+label%3AP-critical+label%3AT-compiler) +- "Unsoundness: Patterns in function parameters are not checked for union access" [rust#130528](https://github.com/rust-lang/rust/issues/130528) + - fixed by #130531 + +[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: overflow evaluating the requirement" [rust#128887](https://github.com/rust-lang/rust/issues/128887) + - likely fixed by #129073. In any case on the radar of @_*lcnr* + +[Unassigned P-high nightly regressions](https://github.com/rust-lang/rust/issues?q=is%3Aopen+label%3Aregression-from-stable-to-nightly+label%3AP-high+no%3Aassignee+-label%3AT-infra+-label%3AT-libs+-label%3AT-libs-api+-label%3AT-release+-label%3AT-rustdoc+-label%3AT-core+) +- No unassigned `P-high` nightly regressions this time. + +## Performance logs + +> [triage logs for 2024-09-16](https://github.com/rust-lang/rustc-perf/blob/master/triage/2024-09-16.md) + +A relatively quiet week, with overall neutral performance across our set of key +metrics (instructions, cycles, memory). + +Triage done by **@simulacrum**. +Revision range: [263a3aee..170d6cb8](https://perf.rust-lang.org/?start=263a3aeeb8f2d0e9cc85eee61774d1f5f23dc3f5&end=170d6cb845c8c3f0dcec5cdd4210df9ecf990244&absolute=false&stat=instructions%3Au) + +**Summary**: + +| (instructions:u) | mean | range | count | +|:----------------------------------:|:-----:|:--------------:|:-----:| +| Regressions ❌
(primary) | 0.7% | [0.2%, 4.0%] | 52 | +| Regressions ❌
(secondary) | 0.7% | [0.2%, 1.4%] | 48 | +| Improvements ✅
(primary) | -0.8% | [-2.6%, -0.2%] | 46 | +| Improvements ✅
(secondary) | -0.5% | [-1.1%, -0.1%] | 25 | +| All ❌✅ (primary) | 0.0% | [-2.6%, 4.0%] | 98 | + + +2 Regressions, 3 Improvements, 4 Mixed; 2 of them in rollups +54 artifact comparisons made in total + +#### Regressions + +interpret: make typed copies lossy wrt provenance and padding [#129778](https://github.com/rust-lang/rust/pull/129778) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=712463de61c65033a6f333f0a14fbb65e34efc50&end=304b7f801bab31233680879ca4fb6eb294706a59&stat=instructions:u) + +| (instructions:u) | mean | range | count | +|:----------------------------------:|:----:|:------------:|:-----:| +| Regressions ❌
(primary) | - | - | 0 | +| Regressions ❌
(secondary) | 2.1% | [0.2%, 4.7%] | 13 | +| Improvements ✅
(primary) | - | - | 0 | +| Improvements ✅
(secondary) | - | - | 0 | +| All ❌✅ (primary) | - | - | 0 | + +Most of the performance is recovered in https://github.com/rust-lang/rust/pull/130197. + +generalize: track relevant info in cache key [#130194](https://github.com/rust-lang/rust/pull/130194) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=4c5fc2c334f1cc305eea79ed0b8fdb276342d101&end=5a2dd7d4f3210629e65879aeecbe643ba3b86bb4&stat=instructions:u) + +| (instructions:u) | mean | range | count | +|:----------------------------------:|:-----:|:--------------:|:-----:| +| Regressions ❌
(primary) | - | - | 0 | +| Regressions ❌
(secondary) | 1.0% | [0.4%, 1.3%] | 16 | +| Improvements ✅
(primary) | - | - | 0 | +| Improvements ✅
(secondary) | -0.2% | [-0.2%, -0.2%] | 1 | +| All ❌✅ (primary) | - | - | 0 | + +Soundness fix and regressions only in secondary benchmarks. + +#### Improvements + +rustdoc: use strategic boxing to shrink `clean::Item` [#129789](https://github.com/rust-lang/rust/pull/129789) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=c2f74c3f928aeb503f15b4e9ef5778e77f3058b8&end=712463de61c65033a6f333f0a14fbb65e34efc50&stat=instructions:u) + +| (instructions:u) | mean | range | count | +|:----------------------------------:|:-----:|:--------------:|:-----:| +| Regressions ❌
(primary) | - | - | 0 | +| Regressions ❌
(secondary) | - | - | 0 | +| Improvements ✅
(primary) | -0.5% | [-1.0%, -0.2%] | 15 | +| Improvements ✅
(secondary) | -0.5% | [-0.6%, -0.3%] | 19 | +| All ❌✅ (primary) | -0.5% | [-1.0%, -0.2%] | 15 | + + +rustdoc: unify the short-circuit on all lints [#129975](https://github.com/rust-lang/rust/pull/129975) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=6f7229c4da0471f1470bb1f86071848cba3a23d9&end=a9fb00bfa4b3038c855b2097b54e05e8c198c183&stat=instructions:u) + +| (instructions:u) | mean | range | count | +|:----------------------------------:|:-----:|:--------------:|:-----:| +| Regressions ❌
(primary) | - | - | 0 | +| Regressions ❌
(secondary) | - | - | 0 | +| Improvements ✅
(primary) | -0.7% | [-2.0%, -0.2%] | 10 | +| Improvements ✅
(secondary) | -0.4% | [-0.4%, -0.4%] | 1 | +| All ❌✅ (primary) | -0.7% | [-2.0%, -0.2%] | 10 | + + +Rollup of 10 pull requests [#130253](https://github.com/rust-lang/rust/pull/130253) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=8d6b88b168e45ee1624699c19443c49665322a91&end=3afb2bb76ce56e860e45d8858ef5b5f00059e1b1&stat=instructions:u) + +| (instructions:u) | mean | range | count | +|:----------------------------------:|:-----:|:--------------:|:-----:| +| Regressions ❌
(primary) | 0.2% | [0.2%, 0.2%] | 1 | +| Regressions ❌
(secondary) | - | - | 0 | +| Improvements ✅
(primary) | -0.8% | [-1.5%, -0.2%] | 13 | +| Improvements ✅
(secondary) | - | - | 0 | +| All ❌✅ (primary) | -0.7% | [-1.5%, 0.2%] | 14 | + + +#### Mixed + +Revert "Stabilize `-Znext-solver=coherence`" [#130249](https://github.com/rust-lang/rust/pull/130249) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=7c7372b6a1b9a8d6b787a3e5a10e4f8325b1fdfc&end=f753bc769b16ca9673f11a4cc06e5cc681efd84e&stat=instructions:u) + +| (instructions:u) | mean | range | count | +|:----------------------------------:|:-----:|:--------------:|:-----:| +| Regressions ❌
(primary) | 3.7% | [2.9%, 4.5%] | 7 | +| Regressions ❌
(secondary) | - | - | 0 | +| Improvements ✅
(primary) | -0.5% | [-0.9%, -0.2%] | 13 | +| Improvements ✅
(secondary) | -0.5% | [-0.7%, -0.1%] | 9 | +| All ❌✅ (primary) | 1.0% | [-0.9%, 4.5%] | 20 | + +Largely resets to the previous state on a couple benchmarks. Expected given the revert. + +Rollup of 5 pull requests [#130281](https://github.com/rust-lang/rust/pull/130281) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=8c0ec05f7dc9ef185eea9f36c5638e74e43935bf&end=2e8db5e9e39c2bf7729113b3041ef4011d90ac5a&stat=instructions:u) + +| (instructions:u) | mean | range | count | +|:----------------------------------:|:-----:|:--------------:|:-----:| +| Regressions ❌
(primary) | 0.6% | [0.6%, 0.6%] | 1 | +| Regressions ❌
(secondary) | 0.2% | [0.2%, 0.2%] | 1 | +| Improvements ✅
(primary) | -0.2% | [-0.2%, -0.2%] | 1 | +| Improvements ✅
(secondary) | -1.8% | [-2.0%, -1.6%] | 6 | +| All ❌✅ (primary) | 0.2% | [-0.2%, 0.6%] | 2 | + +Regressions are minor enough that given the rollup and lack of obviously +relevant PRs I'm just marking as triaged. The primary regressed benchmark is +webrender and only in full LLVM builds which doesn't seem like it maps well +onto the contained PRs. + +Rescope temp lifetime in if-let into IfElse with migration lint [#107251](https://github.com/rust-lang/rust/pull/107251) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=d3a8524e80244d66968ab4522d31145ccba610f4&end=a5efa01895e82fa705146507d15311b29c715450&stat=instructions:u) + +| (instructions:u) | mean | range | count | +|:----------------------------------:|:-----:|:--------------:|:-----:| +| Regressions ❌
(primary) | - | - | 0 | +| Regressions ❌
(secondary) | 0.6% | [0.2%, 1.3%] | 19 | +| Improvements ✅
(primary) | -0.2% | [-0.2%, -0.2%] | 1 | +| Improvements ✅
(secondary) | - | - | 0 | +| All ❌✅ (primary) | -0.2% | [-0.2%, -0.2%] | 1 | + +Seems like the regression is primarily looking like a revert of #127313... +@cjgillot do you have thoughts on what the delta here might be? I don't see a +very obvious cause here. Regressions are minor enough that I'm not worried, but +just checking if there's an easy explanation. + +Simplify the canonical clone method and the copy-like forms to copy [#128299](https://github.com/rust-lang/rust/pull/128299) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=02b1be16c65e5716ade771afde7116ebdfbf9b4a&end=e7386b361dda8c2222bee7a1ae79faba7e9a0351&stat=instructions:u) + +| (instructions:u) | mean | range | count | +|:----------------------------------:|:-----:|:--------------:|:-----:| +| Regressions ❌
(primary) | 0.4% | [0.2%, 0.8%] | 6 | +| Regressions ❌
(secondary) | 0.4% | [0.2%, 2.1%] | 16 | +| Improvements ✅
(primary) | -0.8% | [-1.7%, -0.3%] | 12 | +| Improvements ✅
(secondary) | - | - | 0 | +| All ❌✅ (primary) | -0.4% | [-1.7%, 0.8%] | 18 | + +Likely expected regressions from direct changes to codegen, possibly giving +LLVM more freedom to optimize: + +> This pass improves performance by reducing the amount of MIR. The generated +> copies will get merged/expanded/whatever by LLVM, with a completely different +> heuristic. + +(https://github.com/rust-lang/rust/pull/128299#pullrequestreview-2217057820) + +## Nominated Issues + +[T-compiler](https://github.com/rust-lang/rust/issues?q=is%3Aopen+label%3AI-compiler-nominated) +- "Linking error with aws_lc_rs" [rustc_codegen_cranelift#1520](https://github.com/rust-lang/rustc_codegen_cranelift/issues/1520) + - An AWS cryptographic crate fails linking using cranelift, relevant code snippet from the crate ([link](https://github.com/aws/aws-lc-rs/blob/5799bee7d145181276d9db805da019dabbccbf2c/aws-lc-sys/src/x86_64_unknown_linux_gnu_crypto.rs#L4350)): + ``` rust + pub type AES_KEY = aes_key_st; + extern "C" { + #[link_name = "\u{1}aws_lc_0_20_0_AES_set_encrypt_key"] + pub fn AES_set_encrypt_key( + key: *const u8, + bits: ::std::os::raw::c_uint, + aeskey: *mut AES_KEY, + ) -> ::std::os::raw::c_int; + } + ``` + - From the [Zulip thread](https://rust-lang.zulipchat.com/#narrow/stream/131828-t-compiler/topic/.5Cx01.20in.20symbol.20names/near/454506090): + > C compilers are expected to mangle symbol names on several platforms. For example for Mach-O exported functions are expected to start with an _, while on Windows a suffix like @4 may get added in some cases. To disable this mangling LLVM supports prefixing the symbol name with \x01. No other backend implements this right now afaik. As it turns out rust-bindgen started unconditionally using this 7 years ago. + - @**bjorn3** asks: do we want to guarantee that it will remain working and implement it in all existing codegen backends, or is this considered something that shouldn't be used on stable code at all and should rust-bindgen stop using it when not strictly necessary, like is the case most of the time? + - This is where bindgen does this ([link](https://github.com/rust-lang/rust-bindgen/blob/f518815cc14a7f8c292964bb37179a1070d7e18a/bindgen/codegen/helpers.rs#L71)) + +[RFC](https://github.com/rust-lang/rfcs/issues?q=is%3Aopen+label%3AI-compiler-nominated) +- No I-compiler-nominated RFCs this time. + +### Oldest PRs waiting for review + +[T-compiler](https://github.com/rust-lang/rust/pulls?q=is%3Apr+is%3Aopen+sort%3Aupdated-asc+label%3AS-waiting-on-review+draft%3Afalse+label%3AT-compiler) +- TODO + +## Next week's WG checkins + +None + +Next meetings' agenda draft: [hackmd link](https://hackmd.io/obtoz1e-RaeOnDoycHTgEQ) diff --git a/content/minutes/triage-meeting/T-compiler Meeting Agenda 2024-09-26.md b/content/minutes/triage-meeting/T-compiler Meeting Agenda 2024-09-26.md new file mode 100644 index 00000000..3d7a620d --- /dev/null +++ b/content/minutes/triage-meeting/T-compiler Meeting Agenda 2024-09-26.md @@ -0,0 +1,349 @@ +--- +tags: weekly, rustc +type: docs +note_id: obtoz1e-RaeOnDoycHTgEQ +--- + +# T-compiler Meeting Agenda 2024-09-26 + +## Announcements + +- Reminder: if you see a PR/issue that seems like there might be legal implications due to copyright/IP/etc, please let us know (or at least message @_**davidtwco** or @_**Wesley Wiser** so we can pass it along). + +### Other WG meetings +- Types Team: ITE (Impl Trait Everywhere) Triage +- wg-rust-analyzer steering meeting on Zulip (https://rust-lang.zulipchat.com/#narrow/stream/185405-t-compiler.2Fwg-rls-2.2E0/topic/Steering.20meeting) +- wg-macros triage meeting Zulip (https://rust-lang.zulipchat.com/#narrow/stream/410876-wg-macros.2Ftriage) + +## MCPs/FCPs + +- New MCPs (take a look, see if you like them!) + - "Make the test cfg a userspace check-cfg" [compiler-team#785](https://github.com/rust-lang/compiler-team/issues/785) ([Zulip](https://rust-lang.zulipchat.com/#narrow/stream/233931-xxx/topic/Make.20the.20test.20cfg.20a.20userspace.20check-cfg.20compiler-team.23785)) +- Old MCPs (not seconded, take a look) + - "Add hygiene attributes to compile expanded source code" [compiler-team#692](https://github.com/rust-lang/compiler-team/issues/692) ([Zulip](https://rust-lang.zulipchat.com/#narrow/stream/233931-xxx/topic/Add.20option.20to.20compile.20expanded.20ASTs.20for.20h.E2.80.A6.20compiler-team.23692)) (last review activity: about 7 days ago) + - "Target families for executable format" [compiler-team#716](https://github.com/rust-lang/compiler-team/issues/716) ([Zulip](https://rust-lang.zulipchat.com/#narrow/stream/233931-xxx/topic/Target.20families.20for.20executable.20format.20compiler-team.23716)) (last review activity: 7 months ago) + - "Add Hotpatch flag" [compiler-team#745](https://github.com/rust-lang/compiler-team/issues/745) ([Zulip](https://rust-lang.zulipchat.com/#narrow/stream/233931-xxx/topic/Add.20Hotpatch.20flag.20compiler-team.23745)) (last review activity: about 20 days ago) + - "Opt-in flag for absolute paths in diagnostics" [compiler-team#770](https://github.com/rust-lang/compiler-team/issues/770) ([Zulip](https://rust-lang.zulipchat.com/#narrow/stream/233931-xxx/topic/Opt-in.20flag.20for.20absolute.20paths.20in.20diagnos.E2.80.A6.20compiler-team.23770)) (last review activity: about 41 days ago) + - "Add `evex512` target feature for AVX10" [compiler-team#778](https://github.com/rust-lang/compiler-team/issues/778) ([Zulip](https://rust-lang.zulipchat.com/#narrow/stream/233931-xxx/topic/Add.20.60evex512.60.20target.20feature.20for.20AVX10.20compiler-team.23778)) (last review activity: about 20 days ago) +- Pending FCP requests (check your boxes!) + - "Add a new `--orchestrator-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)) + - "sanitizers: Stabilize AddressSanitizer and LeakSanitizer for the Tier 1 targets" [rust#123617](https://github.com/rust-lang/rust/pull/123617) + - "Add `--print host-triple` to print host target triple" [rust#125579](https://github.com/rust-lang/rust/pull/125579) + - "Check ABI target compatibility for function pointers" [rust#128784](https://github.com/rust-lang/rust/pull/128784) + - "make unsupported_calling_conventions a hard error" [rust#129935](https://github.com/rust-lang/rust/pull/129935) +- Things in FCP (make sure you're good with it) + - "-Z default-visibility option" [compiler-team#782](https://github.com/rust-lang/compiler-team/issues/782) ([Zulip](https://rust-lang.zulipchat.com/#narrow/stream/233931-xxx/topic/-Z.20default-visibility.20option.20compiler-team.23782)) + - "Support tests to use `minicore` std/core prelude stubs" [compiler-team#786](https://github.com/rust-lang/compiler-team/issues/786) ([Zulip](https://rust-lang.zulipchat.com/#narrow/stream/233931-xxx/topic/Support.20tests.20to.20use.20.60minicore.60.20std.2Fcore.20.E2.80.A6.20compiler-team.23786)) +- Accepted MCPs + - "Test rule annotations" [compiler-team#783](https://github.com/rust-lang/compiler-team/issues/783) ([Zulip](https://rust-lang.zulipchat.com/#narrow/stream/233931-xxx/topic/Test.20rule.20annotations.20compiler-team.23783)) + - "Don't track `--emit=` options as part of crate SVH" [compiler-team#769](https://github.com/rust-lang/compiler-team/issues/769) ([Zulip](https://rust-lang.zulipchat.com/#narrow/stream/233931-xxx/topic/Don.27t.20track.20.60--emit.3D.60.20options.20as.20part.20of.20.E2.80.A6.20compiler-team.23769)) + - "`--hint-msrv=version` option so the compiler can take MSRV into account when linting" [compiler-team#772](https://github.com/rust-lang/compiler-team/issues/772) ([Zulip](https://rust-lang.zulipchat.com/#narrow/stream/233931-xxx/topic/.60-C.20msrv.3Dversion.60.20option.20so.20the.20compiler.20.E2.80.A6.20compiler-team.23772)) + - "mark some target features as 'forbidden' so they cannot be (un)set with -Ctarget-feature" [compiler-team#780](https://github.com/rust-lang/compiler-team/issues/780) ([Zulip](https://rust-lang.zulipchat.com/#narrow/stream/233931-xxx/topic/mark.20some.20target.20features.20as.20.27forbidden.27.20.E2.80.A6.20compiler-team.23780)) + - "New Tier-3 target for OpenHarmony on LoongArch64" [compiler-team#784](https://github.com/rust-lang/compiler-team/issues/784) ([Zulip](https://rust-lang.zulipchat.com/#narrow/stream/233931-xxx/topic/New.20Tier-3.20target.20for.20OpenHarmony.20on.20Loon.E2.80.A6.20compiler-team.23784)) +- MCPs blocked on unresolved concerns + - "Retire the mailing list and make all decisions on zulip" [compiler-team#649](https://github.com/rust-lang/compiler-team/issues/649) ([Zulip](https://rust-lang.zulipchat.com/#narrow/stream/233931-xxx/topic/Retire.20the.20mailing.20list.20and.20make.20all.20deci.E2.80.A6.20compiler-team.23649)) + - concern: [automatic-sync](https://github.com/rust-lang/compiler-team/issues/649#issuecomment-1618902660) +- Finalized FCPs (disposition merge) + - None +- Other teams finalized FCPs + - "Check WF of source type's signature on fn pointer cast" [rust#129021](https://github.com/rust-lang/rust/pull/129021) + - "Relate receiver invariantly in method probe for `Mode::Path`" [rust#129073](https://github.com/rust-lang/rust/pull/129073) + - "Stabilize `&mut` (and `*mut`) as well as `&Cell` (and `*const Cell`) in const" [rust#129195](https://github.com/rust-lang/rust/pull/129195) + - "Make destructors on `extern "C"` frames to be executed" [rust#129582](https://github.com/rust-lang/rust/pull/129582) + - "stabilize `const_extern_fn`" [rust#129753](https://github.com/rust-lang/rust/pull/129753) + +### WG checkins + +None + +## Backport nominations + +[T-compiler beta](https://github.com/rust-lang/rust/issues?q=is%3Aall+label%3Abeta-nominated+-label%3Abeta-accepted+label%3AT-compiler) / [T-compiler stable](https://github.com/rust-lang/rust/issues?q=is%3Aall+label%3Astable-nominated+-label%3Astable-accepted+label%3AT-compiler) +- :beta:"Use equality when relating formal and expected type in arg checking" [rust#129317](https://github.com/rust-lang/rust/pull/129317) + - Authored by compiler-errors + - Fixes #129286 a P-medium regression on nightly (regressed in #129059) + +- :beta:"Don't call `extern_crate` when local crate name is the same as a dependency and we have a trait error" [rust#130275](https://github.com/rust-lang/rust/pull/130275) + - Authored by compiler-errors + - Fixes P-high (more likely P-critical) beta regression #130573 and #130272 and #129184 (all leading to the same root cause) + +- No stable nominations for `T-compiler` this time. + +[T-types stable](https://github.com/rust-lang/rust/issues?q=is%3Aall+label%3Abeta-nominated+-label%3Abeta-accepted+label%3AT-types) / [T-types beta](https://github.com/rust-lang/rust/issues?q=is%3Aall+label%3Astable-nominated+-label%3Astable-accepted+label%3AT-types) +- No beta nominations for `T-types` this time. +- No stable nominations for `T-types` this time. + +## PRs S-waiting-on-team + +[T-compiler](https://github.com/rust-lang/rust/pulls?q=is%3Aopen+label%3AS-waiting-on-team+label%3AT-compiler) +- [Issues in progress or waiting on other teams](https://hackmd.io/XYr1BrOWSiqCrl8RCWXRaQ) + +## Issues of Note + +### Short Summary + +- [2 T-compiler P-critical issues](https://github.com/rust-lang/rust/issues?q=is%3Aopen+label%3AT-compiler+label%3AP-critical) + - [1 of those are unassigned](https://github.com/rust-lang/rust/issues?q=is%3Aopen+label%3AT-compiler+label%3AP-critical+no%3Aassignee) +- [68 T-compiler P-high issues](https://github.com/rust-lang/rust/issues?q=is%3Aopen+label%3AT-compiler+label%3AP-high) + - [40 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, 3 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) +- [1 P-critical, 0 P-high, 6 P-medium, 3 P-low regression-from-stable-to-nightly](https://github.com/rust-lang/rust/labels/regression-from-stable-to-nightly) +- [1 P-critical, 36 P-high, 100 P-medium, 17 P-low regression-from-stable-to-stable](https://github.com/rust-lang/rust/labels/regression-from-stable-to-stable) + +### P-critical + +[T-compiler](https://github.com/rust-lang/rust/issues?q=is%3Aopen+label%3AP-critical+label%3AT-compiler) +- "Unsoundness: Patterns in function parameters are not checked for union access" [rust#130528](https://github.com/rust-lang/rust/issues/130528) + - Fixed by @**Michael Goulet (compiler-errors)** in #130531 (beta accepted last week, open just to track the backport) +- "Panic while compiling http-body v0.4.6 with rustc 1.83.0-nightly (7042c269c 2024-09-23)" [rust#130769](https://github.com/rust-lang/rust/issues/130769) + - regressed on recent nightly and already fixed by @_**Quentin Dian (dianqk)** in #130786 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: overflow evaluating the requirement" [rust#128887](https://github.com/rust-lang/rust/issues/128887) + - Already fixed in #129073, just needs a regression test +- "regression: ICE is not supported for this key" [rust#130573](https://github.com/rust-lang/rust/issues/130573) + - Solved by #130275, beta-nominated + +[Unassigned P-high nightly regressions](https://github.com/rust-lang/rust/issues?q=is%3Aopen+label%3Aregression-from-stable-to-nightly+label%3AP-high+no%3Aassignee+-label%3AT-infra+-label%3AT-libs+-label%3AT-libs-api+-label%3AT-release+-label%3AT-rustdoc+-label%3AT-core+) +- No unassigned `P-high` nightly regressions this time. + +## Performance logs + +> [triage logs 2024-09-23](https://github.com/rust-lang/rustc-perf/blob/44fe248ab62545a5ee7a1cd710451ca16073ea62/triage/2024-09-23.md) + +Not too much happened this week. Most regressions of note were readily +justified as removing sources of unpredictable/inconsistent behavior +from code-generation. There was one notable improvement, from PR +#130561: avoiding redoing a redundant normalization of the param-env +ended up improving compile times for 93 primary benchmarks by -1.0% on +average. + +Triage done by **@pnkfelix**. +Revision range: [170d6cb8..749f80ab](https://perf.rust-lang.org/?start=170d6cb845c8c3f0dcec5cdd4210df9ecf990244&end=749f80ab051aa0b3724b464130440b0e70a975ac&absolute=false&stat=instructions%3Au) +Revision range: [506f22b4..4cadeda9](https://perf.rust-lang.org/?start=506f22b4663f3e756e1e6a4f66c6309fdc00819c&end=4cadeda932d5c261a9a0b1bbd25c4486e4e0a4c6&absolute=false&stat=instructions%3Au) + +**Summary**: + +Note: Due to issues in how the perf website generates its output and +fails to deal with certain git histories, we have two different base +summaries. + +Base Revision range: [170d6cb8..749f80ab](https://perf.rust-lang.org/?start=170d6cb845c8c3f0dcec5cdd4210df9ecf990244&end=749f80ab051aa0b3724b464130440b0e70a975ac&absolute=false&stat=instructions%3Au) + +| (instructions:u) | mean | range | count | +|:------------------------:|:-----:|:--------------:|:-----:| +| Regressions (primary) | 0.7% | [0.2%, 2.5%] | 8 | +| Regressions (secondary) | 1.2% | [0.1%, 3.2%] | 4 | +| Improvements (primary) | -0.3% | [-0.4%, -0.3%] | 9 | +| Improvements (secondary) | -0.9% | [-1.7%, -0.2%] | 23 | +| All (primary) | 0.2% | [-0.4%, 2.5%] | 17 | + +Base Revision range: [506f22b4..4cadeda9](https://perf.rust-lang.org/?start=506f22b4663f3e756e1e6a4f66c6309fdc00819c&end=4cadeda932d5c261a9a0b1bbd25c4486e4e0a4c6&absolute=false&stat=instructions%3Au) + +| (instructions:u) | mean | range | count | +|:----------------------------------:|:-----:|:--------------:|:-----:| +| Regressions (primary) | 2.7% | [0.1%, 6.7%] | 16 | +| Regressions (secondary) | 0.2% | [0.2%, 0.2%] | 6 | +| Improvements (primary) | -1.1% | [-5.1%, -0.2%] | 80 | +| Improvements (secondary) | -2.4% | [-5.2%, -0.2%] | 54 | +| All (primary) | -0.5% | [-5.1%, 6.7%] | 96 | + +Total: + +2 Regression, 2 Improvements, 7 Mixed; 4 of them in rollups +62 artifact comparisons made in total + +#### Regressions + +Remove semi-nondeterminism of `DefPathHash` ordering from inliner [#130455](https://github.com/rust-lang/rust/pull/130455) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=2e367d94f05f3c6170f4d49f5e387cfaa0c42c32&end=46b0f8bafcf11fa1d6b6c172f4f5c1b95c11ebdb&stat=instructions:u) + +| (instructions:u) | mean | range | count | +|:----------------------------------:|:----:|:------------:|:-----:| +| Regressions (primary) | 0.8% | [0.3%, 2.5%] | 5 | +| Regressions (secondary) | 0.6% | [0.1%, 1.0%] | 3 | +| Improvements (primary) | - | - | 0 | +| Improvements (secondary) | - | - | 0 | +| All (primary) | 0.8% | [0.3%, 2.5%] | 5 | + +* primary regressions are all to opt-full for hyper (-2.54%), clap (-0.69%), html5ever (-0.36%), image (-0.31%), cargo (-0.27%) +* from detailed results on hyper, looks like `mir_callgraph_reachable` doubled in instr-count; if I'm reading the table right, + it seems like it is being called nearly twice as often as before? But this outcome seems like it might be expected, since + this PR is deliberately removing some code that would bail out early from that call. +* it looks like @**Ben Kimock (Saethlin)** had already + [attempted to mark](https://github.com/rust-lang/rust/pull/130455#issuecomment-2354849189) this as triaged (due to it being + acceptable overhead for the benefit of better de + +Rollup of 6 pull requests [#130649](https://github.com/rust-lang/rust/pull/130649) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=c0838c8ebec23fb87855bb6de3a287981cb1df98&end=74fd001cdae0321144a20133f2216ea8a97da476&stat=instructions:u) + +| (instructions:u) | mean | range | count | +|:----------------------------------:|:----:|:------------:|:-----:| +| Regressions (primary) | - | - | 0 | +| Regressions (secondary) | 0.3% | [0.1%, 0.4%] | 13 | +| Improvements (primary) | - | - | 0 | +| Improvements (secondary) | - | - | 0 | +| All (primary) | - | - | 0 | + +* This was flagged solely because of the *number* of secondary benchmarks that were affected. +* Marking as triaged. + +#### Improvements + +[perf] skip normalizing param env if it is already normalized [#130561](https://github.com/rust-lang/rust/pull/130561) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=506f22b4663f3e756e1e6a4f66c6309fdc00819c&end=5793a9e90289382e447f5bc411cab2bc01c5836f&stat=instructions:u) + +| (instructions:u) | mean | range | count | +|:----------------------------------:|:-----:|:--------------:|:-----:| +| Regressions (primary) | - | - | 0 | +| Regressions (secondary) | - | - | 0 | +| Improvements (primary) | -1.0% | [-5.5%, -0.1%] | 93 | +| Improvements (secondary) | -2.7% | [-6.5%, -0.2%] | 59 | +| All (primary) | -1.0% | [-5.5%, -0.1%] | 93 | + +* This is awesome. :) + +Rollup of 7 pull requests [#130768](https://github.com/rust-lang/rust/pull/130768) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=f5cd2c5888011d4d80311e5b771c6da507d860dd&end=4cadeda932d5c261a9a0b1bbd25c4486e4e0a4c6&stat=instructions:u) + +| (instructions:u) | mean | range | count | +|:----------------------------------:|:-----:|:--------------:|:-----:| +| Regressions (primary) | - | - | 0 | +| Regressions (secondary) | - | - | 0 | +| Improvements (primary) | - | - | 0 | +| Improvements (secondary) | -0.3% | [-0.7%, -0.1%] | 14 | +| All (primary) | - | - | 0 | + +* This was flagged because of the *number* of secondary benchmarks that were affected. + +#### Mixed + +read_volatile __rust_no_alloc_shim_is_unstable in alloc_zeroed [#130497](https://github.com/rust-lang/rust/pull/130497) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=aaed38b2a631dfc593454abf471d75d84033773e&end=7fc70f870a1d11c3b104274d3a18112996cdec9a&stat=instructions:u) + +| (instructions:u) | mean | range | count | +|:----------------------------------:|:-----:|:--------------:|:-----:| +| Regressions (primary) | 0.5% | [0.5%, 0.5%] | 1 | +| Regressions (secondary) | - | - | 0 | +| Improvements (primary) | -0.5% | [-0.7%, -0.3%] | 2 | +| Improvements (secondary) | - | - | 0 | +| All (primary) | -0.2% | [-0.7%, 0.5%] | 3 | + +* cranelift-codegen opt-full-llvm regressed by -0.48%. +* marking as triaged; this is bringing the two allocator paths into consistency with eachother (the question of whether we want these volatile reads at all, and how to otherwise achieve their effect on the end-to-end developer experience, is an [entirely separate question](https://rust-lang.zulipchat.com/#narrow/stream/131828-t-compiler/topic/Different.20mechanism.20for.20__rust_no_alloc_shim_is_unstable/near/462025387)). + +Rollup of 9 pull requests [#130534](https://github.com/rust-lang/rust/pull/130534) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=f79a912d9edc3ad4db910c0e93672ed5c65133fa&end=a5cf8bbd4e1c8edeae08778c85c6f806dd00e853&stat=instructions:u) + +| (instructions:u) | mean | range | count | +|:----------------------------------:|:-----:|:--------------:|:-----:| +| Regressions (primary) | 0.3% | [0.2%, 0.3%] | 3 | +| Regressions (secondary) | - | - | 0 | +| Improvements (primary) | - | - | 0 | +| Improvements (secondary) | -1.1% | [-1.2%, -0.6%] | 4 | +| All (primary) | 0.3% | [0.2%, 0.3%] | 3 | + +* syn regressed on three variant profiles: check incr-unchanged (-0.28%), check incr-patched:println (-0.27%), and debug incr-unchanged (-0.23%) +* [detailed perf results](https://perf.rust-lang.org/detailed-query.html?commit=a5cf8bbd4e1c8edeae08778c85c6f806dd00e853&benchmark=syn-1.0.89-check&scenario=incr-unchanged&base_commit=f79a912d9edc3ad4db910c0e93672ed5c65133fa&sort_idx=-11) indicates that incr_comp_persist_dep_graph went from 0.002 seconds to 0.14 seconds; a delta that accounts for the vast bulk of the difference here... +* but from examining the PR's that follow, it doesn't seem like that result persists into the future. (Also, I'm realizing that the detailed results are presenting seconds, not instruction-counts, and therefore they are probably wildly unstable between runs...) +* marking as triaged; this isn't worth investigating further. + +Support `char::encode_utf8` in const scenarios. [#130511](https://github.com/rust-lang/rust/pull/130511) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=df7f77811c8806f85522a38878c57fde221138c9&end=f8192ba0d00bbbc58a10c45823ba010e98ea4474&stat=instructions:u) + +| (instructions:u) | mean | range | count | +|:----------------------------------:|:-----:|:--------------:|:-----:| +| Regressions (primary) | 0.3% | [0.3%, 0.4%] | 3 | +| Regressions (secondary) | - | - | 0 | +| Improvements (primary) | -0.4% | [-0.5%, -0.3%] | 2 | +| Improvements (secondary) | - | - | 0 | +| All (primary) | 0.0% | [-0.5%, 0.4%] | 5 | + +* primary regressions to opt-full on clap (-0.38%), image (-0.33%), and webrender (-0.31%). +* from inspection, it seems like this may just be a natural (and small, acceptable) artifact of the changes to which things get const-eval'ed. +* marking as triaged + + +Get rid of niche selection's dependence on fields's order [#130508](https://github.com/rust-lang/rust/pull/130508) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=749f80ab051aa0b3724b464130440b0e70a975ac&end=902f2956a627bd1bd44557b7fe6427a099bf8c48&stat=instructions:u) + +| (instructions:u) | mean | range | count | +|:----------------------------------:|:-----:|:--------------:|:-----:| +| Regressions (primary) | 0.2% | [0.2%, 0.2%] | 1 | +| Regressions (secondary) | 0.5% | [0.2%, 0.9%] | 3 | +| Improvements (primary) | -0.6% | [-0.6%, -0.6%] | 1 | +| Improvements (secondary) | - | - | 0 | +| All (primary) | -0.2% | [-0.6%, 0.2%] | 2 | + +* primary regression to typenum doc-full (-0.23%) +* marking as triaged; this is a very small (and probably semi-random) cost for a clear win IMO in terms of overall consistency of behavior. + +Rollup of 7 pull requests [#130631](https://github.com/rust-lang/rust/pull/130631) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=5ba6db1b648d93fbbab4ae0466e40db682fa45fc&end=da889684c80508036ff036db8c159ffdcf27648a&stat=instructions:u) + +| (instructions:u) | mean | range | count | +|:----------------------------------:|:-----:|:--------------:|:-----:| +| Regressions (primary) | 0.6% | [0.6%, 0.6%] | 1 | +| Regressions (secondary) | 0.3% | [0.2%, 0.4%] | 5 | +| Improvements (primary) | -0.3% | [-0.3%, -0.3%] | 1 | +| Improvements (secondary) | - | - | 0 | +| All (primary) | 0.1% | [-0.3%, 0.6%] | 2 | + +* sole primary regression is to cargo opt-full by 0.6%. +* no obvious smoking guns in the PR list for this rollup. +* marking as triaged as "not being worth further investigation" + +add unqualified_local_imports lint [#125645](https://github.com/rust-lang/rust/pull/125645) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=9d6039ccae68a2f1930ed9c1542d387b2c0c0ba6&end=7042c269c166191cd5d8daf0409890903df7af57&stat=instructions:u) + +| (instructions:u) | mean | range | count | +|:----------------------------------:|:-----:|:--------------:|:-----:| +| Regressions (primary) | - | - | 0 | +| Regressions (secondary) | 1.5% | [0.4%, 2.0%] | 11 | +| Improvements (primary) | - | - | 0 | +| Improvements (secondary) | -0.3% | [-0.4%, -0.2%] | 6 | +| All (primary) | - | - | 0 | + +* There was some surprise here for the PR author because this was an allow-by-default lint and so they didn't expect it to have any actual perf impact, + because they assumed that allowed-linted could be skipped (which is not actually the way they work today, but there are PR's in process that try + to get that effect). +* In any case, this PR was flagged solely because of the *number* of secondary benchmarks that were affected. +* Marking as triaged. + +Rework `non_local_definitions` lint to only use a syntactic heuristic [#127117](https://github.com/rust-lang/rust/pull/127117) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=35daf8b8aa95dee4296bad117c4cb7ecaea7bf4f&end=f5cd2c5888011d4d80311e5b771c6da507d860dd&stat=instructions:u) + +| (instructions:u) | mean | range | count | +|:----------------------------------:|:-----:|:--------------:|:-----:| +| Regressions (primary) | 3.3% | [0.6%, 6.6%] | 13 | +| Regressions (secondary) | 0.3% | [0.1%, 0.4%] | 3 | +| Improvements (primary) | -0.7% | [-1.0%, -0.2%] | 8 | +| Improvements (secondary) | -0.3% | [-0.3%, -0.3%] | 3 | +| All (primary) | 1.8% | [-1.0%, 6.6%] | 21 | + +* as noted by Urgau: "the version of diesel used by `rustc-perf` is too old and use named `const AA` items instead of un-named `const _` items, making the lint trigger many times (more than 150 times last time). We ruled in the past that given the regression where located in one benchmark only, and only a pathological case that the regressions where fine." +* already 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) +- "Consistently use the highest bit of vector masks when converting to i1 vectors" [rust#104693](https://github.com/rust-lang/rust/pull/104693) (last review activity: 14 months ago) + - cc @**Wesley Wiser** (self-assigned last year, PR has bounced a bit looking for a reviewer) +- "add error message for c# style named arguments" [rust#118733](https://github.com/rust-lang/rust/pull/118733) (last review activity: 9 months ago) + - cc @**Esteban Küber** +- "Fix bug where `option_env!` would return `None` when env var is present but not valid Unicode" [rust#122670](https://github.com/rust-lang/rust/pull/122670) + - cc: @*lcnr* (or reroll?) +- "Issue 83060 fix" [rust#119798](https://github.com/rust-lang/rust/pull/119798) + - Can anyone assist the author? :) @**Michael Goulet (compiler-errors)** can you reply to the author's [comment](https://github.com/rust-lang/rust/pull/119798#discussion_r1573980900)? + +Next meeting's agenda draft: [hackmd link](https://hackmd.io/szi5IXJzROqRtix7BOJjZQ)