diff --git a/content/minutes/triage-meeting/T-compiler Meeting Agenda 2024-02-15.md b/content/minutes/triage-meeting/T-compiler Meeting Agenda 2024-02-15.md index b502b61a..a7e7a140 100644 --- a/content/minutes/triage-meeting/T-compiler Meeting Agenda 2024-02-15.md +++ b/content/minutes/triage-meeting/T-compiler Meeting Agenda 2024-02-15.md @@ -60,7 +60,7 @@ note_id: kumG_EirTtOWJiQcgji7_w ### WG checkins - @_*T-rust-analyzer* by @**Lukas Wirth** ([previous checkin](https://hackmd.io/team/rust-compiler-team?nav=overview)): - > We now share a bit more code with the compiler thanks to @Nadrieril https://github.com/rust-lang/rust-analyzer/pull/16420, fixing some bugs and panics with our exhaustiveness checking along the way :tada: On a less happy note, rust-analyzer still lacks support for ATPITs which is on the path to [stabilization](https://github.com/rust-lang/rust/pull/120700). rust-analyzer currently reports a type mismatch for the snippet in the PR description, https://github.com/rust-lang/rust-analyzer/issues/15704. + > We now share a bit more code with the compiler thanks to @Nadrieril https://github.com/rust-lang/rust-analyzer/pull/16420, fixing some bugs and panics with our exhaustiveness checking along the way :tada: On a less happy note, rust-analyzer still lacks support for ATPITs which is on the path to [stabilization](https://github.com/rust-lang/rust/pull/120700). rust-analyzer currently reports a type mismatch for the snippet in the PR description, https://github.com/rust-lang/rust-analyzer/issues/15704. ## Backport nominations diff --git a/content/minutes/triage-meeting/T-compiler Meeting Agenda 2024-05-02.md b/content/minutes/triage-meeting/T-compiler Meeting Agenda 2024-05-02.md new file mode 100644 index 00000000..26d12ed9 --- /dev/null +++ b/content/minutes/triage-meeting/T-compiler Meeting Agenda 2024-05-02.md @@ -0,0 +1,270 @@ +--- +tags: weekly, rustc +type: docs +note_id: j7ulhAwrQQeguFno_ejZog +--- + +# T-compiler Meeting Agenda 2024-05-02 + +## Announcements + +- Today release of stable Rust 1.78 ([blog post](https://blog.rust-lang.org/2024/05/02/Rust-1.78.0.html)) +- Next week it's [RustNL week](https://2024.rustnl.org): some? many? of us will be there. Should we skip next week's meeting? Or maybe just a quick look if there's anything urgent? +- Reminder: if you see a PR/issue that seems like there might be legal implications due to copyright/IP/etc, please let us know (or at least message @_**davidtwco** or @_**Wesley Wiser** so we can pass it along). + +### Other WG meetings +- Types Team: ITE (Impl Trait Everywhere) Triage + +## MCPs/FCPs + +- New MCPs (take a look, see if you like them!) + - "Add --print=check-cfg" [compiler-team#743](https://github.com/rust-lang/compiler-team/issues/743) ([Zulip](https://rust-lang.zulipchat.com/#narrow/stream/233931-xxx/topic/Add.20--print.3Dcheck-cfg.20compiler-team.23743)) +- Old MCPs (not seconded, take a look) + - "Target families for executable format" [compiler-team#716](https://github.com/rust-lang/compiler-team/issues/716) ([Zulip](https://rust-lang.zulipchat.com/#narrow/stream/233931-xxx/topic/Target.20families.20for.20executable.20format.20compiler-team.23716)) (last review activity: 3 months ago) + - "Promote riscv64gc-unknown-linux-musl to tier 2" [compiler-team#728](https://github.com/rust-lang/compiler-team/issues/728) ([Zulip](https://rust-lang.zulipchat.com/#narrow/stream/233931-xxx/topic/Promote.20riscv64gc-unknown-linux-gnu.20to.20ti.E2.80.A6.20compiler-team.23728)) (last review activity: about 55 days ago) + - "Add `--emit=thin-link-bitcode` to enable distributed ThinLTO users" [compiler-team#735](https://github.com/rust-lang/compiler-team/issues/735) ([Zulip](https://rust-lang.zulipchat.com/#narrow/stream/233931-xxx/topic/Add.20.60-Zemit-thin-lto-index.3D.3Cpath.3E.60.20to.20ena.E2.80.A6.20compiler-team.23735)) (last review activity: about 1 days ago) + - "Only emit forward compatible v0 symbol names with graceful degradation" [compiler-team#737](https://github.com/rust-lang/compiler-team/issues/737) ([Zulip](https://rust-lang.zulipchat.com/#narrow/stream/233931-xxx/topic/Only.20emit.20forward.20compatible.20v0.20symbol.20na.E2.80.A6.20compiler-team.23737)) (last review activity: about 27 days ago) + - "Partial compilation using MIR-only rlibs" [compiler-team#738](https://github.com/rust-lang/compiler-team/issues/738) ([Zulip](https://rust-lang.zulipchat.com/#narrow/stream/233931-xxx/topic/Partial.20compilation.20using.20MIR-only.20rlibs.20compiler-team.23738)) (last review activity: about 20 days ago) +- Pending FCP requests (check your boxes!) + - merge: [Add a new `--build-id` flag to rustc (compiler-team#635)](https://github.com/rust-lang/compiler-team/issues/635#issuecomment-1777545767) + - @_**|125250** @_**|116107** @_**|125294** @_**|123856** + - concerns: [other-existing-options (by petrochenkov)](https://github.com/rust-lang/compiler-team/issues/635#issuecomment-1779597156) [option-name (by wesleywiser)](https://github.com/rust-lang/compiler-team/issues/635#issuecomment-1785349936) + - merge: [Retire the mailing list and make all decisions on zulip (compiler-team#649)](https://github.com/rust-lang/compiler-team/issues/649#issuecomment-1618781780) + - no pending checkboxes + - concerns: [automatic-sync (by compiler-errors)](https://github.com/rust-lang/compiler-team/issues/649#issuecomment-1618902660), [single-point-of-failure-via-stream-archival (by pnkfelix)](https://github.com/rust-lang/compiler-team/issues/649#issuecomment-1664056989) + - merge: [Stabilize `--env-set` option (rust#119926)](https://github.com/rust-lang/rust/pull/119926#issuecomment-1898766442) + - @_**|119009** @_**|116083** @_**|124288** @_**|123586** @_**|125250** @_**|119031** @_**|124287** @_**|116118** + - concerns: [other-rustc-vars (by petrochenkov)](https://github.com/rust-lang/rust/pull/119926#issuecomment-1900703005) + - merge: [Show files produced by `--emit foo` in json artifact notifications (rust#122597)](https://github.com/rust-lang/rust/pull/122597#issuecomment-2063945502) + - @_**|116083** @_**|123586** @_**|116107** @_**|125294** @_**|119031** @_**|248906** @_**|426609** @_**|116118** @_**|232957** + - no pending concerns + - merge: [allow overwriting the output of `rustc --version` (rust#124339)](https://github.com/rust-lang/rust/pull/124339#issuecomment-2075414901) + - @_**|116083** @_**|123586** @_**|125250** @_**|116107** @_**|248906** @_**|124287** @_**|426609** @_**|116118** @_**|216206** @_**|232957** + - no pending concerns + - merge: [re-organise the compiler team](https://github.com/rust-lang/rfcs/pull/3599#issuecomment-2062471077) (rfcs#3599) + - no pending concerns + - @**Aaron Hill** @**cjgillot** @**Michael (compiler-errors) Goulet** @**Esteban Küber** @**mw** @**nagisa** +- Things in FCP (make sure you're good with it) + - "Skip virtual drop for !needs_drop types" [compiler-team#730](https://github.com/rust-lang/compiler-team/issues/730) ([Zulip](https://rust-lang.zulipchat.com/#narrow/stream/233931-xxx/topic/Skip.20virtual.20drop.20for.20.21needs_drop.20types.20compiler-team.23730)) + - "Make casts of pointers to trait objects stricter" [rust#120248](https://github.com/rust-lang/rust/pull/120248) +- Accepted MCPs + - "allow all command line flags to be passed multiple times, overwriting previous usages" [compiler-team#731](https://github.com/rust-lang/compiler-team/issues/731) ([Zulip](https://rust-lang.zulipchat.com/#narrow/stream/233931-xxx/topic/allow.20all.20command.20line.20flags.20to.20be.20passed.E2.80.A6.20compiler-team.23731)) + - "Policy: no discussions on T-compiler tracking issues" [compiler-team#739](https://github.com/rust-lang/compiler-team/issues/739) ([Zulip](https://rust-lang.zulipchat.com/#narrow/stream/233931-xxx/topic/Lock.20all.20tracking.20issues.20to.20prevent.20discu.E2.80.A6.20compiler-team.23739)) +- MCPs blocked on unresolved concerns + - "Add hygiene attributes to compile expanded source code" [compiler-team#692](https://github.com/rust-lang/compiler-team/issues/692) ([Zulip](https://rust-lang.zulipchat.com/#narrow/stream/233931-xxx/topic/Add.20option.20to.20compile.20expanded.20ASTs.20for.20h.E2.80.A6.20compiler-team.23692)) (last review activity: 3 months ago) + - concern: [added-complexity-to-frontend](https://github.com/rust-lang/compiler-team/issues/692#issuecomment-1845169318) +- Finalized FCPs (disposition merge) + - "Tracking Issue for RFC 3013: Checking conditional compilation at compile time" [rust#82450](https://github.com/rust-lang/rust/issues/82450) +- Other teams finalized FCPs + - No new finished FCP (disposition merge) this time. + +### WG checkins + +- @_*WG-async* by @**nikomatsakis** and @**tmandry** + > Checkin text + +- @_*WG-diagnostics* by @**Esteban Küber** and @**oli** + > Checkin text + +## Backport nominations + +[T-compiler beta](https://github.com/rust-lang/rust/issues?q=is%3Aall+label%3Abeta-nominated+-label%3Abeta-accepted+label%3AT-compiler) / [T-compiler stable](https://github.com/rust-lang/rust/issues?q=is%3Aall+label%3Astable-nominated+-label%3Astable-accepted+label%3AT-compiler) +- :beta: "Consider inner modules to be local in the `non_local_definitions` lint" [rust#124539](https://github.com/rust-lang/rust/pull/124539) + - Authored by @_**urgau** (thanks!) + - Fixes #124396, a P-medium regression emitting a false positive and misleading error message when compiling the Diesel crate ([comment](https://github.com/rust-lang/rust/issues/124396#issue-2265162210)): + > The wording [of the error message] might result in cases where the user will believe that this is an upstream diesel issue, rather than an issue with their local code. + +- No stable nominations for `T-compiler` this time. + +[T-types stable](https://github.com/rust-lang/rust/issues?q=is%3Aall+label%3Abeta-nominated+-label%3Abeta-accepted+label%3AT-types) / [T-types beta](https://github.com/rust-lang/rust/issues?q=is%3Aall+label%3Astable-nominated+-label%3Astable-accepted+label%3AT-types) +- No beta nominations for `T-types` this time. +- No stable nominations for `T-types` this time. + +## PRs S-waiting-on-team + +[T-compiler](https://github.com/rust-lang/rust/pulls?q=is%3Aopen+label%3AS-waiting-on-team+label%3AT-compiler) +- [Issues in progress or waiting on other teams](https://hackmd.io/XYr1BrOWSiqCrl8RCWXRaQ) + +## Issues of Note + +### Short Summary + +- [0 T-compiler P-critical issues](https://github.com/rust-lang/rust/issues?q=is%3Aopen+label%3AT-compiler+label%3AP-critical) + - [0 of those are unassigned](https://github.com/rust-lang/rust/issues?q=is%3Aopen+label%3AT-compiler+label%3AP-critical+no%3Aassignee) +- [61 T-compiler P-high issues](https://github.com/rust-lang/rust/issues?q=is%3Aopen+label%3AT-compiler+label%3AP-high) + - [33 of those are unassigned](https://github.com/rust-lang/rust/issues?q=is%3Aopen+label%3AT-compiler+label%3AP-high+no%3Aassignee) +- [0 P-critical, 0 P-high, 1 P-medium, 1 P-low regression-from-stable-to-beta](https://github.com/rust-lang/rust/labels/regression-from-stable-to-beta) +- [0 P-critical, 0 P-high, 5 P-medium, 2 P-low regression-from-stable-to-nightly](https://github.com/rust-lang/rust/labels/regression-from-stable-to-nightly) +- [0 P-critical, 36 P-high, 100 P-medium, 16 P-low regression-from-stable-to-stable](https://github.com/rust-lang/rust/labels/regression-from-stable-to-stable) + +### P-critical + +[T-compiler](https://github.com/rust-lang/rust/issues?q=is%3Aopen+label%3AP-critical+label%3AT-compiler) +- No `P-critical` issues for `T-compiler` this time. + +[T-types](https://github.com/rust-lang/rust/issues?q=is%3Aopen+label%3AP-critical+label%3AT-types) +- No `P-critical` issues for `T-types` this time. + +### P-high regressions + +[P-high beta regressions](https://github.com/rust-lang/rust/issues?q=is%3Aopen+label%3Aregression-from-stable-to-beta+label%3AP-high+-label%3AT-infra+-label%3AT-libs+-label%3AT-libs-api+-label%3AT-release+-label%3AT-rustdoc+-label%3AT-core) +- No `P-high` beta regressions this time. + +[Unassigned P-high nightly regressions](https://github.com/rust-lang/rust/issues?q=is%3Aopen+label%3Aregression-from-stable-to-nightly+label%3AP-high+no%3Aassignee+-label%3AT-infra+-label%3AT-libs+-label%3AT-libs-api+-label%3AT-release+-label%3AT-rustdoc+-label%3AT-core+) +- No unassigned `P-high` nightly regressions this time. + +## Performance logs + +> [triage logs for 2024-04-29](https://github.com/rust-lang/rustc-perf/blob/master/triage/2024-04-29.md) + +Several non-noise changes this week, with both improvements and regressions coming as a result. +Overall compiler performance is roughly neutral across the week. + +Triage done by **@simulacrum**. +Revision range: [a77f76e2..c65b2dc9](https://perf.rust-lang.org/?start=a77f76e26302e9a084fb321817675b1dfc1dcd63&end=c65b2dc935c27c0c8c3997c6e8d8894718a2cb1a&absolute=false&stat=instructions%3Au) + +**Summary**: + +| (instructions:u) | mean | range | count | +|:------------------------:|:-----:|:---------------:|:-----:| +| Regressions (primary) | 0.4% | [0.2%, 1.4%] | 104 | +| Regressions (secondary) | 2.4% | [0.2%, 23.7%] | 81 | +| Improvements (primary) | -3.8% | [-26.1%, -0.3%] | 10 | +| Improvements (secondary) | -1.6% | [-4.6%, -0.5%] | 12 | +| All (primary) | 0.1% | [-26.1%, 1.4%] | 114 | + + +2 Regressions, 2 Improvements, 3 Mixed; 1 of them in rollups +51 artifact comparisons made in total + +#### Regressions + +Use fulfillment in method probe, not evaluation [#122317](https://github.com/rust-lang/rust/pull/122317) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=ad07aa12c99698f810d730d7b5a49704c729651d&end=cd90d5c03532da6f7ca7dcfb861ffabdc36a9d00&stat=instructions:u) + +| (instructions:u) | mean | range | count | +|:------------------------:|:----:|:-------------:|:-----:| +| Regressions (primary) | 0.5% | [0.2%, 1.3%] | 38 | +| Regressions (secondary) | 4.2% | [0.5%, 23.6%] | 39 | +| Improvements (primary) | - | - | 0 | +| Improvements (secondary) | - | - | 0 | +| All (primary) | 0.5% | [0.2%, 1.3%] | 38 | + +Some additional attempts to fix perf were done in a follow-up PR +(https://github.com/rust-lang/rust/pull/124303) but did not pan out to be +successful. It looks like this is a correctness fix, so we'll need to accept +the regressions for now. + +Stabilize `Utf8Chunks` [#123909](https://github.com/rust-lang/rust/pull/123909) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=1b3a32958bb54bde45e693217e8f7469459e5865&end=4d570eea025a19564429eb52b34ec34e14659f55&stat=instructions:u) + +| (instructions:u) | mean | range | count | +|:------------------------:|:----:|:------------:|:-----:| +| Regressions (primary) | 0.5% | [0.2%, 1.1%] | 11 | +| Regressions (secondary) | 0.8% | [0.3%, 1.2%] | 19 | +| Improvements (primary) | - | - | 0 | +| Improvements (secondary) | - | - | 0 | +| All (primary) | 0.5% | [0.2%, 1.1%] | 11 | + +The regressions are in doc builds, but are not really expected from what is a +relatively small change. Further investigation feels warranted (see +https://github.com/rust-lang/rust/pull/123909#issuecomment-2082668500). + +#### Improvements + +Rollup of 5 pull requests [#124289](https://github.com/rust-lang/rust/pull/124289) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=c67277301c896857d0534f2bb7431680796833fb&end=ad07aa12c99698f810d730d7b5a49704c729651d&stat=instructions:u) + +| (instructions:u) | mean | range | count | +|:------------------------:|:-----:|:--------------:|:-----:| +| Regressions (primary) | - | - | 0 | +| Regressions (secondary) | - | - | 0 | +| Improvements (primary) | -0.3% | [-0.3%, -0.2%] | 7 | +| Improvements (secondary) | -0.2% | [-0.2%, -0.2%] | 2 | +| All (primary) | -0.3% | [-0.3%, -0.2%] | 7 | + +Unclear whether this is a genuine improvement. Performance seems to have +re-regressed in #123126 (see Mixed results below), so this may just be +bimodality of some kind. + +Set writable and dead_on_unwind attributes for sret arguments [#121298](https://github.com/rust-lang/rust/pull/121298) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=cb3752d20e0f5d24348062211102a08d46fbecff&end=284f94f9c0f77ad4ef85323a634cfda29c1a801d&stat=instructions:u) + +| (instructions:u) | mean | range | count | +|:------------------------:|:-----:|:---------------:|:-----:| +| Regressions (primary) | 0.5% | [0.5%, 0.5%] | 1 | +| Regressions (secondary) | - | - | 0 | +| Improvements (primary) | -3.1% | [-26.0%, -0.3%] | 12 | +| Improvements (secondary) | -1.6% | [-4.4%, -0.5%] | 11 | +| All (primary) | -2.8% | [-26.0%, 0.5%] | 13 | + +#### Mixed + +Enable `CrateNum` query feeding via `TyCtxt` [#123126](https://github.com/rust-lang/rust/pull/123126) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=40dcd796d094b911b8b7b55a0519fb8e3d21680f&end=244da22fabd9fa677bbd0ac601a88e5ca6917526&stat=instructions:u) + +| (instructions:u) | mean | range | count | +|:------------------------:|:-----:|:--------------:|:-----:| +| Regressions (primary) | 0.3% | [0.2%, 0.6%] | 19 | +| Regressions (secondary) | 0.4% | [0.3%, 0.5%] | 5 | +| Improvements (primary) | - | - | 0 | +| Improvements (secondary) | -0.7% | [-0.7%, -0.7%] | 2 | +| All (primary) | 0.3% | [0.2%, 0.6%] | 19 | + +This looks like it's mostly just a regression to incremental. The PR +description notes this is expected and sounds like there's follow-up work +planned (unclear whether it will help with performance though). + +Stop using LLVM struct types for alloca [#122053](https://github.com/rust-lang/rust/pull/122053) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=c1feb3eceef7d5f0126c309a87062cf413fe0a25&end=29a56a3b1c06a624c0c06728c0af756d09df6b1b&stat=instructions:u) + +| (instructions:u) | mean | range | count | +|:------------------------:|:-----:|:--------------:|:-----:| +| Regressions (primary) | 0.2% | [0.2%, 0.3%] | 8 | +| Regressions (secondary) | 0.4% | [0.2%, 1.1%] | 17 | +| Improvements (primary) | -1.9% | [-1.9%, -1.9%] | 1 | +| Improvements (secondary) | -0.4% | [-0.4%, -0.4%] | 1 | +| All (primary) | -0.0% | [-1.9%, 0.3%] | 9 | + +Instruction counts are predominantly affected by some shuffling inside LLVM, +but cycles are largely unaffected. See detailed analysis in +https://github.com/rust-lang/rust/pull/122053#issuecomment-2074850501. + +Abort a process when FD ownership is violated [#124210](https://github.com/rust-lang/rust/pull/124210) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=6c90ac8d8f4489472720fce03c338cd5d0977f33&end=cb4940645775f60d74aee2e018d6c516c5aa9ed7&stat=instructions:u) + +| (instructions:u) | mean | range | count | +|:------------------------:|:-----:|:--------------:|:-----:| +| Regressions (primary) | 0.4% | [0.4%, 0.4%] | 2 | +| Regressions (secondary) | - | - | 0 | +| Improvements (primary) | -0.8% | [-0.8%, -0.8%] | 1 | +| Improvements (secondary) | -0.1% | [-0.1%, -0.1%] | 2 | +| All (primary) | 0.0% | [-0.8%, 0.4%] | 3 | + +Based on the [self profile results](https://perf.rust-lang.org/detailed-query.html?commit=cb4940645775f60d74aee2e018d6c516c5aa9ed7&benchmark=cargo-0.60.0-opt&scenario=full&base_commit=6c90ac8d8f4489472720fce03c338cd5d0977f33&sort_idx=-12) +I suspect this is caused by us generating more code in the downstream crate(s) +as a result of the late-bound ub checks. + +## Nominated Issues + +[T-compiler](https://github.com/rust-lang/rust/issues?q=is%3Aopen+label%3AI-compiler-nominated) +- None + +[RFC](https://github.com/rust-lang/rfcs/issues?q=is%3Aopen+label%3AI-compiler-nominated) +- No I-compiler-nominated RFCs this time. + +### Oldest PRs waiting for review + +[T-compiler](https://github.com/rust-lang/rust/pulls?q=is%3Apr+is%3Aopen+sort%3Aupdated-asc+label%3AS-waiting-on-review+draft%3Afalse+label%3AT-compiler) +- "Make create_def a side effect instead of marking the entire query as always red" [rust#115613](https://github.com/rust-lang/rust/pull/115613) (last review activity: 7 months ago) + - cc: @**cjgillot** (pending rebase cc: @**oli**) +- "tidy watcher" [rust#114209](https://github.com/rust-lang/rust/pull/114209) (last review activity: 4 months ago) + - cc: @**Wesley Wiser** +- "Remove unnecessary impl sorting in queries and metadata" [rust#120812](https://github.com/rust-lang/rust/pull/120812) + - cc: @**cjgillot** +- "Use Box<[T]> for ProcessResult::Changed" [rust#121355](https://github.com/rust-lang/rust/pull/121355) (last review activity: 2 months ago) + - cc: @**Esteban Küber** + +## Next week's WG checkins + +- None + +Next meetings' agenda draft: [hackmd link](https://hackmd.io/XC-GJ4ubTbCwR8KLjXdx7A) diff --git a/content/minutes/triage-meeting/T-compiler Meeting Agenda 2024-05-09.md b/content/minutes/triage-meeting/T-compiler Meeting Agenda 2024-05-09.md new file mode 100644 index 00000000..57e268b7 --- /dev/null +++ b/content/minutes/triage-meeting/T-compiler Meeting Agenda 2024-05-09.md @@ -0,0 +1,322 @@ +--- +tags: weekly, rustc +type: docs +note_id: XC-GJ4ubTbCwR8KLjXdx7A +--- + +# T-compiler Meeting Agenda 2024-05-09 + +## Announcements + +- Reminder: if you see a PR/issue that seems like there might be legal implications due to copyright/IP/etc, please let us know (or at least message @_**davidtwco** or @_**Wesley Wiser** so we can pass it along). + +### Other WG meetings +- Types Team: ITE (Impl Trait Everywhere) Triage + +## MCPs/FCPs + +- New MCPs (take a look, see if you like them!) + - No new proposals this time. +- Old MCPs (not seconded, take a look) + - "Target families for executable format" [compiler-team#716](https://github.com/rust-lang/compiler-team/issues/716) ([Zulip](https://rust-lang.zulipchat.com/#narrow/stream/233931-xxx/topic/Target.20families.20for.20executable.20format.20compiler-team.23716)) (last review activity: 3 months ago) + - "Promote riscv64gc-unknown-linux-musl to tier 2" [compiler-team#728](https://github.com/rust-lang/compiler-team/issues/728) ([Zulip](https://rust-lang.zulipchat.com/#narrow/stream/233931-xxx/topic/Promote.20riscv64gc-unknown-linux-gnu.20to.20ti.E2.80.A6.20compiler-team.23728)) (last review activity: 2 months ago) + - "Only emit forward compatible v0 symbol names with graceful degradation" [compiler-team#737](https://github.com/rust-lang/compiler-team/issues/737) ([Zulip](https://rust-lang.zulipchat.com/#narrow/stream/233931-xxx/topic/Only.20emit.20forward.20compatible.20v0.20symbol.20na.E2.80.A6.20compiler-team.23737)) (last review activity: about 34 days ago) + - "Partial compilation using MIR-only rlibs" [compiler-team#738](https://github.com/rust-lang/compiler-team/issues/738) ([Zulip](https://rust-lang.zulipchat.com/#narrow/stream/233931-xxx/topic/Partial.20compilation.20using.20MIR-only.20rlibs.20compiler-team.23738)) (last review activity: about 27 days ago) + - "Add --print=check-cfg" [compiler-team#743](https://github.com/rust-lang/compiler-team/issues/743) ([Zulip](https://rust-lang.zulipchat.com/#narrow/stream/233931-xxx/topic/Add.20--print.3Dcheck-cfg.20compiler-team.23743)) (last review activity: about 5 days ago) +- Pending FCP requests (check your boxes!) + - merge: [Add a new `--build-id` flag to rustc (compiler-team#635)](https://github.com/rust-lang/compiler-team/issues/635#issuecomment-1777545767) + - @_**|125250** @_**|116107** @_**|125294** @_**|123856** + - concerns: [other-existing-options (by petrochenkov)](https://github.com/rust-lang/compiler-team/issues/635#issuecomment-1779597156) [option-name (by wesleywiser)](https://github.com/rust-lang/compiler-team/issues/635#issuecomment-1785349936) + - merge: [Retire the mailing list and make all decisions on zulip (compiler-team#649)](https://github.com/rust-lang/compiler-team/issues/649#issuecomment-1618781780) + - no pending checkboxs + - concerns: [automatic-sync (by compiler-errors)](https://github.com/rust-lang/compiler-team/issues/649#issuecomment-1618902660) [single-point-of-failure-via-stream-archival (by pnkfelix)](https://github.com/rust-lang/compiler-team/issues/649#issuecomment-1664056989) + - merge: [Stabilize `--env-set` option (rust#119926)](https://github.com/rust-lang/rust/pull/119926#issuecomment-1898766442) + - @_**|119009** @_**|124288** @_**|123586** @_**|125250** @_**|119031** @_**|124287** @_**|116118** + - concerns: [other-rustc-vars (by petrochenkov)](https://github.com/rust-lang/rust/pull/119926#issuecomment-1900703005) + - merge: [Show files produced by `--emit foo` in json artifact notifications (rust#122597)](https://github.com/rust-lang/rust/pull/122597#issuecomment-2063945502) + - @_**|123586** @_**|116107** @_**|125294** @_**|119031** @_**|248906** @_**|426609** @_**|116118** @_**|232957** + - no pending concerns + - merge: [allow overwriting the output of `rustc --version` (rust#124339)](https://github.com/rust-lang/rust/pull/124339#issuecomment-2075414901) + - @_**|123586** @_**|125250** @_**|248906** @_**|124287** @_**|426609** @_**|116118** @_**|216206** @_**|232957** + - no pending concerns +- Things in FCP (make sure you're good with it) + - "Skip virtual drop for !needs_drop types" [compiler-team#730](https://github.com/rust-lang/compiler-team/issues/730) ([Zulip](https://rust-lang.zulipchat.com/#narrow/stream/233931-xxx/topic/Skip.20virtual.20drop.20for.20.21needs_drop.20types.20compiler-team.23730)) + - "Add `--emit=thin-link-bitcode` to enable distributed ThinLTO users" [compiler-team#735](https://github.com/rust-lang/compiler-team/issues/735) ([Zulip](https://rust-lang.zulipchat.com/#narrow/stream/233931-xxx/topic/Add.20.60-Zemit-thin-lto-index.3D.3Cpath.3E.60.20to.20ena.E2.80.A6.20compiler-team.23735)) + - "Support `-Cforce-frame-pointers=non-leaf`" [compiler-team#744](https://github.com/rust-lang/compiler-team/issues/744) ([Zulip](https://rust-lang.zulipchat.com/#narrow/stream/233931-xxx/topic/Support.20.60-Cforce-frame-pointers.3Dnon-leaf.60.20compiler-team.23744)) + - "Warn (or error) when `Self` ctor from outer item is referenced in inner nested item" [rust#124187](https://github.com/rust-lang/rust/pull/124187) +- Accepted MCPs + - No new accepted proposals this time. +- MCPs blocked on unresolved concerns + - "Add hygiene attributes to compile expanded source code" [compiler-team#692](https://github.com/rust-lang/compiler-team/issues/692) ([Zulip](https://rust-lang.zulipchat.com/#narrow/stream/233931-xxx/topic/Add.20option.20to.20compile.20expanded.20ASTs.20for.20h.E2.80.A6.20compiler-team.23692)) (last review activity: 3 months ago) + - concern: [added-complexity-to-frontend](https://github.com/rust-lang/compiler-team/issues/692#issuecomment-1845169318) +- Finalized FCPs (disposition merge) + - "Make casts of pointers to trait objects stricter" [rust#120248](https://github.com/rust-lang/rust/pull/120248) + - "Allow coercing functions whose signature differs in opaque types in their defining scope into a shared function pointer type" [rust#124297](https://github.com/rust-lang/rust/pull/124297) +- Other teams finalized FCPs + - "Allow coercing functions whose signature differs in opaque types in their defining scope into a shared function pointer type" [rust#124297](https://github.com/rust-lang/rust/pull/124297) + +### WG checkins + +None + +## Backport nominations + +[T-compiler beta](https://github.com/rust-lang/rust/issues?q=is%3Aall+label%3Abeta-nominated+-label%3Abeta-accepted+label%3AT-compiler) / [T-compiler stable](https://github.com/rust-lang/rust/issues?q=is%3Aall+label%3Astable-nominated+-label%3Astable-accepted+label%3AT-compiler) +- :beta: "Adjust `#[macro_export]`/doctest help suggestion for non_local_defs lint" [rust#124568](https://github.com/rust-lang/rust/pull/124568) + - authored by @_**Urgau** + - partially fixes #124534, a rustdoc lint triggered in rustdoc comments + - t-rustdoc r+'d too + - possibly there will be future work to handle this ([comment](https://github.com/rust-lang/rust/pull/124568#issuecomment-2090439661)) + +- :beta: "Do not ICE on foreign malformed `diagnostic::on_unimplemented`" [rust#124683](https://github.com/rust-lang/rust/pull/124683) + - authored by @_**Esteban Küber** + - fixes #124651, regression on 1.78 stable, the ICE triggered when using a malformed `diagnostic::on_unimplemented` + - Michael mentions that this should be ported together with #124675 (next backport) + +- :beta: "Fix more ICEs in `diagnostic::on_unimplemented`" [rust#124875](https://github.com/rust-lang/rust/pull/124875) + - authored by @_**Michael Goulet (compiler-errors)** + - fixes more ICEs on #124651 + - PR is open but r+d + - Michael mentions that this should be ported together with #124683 (previous backport :)) + +- :stable: "Do not ICE on foreign malformed `diagnostic::on_unimplemented`" [rust#124683](https://github.com/rust-lang/rust/pull/124683) + - backport on stable of the ICE fix mentioned before + +- :stable: "Fix more ICEs in `diagnostic::on_unimplemented`" [rust#124875](https://github.com/rust-lang/rust/pull/124875) + - backport on stable of the ICE fix mentioned before + + +[T-types stable](https://github.com/rust-lang/rust/issues?q=is%3Aall+label%3Abeta-nominated+-label%3Abeta-accepted+label%3AT-types) / [T-types beta](https://github.com/rust-lang/rust/issues?q=is%3Aall+label%3Astable-nominated+-label%3Astable-accepted+label%3AT-types) +- No beta nominations for `T-types` this time. +- No stable nominations for `T-types` this time. + +## PRs S-waiting-on-team + +[T-compiler](https://github.com/rust-lang/rust/pulls?q=is%3Aopen+label%3AS-waiting-on-team+label%3AT-compiler) +- [Issues in progress or waiting on other teams](https://hackmd.io/XYr1BrOWSiqCrl8RCWXRaQ) + +## Issues of Note + +### Short Summary + +- [0 T-compiler P-critical issues](https://github.com/rust-lang/rust/issues?q=is%3Aopen+label%3AT-compiler+label%3AP-critical) + - [0 of those are unassigned](https://github.com/rust-lang/rust/issues?q=is%3Aopen+label%3AT-compiler+label%3AP-critical+no%3Aassignee) +- [62 T-compiler P-high issues](https://github.com/rust-lang/rust/issues?q=is%3Aopen+label%3AT-compiler+label%3AP-high) + - [33 of those are unassigned](https://github.com/rust-lang/rust/issues?q=is%3Aopen+label%3AT-compiler+label%3AP-high+no%3Aassignee) +- [0 P-critical, 0 P-high, 2 P-medium, 1 P-low regression-from-stable-to-beta](https://github.com/rust-lang/rust/labels/regression-from-stable-to-beta) +- [0 P-critical, 0 P-high, 5 P-medium, 2 P-low regression-from-stable-to-nightly](https://github.com/rust-lang/rust/labels/regression-from-stable-to-nightly) +- [0 P-critical, 36 P-high, 100 P-medium, 16 P-low regression-from-stable-to-stable](https://github.com/rust-lang/rust/labels/regression-from-stable-to-stable) + +### P-critical + +[T-compiler](https://github.com/rust-lang/rust/issues?q=is%3Aopen+label%3AP-critical+label%3AT-compiler) +- No `P-critical` issues for `T-compiler` this time. + +[T-types](https://github.com/rust-lang/rust/issues?q=is%3Aopen+label%3AP-critical+label%3AT-types) +- No `P-critical` issues for `T-types` this time. + +### P-high regressions + +[P-high beta regressions](https://github.com/rust-lang/rust/issues?q=is%3Aopen+label%3Aregression-from-stable-to-beta+label%3AP-high+-label%3AT-infra+-label%3AT-libs+-label%3AT-libs-api+-label%3AT-release+-label%3AT-rustdoc+-label%3AT-core) +- No `P-high` beta regressions this time. + +[Unassigned P-high nightly regressions](https://github.com/rust-lang/rust/issues?q=is%3Aopen+label%3Aregression-from-stable-to-nightly+label%3AP-high+no%3Aassignee+-label%3AT-infra+-label%3AT-libs+-label%3AT-libs-api+-label%3AT-release+-label%3AT-rustdoc+-label%3AT-core+) +- No unassigned `P-high` nightly regressions this time. + +## Performance logs + +> [triage logs for 2024-05-07](https://github.com/rust-lang/rustc-perf/blob/6774c877ace0a2d9138b2b06ef0aabf6c2317a43/triage/2024-05-06.md) + +Largely uneventful week; the most notable shifts were considered false-alarms +that arose from changes related to cfg-checking (either cargo enabling it, or +adding cfg's like `rustfmt` to the "well-known cfgs list"). + +Triage done by **@pnkfelix**. +Revision range: [c65b2dc9..69f53f5e](https://perf.rust-lang.org/?start=c65b2dc935c27c0c8c3997c6e8d8894718a2cb1a&end=69f53f5e5583381267298ac182eb02c7f1b5c1cd&absolute=false&stat=instructions%3Au) + +**Summary**: + +| (instructions:u) | mean | range | count | +|:------------------------:|:-----:|:--------------:|:-----:| +| Regressions (primary) | 3.0% | [0.2%, 19.5%] | 65 | +| Regressions (secondary) | 1.3% | [0.2%, 4.5%] | 103 | +| Improvements (primary) | -0.9% | [-2.2%, -0.2%] | 24 | +| Improvements (secondary) | -0.7% | [-1.4%, -0.4%] | 23 | +| All (primary) | 1.9% | [-2.2%, 19.5%] | 89 | + + +3 Regressions, 2 Improvements, 3 Mixed; 5 of them in rollups +30 Untriaged Pull Requests +54 artifact comparisons made in total + +#### Regressions + +Rollup of 7 pull requests [#124675](https://github.com/rust-lang/rust/pull/124675) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=0d7b2fb797f214ea7514cfeaf2caef8178d8e3fc&end=befabbc9e5f6e82e659f9f52040ee0dd40593d8a&stat=instructions:u) + +| (instructions:u) | mean | range | count | +|:------------------------:|:----:|:------------:|:-----:| +| Regressions (primary) | 0.5% | [0.2%, 1.2%] | 11 | +| Regressions (secondary) | 0.8% | [0.4%, 1.3%] | 17 | +| Improvements (primary) | - | - | 0 | +| Improvements (secondary) | - | - | 0 | +| All (primary) | 0.5% | [0.2%, 1.2%] | 11 | + +* all primary regressions are to doc-full scenarios, and the 1.2% is to helloworld. +* not worth teasing apart a rollup PR. +* marking as triaged. + +Update cargo [#124684](https://github.com/rust-lang/rust/pull/124684) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=09cd00fea4aecaa6707f122d7e143196b8a12ee2&end=2c4bf249bd47f232de3c1e78ffe69b40c29bfcca&stat=instructions:u) + +| (instructions:u) | mean | range | count | +|:------------------------:|:----:|:-------------:|:-----:| +| Regressions (primary) | 2.4% | [0.2%, 19.1%] | 83 | +| Regressions (secondary) | 1.6% | [0.2%, 5.7%] | 92 | +| Improvements (primary) | - | - | 0 | +| Improvements (secondary) | - | - | 0 | +| All (primary) | 2.4% | [0.2%, 19.1%] | 83 | + + +* syn (mostly check builds, but also a debug incr-unchanged and opt incr-unchanged) had regressions ranging from 7.24% all the way up to 19.11%. +* The most plausible hypothesis is that this is due to an explosion in the number of warnings emitted for this benchmark. (The number of warnings went from ~200 up to 1800, according to Urgau's analysis). +* This means the code ends up becoming, at least in part, a benchmark of the lint machinery, regardless of whether that is our intent or not. +* see also [rustc-perf#1819](https://github.com/rust-lang/rustc-perf/issues/1819) "Consider passing -Awarnings (or similar) to avoid false alarms from lint *reporting*" +* marking as triaged. + +Rollup of 3 pull requests [#124784](https://github.com/rust-lang/rust/pull/124784) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=96f1da82687f499dd3f57006ae71548714532382&end=d287f3e4eeaf680e8fe875f1ec75cca68f357d30&stat=instructions:u) + +| (instructions:u) | mean | range | count | +|:------------------------:|:----:|:------------:|:-----:| +| Regressions (primary) | 0.3% | [0.2%, 0.4%] | 5 | +| Regressions (secondary) | - | - | 0 | +| Improvements (primary) | - | - | 0 | +| Improvements (secondary) | - | - | 0 | +| All (primary) | 0.3% | [0.2%, 0.4%] | 5 | + +* all regressions were to syn, to various incr-unchanged and incr-patched:println scenarios. +* current hypothesis is that this is due to PR #124742, which adds `rustfmt` to the well-known cfgs list. +* that hypothesis implies that this is a (mostly-)false alarm, much like #124684. +* marking as triaged + +#### Improvements + +Rollup of 10 pull requests [#124646](https://github.com/rust-lang/rust/pull/124646) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=79734f1db8dbe322192dea32c0f6b80ab14c4c1d&end=561b5dea1e7e5c21f0fb550ca579229ceb878297&stat=instructions:u) + +| (instructions:u) | mean | range | count | +|:------------------------:|:-----:|:--------------:|:-----:| +| Regressions (primary) | - | - | 0 | +| Regressions (secondary) | - | - | 0 | +| Improvements (primary) | -1.0% | [-2.8%, -0.2%] | 24 | +| Improvements (secondary) | -0.9% | [-1.6%, -0.3%] | 9 | +| All (primary) | -1.0% | [-2.8%, -0.2%] | 24 | + +* the bulk of the improvements are to variations of html5ever and serde_derive. +* skimming over the rollup list, I cannot identify an immediate root cause for improvement +* but for now will treat it like a happy accident + +Some hir cleanups [#124401](https://github.com/rust-lang/rust/pull/124401) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=d2d24e395a1e4fcee62ca17bf4cbddb1f903af97&end=09cd00fea4aecaa6707f122d7e143196b8a12ee2&stat=instructions:u) + +| (instructions:u) | mean | range | count | +|:------------------------:|:-----:|:--------------:|:-----:| +| Regressions (primary) | - | - | 0 | +| Regressions (secondary) | - | - | 0 | +| Improvements (primary) | -0.1% | [-0.2%, -0.1%] | 3 | +| Improvements (secondary) | -1.1% | [-2.0%, -0.2%] | 2 | +| All (primary) | -0.1% | [-0.2%, -0.1%] | 3 | + +* all improvements are to variations of typenum +* the hir cleanups in question are largely to store `AnonConst` (e.g. for array lengths) in the HIR arena, and then move the ConstArg span over to AnonConst span instead. +* inspection of typenum didn't show any particular cases that seemed like the would stress `AnonConst`; maybe the benefit comes more from the places where we now pass a span by value instead of passing a pointer to it. + +#### Mixed + +Account for immutably borrowed locals in MIR copy-prop and GVN [#123602](https://github.com/rust-lang/rust/pull/123602) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=befabbc9e5f6e82e659f9f52040ee0dd40593d8a&end=d2d24e395a1e4fcee62ca17bf4cbddb1f903af97&stat=instructions:u) + +| (instructions:u) | mean | range | count | +|:------------------------:|:-----:|:--------------:|:-----:| +| Regressions (primary) | 0.3% | [0.2%, 0.9%] | 10 | +| Regressions (secondary) | 0.8% | [0.2%, 2.6%] | 4 | +| Improvements (primary) | -0.5% | [-1.1%, -0.2%] | 6 | +| Improvements (secondary) | -0.5% | [-1.0%, -0.3%] | 8 | +| All (primary) | 0.0% | [-1.1%, 0.9%] | 16 | + +* html5ever opt-full regressed by 0.92%; libc in various incremental scenarios regressed by 0.30% to 0.39%. +* the libc changes were anticipated in the perf build prior to merge; html5ever opt-full was not predicted there. +* pnkfelix hypothesizes that this just reflects some extra-work from the compiler attempting to do the copy-propagation and global-value-numbering mir-optimizations on a larger set of immutably-borrowed locals, and is acceptable given the expected benefits. +* marking as triaged + +Rollup of 8 pull requests [#124703](https://github.com/rust-lang/rust/pull/124703) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=7dd170fccb3be6b1737af5df14dd736b366236c1&end=d7ea27808deb5e10a0f7384e339e4e6165e33398&stat=instructions:u) + +| (instructions:u) | mean | range | count | +|:------------------------:|:-----:|:--------------:|:-----:| +| Regressions (primary) | 0.5% | [0.2%, 0.6%] | 4 | +| Regressions (secondary) | - | - | 0 | +| Improvements (primary) | - | - | 0 | +| Improvements (secondary) | -1.0% | [-1.5%, -0.5%] | 4 | +| All (primary) | 0.5% | [0.2%, 0.6%] | 4 | + +* image opt-full regressed by 0.63%; html5ever debug-{incr-full,full} by ~0.5%, html5ever opt-incr-unchaged by 0.21% +* already triaged by Kobzol, who hypothesizes that PR #124700 modified some inlining decisions. + +Rollup of 4 pull requests [#124716](https://github.com/rust-lang/rust/pull/124716) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=1a851da73cdeb02e2c62d301aa6bd98e515a50da&end=d568423a7a4ddb4b49323d96078a22f94df55fbd&stat=instructions:u) + +| (instructions:u) | mean | range | count | +|:------------------------:|:-----:|:--------------:|:-----:| +| Regressions (primary) | - | - | 0 | +| Regressions (secondary) | 0.3% | [0.3%, 0.5%] | 6 | +| Improvements (primary) | -0.8% | [-0.8%, -0.8%] | 1 | +| Improvements (secondary) | - | - | 0 | +| All (primary) | -0.8% | [-0.8%, -0.8%] | 1 | + + +* all regressions are secondary (specifically on unused-warnings benchmark) +* regression identified by Kobzol as caused by [PR #124584](https://github.com/rust-lang/rust/pull/124584) "Various improvements to entrypoint code" +* seems like noise to pnkfelix +* marked as triaged + +## Nominated Issues + +[T-compiler](https://github.com/rust-lang/rust/issues?q=is%3Aopen+label%3AI-compiler-nominated) +- "New rustc nightly suggests adding a `build.rs` to use conditional compilation" [rust#124800](https://github.com/rust-lang/rust/issues/124800) + - @wesleywiser responded on the thread in this [comment](https://github.com/rust-lang/rust/issues/124800#issuecomment-2098802667) + - a summary from `@epage` of T-cargo *(last)* discussion on the topic in this [comment](https://github.com/rust-lang/rust/issues/124800#issuecomment-2100964458) + - with a question for T-compiler: + > If we go with lint configuration, any thoughts or concerns about Cargo "owning" lint configuration under `[lints.rust]` where Cargo translates the configuration into CLI flags for rustc, leaving rustc to be more generic? + - Probably moving the discussion to next meeting of discuss this async + +[RFC](https://github.com/rust-lang/rfcs/issues?q=is%3Aopen+label%3AI-compiler-nominated) +- No I-compiler-nominated RFCs this time. + +### Oldest PRs waiting for review + +None + +## Next week's WG checkins + +Probably none diff --git a/content/minutes/triage-meeting/T-compiler Meeting Agenda 2024-05-16.md b/content/minutes/triage-meeting/T-compiler Meeting Agenda 2024-05-16.md new file mode 100644 index 00000000..c1686147 --- /dev/null +++ b/content/minutes/triage-meeting/T-compiler Meeting Agenda 2024-05-16.md @@ -0,0 +1,252 @@ +--- +tags: weekly, rustc +type: docs +note_id: Do3ug5jeQPWjlfeqtIHYow +--- + +# T-compiler Meeting Agenda 2024-05-16 + +## Announcements + +- Special reminder for [rfcs#3599](https://github.com/rust-lang/rfcs/pull/3599#issuecomment-2062471077): needs just one more vote :thank_you: cc: @**cjgillot** @**Esteban Küber** and @**Aaron Hill** +- Reminder: if you see a PR/issue that seems like there might be legal implications due to copyright/IP/etc, please let us know (or at least message @_**davidtwco** or @_**Wesley Wiser** so we can pass it along). + +### Other WG meetings +- Types Team: ITE (Impl Trait Everywhere) Triage + +## MCPs/FCPs + +- New MCPs (take a look, see if you like them!) + - "Add Hotpatch flag" [compiler-team#745](https://github.com/rust-lang/compiler-team/issues/745) ([Zulip](https://rust-lang.zulipchat.com/#narrow/stream/233931-xxx/topic/Add.20Hotpatch.20flag.20compiler-team.23745)) + - "Promote arm64ec-pc-windows-msvc to tier 2" [compiler-team#746](https://github.com/rust-lang/compiler-team/issues/746) ([Zulip](https://rust-lang.zulipchat.com/#narrow/stream/233931-xxx/topic/Promote.20arm64ec-pc-windows-msvc.20to.20tier.202.20compiler-team.23746)) + - "`-Cfixed-x18`" [compiler-team#748](https://github.com/rust-lang/compiler-team/issues/748) ([Zulip](https://rust-lang.zulipchat.com/#narrow/stream/233931-xxx/topic/.60-Cfixed-x18.60.20compiler-team.23748)) +- Old MCPs (not seconded, take a look) + - "Add hygiene attributes to compile expanded source code" [compiler-team#692](https://github.com/rust-lang/compiler-team/issues/692) ([Zulip](https://rust-lang.zulipchat.com/#narrow/stream/233931-xxx/topic/Add.20option.20to.20compile.20expanded.20ASTs.20for.20h.E2.80.A6.20compiler-team.23692)) (last review activity: 4 months ago) + - concern: [added-complexity-to-frontend](https://github.com/rust-lang/compiler-team/issues/692#issuecomment-1845169318) + - "Target families for executable format" [compiler-team#716](https://github.com/rust-lang/compiler-team/issues/716) ([Zulip](https://rust-lang.zulipchat.com/#narrow/stream/233931-xxx/topic/Target.20families.20for.20executable.20format.20compiler-team.23716)) (last review activity: 3 months ago) + - "Promote riscv64gc-unknown-linux-musl to tier 2" [compiler-team#728](https://github.com/rust-lang/compiler-team/issues/728) ([Zulip](https://rust-lang.zulipchat.com/#narrow/stream/233931-xxx/topic/Promote.20riscv64gc-unknown-linux-gnu.20to.20ti.E2.80.A6.20compiler-team.23728)) (last review activity: 2 months ago) + - "Only emit forward compatible v0 symbol names with graceful degradation" [compiler-team#737](https://github.com/rust-lang/compiler-team/issues/737) ([Zulip](https://rust-lang.zulipchat.com/#narrow/stream/233931-xxx/topic/Only.20emit.20forward.20compatible.20v0.20symbol.20na.E2.80.A6.20compiler-team.23737)) (last review activity: about 41 days ago) + - "Partial compilation using MIR-only rlibs" [compiler-team#738](https://github.com/rust-lang/compiler-team/issues/738) ([Zulip](https://rust-lang.zulipchat.com/#narrow/stream/233931-xxx/topic/Partial.20compilation.20using.20MIR-only.20rlibs.20compiler-team.23738)) (last review activity: about 34 days ago) +- Pending FCP requests (check your boxes!) + - merge: [Show files produced by `--emit foo` in json artifact notifications (rust#122597)](https://github.com/rust-lang/rust/pull/122597#issuecomment-2063945502) + - @_**|116107** @_**|125294** @_**|119031** @_**|248906** @_**|426609** @_**|116118** @_**|232957** + - no pending concerns +- Things in FCP (make sure you're good with it) + - "Skip virtual drop for !needs_drop types" [compiler-team#730](https://github.com/rust-lang/compiler-team/issues/730) ([Zulip](https://rust-lang.zulipchat.com/#narrow/stream/233931-xxx/topic/Skip.20virtual.20drop.20for.20.21needs_drop.20types.20compiler-team.23730)) + - "Add `--emit=thin-link-bitcode` to enable distributed ThinLTO users" [compiler-team#735](https://github.com/rust-lang/compiler-team/issues/735) ([Zulip](https://rust-lang.zulipchat.com/#narrow/stream/233931-xxx/topic/Add.20.60-Zemit-thin-lto-index.3D.3Cpath.3E.60.20to.20ena.E2.80.A6.20compiler-team.23735)) + - "Add --print=check-cfg" [compiler-team#743](https://github.com/rust-lang/compiler-team/issues/743) ([Zulip](https://rust-lang.zulipchat.com/#narrow/stream/233931-xxx/topic/Add.20--print.3Dcheck-cfg.20compiler-team.23743)) + - "Support `-Cforce-frame-pointers=non-leaf`" [compiler-team#744](https://github.com/rust-lang/compiler-team/issues/744) ([Zulip](https://rust-lang.zulipchat.com/#narrow/stream/233931-xxx/topic/Support.20.60-Cforce-frame-pointers.3Dnon-leaf.60.20compiler-team.23744)) + - "Support C23's Variadics Without a Named Parameter" [rust#124048](https://github.com/rust-lang/rust/pull/124048) + - "Warn (or error) when `Self` ctor from outer item is referenced in inner nested item" [rust#124187](https://github.com/rust-lang/rust/pull/124187) +- Accepted MCPs + - No new accepted proposals this time. +- MCPs blocked on unresolved concerns + - merge: [Add a new `--build-id` flag to rustc (compiler-team#635)](https://github.com/rust-lang/compiler-team/issues/635#issuecomment-1777545767) + - @_**|125250** @_**|116107** @_**|125294** @_**|123856** + - concerns: [other-existing-options (by petrochenkov)](https://github.com/rust-lang/compiler-team/issues/635#issuecomment-1779597156) [option-name (by wesleywiser)](https://github.com/rust-lang/compiler-team/issues/635#issuecomment-1785349936) + - merge: [Stabilize `--env-set` option (rust#119926)](https://github.com/rust-lang/rust/pull/119926#issuecomment-1898766442) + - @_**|119009** @_**|124288** @_**|123586** @_**|125250** @_**|119031** @_**|124287** @_**|116118** + - concerns: [other-rustc-vars (by petrochenkov)](https://github.com/rust-lang/rust/pull/119926#issuecomment-1900703005) + - merge: [allow overwriting the output of `rustc --version` (rust#124339)](https://github.com/rust-lang/rust/pull/124339#issuecomment-2075414901) + - @_**|125250** @_**|248906** @_**|124287** @_**|426609** @_**|116118** @_**|216206** @_**|232957** + - concerns: [subsequent-crates-io-policy (by wesleywiser)](https://github.com/rust-lang/rust/pull/124339#issuecomment-2113331348) +- Finalized FCPs (disposition merge) + - No new finished FCP (disposition merge) this time. +- Other teams finalized FCPs + - "[ptr] Document maximum allocation size" [rust#116675](https://github.com/rust-lang/rust/pull/116675) + - "Stabilize `min_exhaustive_patterns`" [rust#122792](https://github.com/rust-lang/rust/pull/122792) + +### WG checkins + +None this week + +## Backport nominations + +[T-compiler beta](https://github.com/rust-lang/rust/issues?q=is%3Aall+label%3Abeta-nominated+-label%3Abeta-accepted+label%3AT-compiler) / [T-compiler stable](https://github.com/rust-lang/rust/issues?q=is%3Aall+label%3Astable-nominated+-label%3Astable-accepted+label%3AT-compiler) +- :beta: "Make `non-local-def` lint Allow by default" [rust#124950](https://github.com/rust-lang/rust/pull/124950) + - authored by @_**Wesley Wiser** + - calms down a slew of warnings on non-local definitions until we figure out how to better implement this lint (relevant [RFC#3373](https://github.com/rust-lang/rust/issues/120363)) + +- :beta: "Don't do post-method-probe error reporting steps if we're in a suggestion" [rust#125100](https://github.com/rust-lang/rust/pull/125100) + - authored by @_**Michael Goulet (compiler-errors)** + - nominated because it can pretty negatively affect user experience when a programmer has many method errors in large projects ([comment](https://github.com/rust-lang/rust/pull/125100#issuecomment-2109177076)) + - Regressed in #120730 + +- :stable: "When comparing SVG tests against their blessed version, ignore the first line" [rust#122779](https://github.com/rust-lang/rust/pull/122779) + - authored by @_**Esteban Küber** + - Fixes a regression in #122779 ([comment](https://github.com/rust-lang/rust/pull/122029#issuecomment-2009130070)) + - nominated with the clause "nice to have, if a dot release happens" ([comment](https://github.com/rust-lang/rust/pull/122779#issuecomment-2108533414)), fix didn't make to 1.78 + + +[T-types stable](https://github.com/rust-lang/rust/issues?q=is%3Aall+label%3Abeta-nominated+-label%3Abeta-accepted+label%3AT-types) / [T-types beta](https://github.com/rust-lang/rust/issues?q=is%3Aall+label%3Astable-nominated+-label%3Astable-accepted+label%3AT-types) +- No beta nominations for `T-types` this time. +- No stable nominations for `T-types` this time. + +## PRs S-waiting-on-team + +[T-compiler](https://github.com/rust-lang/rust/pulls?q=is%3Aopen+label%3AS-waiting-on-team+label%3AT-compiler) +- "Uplift `clippy::precedence` lint" [rust#117161](https://github.com/rust-lang/rust/pull/117161) +- "Better errors with bad/missing identifiers in MBEs" [rust#118939](https://github.com/rust-lang/rust/pull/118939) +- "Uplift `clippy::invalid_null_ptr_usage` lint" [rust#119220](https://github.com/rust-lang/rust/pull/119220) +- "Rename `AsyncIterator` back to `Stream`, introduce an AFIT-based `AsyncIterator` trait" [rust#119550](https://github.com/rust-lang/rust/pull/119550) +- "Disallow deriving (other than Copy/Clone) on types with unnamed fields" [rust#121270](https://github.com/rust-lang/rust/pull/121270) +- "Implement lint against unexpected unary precedence" [rust#121364](https://github.com/rust-lang/rust/pull/121364) +- "Show files produced by `--emit foo` in json artifact notifications" [rust#122597](https://github.com/rust-lang/rust/pull/122597) +- "Emit a warning if a `match` is too complex" [rust#122685](https://github.com/rust-lang/rust/pull/122685) +- "Support C23's Variadics Without a Named Parameter" [rust#124048](https://github.com/rust-lang/rust/pull/124048) +- "Warn (or error) when `Self` ctor from outer item is referenced in inner nested item" [rust#124187](https://github.com/rust-lang/rust/pull/124187) +- [Issues in progress or waiting on other teams](https://hackmd.io/XYr1BrOWSiqCrl8RCWXRaQ) + +## Issues of Note + +### Short Summary + +- [1 T-compiler P-critical issues](https://github.com/rust-lang/rust/issues?q=is%3Aopen+label%3AT-compiler+label%3AP-critical) + - [1 of those are unassigned](https://github.com/rust-lang/rust/issues?q=is%3Aopen+label%3AT-compiler+label%3AP-critical+no%3Aassignee) +- [63 T-compiler P-high issues](https://github.com/rust-lang/rust/issues?q=is%3Aopen+label%3AT-compiler+label%3AP-high) + - [34 of those are unassigned](https://github.com/rust-lang/rust/issues?q=is%3Aopen+label%3AT-compiler+label%3AP-high+no%3Aassignee) +- [0 P-critical, 1 P-high, 1 P-medium, 1 P-low regression-from-stable-to-beta](https://github.com/rust-lang/rust/labels/regression-from-stable-to-beta) +- [0 P-critical, 1 P-high, 5 P-medium, 2 P-low regression-from-stable-to-nightly](https://github.com/rust-lang/rust/labels/regression-from-stable-to-nightly) +- [0 P-critical, 36 P-high, 100 P-medium, 16 P-low regression-from-stable-to-stable](https://github.com/rust-lang/rust/labels/regression-from-stable-to-stable) + +### P-critical + +[T-compiler](https://github.com/rust-lang/rust/issues?q=is%3Aopen+label%3AP-critical+label%3AT-compiler) +- "`-C target_cpu=cortex-a72` (and `-target-cpu=native` on Raspberry Pi) wrongly enables crypto features that are optional on Cortex-A72" [rust#125033](https://github.com/rust-lang/rust/issues/125033) + - @_**apiraino** assigned `P-critical` ([reasoning](https://rust-lang.zulipchat.com/#narrow/stream/245100-t-compiler.2Fwg-prioritization.2Falerts/topic/.23125033.20.60-C.20target_cpu.3Dcortex-a72.60.20.28and.20.60-target-cpu.3Dnative.E2.80.A6/near/438310356)) but happy to hear other opinions + - In any case upstream LLVM issue has been filed [llvm#90365](https://github.com/llvm/llvm-project/issues/90365) + +[T-types](https://github.com/rust-lang/rust/issues?q=is%3Aopen+label%3AP-critical+label%3AT-types) +- No `P-critical` issues for `T-types` this time. + +### P-high regressions + +[P-high beta regressions](https://github.com/rust-lang/rust/issues?q=is%3Aopen+label%3Aregression-from-stable-to-beta+label%3AP-high+-label%3AT-infra+-label%3AT-libs+-label%3AT-libs-api+-label%3AT-release+-label%3AT-rustdoc+-label%3AT-core) +- None + +[Unassigned P-high nightly regressions](https://github.com/rust-lang/rust/issues?q=is%3Aopen+label%3Aregression-from-stable-to-nightly+label%3AP-high+no%3Aassignee+-label%3AT-infra+-label%3AT-libs+-label%3AT-libs-api+-label%3AT-release+-label%3AT-rustdoc+-label%3AT-core+) +- "New rustc nightly suggests adding a `build.rs` to use conditional compilation" [rust#124800](https://github.com/rust-lang/rust/issues/124800) + - Question from cargo team to T-compiler was: + > If we go with lint configuration, any thoughts or concerns about Cargo "owning" lint configuration under [lints.rust] where Cargo translates the configuration into CLI flags for rustc, leaving rustc to be more generic? + - Discussed [last week](https://github.com/rust-lang/rust/issues/124800#issuecomment-2100964458), agreed that cargo can use such section as they see fit + - FYI @**Wesley Wiser** I've added your comment [here](https://github.com/rust-lang/rust/issues/124800#issuecomment-2114838596), please lmk if I represented it correctly :) + +## Performance logs + +> [triage logs for 2024-05-14](https://github.com/rust-lang/rustc-perf/blob/master/triage/2024-05-14.md) + +A pretty quiet week with only a few PRs being flagged for analysis. +More improvements than regressions this week, and also several nice +binary size reductions caused by generating less LLVM IR. + +Triage done by **@kobzol***. +Revision range: [69f53f5e..9105c57b](https://perf.rust-lang.org/?start=69f53f5e5583381267298ac182eb02c7f1b5c1cd&end=9105c57b7f6623310e33f3ee7e48a3114e5190a7&absolute=false&stat=instructions%3Au) + +**Summary**: + +| (instructions:u) | mean | range | count | +|:------------------------:|:-----:|:--------------:|:-----:| +| Regressions (primary) | 0.4% | [0.2%, 0.9%] | 8 | +| Regressions (secondary) | 0.9% | [0.2%, 2.4%] | 18 | +| Improvements (primary) | -1.1% | [-2.3%, -0.2%] | 51 | +| Improvements (secondary) | -0.6% | [-1.4%, -0.3%] | 19 | +| All (primary) | -0.9% | [-2.3%, 0.9%] | 59 | + + +1 Regression, 0 Improvements, 3 Mixed; 0 of them in rollups +75 artifact comparisons made in total + +#### Regressions + +Do not add leading asterisk in the `PartialEq` [#124157](https://github.com/rust-lang/rust/pull/124157) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=5f8c17dcc04a2981268df89874203e9bfea50597&end=cb93c24bf36b3367714516fc2308cf6856916eeb&stat=instructions:u) + +| (instructions:u) | mean | range | count | +|:------------------------:|:----:|:------------:|:-----:| +| Regressions (primary) | 0.3% | [0.2%, 0.5%] | 9 | +| Regressions (secondary) | 0.4% | [0.3%, 0.8%] | 9 | +| Improvements (primary) | - | - | 0 | +| Improvements (secondary) | - | - | 0 | +| All (primary) | 0.3% | [0.2%, 0.5%] | 9 | + +* Small regression on a few benchmarks caused by a change in code generation of `#[derive(PartialEq)]`, +which leads to more valid code being allowed to compile. +* Marked as triaged. + +#### Mixed + +Avoid a cast in `ptr::slice_from_raw_parts(_mut)_)` [#124795](https://github.com/rust-lang/rust/pull/124795) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=c3202afa2865ad26ef407544c3768070bfed7bfe&end=ec1b69852f0c24ae833a74303800db2229b6653e&stat=instructions:u) + +| (instructions:u) | mean | range | count | +|:------------------------:|:-----:|:--------------:|:-----:| +| Regressions (primary) | 0.3% | [0.3%, 0.3%] | 1 | +| Regressions (secondary) | - | - | 0 | +| Improvements (primary) | -0.4% | [-0.6%, -0.3%] | 6 | +| Improvements (secondary) | -0.3% | [-0.4%, -0.2%] | 16 | +| All (primary) | -0.3% | [-0.6%, 0.3%] | 7 | + +* A single tiny regression outweighed by several performance wins. +* This PR also reduced binary size nicely. + +Avoid `alloca`s in codegen for simple `mir::Aggregate` statements [#123886](https://github.com/rust-lang/rust/pull/123886) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=2cce0885840cd171cb3a8677af795d0abd2dc77c&end=6e1d94708a0a4a35ca7e46c6cac98adf62fe800e&stat=instructions:u) + +| (instructions:u) | mean | range | count | +|:------------------------:|:-----:|:--------------:|:-----:| +| Regressions (primary) | 0.2% | [0.2%, 0.3%] | 6 | +| Regressions (secondary) | 0.5% | [0.2%, 1.3%] | 4 | +| Improvements (primary) | -0.6% | [-1.0%, -0.3%] | 6 | +| Improvements (secondary) | -0.7% | [-1.1%, -0.4%] | 2 | +| All (primary) | -0.2% | [-1.0%, 0.3%] | 12 | + +* The regression was limited to a single primary benchmark, there were more primary benchmark wins. +* Also a nice binary size reduction in debug builds. + +Remove `NtIdent` and `NtLifetime` [#124256](https://github.com/rust-lang/rust/pull/124256) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=34582118afaf00b0eb2d209a90b181c7156b501c&end=9105c57b7f6623310e33f3ee7e48a3114e5190a7&stat=instructions:u) + +| (instructions:u) | mean | range | count | +|:------------------------:|:-----:|:--------------:|:-----:| +| Regressions (primary) | 0.2% | [0.2%, 0.2%] | 1 | +| Regressions (secondary) | 1.9% | [1.2%, 2.7%] | 8 | +| Improvements (primary) | -0.8% | [-2.0%, -0.1%] | 24 | +| Improvements (secondary) | -0.6% | [-1.1%, -0.3%] | 9 | +| All (primary) | -0.7% | [-2.0%, 0.2%] | 25 | + +* Pretty much a pure performance improvement, the instruction count regression on `tt-muncher` was +actually a decent win in cycle count. + +## Nominated Issues + +[T-compiler](https://github.com/rust-lang/rust/issues?q=is%3Aopen+label%3AI-compiler-nominated) +- "The const-eval interpreter is called on incomplete/invalid/ill-formed code" [rust#124789](https://github.com/rust-lang/rust/issues/124789) + - Nominated by @**Jieyou Xu** ([comment](https://github.com/rust-lang/rust/issues/124789#issuecomment-2107425409)) + > It's probably desirable to discuss some error handling strategy that preserves the "fail as late as possible, report as many errors as possible" idea and yet does not let inputs that const-eval does not expect to handle to go through, at the item granularity. Maybe this involves some pre-const-eval validation/guard, or hardening const-eval against invalid inputs, or some other strategy. + - Discussion on [Zulip](https://rust-lang.zulipchat.com/#narrow/stream/131828-t-compiler/topic/The.20const-eval.20interpreter.20is.20called.20on.20invalid.20code), where @**lcnr** points out that we already have the `tainted_by_errors` mechanism for this. But either the MIR bodies containing these invalid operations do not get tainted properly, or the interpreter is not properly skipping execution of tainted MIR bodies. + +[RFC](https://github.com/rust-lang/rfcs/issues?q=is%3Aopen+label%3AI-compiler-nominated) +- No I-compiler-nominated RFCs this time. + +### Oldest PRs waiting for review + +[T-compiler](https://github.com/rust-lang/rust/pulls?q=is%3Apr+is%3Aopen+sort%3Aupdated-asc+label%3AS-waiting-on-review+draft%3Afalse+label%3AT-compiler) +- Skipping this week + +## Next week's WG checkins + +None + +Next meetings' agenda draft: [hackmd link](https://hackmd.io/9smuckNqRJmQ4a1s1sHbcQ) diff --git a/content/minutes/triage-meeting/T-compiler Meeting Agenda 2024-05-23.md b/content/minutes/triage-meeting/T-compiler Meeting Agenda 2024-05-23.md new file mode 100644 index 00000000..6a6c03f5 --- /dev/null +++ b/content/minutes/triage-meeting/T-compiler Meeting Agenda 2024-05-23.md @@ -0,0 +1,319 @@ +--- +tags: weekly, rustc +type: docs +note_id: 9smuckNqRJmQ4a1s1sHbcQ +--- + +# T-compiler Meeting Agenda 2024-05-23 + +## Announcements + +- Reminder: if you see a PR/issue that seems like there might be legal implications due to copyright/IP/etc, please let us know (or at least message @_**davidtwco** or @_**Wesley Wiser** so we can pass it along). + +### Other WG meetings ([calendar link](https://calendar.google.com/calendar/embed?src=6u5rrtce6lrtv07pfi3damgjus%40group.calendar.google.com)) +- Types Team: ITE (Impl Trait Everywhere) Triage + +## MCPs/FCPs + +- New MCPs (take a look, see if you like them!) + - "Add a `--emit=nameres` for IDEs" [compiler-team#749](https://github.com/rust-lang/compiler-team/issues/749) ([Zulip](https://rust-lang.zulipchat.com/#narrow/stream/233931-xxx/topic/Add.20a.20.60--emit.3Dnameres.60.20for.20IDEs.20compiler-team.23749)) + - "Fully rustfmt `use` declarations" [compiler-team#750](https://github.com/rust-lang/compiler-team/issues/750) ([Zulip](https://rust-lang.zulipchat.com/#narrow/stream/233931-xxx/topic/.28My.20major.20change.20proposal.29.20compiler-team.23750)) +- Old MCPs (stale MCP might be closed as per [MCP procedure](https://forge.rust-lang.org/compiler/mcp.html#when-should-major-change-proposals-be-closed)) + - None at this time +- Old MCPs (not seconded, take a look) + - "Add hygiene attributes to compile expanded source code" [compiler-team#692](https://github.com/rust-lang/compiler-team/issues/692) ([Zulip](https://rust-lang.zulipchat.com/#narrow/stream/233931-xxx/topic/Add.20option.20to.20compile.20expanded.20ASTs.20for.20h.E2.80.A6.20compiler-team.23692)) (last review activity: 4 months ago) + - concern: [added-complexity-to-frontend](https://github.com/rust-lang/compiler-team/issues/692#issuecomment-1845169318) + - "Target families for executable format" [compiler-team#716](https://github.com/rust-lang/compiler-team/issues/716) ([Zulip](https://rust-lang.zulipchat.com/#narrow/stream/233931-xxx/topic/Target.20families.20for.20executable.20format.20compiler-team.23716)) (last review activity: 3 months ago) + - "Promote riscv64gc-unknown-linux-musl to tier 2" [compiler-team#728](https://github.com/rust-lang/compiler-team/issues/728) ([Zulip](https://rust-lang.zulipchat.com/#narrow/stream/233931-xxx/topic/Promote.20riscv64gc-unknown-linux-gnu.20to.20ti.E2.80.A6.20compiler-team.23728)) (last review activity: 2 months ago) + - "Only emit forward compatible v0 symbol names with graceful degradation" [compiler-team#737](https://github.com/rust-lang/compiler-team/issues/737) ([Zulip](https://rust-lang.zulipchat.com/#narrow/stream/233931-xxx/topic/Only.20emit.20forward.20compatible.20v0.20symbol.20na.E2.80.A6.20compiler-team.23737)) (last review activity: about 48 days ago) + - "Partial compilation using MIR-only rlibs" [compiler-team#738](https://github.com/rust-lang/compiler-team/issues/738) ([Zulip](https://rust-lang.zulipchat.com/#narrow/stream/233931-xxx/topic/Partial.20compilation.20using.20MIR-only.20rlibs.20compiler-team.23738)) (last review activity: about 41 days ago) + - "Add Hotpatch flag" [compiler-team#745](https://github.com/rust-lang/compiler-team/issues/745) ([Zulip](https://rust-lang.zulipchat.com/#narrow/stream/233931-xxx/topic/Add.20Hotpatch.20flag.20compiler-team.23745)) (last review activity: about 6 days ago) +- Pending FCP requests (check your boxes!) + - merge: [Show files produced by `--emit foo` in json artifact notifications (rust#122597)](https://github.com/rust-lang/rust/pull/122597#issuecomment-2063945502) + - @**|116107** @**|125294** @**|248906** @**|426609** @**|116118** @**|232957** + - no pending concerns +- Things in FCP (make sure you're good with it) + - "Skip virtual drop for !needs_drop types" [compiler-team#730](https://github.com/rust-lang/compiler-team/issues/730) ([Zulip](https://rust-lang.zulipchat.com/#narrow/stream/233931-xxx/topic/Skip.20virtual.20drop.20for.20.21needs_drop.20types.20compiler-team.23730)) + - "Add `--emit=thin-link-bitcode` to enable distributed ThinLTO users" [compiler-team#735](https://github.com/rust-lang/compiler-team/issues/735) ([Zulip](https://rust-lang.zulipchat.com/#narrow/stream/233931-xxx/topic/Add.20.60-Zemit-thin-lto-index.3D.3Cpath.3E.60.20to.20ena.E2.80.A6.20compiler-team.23735)) + - "Add --print=check-cfg" [compiler-team#743](https://github.com/rust-lang/compiler-team/issues/743) ([Zulip](https://rust-lang.zulipchat.com/#narrow/stream/233931-xxx/topic/Add.20--print.3Dcheck-cfg.20compiler-team.23743)) + - "Support `-Cforce-frame-pointers=non-leaf`" [compiler-team#744](https://github.com/rust-lang/compiler-team/issues/744) ([Zulip](https://rust-lang.zulipchat.com/#narrow/stream/233931-xxx/topic/Support.20.60-Cforce-frame-pointers.3Dnon-leaf.60.20compiler-team.23744)) + - "Promote arm64ec-pc-windows-msvc to tier 2" [compiler-team#746](https://github.com/rust-lang/compiler-team/issues/746) ([Zulip](https://rust-lang.zulipchat.com/#narrow/stream/233931-xxx/topic/Promote.20arm64ec-pc-windows-msvc.20to.20tier.202.20compiler-team.23746)) + - "`-Zfixed-x18`" [compiler-team#748](https://github.com/rust-lang/compiler-team/issues/748) ([Zulip](https://rust-lang.zulipchat.com/#narrow/stream/233931-xxx/topic/.60-Cfixed-x18.60.20compiler-team.23748)) + - "Support C23's Variadics Without a Named Parameter" [rust#124048](https://github.com/rust-lang/rust/pull/124048) +- Accepted MCPs + - No new accepted proposals this time. +- MCPs blocked on unresolved concerns + - merge: [Add a new `--build-id` flag to rustc (compiler-team#635)](https://github.com/rust-lang/compiler-team/issues/635#issuecomment-1777545767) + - @_**|125250** @_**|116107** @_**|125294** @_**|123856** + - concerns: [other-existing-options (by petrochenkov)](https://github.com/rust-lang/compiler-team/issues/635#issuecomment-1779597156) [option-name (by wesleywiser)](https://github.com/rust-lang/compiler-team/issues/635#issuecomment-1785349936) + - "Retire the mailing list and make all decisions on zulip" [compiler-team#649](https://github.com/rust-lang/compiler-team/issues/649) ([Zulip](https://rust-lang.zulipchat.com/#narrow/stream/233931-xxx/topic/Retire.20the.20mailing.20list.20and.20make.20all.20deci.E2.80.A6.20compiler-team.23649)) + - concern: [single-point-of-failure-via-stream-archival](https://github.com/rust-lang/compiler-team/issues/649#issuecomment-1664056989) + - concern: [automatic-sync](https://github.com/rust-lang/compiler-team/issues/649#issuecomment-1618902660) + - merge: [Stabilize `--env-set` option (rust#119926)](https://github.com/rust-lang/rust/pull/119926#issuecomment-1898766442) + - @_**|119009** @_**|124288** @_**|123586** @_**|125250** @_**|119031** @_**|124287** @_**|116118** + - concerns: [other-rustc-vars (by petrochenkov)](https://github.com/rust-lang/rust/pull/119926#issuecomment-1900703005) + - merge: [allow overwriting the output of `rustc --version` (rust#124339)](https://github.com/rust-lang/rust/pull/124339#issuecomment-2075414901) + - @_**|248906** @_**|124287** @_**|426609** @_**|116118** @_**|216206** @_**|232957** + - concerns: [subsequent-crates-io-policy (by wesleywiser)](https://github.com/rust-lang/rust/pull/124339#issuecomment-2113331348) +- Finalized FCPs (disposition merge) + - No new finished FCP (disposition merge) this time. +- Other teams finalized FCPs + - "offset: allow zero-byte offset on arbitrary pointers" [rust#117329](https://github.com/rust-lang/rust/pull/117329) + +### WG checkins + +None + +## Backport nominations + +[T-compiler beta](https://github.com/rust-lang/rust/issues?q=is%3Aall+label%3Abeta-nominated+-label%3Abeta-accepted+label%3AT-compiler) / [T-compiler stable](https://github.com/rust-lang/rust/issues?q=is%3Aall+label%3Astable-nominated+-label%3Astable-accepted+label%3AT-compiler) +- :beta: "Add v0 symbol mangling for `f16` and `f128`" [rust#123816](https://github.com/rust-lang/rust/pull/123816) + - Authored by tgross35 + - Suggests backporting the first [commit](https://github.com/rust-lang/rust/pull/123816/commits/809b84edba988408071630b1e89a8c06be07aeed), low-risk and unblocks updating [compiler_builtins#125016](https://github.com/rust-lang/rust/pull/125016) ([comment](https://github.com/rust-lang/rust/pull/123816#issuecomment-2116383814) and [discussion on Zulip](https://rust-lang.zulipchat.com/#narrow/stream/131828-t-compiler/topic/Backport.20.20.23123816.20.28v0.20mangling.20for.20f16.20.26.20f128.29.20to.20beta)) + +- :beta: "Only make GAT ambiguous in `match_projection_projections` considering shallow resolvability" [rust#125214](https://github.com/rust-lang/rust/pull/125214) + - Authored by compiler-errors + - This revert will fix #125196, regression emerged in the latest beta crater run + - About: + > In #123537, I tweaked the hack from #93892 to use `resolve_vars_if_possible` instead of + > `shallow_resolve`. This considers more inference guidance ambiguous but resulted in a crater + > regressions. I've effectively reverted the change to the old behavior. That being + > said, I don't like this behavior, but I'd rather keep it for now since #123537 was not meant to + > make any behavioral changes. + +- :beta: "Update to LLVM 18.1.6" [rust#125288](https://github.com/rust-lang/rust/pull/125288) + - Authored by nikic + - perf. neutral, notable changes: + > Fixes #123695 (miscompile with wrapping pointer arithmetic). + > Fixes #125053 (compiler crash on M1). + > Also fixes https://bugzilla.redhat.com/show_bug.cgi?id=2226905 (crypto miscompile on s390x) + - [Big diff](https://github.com/rust-lang/llvm-project/compare/5399a24c66cb6164cf32280e7d300488c90d5765...b31c30a9bb4dbbd13c359d0e2bea7f65d20adf3f) and LLVM 18.1.6 [release notes](https://github.com/llvm/llvm-project/releases/tag/llvmorg-18.1.6) + +- No stable nominations for `T-compiler` this time. + +[T-types stable](https://github.com/rust-lang/rust/issues?q=is%3Aall+label%3Abeta-nominated+-label%3Abeta-accepted+label%3AT-types) / [T-types beta](https://github.com/rust-lang/rust/issues?q=is%3Aall+label%3Astable-nominated+-label%3Astable-accepted+label%3AT-types) +- No beta nominations for `T-types` this time. +- No stable nominations for `T-types` this time. + +## PRs S-waiting-on-team + +[T-compiler](https://github.com/rust-lang/rust/pulls?q=is%3Aopen+label%3AS-waiting-on-team+label%3AT-compiler) +- "Show files produced by `--emit foo` in json artifact notifications" [rust#122597](https://github.com/rust-lang/rust/pull/122597) + - pending checkboxes from team members +- [Issues in progress or waiting on other teams](https://hackmd.io/XYr1BrOWSiqCrl8RCWXRaQ) + +## Issues of Note + +### Short Summary + +- [5 T-compiler P-critical issues](https://github.com/rust-lang/rust/issues?q=is%3Aopen+label%3AT-compiler+label%3AP-critical) + - [4 of those are unassigned](https://github.com/rust-lang/rust/issues?q=is%3Aopen+label%3AT-compiler+label%3AP-critical+no%3Aassignee) +- [63 T-compiler P-high issues](https://github.com/rust-lang/rust/issues?q=is%3Aopen+label%3AT-compiler+label%3AP-high) + - [34 of those are unassigned](https://github.com/rust-lang/rust/issues?q=is%3Aopen+label%3AT-compiler+label%3AP-high+no%3Aassignee) +- [4 P-critical, 2 P-high, 1 P-medium, 2 P-low regression-from-stable-to-beta](https://github.com/rust-lang/rust/labels/regression-from-stable-to-beta) +- [0 P-critical, 0 P-high, 5 P-medium, 2 P-low regression-from-stable-to-nightly](https://github.com/rust-lang/rust/labels/regression-from-stable-to-nightly) +- [0 P-critical, 36 P-high, 100 P-medium, 16 P-low regression-from-stable-to-stable](https://github.com/rust-lang/rust/labels/regression-from-stable-to-stable) + +### P-critical + +These are mostly all regressions in the latest beta crater run (feel free to downgrade priority, if necessary) + +[T-compiler](https://github.com/rust-lang/rust/issues?q=is%3Aopen+label%3AP-critical+label%3AT-compiler) +- "`-C target_cpu=cortex-a72` (and `-target-cpu=native` on Raspberry Pi) wrongly enables crypto features that are optional on Cortex-A72" [rust#125033](https://github.com/rust-lang/rust/issues/125033) + - Tracked in [llvm-project#90365](https://github.com/llvm/llvm-project/issues/90365#issuecomment-2117644294) +- "regression: opaque types got hidden types registered from within subtype predicate" [rust#125192](https://github.com/rust-lang/rust/issues/125192) + - Regressed in #123979, @_**oli** self-assigned so it's on their radar +- "regression: trait bound not satisfied" [rust#125194](https://github.com/rust-lang/rust/issues/125194) + - [Comment](https://github.com/rust-lang/rust/issues/125194#issuecomment-2116465608) from @**lcnr**: considering reverting in #119820 for one more beta +- "regression: type annotations needed" [rust#125196](https://github.com/rust-lang/rust/issues/125196) + - Fixed by @_**Michael Goulet (compiler-errors)** in #125194 (thanks!) +- "regression: ambiguous outer attributes" [rust#125199](https://github.com/rust-lang/rust/issues/125199) + - Comes from #124099, no owner yet for a fix + - [Question](https://github.com/rust-lang/rust/issues/125199#issuecomment-2122381178) from @_**apiraino**: + > How do we want to handle the changes in #124099? I don't see a mention of it being aware about breaking changes (PR was rolled up) + > i.e. just revert or try to fix? + +[T-types](https://github.com/rust-lang/rust/issues?q=is%3Aopen+label%3AP-critical+label%3AT-types) +- No `P-critical` issues for `T-types` this time. + +### P-high regressions + +[P-high beta regressions](https://github.com/rust-lang/rust/issues?q=is%3Aopen+label%3Aregression-from-stable-to-beta+label%3AP-high+-label%3AT-infra+-label%3AT-libs+-label%3AT-libs-api+-label%3AT-release+-label%3AT-rustdoc+-label%3AT-core) +- "False positive and highly misleading suggestions for the `non-local-definitions` lint" [rust#124396](https://github.com/rust-lang/rust/issues/124396) + - Fixed by #124539, beta-accepted +- "endless loop by running `cargo test` with toolchain 2024-05-14" [rust#125269](https://github.com/rust-lang/rust/issues/125269) + - @**lcnr** authored fix #125343 (thanks!), review in progress but waiting on #125413 first to fix a test ([comment](https://github.com/rust-lang/rust/pull/125413/files#diff-32f4e070dfb8a097027fb27ee48e089c2a0d94d99d1cf4078d7f579bc7c8cef4R5)) + +[Unassigned P-high nightly regressions](https://github.com/rust-lang/rust/issues?q=is%3Aopen+label%3Aregression-from-stable-to-nightly+label%3AP-high+no%3Aassignee+-label%3AT-infra+-label%3AT-libs+-label%3AT-libs-api+-label%3AT-release+-label%3AT-rustdoc+-label%3AT-core+) +- No unassigned `P-high` nightly regressions this time. + +## Performance logs + +> [triage logs for 2024-05-21](https://github.com/rust-lang/rustc-perf/blob/master/triage/2024-05-21.md) + +Fairly quiet week with the exception of a very large improvement coming from the switch to `rust-lld` on nightly Linux. This can have very large impacts on benchmarks where linking dominates the build time (e.g., `ripgrep`, `exa`, small binaries like `hello-world`). Aside from that change, there were a few small regressions that were either deemed worth it or are still being investigated. + +Triage done by **@rylev**. +Revision range: [9105c57b..1d0e4afd](https://perf.rust-lang.org/?start=9105c57b7f6623310e33f3ee7e48a3114e5190a7&end=1d0e4afd4cac09078e12a232508c3e9f8d42535d&absolute=false&stat=instructions%3Au) + +**Summary**: + +| (instructions:u) | mean | range | count | +|:------------------------:|:------:|:---------------:|:-----:| +| Regressions (primary) | 0.7% | [0.1%, 2.5%] | 30 | +| Regressions (secondary) | 0.5% | [0.2%, 0.8%] | 5 | +| Improvements (primary) | -30.4% | [-71.7%, -0.4%] | 35 | +| Improvements (secondary) | -25.6% | [-70.9%, -0.5%] | 75 | +| All (primary) | -16.1% | [-71.7%, 2.5%] | 65 | + + +4 Regressions, 1 Improvement, 4 Mixed; 2 of them in rollups +66 artifact comparisons made in total + +#### Regressions + +Add x86_64-unknown-linux-none target [#125023](https://github.com/rust-lang/rust/pull/125023) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=c45e831d8fcd33d656047ba97d263c4b91a00735&end=31026b7fe3e510a646eddeda838d1f0859f892e7&stat=instructions:u) + +| (instructions:u) | mean | range | count | +|:------------------------:|:----:|:------------:|:-----:| +| Regressions (primary) | 0.6% | [0.2%, 1.0%] | 3 | +| Regressions (secondary) | 0.4% | [0.4%, 0.4%] | 3 | +| Improvements (primary) | - | - | 0 | +| Improvements (secondary) | - | - | 0 | +| All (primary) | 0.6% | [0.2%, 1.0%] | 3 | +- Noise + + +Rollup of 6 pull requests [#125144](https://github.com/rust-lang/rust/pull/125144) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=3cb0030fe9de01eeacb7c03eeef0c51420798cfb&end=ade234d5743795423db6cc7cd52541390a088eab&stat=instructions:u) + +| (instructions:u) | mean | range | count | +|:------------------------:|:----:|:------------:|:-----:| +| Regressions (primary) | 0.5% | [0.2%, 1.2%] | 3 | +| Regressions (secondary) | - | - | 0 | +| Improvements (primary) | - | - | 0 | +| Improvements (secondary) | - | - | 0 | +| All (primary) | 0.5% | [0.2%, 1.2%] | 3 | + + +Update `expr` matcher for Edition 2024 and add `expr_2021` nonterminal [#123865](https://github.com/rust-lang/rust/pull/123865) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=1a7397988684934ae01a71f524bdfff24895d8cc&end=9b75a4388143a163b77fa7d458e4aa4dd34ac1bd&stat=instructions:u) + +| (instructions:u) | mean | range | count | +|:------------------------:|:----:|:------------:|:-----:| +| Regressions (primary) | 0.2% | [0.2%, 0.3%] | 5 | +| Regressions (secondary) | 0.5% | [0.2%, 1.7%] | 7 | +| Improvements (primary) | - | - | 0 | +| Improvements (secondary) | - | - | 0 | +| All (primary) | 0.2% | [0.2%, 0.3%] | 5 | +- It seems the primary benchmark affected by this html5ever seems to spend lots of time in expand_crate which could be impacted by this change. +- Asked authors and reviewer whether this is worth an investigation or not. + + +Update `unexpected_cfgs` lint for Cargo new `check-cfg` config [#125219](https://github.com/rust-lang/rust/pull/125219) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=be71fd477243f253a735bb35e0cd23cc528cf30a&end=b92758a9aef1cef7b79e2b72c3d8ba113e547f89&stat=instructions:u) + +| (instructions:u) | mean | range | count | +|:------------------------:|:----:|:------------:|:-----:| +| Regressions (primary) | 0.8% | [0.2%, 2.5%] | 21 | +| Regressions (secondary) | 0.2% | [0.2%, 0.2%] | 1 | +| Improvements (primary) | - | - | 0 | +| Improvements (secondary) | - | - | 0 | +| All (primary) | 0.8% | [0.2%, 2.5%] | 21 | +- Somewhat further fall out from https://github.com/rust-lang/rust/pull/124684. This adds additional output which will slow down benchmarks which emit this warning particularly often. +- We're likely ok with this given this is the "unhappy path". + + +#### Improvements + +Enable `rust-lld` on nightly `x86_64-unknown-linux-gnu` [#124129](https://github.com/rust-lang/rust/pull/124129) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=fa37db51ac2ba8d20eb88079cb3234d0072c5c3a&end=8af67ba01a1b1d95ff375b645ef5a395d3249e09&stat=instructions:u) + +| (instructions:u) | mean | range | count | +|:------------------------:|:------:|:---------------:|:-----:| +| Regressions (primary) | - | - | 0 | +| Regressions (secondary) | - | - | 0 | +| Improvements (primary) | -30.8% | [-71.8%, -0.5%] | 31 | +| Improvements (secondary) | -25.6% | [-70.9%, -0.5%] | 75 | +| All (primary) | -30.8% | [-71.8%, -0.5%] | 31 | + + +#### Mixed + +Rollup of 7 pull requests [#125120](https://github.com/rust-lang/rust/pull/125120) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=bdfd941f4dcbe54e0283433ac970febf4092fa6a&end=ac385a5af6d9fa8399a0cec799833cd28324abf8&stat=instructions:u) + +| (instructions:u) | mean | range | count | +|:------------------------:|:-----:|:--------------:|:-----:| +| Regressions (primary) | 0.2% | [0.2%, 0.2%] | 2 | +| Regressions (secondary) | 0.5% | [0.3%, 1.0%] | 12 | +| Improvements (primary) | - | - | 0 | +| Improvements (secondary) | -0.4% | [-0.5%, -0.4%] | 2 | +| All (primary) | 0.2% | [0.2%, 0.2%] | 2 | +- Caused by https://github.com/rust-lang/rust/pull/125088. Asked the author/reviewers whether this is worth following up on. + + +Remove bound checks from `BorrowedBuf` and `BorrowedCursor` methods [#123786](https://github.com/rust-lang/rust/pull/123786) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=698293518de49ac79eb7874e97557f8e2eabda06&end=959a67a7f2215d80b55e765d6c4b3f5a711ad484&stat=instructions:u) + +| (instructions:u) | mean | range | count | +|:------------------------:|:-----:|:--------------:|:-----:| +| Regressions (primary) | 0.8% | [0.8%, 0.8%] | 1 | +| Regressions (secondary) | 1.3% | [1.3%, 1.3%] | 1 | +| Improvements (primary) | -1.7% | [-1.7%, -1.7%] | 1 | +| Improvements (secondary) | - | - | 0 | +| All (primary) | -0.5% | [-1.7%, 0.8%] | 2 | +- Noise + + +optimize inplace collection of Vec [#123878](https://github.com/rust-lang/rust/pull/123878) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=d84b9037541f45dc2c52a41d723265af211c0497&end=12075f04e677de64f740687f601114e2a21e09ca&stat=instructions:u) + +| (instructions:u) | mean | range | count | +|:------------------------:|:------:|:---------------:|:-----:| +| Regressions (primary) | 1.4% | [0.3%, 2.9%] | 3 | +| Regressions (secondary) | 0.3% | [0.2%, 0.3%] | 2 | +| Improvements (primary) | -22.7% | [-37.4%, -0.4%] | 5 | +| Improvements (secondary) | - | - | 0 | +| All (primary) | -13.7% | [-37.4%, 2.9%] | 8 | +- Improvements vastly outweigh the regressions which seemed to have returned to baseline after this PR. + + +Follow-up fixes to `report_return_mismatched_types` [#123812](https://github.com/rust-lang/rust/pull/123812) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=1d0e4afd4cac09078e12a232508c3e9f8d42535d&end=e8753914580fb42554a79a4b5c5fb4cc98933231&stat=instructions:u) + +| (instructions:u) | mean | range | count | +|:------------------------:|:-----:|:--------------:|:-----:| +| Regressions (primary) | 1.1% | [0.6%, 1.8%] | 3 | +| Regressions (secondary) | 0.2% | [0.1%, 0.2%] | 6 | +| Improvements (primary) | - | - | 0 | +| Improvements (secondary) | -1.1% | [-1.1%, -1.1%] | 2 | +| All (primary) | 1.1% | [0.6%, 1.8%] | 3 | +- Single benchmark with a large regression. Asked author to investigate. + +## Nominated Issues + +[T-compiler](https://github.com/rust-lang/rust/issues?q=is%3Aopen+label%3AI-compiler-nominated) +- No I-compiler-nominated issues this time. + +[RFC](https://github.com/rust-lang/rfcs/issues?q=is%3Aopen+label%3AI-compiler-nominated) +- No I-compiler-nominated RFCs this time. + +### Oldest PRs waiting for review + +[T-compiler](https://github.com/rust-lang/rust/pulls?q=is%3Apr+is%3Aopen+sort%3Aupdated-asc+label%3AS-waiting-on-review+draft%3Afalse+label%3AT-compiler) +- TODO + +## Next week's WG checkins + +- @_*WG-async* by @**nikomatsakis** and @**tmandry** +- @_*WG-diagnostics* by @**Esteban Küber** and @**oli** + +Next meetings' agenda draft: [hackmd link](https://hackmd.io/khtxxG3CQ5KkoiqKDN_qug) diff --git a/content/minutes/triage-meeting/T-compiler Meeting Agenda 2024-05-30.md b/content/minutes/triage-meeting/T-compiler Meeting Agenda 2024-05-30.md new file mode 100644 index 00000000..1a03cddc --- /dev/null +++ b/content/minutes/triage-meeting/T-compiler Meeting Agenda 2024-05-30.md @@ -0,0 +1,327 @@ +--- +tags: weekly, rustc +type: docs +note_id: khtxxG3CQ5KkoiqKDN_qug +--- + +# T-compiler Meeting Agenda 2024-05-30 + +## Announcements + +- Friday [steering meeting]: Project Goals by @_**nikomatsakis** +- Reminder: if you see a PR/issue that seems like there might be legal implications due to copyright/IP/etc, please let us know (or at least message @_**davidtwco** or @_**Wesley Wiser** so we can pass it along). + +## MCPs/FCPs + +- New MCPs (take a look, see if you like them!) + - No new proposals this time. +- Old MCPs (stale MCP might be closed as per [MCP procedure](https://forge.rust-lang.org/compiler/mcp.html#when-should-major-change-proposals-be-closed)) + - None at this time +- Old MCPs (not seconded, take a look) + - "Add hygiene attributes to compile expanded source code" [compiler-team#692](https://github.com/rust-lang/compiler-team/issues/692) ([Zulip](https://rust-lang.zulipchat.com/#narrow/stream/233931-xxx/topic/Add.20option.20to.20compile.20expanded.20ASTs.20for.20h.E2.80.A6.20compiler-team.23692)) (last review activity: 4 months ago) + - concern: [added-complexity-to-frontend](https://github.com/rust-lang/compiler-team/issues/692#issuecomment-1845169318) + - "Target families for executable format" [compiler-team#716](https://github.com/rust-lang/compiler-team/issues/716) ([Zulip](https://rust-lang.zulipchat.com/#narrow/stream/233931-xxx/topic/Target.20families.20for.20executable.20format.20compiler-team.23716)) (last review activity: 3 months ago) + - "Promote riscv64gc-unknown-linux-musl to tier 2" [compiler-team#728](https://github.com/rust-lang/compiler-team/issues/728) ([Zulip](https://rust-lang.zulipchat.com/#narrow/stream/233931-xxx/topic/Promote.20riscv64gc-unknown-linux-gnu.20to.20ti.E2.80.A6.20compiler-team.23728)) (last review activity: 2 months ago) + - "Only emit forward compatible v0 symbol names with graceful degradation" [compiler-team#737](https://github.com/rust-lang/compiler-team/issues/737) ([Zulip](https://rust-lang.zulipchat.com/#narrow/stream/233931-xxx/topic/Only.20emit.20forward.20compatible.20v0.20symbol.20na.E2.80.A6.20compiler-team.23737)) (last review activity: about 54 days ago) + - "Partial compilation using MIR-only rlibs" [compiler-team#738](https://github.com/rust-lang/compiler-team/issues/738) ([Zulip](https://rust-lang.zulipchat.com/#narrow/stream/233931-xxx/topic/Partial.20compilation.20using.20MIR-only.20rlibs.20compiler-team.23738)) (last review activity: about 47 days ago) + - "Add Hotpatch flag" [compiler-team#745](https://github.com/rust-lang/compiler-team/issues/745) ([Zulip](https://rust-lang.zulipchat.com/#narrow/stream/233931-xxx/topic/Add.20Hotpatch.20flag.20compiler-team.23745)) (last review activity: about 13 days ago) + - "Add a `--emit=nameres` for IDEs" [compiler-team#749](https://github.com/rust-lang/compiler-team/issues/749) ([Zulip](https://rust-lang.zulipchat.com/#narrow/stream/233931-xxx/topic/Add.20a.20.60--emit.3Dnameres.60.20for.20IDEs.20compiler-team.23749)) (last review activity: about 5 days ago) + - "Fully rustfmt `use` declarations" [compiler-team#750](https://github.com/rust-lang/compiler-team/issues/750) ([Zulip](https://rust-lang.zulipchat.com/#narrow/stream/233931-xxx/topic/.28My.20major.20change.20proposal.29.20compiler-team.23750)) (last review activity: about 5 days ago) +- Pending FCP requests (check your boxes!) + - merge: [Add a new `--build-id` flag to rustc (compiler-team#635)](https://github.com/rust-lang/compiler-team/issues/635#issuecomment-1777545767) + - @_**|125250** @_**|116107** @_**|125294** @_**|123856** + - concerns: [other-existing-options (by petrochenkov)](https://github.com/rust-lang/compiler-team/issues/635#issuecomment-1779597156) [option-name (by wesleywiser)](https://github.com/rust-lang/compiler-team/issues/635#issuecomment-1785349936) + - "Retire the mailing list and make all decisions on zulip" [compiler-team#649](https://github.com/rust-lang/compiler-team/issues/649) ([Zulip](https://rust-lang.zulipchat.com/#narrow/stream/233931-xxx/topic/Retire.20the.20mailing.20list.20and.20make.20all.20deci.E2.80.A6.20compiler-team.23649)) + - concern: [automatic-sync](https://github.com/rust-lang/compiler-team/issues/649#issuecomment-1618902660) + - merge: [Stabilize `--env-set` option (rust#119926)](https://github.com/rust-lang/rust/pull/119926#issuecomment-1898766442) + - @_**|119009** @_**|124288** @_**|123586** @_**|125250** @_**|119031** @_**|124287** @_**|116118** + - concerns: [other-rustc-vars (by petrochenkov)](https://github.com/rust-lang/rust/pull/119926#issuecomment-1900703005) + - merge: [sanitizers: stabilize core sanitizers (i.e., AddressSanitizer, LeakSanitizer, MemorySanitizer, ThreadSanitizer) (rust#123617)](https://github.com/rust-lang/rust/pull/123617#issuecomment-2135121317) + - @_**|119009** @_**|116083** @_**|124288** @_**|123586** @_**|125250** @_**|119031** @_**|124287** @_**|426609** @_**|123856** @_**|116118** @_**|232957** + - no pending concerns + - merge: [allow overwriting the output of `rustc --version` (rust#124339)](https://github.com/rust-lang/rust/pull/124339#issuecomment-2075414901) + - @_**|248906** @_**|426609** @_**|116118** @_**|216206** @_**|232957** + - no pending concerns + - merge: [Add `--print host-triple` to print host target triple (rust#125579)](https://github.com/rust-lang/rust/pull/125579#issuecomment-2133192548) + - @_**|119009** @_**|116083** @_**|123586** @_**|125250** @_**|426609** @_**|116118** @_**|232957** + - concerns: [triple vs tuple (by lcnr)](https://github.com/rust-lang/rust/pull/125579#issuecomment-2133938172) +- Things in FCP (make sure you're good with it) + - "Promote arm64ec-pc-windows-msvc to tier 2" [compiler-team#746](https://github.com/rust-lang/compiler-team/issues/746) ([Zulip](https://rust-lang.zulipchat.com/#narrow/stream/233931-xxx/topic/Promote.20arm64ec-pc-windows-msvc.20to.20tier.202.20compiler-team.23746)) + - "Promote loongarch64-unknown-linux-musl to tier 2" [compiler-team#753](https://github.com/rust-lang/compiler-team/issues/753) ([Zulip](https://rust-lang.zulipchat.com/#narrow/stream/233931-xxx/topic/Promote.20loongarch64-unknown-linux-musl.20to.E2.80.A6.20compiler-team.23753)) + - "Show files produced by `--emit foo` in json artifact notifications" [rust#122597](https://github.com/rust-lang/rust/pull/122597) +- Accepted MCPs + - "Skip virtual drop for !needs_drop types" [compiler-team#730](https://github.com/rust-lang/compiler-team/issues/730) ([Zulip](https://rust-lang.zulipchat.com/#narrow/stream/233931-xxx/topic/Skip.20virtual.20drop.20for.20.21needs_drop.20types.20compiler-team.23730)) + - "Add `--emit=thin-link-bitcode` to enable distributed ThinLTO users" [compiler-team#735](https://github.com/rust-lang/compiler-team/issues/735) ([Zulip](https://rust-lang.zulipchat.com/#narrow/stream/233931-xxx/topic/Add.20.60-Zemit-thin-lto-index.3D.3Cpath.3E.60.20to.20ena.E2.80.A6.20compiler-team.23735)) + - "Add --print=check-cfg" [compiler-team#743](https://github.com/rust-lang/compiler-team/issues/743) ([Zulip](https://rust-lang.zulipchat.com/#narrow/stream/233931-xxx/topic/Add.20--print.3Dcheck-cfg.20compiler-team.23743)) + - "Support `-Cforce-frame-pointers=non-leaf`" [compiler-team#744](https://github.com/rust-lang/compiler-team/issues/744) ([Zulip](https://rust-lang.zulipchat.com/#narrow/stream/233931-xxx/topic/Support.20.60-Cforce-frame-pointers.3Dnon-leaf.60.20compiler-team.23744)) + - "`-Zfixed-x18`" [compiler-team#748](https://github.com/rust-lang/compiler-team/issues/748) ([Zulip](https://rust-lang.zulipchat.com/#narrow/stream/233931-xxx/topic/.60-Cfixed-x18.60.20compiler-team.23748)) +- Finalized FCPs (disposition merge) + - No new finished FCP (disposition merge) this time. +- Other teams finalized FCPs + - "Tracking Issue for asm_const" [rust#93332](https://github.com/rust-lang/rust/issues/93332) + - "Edition 2024: Make `!` fall back to `!`" [rust#123508](https://github.com/rust-lang/rust/pull/123508) + - "Edition 2024: don't special-case diverging blocks" [rust#123590](https://github.com/rust-lang/rust/pull/123590) + - "Turn remaining non-structural-const-in-pattern lints into hard errors" [rust#124661](https://github.com/rust-lang/rust/pull/124661) + +### WG checkins + +- @_*WG-async* by @**nikomatsakis** and @**tmandry** + > Checkin text + +- @_*WG-diagnostics* by @**Esteban Küber** and @**oli** + > Checkin text + +## Backport nominations + +[T-compiler beta](https://github.com/rust-lang/rust/issues?q=is%3Aall+label%3Abeta-nominated+-label%3Abeta-accepted+label%3AT-compiler) / [T-compiler stable](https://github.com/rust-lang/rust/issues?q=is%3Aall+label%3Astable-nominated+-label%3Astable-accepted+label%3AT-compiler) +- :beta: "Fix ICE in non-operand `aggregate_raw_ptr` intrinsic codegen" [rust#125184](https://github.com/rust-lang/rust/pull/125184) + - Authored by scottmcm + - Ben nominated: + > I would like this in beta so that the stage0 compiler does not ICE if it gets passed -Zmir-opt-level=0. Yes I can work around this issue without huge difficulty, but the diff here is so small. + +- :beta: "Revert problematic opaque type change" [rust#125489](https://github.com/rust-lang/rust/pull/125489) + - Authored by oli-obk + - Fixes P-critical beta regression + +- :beta: "[BETA] revert leak check changes" [rust#125629](https://github.com/rust-lang/rust/pull/125629) + - Authored by lcnr + - Fixes P-critical beta regression + +- :beta: "ast: Revert a breaking attribute visiting order change #125734" + - Authored by petrochenkov + - Fixes P-high beta regression + +- No stable nominations for `T-compiler` this time. + +[T-types stable](https://github.com/rust-lang/rust/issues?q=is%3Aall+label%3Abeta-nominated+-label%3Abeta-accepted+label%3AT-types) / [T-types beta](https://github.com/rust-lang/rust/issues?q=is%3Aall+label%3Astable-nominated+-label%3Astable-accepted+label%3AT-types) +- No beta nominations for `T-types` this time. +- No stable nominations for `T-types` this time. + +## PRs S-waiting-on-team + +[T-compiler](https://github.com/rust-lang/rust/pulls?q=is%3Aopen+label%3AS-waiting-on-team+label%3AT-compiler) +- [Issues in progress or waiting on other teams](https://hackmd.io/XYr1BrOWSiqCrl8RCWXRaQ) + +## Issues of Note + +### Short Summary + +- [4 T-compiler P-critical issues](https://github.com/rust-lang/rust/issues?q=is%3Aopen+label%3AT-compiler+label%3AP-critical) + - [3 of those are unassigned](https://github.com/rust-lang/rust/issues?q=is%3Aopen+label%3AT-compiler+label%3AP-critical+no%3Aassignee) +- [64 T-compiler P-high issues](https://github.com/rust-lang/rust/issues?q=is%3Aopen+label%3AT-compiler+label%3AP-high) + - [34 of those are unassigned](https://github.com/rust-lang/rust/issues?q=is%3Aopen+label%3AT-compiler+label%3AP-high+no%3Aassignee) +- [3 P-critical, 1 P-high, 2 P-medium, 2 P-low regression-from-stable-to-beta](https://github.com/rust-lang/rust/labels/regression-from-stable-to-beta) +- [0 P-critical, 0 P-high, 5 P-medium, 2 P-low regression-from-stable-to-nightly](https://github.com/rust-lang/rust/labels/regression-from-stable-to-nightly) +- [0 P-critical, 36 P-high, 100 P-medium, 16 P-low regression-from-stable-to-stable](https://github.com/rust-lang/rust/labels/regression-from-stable-to-stable) + +### P-critical + +[T-compiler](https://github.com/rust-lang/rust/issues?q=is%3Aopen+label%3AP-critical+label%3AT-compiler) +- "`-C target_cpu=cortex-a72` (and `-target-cpu=native` on Raspberry Pi) wrongly enables crypto features that are optional on Cortex-A72" [rust#125033](https://github.com/rust-lang/rust/issues/125033) + - Discussed extensively last week +- "regression: trait bound not satisfied" [rust#125194](https://github.com/rust-lang/rust/issues/125194) + - Fix was beta nominated +- "regression: type annotations needed" [rust#125196](https://github.com/rust-lang/rust/issues/125196) +- "regression: ambiguous outer attributes" [rust#125199](https://github.com/rust-lang/rust/issues/125199) + +[T-types](https://github.com/rust-lang/rust/issues?q=is%3Aopen+label%3AP-critical+label%3AT-types) +- No `P-critical` issues for `T-types` this time. + +### P-high regressions + +[P-high beta regressions](https://github.com/rust-lang/rust/issues?q=is%3Aopen+label%3Aregression-from-stable-to-beta+label%3AP-high+-label%3AT-infra+-label%3AT-libs+-label%3AT-libs-api+-label%3AT-release+-label%3AT-rustdoc+-label%3AT-core) +- "regression: cannot find macro in scope" [rust#125201](https://github.com/rust-lang/rust/issues/125201) + - Fix was beta nominated + +[Unassigned P-high nightly regressions](https://github.com/rust-lang/rust/issues?q=is%3Aopen+label%3Aregression-from-stable-to-nightly+label%3AP-high+no%3Aassignee+-label%3AT-infra+-label%3AT-libs+-label%3AT-libs-api+-label%3AT-release+-label%3AT-rustdoc+-label%3AT-core+) +- No unassigned `P-high` nightly regressions this time. + +## Performance logs + +# 2024-05-27 Triage Log + +A relatively quiet week, with few large changes, the largest driven by further +increasing the scope of unsafe precondition checking. + +Triage done by **@simulacrum**. +Revision range: [1d0e4afd..a59072ec](https://perf.rust-lang.org/?start=1d0e4afd4cac09078e12a232508c3e9f8d42535d&end=a59072ec4fb6824213df5e9de8cae4812fd4fe97&absolute=false&stat=instructions%3Au) + +**Summary**: + +| (instructions:u) | mean | range | count | +|:----------------------------------:|:-----:|:--------------:|:-----:| +| Regressions ❌
(primary) | 1.6% | [0.2%, 6.3%] | 84 | +| Regressions ❌
(secondary) | 0.9% | [0.1%, 3.8%] | 66 | +| Improvements ✅
(primary) | -0.4% | [-2.3%, -0.2%] | 37 | +| Improvements ✅
(secondary) | -1.7% | [-3.8%, -0.2%] | 22 | +| All ❌✅ (primary) | 1.0% | [-2.3%, 6.3%] | 121 | + +2 Regressions, 3 Improvements, 5 Mixed; 3 of them in rollups +51 artifact comparisons made in total + +#### Regressions + +Rewrite native thread-local storage [#116123](https://github.com/rust-lang/rust/pull/116123) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=ed172dbbaf1c702b99da54554b33b3fe65021da9&end=9c8a58fdb895204cb19eeb97472a78caa1c57c19&stat=instructions:u) + +| (instructions:u) | mean | range | count | +|:----------------------------------:|:----:|:------------:|:-----:| +| Regressions ❌
(primary) | 0.4% | [0.2%, 1.2%] | 10 | +| Regressions ❌
(secondary) | 1.0% | [0.7%, 1.6%] | 9 | +| Improvements ✅
(primary) | - | - | 0 | +| Improvements ✅
(secondary) | - | - | 0 | +| All ❌✅ (primary) | 0.4% | [0.2%, 1.2%] | 10 | + +Regressions deemed worth the overall change's contents (see +https://github.com/rust-lang/rust/pull/116123#issuecomment-2009408868). The TLS +state is now stored in a single thread-local object rather than two, which +should decrease costs of addressing it in general (modulo LLVM difficulties). + +Rollup of 6 pull requests [#125463](https://github.com/rust-lang/rust/pull/125463) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=78dd504f2fd87c0cfabff7d9174253411caf2f80&end=7601adcc764d42c9f2984082b49948af652df986&stat=instructions:u) + +| (instructions:u) | mean | range | count | +|:----------------------------------:|:-----:|:--------------:|:-----:| +| Regressions ❌
(primary) | 1.4% | [1.1%, 2.0%] | 8 | +| Regressions ❌
(secondary) | 1.0% | [0.4%, 1.8%] | 23 | +| Improvements ✅
(primary) | -0.5% | [-0.5%, -0.5%] | 1 | +| Improvements ✅
(secondary) | -0.3% | [-0.3%, -0.3%] | 1 | +| All ❌✅ (primary) | 1.2% | [-0.5%, 2.0%] | 9 | + +Likely related to fixing an issue around LLD discovery, see +https://github.com/rust-lang/rust/pull/125463#issuecomment-2129069901. Bugfix +warrants spending a bit more time. + +#### Improvements + +Move the checks for Arguments constructors to inline const [#125518](https://github.com/rust-lang/rust/pull/125518) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=0a59f113629aafb6e5ee55ad04a2d451a11d8466&end=75e2c5dcd0ddce0fe0eb3d4a2195cd51073c729b&stat=instructions:u) + +| (instructions:u) | mean | range | count | +|:----------------------------------:|:-----:|:--------------:|:-----:| +| Regressions ❌
(primary) | - | - | 0 | +| Regressions ❌
(secondary) | - | - | 0 | +| Improvements ✅
(primary) | -0.5% | [-0.7%, -0.3%] | 5 | +| Improvements ✅
(secondary) | -0.5% | [-0.9%, -0.4%] | 7 | +| All ❌✅ (primary) | -0.5% | [-0.7%, -0.3%] | 5 | + + +Remove `DefId` from `EarlyParamRegion` [#125468](https://github.com/rust-lang/rust/pull/125468) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=cdc509f7c09361466d543fc8311ce7066b10cc4f&end=fec98b3bbc94b54a0b3085d004708aabcc48081a&stat=instructions:u) + +| (instructions:u) | mean | range | count | +|:----------------------------------:|:-----:|:--------------:|:-----:| +| Regressions ❌
(primary) | - | - | 0 | +| Regressions ❌
(secondary) | - | - | 0 | +| Improvements ✅
(primary) | -0.4% | [-0.9%, -0.2%] | 48 | +| Improvements ✅
(secondary) | -0.8% | [-2.0%, -0.3%] | 19 | +| All ❌✅ (primary) | -0.4% | [-0.9%, -0.2%] | 48 | + + +[perf] Delay the construction of early lint diag structs [#125410](https://github.com/rust-lang/rust/pull/125410) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=fec98b3bbc94b54a0b3085d004708aabcc48081a&end=b582f807fae230b22ac126ff1d8a13262bb099ba&stat=instructions:u) + +| (instructions:u) | mean | range | count | +|:----------------------------------:|:-----:|:--------------:|:-----:| +| Regressions ❌
(primary) | - | - | 0 | +| Regressions ❌
(secondary) | - | - | 0 | +| Improvements ✅
(primary) | -0.5% | [-0.7%, -0.3%] | 12 | +| Improvements ✅
(secondary) | -2.0% | [-2.8%, -1.2%] | 13 | +| All ❌✅ (primary) | -0.5% | [-0.7%, -0.3%] | 12 | + + +#### Mixed + +Follow-up fixes to `report_return_mismatched_types` [#123812](https://github.com/rust-lang/rust/pull/123812) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=1d0e4afd4cac09078e12a232508c3e9f8d42535d&end=e8753914580fb42554a79a4b5c5fb4cc98933231&stat=instructions:u) + +| (instructions:u) | mean | range | count | +|:----------------------------------:|:-----:|:--------------:|:-----:| +| Regressions ❌
(primary) | 1.1% | [0.6%, 1.8%] | 3 | +| Regressions ❌
(secondary) | 0.2% | [0.1%, 0.2%] | 6 | +| Improvements ✅
(primary) | - | - | 0 | +| Improvements ✅
(secondary) | -1.1% | [-1.1%, -1.1%] | 2 | +| All ❌✅ (primary) | 1.1% | [0.6%, 1.8%] | 3 | + +Seems to be limited primarily to one scenario in regex, with lots of new +metadata decoding. Asked for follow-up by PR author. + +Make early lints translatable [#124417](https://github.com/rust-lang/rust/pull/124417) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=39e02f1bd1e53d009da382654139f7c0639172a8&end=791adf759cc065316f054961875052d5bc03e16c&stat=instructions:u) + +| (instructions:u) | mean | range | count | +|:----------------------------------:|:-----:|:--------------:|:-----:| +| Regressions ❌
(primary) | 1.5% | [0.2%, 6.3%] | 66 | +| Regressions ❌
(secondary) | 0.4% | [0.3%, 0.5%] | 7 | +| Improvements ✅
(primary) | - | - | 0 | +| Improvements ✅
(secondary) | -0.7% | [-1.1%, -0.6%] | 12 | +| All ❌✅ (primary) | 1.5% | [0.2%, 6.3%] | 66 | + +Regressions are partially mitigated by #125410 (see earlier in the report). +Further follow-up is expected to investigate closing remaining gap +(https://github.com/rust-lang/rust/pull/124417#issuecomment-2126056523). + +Panic directly in Arguments::new* instead of recursing [#117804](https://github.com/rust-lang/rust/pull/117804) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=9c8a58fdb895204cb19eeb97472a78caa1c57c19&end=606afbb617a2949a4e35c4b0258ff94c980b9451&stat=instructions:u) + +| (instructions:u) | mean | range | count | +|:----------------------------------:|:-----:|:--------------:|:-----:| +| Regressions ❌
(primary) | 0.3% | [0.3%, 0.3%] | 2 | +| Regressions ❌
(secondary) | 0.4% | [0.1%, 0.9%] | 9 | +| Improvements ✅
(primary) | -0.5% | [-0.5%, -0.5%] | 1 | +| Improvements ✅
(secondary) | - | - | 0 | +| All ❌✅ (primary) | 0.0% | [-0.5%, 0.3%] | 3 | + +Regressions are likely to be inliner noise, not meaningful changes. + +Rollup of 7 pull requests [#125456](https://github.com/rust-lang/rust/pull/125456) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=606afbb617a2949a4e35c4b0258ff94c980b9451&end=5baee04b6349d176440cb1fcd5424a89f67b9f7b&stat=instructions:u) + +| (instructions:u) | mean | range | count | +|:----------------------------------:|:-----:|:--------------:|:-----:| +| Regressions ❌
(primary) | - | - | 0 | +| Regressions ❌
(secondary) | 0.3% | [0.2%, 0.4%] | 8 | +| Improvements ✅
(primary) | -0.3% | [-0.4%, -0.3%] | 2 | +| Improvements ✅
(secondary) | -0.5% | [-0.9%, -0.4%] | 7 | +| All ❌✅ (primary) | -0.3% | [-0.4%, -0.3%] | 2 | + +Seems plausible that the regression is due to #124389 (since it affected derive +macros). But also seems not worth further investigation given it's a secondary +benchmark and minimal impact. Marked as triaged. + +Add assert_unsafe_precondition to unchecked_{add,sub,neg,mul,shl,shr} methods [#121571](https://github.com/rust-lang/rust/pull/121571) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=14562ddf8c4302a52c72c9c71f5be6516fec5537&end=48f00110d0dae38b3046a9ac05d20ea321fd6637&stat=instructions:u) + +| (instructions:u) | mean | range | count | +|:----------------------------------:|:-----:|:--------------:|:-----:| +| Regressions ❌
(primary) | 1.5% | [0.2%, 3.4%] | 27 | +| Regressions ❌
(secondary) | 1.8% | [0.4%, 3.8%] | 5 | +| Improvements ✅
(primary) | -0.9% | [-2.5%, -0.3%] | 5 | +| Improvements ✅
(secondary) | - | - | 0 | +| All ❌✅ (primary) | 1.1% | [-2.5%, 3.4%] | 32 | + +Regressions are likely expected as we're lowering more code that's late-removed. + +## Nominated Issues + +[T-compiler](https://github.com/rust-lang/rust/issues?q=is%3Aopen+label%3AI-compiler-nominated) +- No I-compiler-nominated issues this time. + +[RFC](https://github.com/rust-lang/rfcs/issues?q=is%3Aopen+label%3AI-compiler-nominated) +- No I-compiler-nominated RFCs this time. + +### Oldest PRs waiting for review + +None this week + +Next meetings' agenda draft: [hackmd link](#)