diff --git a/content/minutes/triage-meeting/T-compiler Meeting Agenda 2025-01-02.md b/content/minutes/triage-meeting/T-compiler Meeting Agenda 2025-01-02.md new file mode 100644 index 00000000..40222770 --- /dev/null +++ b/content/minutes/triage-meeting/T-compiler Meeting Agenda 2025-01-02.md @@ -0,0 +1,82 @@ +--- +tags: weekly, rustc +type: docs +note_id: OYXFrqEcTiuIRyZA0mjU-Q +--- + +# T-compiler Meeting Agenda 2025-01-02 + +## Announcements + +- Next week release of rustc stable 1.84 + +### P-high regressions + +[P-high beta regressions](https://github.com/rust-lang/rust/issues?q=is%3Aopen+label%3Aregression-from-stable-to-beta+label%3AP-high+-label%3AT-infra+-label%3AT-libs+-label%3AT-libs-api+-label%3AT-release+-label%3AT-rustdoc+-label%3AT-core) +- "regression: ICE: `tcx.extern_crate(LocalCrate)` is not supported for this key" [rust#134705](https://github.com/rust-lang/rust/issues/134705) + - Regression found in latest beta crater run, solved by #133585 ([beta-backport approved](https://rust-lang.zulipchat.com/#narrow/channel/238009-t-compiler.2Fmeetings/topic/.5Bweekly.5D.202024-12-26/near/490872595)) + +[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-12-30](https://github.com/rust-lang/rustc-perf/blob/master/triage/2024-12-30.md) + +A pretty quiet week, with the exception of a significant improvement due to +landing LTO for C / C++ programs compiled as part of the build. + +Triage done by **@simulacrum**. +Revision range: [0eca4dd3..93722f7e](https://perf.rust-lang.org/?start=0eca4dd3205a01dba4bd7b7c140ec370aff03440&end=93722f7ed56bcf27839a6355074095c4320b7d37&absolute=false&stat=instructions%3Au) + +**Summary**: + +| (instructions:u) | mean | range | count | +|:------------------------:|:-----:|:--------------:|:-----:| +| Regressions (primary) | - | - | 0 | +| Regressions (secondary) | - | - | 0 | +| Improvements (primary) | -0.6% | [-5.6%, -0.2%] | 265 | +| Improvements (secondary) | -0.7% | [-1.8%, -0.2%] | 187 | +| All (primary) | -0.6% | [-5.6%, -0.2%] | 265 | + +0 Regressions, 1 Improvements, 1 Mixed; 0 of them in rollups +53 artifact comparisons made in total + +#### Regressions + +No meaningful regressions this week. + +#### Improvements + +CI: Add LTO support to clang in dist-x86_64-linux [#134690](https://github.com/rust-lang/rust/pull/134690) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=dd84b7d5eec3c20d7fcd13e6450af029d3cece9d&end=ecc189922dac830ff866f4609311e6afcc4a91f6&stat=instructions:u) + +| (instructions:u) | mean | range | count | +|:----------------------------------:|:-----:|:--------------:|:-----:| +| Regressions (primary) | - | - | 0 | +| Regressions (secondary) | - | - | 0 | +| Improvements (primary) | -0.7% | [-5.5%, -0.3%] | 275 | +| Improvements (secondary) | -0.9% | [-2.6%, -0.2%] | 235 | +| All (primary) | -0.7% | [-5.5%, -0.3%] | 275 | + +#### Mixed + +Consider empty-unreachable otherwise branches in MatchBranchSimplification [#131244](https://github.com/rust-lang/rust/pull/131244) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=8b3f7ac5262531aefa227f90387cf2eb34aae800&end=4e0bc490c60d3588f3ec0aa2eee2cf0696c7c333&stat=instructions:u) + +| (instructions:u) | mean | range | count | +|:----------------------------------:|:-----:|:--------------:|:-----:| +| Regressions (primary) | 0.2% | [0.2%, 0.2%] | 1 | +| Regressions (secondary) | 0.3% | [0.2%, 0.3%] | 4 | +| Improvements (primary) | -0.6% | [-0.7%, -0.5%] | 2 | +| Improvements (secondary) | -0.2% | [-0.3%, -0.1%] | 2 | +| All (primary) | -0.3% | [-0.7%, 0.2%] | 3 | + +## Nominated Issues + +[T-compiler](https://github.com/rust-lang/rust/issues?q=is%3Aopen+label%3AI-compiler-nominated) +- "Built-in attributes are treated differently vs prelude attributes, unstable built-in attributes can name-collide with stable macro, and built-in attributes can break back-compat" [rust#134963](https://github.com/rust-lang/rust/issues/134963) + - Nominated by @**Jieyou Xu**, suggests not requiring immediate attention, can be postponed to next week + +[RFC](https://github.com/rust-lang/rfcs/issues?q=is%3Aopen+label%3AI-compiler-nominated) +- No I-compiler-nominated RFCs this time. + +Next meetings' agenda draft: [hackmd link](https://hackmd.io/EA9mhXkIR8muLGlnLyQ8Ug) diff --git a/content/minutes/triage-meeting/T-compiler Meeting Agenda 2025-01-09.md b/content/minutes/triage-meeting/T-compiler Meeting Agenda 2025-01-09.md new file mode 100644 index 00000000..18a83d3b --- /dev/null +++ b/content/minutes/triage-meeting/T-compiler Meeting Agenda 2025-01-09.md @@ -0,0 +1,258 @@ +--- +tags: weekly, rustc +type: docs +note_id: EA9mhXkIR8muLGlnLyQ8Ug +--- + +# T-compiler Meeting Agenda 2025-01-09 + +## Announcements + +- T-lang have scheduled a C++ interop design meeting on and they want anyone interested/with opinions from compiler to attend +- Today release of Rust stable 1.84 :tada: and [blog post](https://github.com/Mark-Simulacrum/blog.rust-lang.org/blob/blog-1.84.0/posts/2025-01-09-Rust-1.84.0.md) +- Reminder: if you see a PR/issue that seems like there might be legal implications due to copyright/IP/etc, please let us know (or at least message @_**davidtwco** or @_**Wesley Wiser** so we can pass it along). + +### Other WG meetings + +- @_**davidtwco** office hours + +## MCPs/FCPs + +**Note**: there are a few [MCP in FCP status](https://github.com/rust-lang/compiler-team/issues?q=is%3Aissue+is%3Aopen+label%3Afinal-comment-period+sort%3Acreated-asc) that technically can be closed as accepted. Due to the overlapping holidays in western timezones, we allowed a bit more time for people to look at them. We're going to close them soon :-) + +- New MCPs (take a look, see if you like them!) + - "Rename "dylib" crate type to "rdylib" (keep old name but deprecate it), and maybe do the same for "staticlib" → "cstaticlib"" [compiler-team#825](https://github.com/rust-lang/compiler-team/issues/825) ([Zulip](https://rust-lang.zulipchat.com/#narrow/stream/233931-xxx/topic/Rename.20.22dylib.22.20create.20type.20to.20.22rdylib.22.20.28k.E2.80.A6.20compiler-team.23825)) + - "Add new targets for Cygwin (and MSYS2)" [compiler-team#826](https://github.com/rust-lang/compiler-team/issues/826) ([Zulip](https://rust-lang.zulipchat.com/#narrow/stream/233931-xxx/topic/Add.20new.20targets.20for.20Cygwin.20.28and.20MSYS2.29.20compiler-team.23826)) +- Old MCPs (stale MCP might be closed as per [MCP procedure](https://forge.rust-lang.org/compiler/mcp.html#when-should-major-change-proposals-be-closed)) + - None at this time +- Old MCPs (not seconded, take a look) + - "Add hygiene attributes to compile expanded source code" [compiler-team#692](https://github.com/rust-lang/compiler-team/issues/692) ([Zulip](https://rust-lang.zulipchat.com/#narrow/stream/233931-xxx/topic/Add.20option.20to.20compile.20expanded.20ASTs.20for.20h.E2.80.A6.20compiler-team.23692)) (last review activity: 3 months ago) + - "Add Hotpatch flag" [compiler-team#745](https://github.com/rust-lang/compiler-team/issues/745) ([Zulip](https://rust-lang.zulipchat.com/#narrow/stream/233931-xxx/topic/Add.20Hotpatch.20flag.20compiler-team.23745)) (last review activity: 3 months ago) + - "Policy change around adding new unstable flags" [compiler-team#787](https://github.com/rust-lang/compiler-team/issues/787) ([Zulip](https://rust-lang.zulipchat.com/#narrow/stream/233931-xxx/topic/Policy.20change.20around.20adding.20new.20unstable.20.E2.80.A6.20compiler-team.23787)) (last review activity: 2 months ago) + - "Normalize FileCheck directives" [compiler-team#789](https://github.com/rust-lang/compiler-team/issues/789) ([Zulip](https://rust-lang.zulipchat.com/#narrow/stream/233931-xxx/topic/Normalize.20FileCheck.20directives.20compiler-team.23789)) (last review activity: 2 months ago) + - "Create an avr-unknown-none target" [compiler-team#800](https://github.com/rust-lang/compiler-team/issues/800) ([Zulip](https://rust-lang.zulipchat.com/#narrow/stream/233931-xxx/topic/Create.20an.20avr-unknown-unknown.20target.20compiler-team.23800)) (last review activity: 2 months ago) + - "Demote `i686-pc-windows-gnu`" [compiler-team#822](https://github.com/rust-lang/compiler-team/issues/822) ([Zulip](https://rust-lang.zulipchat.com/#narrow/stream/233931-xxx/topic/Demote.20.60i686-pc-windows-gnu.60.20compiler-team.23822)) (last review activity: about 13 days ago) + - "Add amdgpu target" [compiler-team#823](https://github.com/rust-lang/compiler-team/issues/823) ([Zulip](https://rust-lang.zulipchat.com/#narrow/stream/233931-xxx/topic/Add.20amdgpu.20target.20compiler-team.23823)) (last review activity: about 1 days ago) +- Pending FCP requests (check your boxes!) + - "sanitizers: Stabilize AddressSanitizer and LeakSanitizer for the Tier 1 targets" [rust#123617](https://github.com/rust-lang/rust/pull/123617) +- Things in FCP (make sure you're good with it) + - "Relink, don't rebuild" [compiler-team#790](https://github.com/rust-lang/compiler-team/issues/790) ([Zulip](https://rust-lang.zulipchat.com/#narrow/stream/233931-xxx/topic/Relink.2C.20don.27t.20rebuild.20compiler-team.23790)) + - "Use debuginfo for short backtrace printing" [compiler-team#818](https://github.com/rust-lang/compiler-team/issues/818) ([Zulip](https://rust-lang.zulipchat.com/#narrow/stream/233931-xxx/topic/Use.20debuginfo.20for.20short.20backtrace.20printing.20compiler-team.23818)) + - "Policy: rustc can be run on case-insensitive filesystems but works in a case-sensitive way" [compiler-team#819](https://github.com/rust-lang/compiler-team/issues/819) ([Zulip](https://rust-lang.zulipchat.com/#narrow/stream/233931-xxx/topic/Policy.3A.20case.20insensitive.20filesystems.20are.20.E2.80.A6.20compiler-team.23819)) + - "T-compiler Supplemental Tool Policy (Linker Scripts, etc.)" [compiler-team#820](https://github.com/rust-lang/compiler-team/issues/820) ([Zulip](https://rust-lang.zulipchat.com/#narrow/stream/233931-xxx/topic/T-compiler.20Supplemental.20Tool.20Policy.20.28Link.E2.80.A6.20compiler-team.23820)) + - "const-eval: detect more pointers as definitely not-null" [rust#133700](https://github.com/rust-lang/rust/pull/133700) + - "remove support for the (unstable) #[start] attribute" [rust#134299](https://github.com/rust-lang/rust/pull/134299) +- Accepted MCPs + - No new accepted proposals this time. +- MCPs blocked on unresolved concerns + - "Retire the mailing list and make all decisions on zulip" [compiler-team#649](https://github.com/rust-lang/compiler-team/issues/649) ([Zulip](https://rust-lang.zulipchat.com/#narrow/stream/233931-xxx/topic/Retire.20the.20mailing.20list.20and.20make.20all.20deci.E2.80.A6.20compiler-team.23649)) + - concern: [automatic-sync](https://github.com/rust-lang/compiler-team/issues/649#issuecomment-1618902660) + - "setup typos check in CI (for rust repo)" [compiler-team#817](https://github.com/rust-lang/compiler-team/issues/817) ([Zulip](https://rust-lang.zulipchat.com/#narrow/stream/233931-xxx/topic/setup.20typos.20check.20in.20CI.20.28for.20rust.20repo.29.20compiler-team.23817)) (last review activity: about 22 days ago) + - concern: [contributor friction](https://github.com/rust-lang/compiler-team/issues/817#issuecomment-2525266792) + - "Add `evex512` target feature for AVX10" [compiler-team#778](https://github.com/rust-lang/compiler-team/issues/778) ([Zulip](https://rust-lang.zulipchat.com/#narrow/stream/233931-xxx/topic/Add.20.60evex512.60.20target.20feature.20for.20AVX10.20compiler-team.23778)) (last review activity: about 35 days ago) + - concern: [design-around-naming-scheme](https://github.com/rust-lang/compiler-team/issues/778#issuecomment-2514307904) +- Finalized FCPs (disposition merge) + - "Add `--print host-tuple` to print host target tuple" [rust#125579](https://github.com/rust-lang/rust/pull/125579) + - "make unsupported_calling_conventions a hard error" [rust#129935](https://github.com/rust-lang/rust/pull/129935) + - "Fix ICE when passing DefId-creating args to legacy_const_generics." [rust#130443](https://github.com/rust-lang/rust/pull/130443) + - "Stabilize WebAssembly `multivalue`, `reference-types`, and `tail-call` target features" [rust#131080](https://github.com/rust-lang/rust/pull/131080) + - "Lint on combining `#[no_mangle]` and `#[export_name]`" [rust#131558](https://github.com/rust-lang/rust/pull/131558) +- Other teams finalized FCPs + - "Add lint against function pointer comparisons" [rust#118833](https://github.com/rust-lang/rust/pull/118833) + - "Fixup Windows verbatim paths when used with the `include!` macro" [rust#125205](https://github.com/rust-lang/rust/pull/125205) + - "Allow dropping `dyn Trait` principal" [rust#126660](https://github.com/rust-lang/rust/pull/126660) + - "atomics: allow atomic and non-atomic reads to race" [rust#128778](https://github.com/rust-lang/rust/pull/128778) + - "Lint against getting pointers from immediately dropped temporaries" [rust#128985](https://github.com/rust-lang/rust/pull/128985) + - "Do not consider match/let/ref of place that evaluates to `!` to diverge, disallow coercions from them too" [rust#129392](https://github.com/rust-lang/rust/pull/129392) + - "Make deprecated_cfg_attr_crate_type_name a hard error" [rust#129670](https://github.com/rust-lang/rust/pull/129670) + - "Stabilize expr_2021 fragment specifier in all editions" [rust#129972](https://github.com/rust-lang/rust/pull/129972) + - "Check elaborated projections from dyn don't mention unconstrained late bound lifetimes" [rust#130367](https://github.com/rust-lang/rust/pull/130367) + - "Finish stabilization of `result_ffi_guarantees`" [rust#130628](https://github.com/rust-lang/rust/pull/130628) + - "Stabilize const `ptr::write*` and `mem::replace`" [rust#130954](https://github.com/rust-lang/rust/pull/130954) + - "Stabilize s390x inline assembly" [rust#131258](https://github.com/rust-lang/rust/pull/131258) + - "Stabilize Arm64EC inline assembly" [rust#131781](https://github.com/rust-lang/rust/pull/131781) + - "Always display first line of impl blocks even when collapsed" [rust#132155](https://github.com/rust-lang/rust/pull/132155) + - "rework winnowing to sensibly handle global where-bounds" [rust#132325](https://github.com/rust-lang/rust/pull/132325) + - "mark is_val_statically_known intrinsic as stably const-callable" [rust#132449](https://github.com/rust-lang/rust/pull/132449) + - "`--nocapture` doesn't follow common CLI conventions, making it a stumbling block to people debugging failures" [rust#133073](https://github.com/rust-lang/rust/issues/133073) + - "Fix ICE when multiple supertrait substitutions need assoc but only one is provided" [rust#133392](https://github.com/rust-lang/rust/pull/133392) + - "Stabilize `asm_goto` feature gate" [rust#133870](https://github.com/rust-lang/rust/pull/133870) + - "Stabilize `feature(trait_upcasting)`" [rust#134367](https://github.com/rust-lang/rust/pull/134367) + +## 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: "Run borrowck tests on BIDs and emit tail-expr-drop-order lints for violations" [rust#134523](https://github.com/rust-lang/rust/pull/134523) + - Authored by dingxiangfei2009 + - (TIL) "BID" stands for "backward-incompatible drop statements generated exclusively when edition migration is run" ([link](https://github.com/rust-lang/rust/pull/134523/files#diff-c17d40cedf6d32c9d120f8a8bf463ffccf7919e813ae17bf08ed737650fc299cR1164) and [link](https://github.com/rust-lang/rust/blob/b6b8361bce8561fb8786ad33ca1abfdf4bc487b6/compiler/rustc_middle/src/mir/syntax.rs#L440)) + - Fixes a lint so that it triggers the lint on edition 2024. Perf. run [almost neutral](https://github.com/rust-lang/rust/pull/134523#issuecomment-2578690069). + - Backport nominated by @_**Michael Goulet (compiler-errors)** to have this lint trigger actually trigger on 2024 edition ([comment](https://github.com/rust-lang/rust/pull/134523#issuecomment-2574289638)) + +- 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) +- "const-eval: detect more pointers as definitely not-null" [rust#133700](https://github.com/rust-lang/rust/pull/133700) + - changes just approved by T-lang ([comment](https://github.com/rust-lang/rust/pull/133700#issuecomment-2518050453)), on @_**RalfJ**/ @_**lcnr** purview (IIUC) +- [Issues in progress or waiting on other teams](https://hackmd.io/XYr1BrOWSiqCrl8RCWXRaQ) + +## Issues of Note + +### Short Summary + +- [1 T-compiler P-critical issues](https://github.com/rust-lang/rust/issues?q=is%3Aopen+label%3AT-compiler+label%3AP-critical) + - [0 of those are unassigned](https://github.com/rust-lang/rust/issues?q=is%3Aopen+label%3AT-compiler+label%3AP-critical+no%3Aassignee) +- [58 T-compiler P-high issues](https://github.com/rust-lang/rust/issues?q=is%3Aopen+label%3AT-compiler+label%3AP-high) + - [36 of those are unassigned](https://github.com/rust-lang/rust/issues?q=is%3Aopen+label%3AT-compiler+label%3AP-high+no%3Aassignee) +- [1 P-critical, 0 P-high, 0 P-medium, 0 P-low regression-from-stable-to-beta](https://github.com/rust-lang/rust/labels/regression-from-stable-to-beta) +- [0 P-critical, 0 P-high, 1 P-medium, 1 P-low regression-from-stable-to-nightly](https://github.com/rust-lang/rust/labels/regression-from-stable-to-nightly) +- [0 P-critical, 34 P-high, 100 P-medium, 20 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) +- "Rustc strips all symbols on MacOS when strip = "debuginfo" is specified, but not when strip = "symbols" is specified" [rust#135028](https://github.com/rust-lang/rust/issues/135028) + - Fixed by #135034, beta backport approved [on Zulip](https://rust-lang.zulipchat.com/#narrow/channel/131828-t-compiler/topic/potential.20emergency.20beta.20backport/near/491741910) (thanks @**nora (Noratrieb)** ) + +[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 2025-01-07](https://github.com/rust-lang/rustc-perf/blob/master/triage/2025-01-07.md) + +A quiet week with not much going on. A small regression was caused by a bugfix related to traits, but +it was somewhat offset by a cargo update that brought a small perf. win. + +Triage done by **@kobzol**. +Revision range: [93722f7e..0f1e965f](https://perf.rust-lang.org/?start=93722f7ed56bcf27839a6355074095c4320b7d37&end=0f1e965fec3bc2f97b932e9dd8e85fca6d7faadc&absolute=false&stat=instructions%3Au) + +**Summary**: + +| (instructions:u) | mean | range | count | +|:------------------------:|:-----:|:--------------:|:-----:| +| Regressions (primary) | 0.4% | [0.1%, 1.1%] | 20 | +| Regressions (secondary) | 0.4% | [0.1%, 2.5%] | 19 | +| Improvements (primary) | -0.4% | [-1.6%, -0.2%] | 8 | +| Improvements (secondary) | -1.3% | [-1.7%, -0.2%] | 13 | +| All (primary) | 0.1% | [-1.6%, 1.1%] | 28 | + + +0 Regressions, 2 Improvements, 4 Mixed; 4 of them in rollups +51 artifact comparisons made in total + +#### Improvements + +Rollup of 4 pull requests [#135059](https://github.com/rust-lang/rust/pull/135059) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=ac00fe89a121e9ca5e59c093c7c02aa296e55ece&end=319f5292a19951d13f3c79c04b3cf3d1501d9e79&stat=instructions:u) + +| (instructions:u) | mean | range | count | +|:----------------------------------:|:-----:|:--------------:|:-----:| +| Regressions (primary) | - | - | 0 | +| Regressions (secondary) | - | - | 0 | +| Improvements (primary) | -0.2% | [-0.2%, -0.1%] | 5 | +| Improvements (secondary) | - | - | 0 | +| All (primary) | -0.2% | [-0.2%, -0.1%] | 5 | + + +Rollup of 7 pull requests [#135086](https://github.com/rust-lang/rust/pull/135086) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=3f43b1a636738f41c48df073c5bcb97a97bf8459&end=8d2c06d151972fefa3f0bbf04ace3beede737145&stat=instructions:u) + +| (instructions:u) | mean | range | count | +|:----------------------------------:|:-----:|:--------------:|:-----:| +| Regressions (primary) | - | - | 0 | +| Regressions (secondary) | - | - | 0 | +| Improvements (primary) | -0.3% | [-0.4%, -0.2%] | 7 | +| Improvements (secondary) | - | - | 0 | +| All (primary) | -0.3% | [-0.4%, -0.2%] | 7 | + + +#### Mixed + +Update cargo [#135089](https://github.com/rust-lang/rust/pull/135089) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=8d2c06d151972fefa3f0bbf04ace3beede737145&end=d13c80a6fdd915ec35d7882122e5f221e8f27a18&stat=instructions:u) + +| (instructions:u) | mean | range | count | +|:----------------------------------:|:-----:|:--------------:|:-----:| +| Regressions (primary) | - | - | 0 | +| Regressions (secondary) | 0.9% | [0.9%, 0.9%] | 1 | +| Improvements (primary) | -0.1% | [-0.2%, -0.1%] | 38 | +| Improvements (secondary) | -0.3% | [-0.6%, -0.1%] | 35 | +| All (primary) | -0.1% | [-0.2%, -0.1%] | 38 | + +- Many small improvements and only a tiny regression. +- Marked as triaged. + +Project to `TyKind::Error` when there are unconstrained non-lifetime (ty/const) impl params [#135057](https://github.com/rust-lang/rust/pull/135057) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=d13c80a6fdd915ec35d7882122e5f221e8f27a18&end=7349f6b50359fd1f11738765b8deec5ee02d8710&stat=instructions:u) + +| (instructions:u) | mean | range | count | +|:----------------------------------:|:-----:|:--------------:|:-----:| +| Regressions (primary) | 0.2% | [0.1%, 0.3%] | 76 | +| Regressions (secondary) | 0.3% | [0.0%, 0.7%] | 39 | +| Improvements (primary) | - | - | 0 | +| Improvements (secondary) | -1.0% | [-1.0%, -1.0%] | 1 | +| All (primary) | 0.2% | [0.1%, 0.3%] | 76 | + +- Small performance loss, but this was a bugfix, so it was deemed justifiable. +- Marked as triaged. + +Rollup of 6 pull requests [#135101](https://github.com/rust-lang/rust/pull/135101) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=ead4a8f53624f3b4a9ee833421fbf8a48bc07aca&end=1891c28669863bf7ed3ef8f43f2d3fa546f34861&stat=instructions:u) + +| (instructions:u) | mean | range | count | +|:----------------------------------:|:-----:|:--------------:|:-----:| +| Regressions (primary) | 0.7% | [0.7%, 0.8%] | 4 | +| Regressions (secondary) | 0.7% | [0.3%, 2.2%] | 4 | +| Improvements (primary) | - | - | 0 | +| Improvements (secondary) | -1.3% | [-1.8%, -0.2%] | 13 | +| All (primary) | 0.7% | [0.7%, 0.8%] | 4 | + +- The `deep-vector` benchmark changes were most likely caused by [#135046](https://github.com/rust-lang/rust/pull/135046). +- Marked as triaged. + +Rollup of 3 pull requests [#135140](https://github.com/rust-lang/rust/pull/135140) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=feb32c654619e50eda8408f9241d4cb7b948fea5&end=56f9e6f935f9b0d6e83092a0f86d4dbeb878f17d&stat=instructions:u) + +| (instructions:u) | mean | range | count | +|:----------------------------------:|:-----:|:--------------:|:-----:| +| Regressions (primary) | 0.5% | [0.5%, 0.6%] | 2 | +| Regressions (secondary) | - | - | 0 | +| Improvements (primary) | -1.7% | [-1.7%, -1.7%] | 1 | +| Improvements (secondary) | -0.4% | [-0.4%, -0.4%] | 2 | +| All (primary) | -0.2% | [-1.7%, 0.6%] | 3 | + +- Only tiny changes, and the combined result is a wash. +- Marked as triaged. + +## Nominated Issues + +[T-compiler](https://github.com/rust-lang/rust/issues?q=is%3Aopen+label%3AI-compiler-nominated) +- "Built-in attributes are treated differently vs prelude attributes, unstable built-in attributes can name-collide with stable macro, and built-in attributes can break back-compat" [rust#134963](https://github.com/rust-lang/rust/issues/134963) + - nominated by @**Jieyou Xu** (also T-lang nominated) + - Questions for T-compiler (in opening comment): + - Built-in attributes like `#[coverage(..)]` are handled differently versus prelude attributes like `#[test]`, including name resolution. + - Current feature-gating of unstable built-in attributes is insufficient: adding a new unstable built-in attribute gated behind a feature gate (e.g. `#[coverage]`) can still break stable code without any feature gates (e.g. use of a user-defined macro of the same name as the newly added built-in attribute). + - (also for T-lang) Stabilization of a built-in attribute can break backwards compatibility: old code can be broken by addition of a new built-in attribute. + +[RFC](https://github.com/rust-lang/rfcs/issues?q=is%3Aopen+label%3AI-compiler-nominated) +- No I-compiler-nominated RFCs this time. + +### Oldest PRs waiting for review + +[T-compiler](https://github.com/rust-lang/rust/pulls?q=is%3Apr+is%3Aopen+sort%3Aupdated-asc+label%3AS-waiting-on-review+draft%3Afalse+label%3AT-compiler) +- None this week + +Next meeting's agenda draft: [hackmd link](https://hackmd.io/6J5geYyNTPaygqEbxAWLIg) diff --git a/content/minutes/triage-meeting/T-compiler Meeting Agenda 2025-01-16.md b/content/minutes/triage-meeting/T-compiler Meeting Agenda 2025-01-16.md new file mode 100644 index 00000000..f028a865 --- /dev/null +++ b/content/minutes/triage-meeting/T-compiler Meeting Agenda 2025-01-16.md @@ -0,0 +1,351 @@ +--- +tags: weekly, rustc +type: docs +note_id: 6J5geYyNTPaygqEbxAWLIg +--- + +# T-compiler Meeting Agenda 2025-01-16 + +## 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 + +- @_**davidtwco** office hours +- Stable MIR Weekly Meeting +- WG-async design meeting + +## MCPs/FCPs + +- New MCPs (take a look, see if you like them!) + - No new proposals this time. +- Old MCPs (stale MCP might be closed as per [MCP procedure](https://forge.rust-lang.org/compiler/mcp.html#when-should-major-change-proposals-be-closed)) + - None at this time +- Old MCPs (not seconded, take a look) + - "Add hygiene attributes to compile expanded source code" [compiler-team#692](https://github.com/rust-lang/compiler-team/issues/692) ([Zulip](https://rust-lang.zulipchat.com/#narrow/stream/233931-xxx/topic/Add.20option.20to.20compile.20expanded.20ASTs.20for.20h.E2.80.A6.20compiler-team.23692)) (last review activity: 3 months ago) + - "Add Hotpatch flag" [compiler-team#745](https://github.com/rust-lang/compiler-team/issues/745) ([Zulip](https://rust-lang.zulipchat.com/#narrow/stream/233931-xxx/topic/Add.20Hotpatch.20flag.20compiler-team.23745)) (last review activity: 3 months ago) + - "Policy change around adding new unstable flags" [compiler-team#787](https://github.com/rust-lang/compiler-team/issues/787) ([Zulip](https://rust-lang.zulipchat.com/#narrow/stream/233931-xxx/topic/Policy.20change.20around.20adding.20new.20unstable.20.E2.80.A6.20compiler-team.23787)) (last review activity: 2 months ago) + - "Normalize FileCheck directives" [compiler-team#789](https://github.com/rust-lang/compiler-team/issues/789) ([Zulip](https://rust-lang.zulipchat.com/#narrow/stream/233931-xxx/topic/Normalize.20FileCheck.20directives.20compiler-team.23789)) (last review activity: 2 months ago) + - "Create an avr-unknown-none target" [compiler-team#800](https://github.com/rust-lang/compiler-team/issues/800) ([Zulip](https://rust-lang.zulipchat.com/#narrow/stream/233931-xxx/topic/Create.20an.20avr-unknown-unknown.20target.20compiler-team.23800)) (last review activity: 2 months ago) + - "Demote `i686-pc-windows-gnu`" [compiler-team#822](https://github.com/rust-lang/compiler-team/issues/822) ([Zulip](https://rust-lang.zulipchat.com/#narrow/stream/233931-xxx/topic/Demote.20.60i686-pc-windows-gnu.60.20compiler-team.23822)) (last review activity: about 19 days ago) + - "Rename "dylib" crate type to "rdylib" (keep old name but deprecate it), and maybe do the same for "staticlib" → "cstaticlib"" [compiler-team#825](https://github.com/rust-lang/compiler-team/issues/825) ([Zulip](https://rust-lang.zulipchat.com/#narrow/stream/233931-xxx/topic/Rename.20.22dylib.22.20create.20type.20to.20.22rdylib.22.20.28k.E2.80.A6.20compiler-team.23825)) (last review activity: about 5 days ago) +- Pending FCP requests (check your boxes!) + - "sanitizers: Stabilize AddressSanitizer and LeakSanitizer for the Tier 1 targets" [rust#123617](https://github.com/rust-lang/rust/pull/123617) + - "Warn about C-style octal literals" [rust#131309](https://github.com/rust-lang/rust/pull/131309) +- Things in FCP (make sure you're good with it) + - "Add amdgpu target" [compiler-team#823](https://github.com/rust-lang/compiler-team/issues/823) ([Zulip](https://rust-lang.zulipchat.com/#narrow/stream/233931-xxx/topic/Add.20amdgpu.20target.20compiler-team.23823)) + - "Add new targets for Cygwin (and MSYS2)" [compiler-team#826](https://github.com/rust-lang/compiler-team/issues/826) ([Zulip](https://rust-lang.zulipchat.com/#narrow/stream/233931-xxx/topic/Add.20new.20targets.20for.20Cygwin.20.28and.20MSYS2.29.20compiler-team.23826)) + - "Changing `-O` to `opt-level=3`" [compiler-team#828](https://github.com/rust-lang/compiler-team/issues/828) ([Zulip](https://rust-lang.zulipchat.com/#narrow/stream/233931-xxx/topic/Changing.20.60-O.60.20to.20.60opt-level.3D3.60.20compiler-team.23828)) + - "const-eval: detect more pointers as definitely not-null" [rust#133700](https://github.com/rust-lang/rust/pull/133700) + - "remove support for the (unstable) #[start] attribute" [rust#134299](https://github.com/rust-lang/rust/pull/134299) +- Accepted MCPs + - "Relink, don't rebuild" [compiler-team#790](https://github.com/rust-lang/compiler-team/issues/790) ([Zulip](https://rust-lang.zulipchat.com/#narrow/stream/233931-xxx/topic/Relink.2C.20don.27t.20rebuild.20compiler-team.23790)) + - "Use debuginfo for short backtrace printing" [compiler-team#818](https://github.com/rust-lang/compiler-team/issues/818) ([Zulip](https://rust-lang.zulipchat.com/#narrow/stream/233931-xxx/topic/Use.20debuginfo.20for.20short.20backtrace.20printing.20compiler-team.23818)) + - "Policy: rustc can be run on case-insensitive filesystems but works in a case-sensitive way" [compiler-team#819](https://github.com/rust-lang/compiler-team/issues/819) ([Zulip](https://rust-lang.zulipchat.com/#narrow/stream/233931-xxx/topic/Policy.3A.20case.20insensitive.20filesystems.20are.20.E2.80.A6.20compiler-team.23819)) + - "T-compiler Supplemental Tool Policy (Linker Scripts, etc.)" [compiler-team#820](https://github.com/rust-lang/compiler-team/issues/820) ([Zulip](https://rust-lang.zulipchat.com/#narrow/stream/233931-xxx/topic/T-compiler.20Supplemental.20Tool.20Policy.20.28Link.E2.80.A6.20compiler-team.23820)) +- MCPs blocked on unresolved concerns + - "Retire the mailing list and make all decisions on zulip" [compiler-team#649](https://github.com/rust-lang/compiler-team/issues/649) ([Zulip](https://rust-lang.zulipchat.com/#narrow/stream/233931-xxx/topic/Retire.20the.20mailing.20list.20and.20make.20all.20deci.E2.80.A6.20compiler-team.23649)) + - concern: [automatic-sync](https://github.com/rust-lang/compiler-team/issues/649#issuecomment-1618902660) + - "setup typos check in CI (for rust repo)" [compiler-team#817](https://github.com/rust-lang/compiler-team/issues/817) ([Zulip](https://rust-lang.zulipchat.com/#narrow/stream/233931-xxx/topic/setup.20typos.20check.20in.20CI.20.28for.20rust.20repo.29.20compiler-team.23817)) (last review activity: about 28 days ago) + - concern: [contributor friction](https://github.com/rust-lang/compiler-team/issues/817#issuecomment-2525266792) + - "Add `evex512` target feature for AVX10" [compiler-team#778](https://github.com/rust-lang/compiler-team/issues/778) ([Zulip](https://rust-lang.zulipchat.com/#narrow/stream/233931-xxx/topic/Add.20.60evex512.60.20target.20feature.20for.20AVX10.20compiler-team.23778)) (last review activity: about 41 days ago) + - concern: [design-around-naming-scheme](https://github.com/rust-lang/compiler-team/issues/778#issuecomment-2514307904) +- Finalized FCPs (disposition merge) + - "Add `--print host-tuple` to print host target tuple" [rust#125579](https://github.com/rust-lang/rust/pull/125579) + - "make unsupported_calling_conventions a hard error" [rust#129935](https://github.com/rust-lang/rust/pull/129935) + - "Fix ICE when passing DefId-creating args to legacy_const_generics." [rust#130443](https://github.com/rust-lang/rust/pull/130443) + - "Stabilize WebAssembly `multivalue`, `reference-types`, and `tail-call` target features" [rust#131080](https://github.com/rust-lang/rust/pull/131080) + - "Lint on combining `#[no_mangle]` and `#[export_name]`" [rust#131558](https://github.com/rust-lang/rust/pull/131558) +- Other teams finalized FCPs + - "Add lint against function pointer comparisons" [rust#118833](https://github.com/rust-lang/rust/pull/118833) + - "Fixup Windows verbatim paths when used with the `include!` macro" [rust#125205](https://github.com/rust-lang/rust/pull/125205) + - "Allow dropping `dyn Trait` principal" [rust#126660](https://github.com/rust-lang/rust/pull/126660) + - "atomics: allow atomic and non-atomic reads to race" [rust#128778](https://github.com/rust-lang/rust/pull/128778) + - "Lint against getting pointers from immediately dropped temporaries" [rust#128985](https://github.com/rust-lang/rust/pull/128985) + - "Do not consider match/let/ref of place that evaluates to `!` to diverge, disallow coercions from them too" [rust#129392](https://github.com/rust-lang/rust/pull/129392) + - "Make deprecated_cfg_attr_crate_type_name a hard error" [rust#129670](https://github.com/rust-lang/rust/pull/129670) + - "Stabilize expr_2021 fragment specifier in all editions" [rust#129972](https://github.com/rust-lang/rust/pull/129972) + - "Check elaborated projections from dyn don't mention unconstrained late bound lifetimes" [rust#130367](https://github.com/rust-lang/rust/pull/130367) + - "Finish stabilization of `result_ffi_guarantees`" [rust#130628](https://github.com/rust-lang/rust/pull/130628) + - "Stabilize const `ptr::write*` and `mem::replace`" [rust#130954](https://github.com/rust-lang/rust/pull/130954) + - "Stabilize s390x inline assembly" [rust#131258](https://github.com/rust-lang/rust/pull/131258) + - "Stabilize Arm64EC inline assembly" [rust#131781](https://github.com/rust-lang/rust/pull/131781) + - "Always display first line of impl blocks even when collapsed" [rust#132155](https://github.com/rust-lang/rust/pull/132155) + - "rework winnowing to sensibly handle global where-bounds" [rust#132325](https://github.com/rust-lang/rust/pull/132325) + - "mark is_val_statically_known intrinsic as stably const-callable" [rust#132449](https://github.com/rust-lang/rust/pull/132449) + - "Fix ICE when multiple supertrait substitutions need assoc but only one is provided" [rust#133392](https://github.com/rust-lang/rust/pull/133392) + - "Stabilize `asm_goto` feature gate" [rust#133870](https://github.com/rust-lang/rust/pull/133870) + - "Stabilize `feature(trait_upcasting)`" [rust#134367](https://github.com/rust-lang/rust/pull/134367) + +## 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 sure to mark `IMPL_TRAIT_REDUNDANT_CAPTURES` as `Allow` in edition 2024" [rust#135441](https://github.com/rust-lang/rust/pull/135441) + - Authored by compiler-errors + - Backport asked to ship with the edition (Edition 2024 == 1.85.0) + - This downgrades the lint from "warn" to "allow" + - Follow-up to #127672 (rfc#3617 "Stabilize opaque type precise capturing") + +- :beta: "Update to LLVM 19.1.7" [rust#135484](https://github.com/rust-lang/rust/pull/135484) + - Authored by nikic + - r+'ed, in bors queue. Fixes #134457 (llvm-project#120433, compiler fails on arithmetic operations) and #111073 (Chromium CI test fail when `sanitizers = true`, also linked reports from other projects) + - Changelog [here](https://github.com/rust-lang/llvm-project/compare/59512b00273829823da74050d373b8d46dbca558...7e8c93c87c611f21d9bd95100563392f4c18bfe7) + +- :beta: "don't check for overlap if it's allowed regardless" [rust#135524](https://github.com/rust-lang/rust/pull/135524) + - Authored by lcnr + - Fixes rustc#135457, substancial perf regression + - PR open, perf. regression being triaged (increased instruction count) + - (also stable nominated) + +- :stable: "Make sure to record deps from cached task in new solver on first run" [rust#133828](https://github.com/rust-lang/rust/pull/133828) + - Authored by compiler-errors, nominated for possible stable backport ([comment](https://github.com/rust-lang/rust/pull/133828#issuecomment-2591591145)) + - not a regression fix (AFAICS), part of the new trait solver refactor + +- :stable: "don't check for overlap if it's allowed regardless" [rust#135524](https://github.com/rust-lang/rust/pull/135524) + - Authored by lcnr + - also beta-backport nominated + + +[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) + - [36 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, 0 P-medium, 0 P-low regression-from-stable-to-beta](https://github.com/rust-lang/rust/labels/regression-from-stable-to-beta) +- [0 P-critical, 0 P-high, 1 P-medium, 0 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, 21 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 2025-01-14](https://github.com/rust-lang/rustc-perf/blob/master/triage/2025-01-14.md) + +A quiet week with little change to the actual compiler performance. The biggest compiler regression was quickly recognized and reverted. + +Triage done by **@rylev**. +Revision range: [0f1e965f..1ab85fbd](https://perf.rust-lang.org/?start=0f1e965fec3bc2f97b932e9dd8e85fca6d7faadc&end=1ab85fbd7474e8ce84d5283548f21472860de3e2&absolute=false&stat=instructions%3Au) + +**Summary**: + +| (instructions:u) | mean | range | count | +|:------------------------:|:------:|:---------------:|:-----:| +| Regressions (primary) | 0.4% | [0.1%, 1.8%] | 21 | +| Regressions (secondary) | 0.5% | [0.0%, 2.0%] | 35 | +| Improvements (primary) | -0.8% | [-2.7%, -0.3%] | 6 | +| Improvements (secondary) | -10.2% | [-27.8%, -0.1%] | 13 | +| All (primary) | 0.2% | [-2.7%, 1.8%] | 27 | + + +4 Regressions, 3 Improvements, 3 Mixed; 3 of them in rollups +44 artifact comparisons made in total + +#### Regressions + +Master bootstrap update [#135268](https://github.com/rust-lang/rust/pull/135268) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=ec12cd8436aab693d8847b3077c26fe2de4ed661&end=251206c27b619ccf3a08e2ac4c525dc343f08492&stat=instructions:u) + +| (instructions:u) | mean | range | count | +|:----------------------------------:|:----:|:------------:|:-----:| +| Regressions (primary) | 0.2% | [0.2%, 0.2%] | 3 | +| Regressions (secondary) | - | - | 0 | +| Improvements (primary) | - | - | 0 | +| Improvements (secondary) | - | - | 0 | +| All (primary) | 0.2% | [0.2%, 0.2%] | 3 | +- Probably just noise, and if not, it's not really worth investigating. + + +mir_transform: implement `#[rustc_force_inline]` [#134082](https://github.com/rust-lang/rust/pull/134082) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=336209eef13882bd1e211b24779584cb7ef911eb&end=b1a7dfb91106018f47ed9dc9b27aee1977682868&stat=instructions:u) + +| (instructions:u) | mean | range | count | +|:----------------------------------:|:-----:|:--------------:|:-----:| +| Regressions (primary) | 0.3% | [0.2%, 0.3%] | 10 | +| Regressions (secondary) | 0.3% | [0.2%, 0.3%] | 15 | +| Improvements (primary) | -0.1% | [-0.1%, -0.1%] | 1 | +| Improvements (secondary) | -0.3% | [-0.4%, -0.3%] | 2 | +| All (primary) | 0.2% | [-0.1%, 0.3%] | 11 | +- Looks like some regressions snuck back in since the last run - I'm unsure if something happened in a rebase to reintroduce them. +- The actual regressions are much smaller than the original perf run, and I don't think they're big enough to demand an investigation. + + +Add #[inline] to copy_from_slice [#135384](https://github.com/rust-lang/rust/pull/135384) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=627513a764a696b59bb2679cc1731a197a088a1d&end=48a426eca9df23b24b3559e545cf88dee61d4de9&stat=instructions:u) + +| (instructions:u) | mean | range | count | +|:----------------------------------:|:----:|:------------:|:-----:| +| Regressions (primary) | 1.1% | [1.1%, 1.1%] | 1 | +| Regressions (secondary) | - | - | 0 | +| Improvements (primary) | - | - | 0 | +| Improvements (secondary) | - | - | 0 | +| All (primary) | 1.1% | [1.1%, 1.1%] | 1 | +- From the PR "Small chaotic effect is expected, small binary size improvements oddly line up with the effect I was going for. Seems unlikely they're connected though, I wouldn't be surprised to see a different list of affected scenarios after merge." + + +Rollup of 4 pull requests [#135438](https://github.com/rust-lang/rust/pull/135438) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=2ae9916816a448fcaab3b2da461de754eda0055a&end=1ab85fbd7474e8ce84d5283548f21472860de3e2&stat=instructions:u) + +| (instructions:u) | mean | range | count | +|:----------------------------------:|:-----:|:--------------:|:-----:| +| Regressions (primary) | 0.4% | [0.4%, 0.4%] | 1 | +| Regressions (secondary) | 1.2% | [0.9%, 1.6%] | 6 | +| Improvements (primary) | - | - | 0 | +| Improvements (secondary) | -0.2% | [-0.2%, -0.2%] | 1 | +| All (primary) | 0.4% | [0.4%, 0.4%] | 1 | +- https://github.com/rust-lang/rust/pull/135426 is the offending PR. Working with the author on a solution. + + +#### Improvements + +Rollup of 6 pull requests [#135260](https://github.com/rust-lang/rust/pull/135260) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=a580b5c379b4fca50dfe5afc0fc0ce00921e4e00&end=e26ff2f9086fc449b963df578f8641c31846abe6&stat=instructions:u) + +| (instructions:u) | mean | range | count | +|:----------------------------------:|:-----:|:--------------:|:-----:| +| Regressions (primary) | - | - | 0 | +| Regressions (secondary) | - | - | 0 | +| Improvements (primary) | -0.3% | [-0.4%, -0.3%] | 4 | +| Improvements (secondary) | -0.5% | [-0.5%, -0.5%] | 1 | +| All (primary) | -0.3% | [-0.4%, -0.3%] | 4 | + + +Remove special-casing for argument patterns in MIR typeck (attempt to fix perf regression of #133858) [#135273](https://github.com/rust-lang/rust/pull/135273) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=67951d946a158bc70949150ca06265e912752096&end=b44e14f762fd4062faeba97f8f2bc470298ec1ac&stat=instructions:u) + +| (instructions:u) | mean | range | count | +|:----------------------------------:|:-----:|:---------------:|:-----:| +| Regressions (primary) | - | - | 0 | +| Regressions (secondary) | - | - | 0 | +| Improvements (primary) | -3.0% | [-17.4%, -0.2%] | 16 | +| Improvements (secondary) | - | - | 0 | +| All (primary) | -3.0% | [-17.4%, -0.2%] | 16 | + + +Add an InstSimplify for repetitive array expressions [#135274](https://github.com/rust-lang/rust/pull/135274) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=a2d7c8144f3f237612b37420fe2b6b08408d5b1d&end=7e4077d06fc073442c567d58885b47ed2c5121b8&stat=instructions:u) + +| (instructions:u) | mean | range | count | +|:----------------------------------:|:------:|:---------------:|:-----:| +| Regressions (primary) | - | - | 0 | +| Regressions (secondary) | - | - | 0 | +| Improvements (primary) | - | - | 0 | +| Improvements (secondary) | -14.7% | [-27.9%, -1.3%] | 9 | +| All (primary) | - | - | 0 | + + +#### Mixed + +`best_blame_constraint`: Blame better constraints when the region graph has cycles from invariance or `'static` [#133858](https://github.com/rust-lang/rust/pull/133858) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=9c87288a7d2f03625a813df6d3bfe43c09ad4f5a&end=6afee111c2faf86ba884ea748967130abad37b52&stat=instructions:u) + +| (instructions:u) | mean | range | count | +|:----------------------------------:|:-----:|:--------------:|:-----:| +| Regressions (primary) | 3.2% | [0.1%, 21.0%] | 17 | +| Regressions (secondary) | - | - | 0 | +| Improvements (primary) | - | - | 0 | +| Improvements (secondary) | -0.3% | [-0.3%, -0.3%] | 1 | +| All (primary) | 3.2% | [0.1%, 21.0%] | 17 | +- Partially reverted in https://github.com/rust-lang/rust/pull/135273 + + +[mir-opt] GVN some more transmute cases [#133324](https://github.com/rust-lang/rust/pull/133324) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=65d7296fc9868af121adb5e07358a3815a80a7a1&end=b6b8361bce8561fb8786ad33ca1abfdf4bc487b6&stat=instructions:u) + +| (instructions:u) | mean | range | count | +|:----------------------------------:|:-----:|:--------------:|:-----:| +| Regressions (primary) | 0.7% | [0.1%, 1.4%] | 3 | +| Regressions (secondary) | - | - | 0 | +| Improvements (primary) | -0.6% | [-3.0%, -0.2%] | 11 | +| Improvements (secondary) | -0.3% | [-0.5%, -0.2%] | 7 | +| All (primary) | -0.3% | [-3.0%, 1.4%] | 14 | +- [Original perf run was deemed acceptable](https://github.com/rust-lang/rust/pull/133324#issuecomment-2520872151) and the final perf run wasn't as bad. + + +Rollup of 6 pull requests [#135357](https://github.com/rust-lang/rust/pull/135357) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=7e4077d06fc073442c567d58885b47ed2c5121b8&end=ce55b2052db2c9d6deb2dbc5cb2f56d163515a99&stat=instructions:u) + +| (instructions:u) | mean | range | count | +|:----------------------------------:|:-----:|:--------------:|:-----:| +| Regressions (primary) | 0.4% | [0.3%, 0.6%] | 4 | +| Regressions (secondary) | 0.9% | [0.2%, 2.0%] | 7 | +| Improvements (primary) | -0.5% | [-0.5%, -0.5%] | 1 | +| Improvements (secondary) | - | - | 0 | +| All (primary) | 0.2% | [-0.5%, 0.6%] | 5 | + + +## Nominated Issues + +[T-compiler](https://github.com/rust-lang/rust/issues?q=is%3Aopen+label%3AI-compiler-nominated) +- "Status of the riscv32im-risc0-zkvm-elf target" [rust#135376](https://github.com/rust-lang/rust/issues/135376) + - Nominated by @**nora (Noratrieb)** + - This target was added in #134721 basically does not have a standard library, or we can make make a stub of it to make it compile, only to let the developer discover that the code is just not working ([comment](https://github.com/rust-lang/rust/issues/135376#issuecomment-2585402732)). + - The question is: do we want to allow this kind of target, without a real `std`? The alternative to this target would be using the existing `riscv32im-unknown-none-elf` with a RISC0-provided crate for the system calls. + - Also `T-libs` nominated, since this question is probably in their purview + +[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) +- "Initial support for auto traits with default bounds" [rust#120706](https://github.com/rust-lang/rust/pull/120706) (last review activity: 5 months ago) + - This was extensively reviewed by T-compiler, now needs a rebase + - Is otherwise good to go? cc: @**Michael Goulet (compiler-errors)** @**lcnr** +- "add error message for c# style named arguments" [rust#118733](https://github.com/rust-lang/rust/pull/118733) (last review activity: 13 months ago) + - cc: @**Esteban Küber** +- "Add diagnostic for stack allocations of 1 GB or more" [rust#119798](https://github.com/rust-lang/rust/pull/119798) (last review activity: 12 months ago) + - cc @**cjgillot** +- "Improve parse item fallback" [rust#125388](https://github.com/rust-lang/rust/pull/125388) (last review activity: 7 months ago) + - cc: @**Esteban Küber** +- "Silence errors in expressions caused by bare traits in paths in 2021 edition" [rust#125784](https://github.com/rust-lang/rust/pull/125784) (last review activity: 7 months ago) + - cc: @**Esteban Küber** for a rebase then cc: @_**León Orell Liehr (fmease)** +- "Do not eagerly reject inference vars when trying to resolve method calls." [rust#126316](https://github.com/rust-lang/rust/pull/126316) (last review activity: 7 months ago) + - cc @**lcnr** (@**oli** a rebase when you have a chance) +- "collect doc alias as tips during resolution" [rust#127721](https://github.com/rust-lang/rust/pull/127721) (last review activity: 6 months ago) + - cc @**Esteban Küber** (btw author should also rebase) + +Next meeting's agenda draft: [hackmd link](https://hackmd.io/Cljd5iiHTQOY8VOt9Bi34w) diff --git a/content/minutes/triage-meeting/T-compiler Meeting Agenda 2025-01-23.md b/content/minutes/triage-meeting/T-compiler Meeting Agenda 2025-01-23.md new file mode 100644 index 00000000..efd354a7 --- /dev/null +++ b/content/minutes/triage-meeting/T-compiler Meeting Agenda 2025-01-23.md @@ -0,0 +1,286 @@ +--- +tags: weekly, rustc +type: docs +note_id: Cljd5iiHTQOY8VOt9Bi34w +--- + +# T-compiler Meeting Agenda 2025-01-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 + +- @_**davidtwco** office hours +- WG-async design meeting + +## MCPs/FCPs + +- New MCPs (take a look, see if you like them!) + - "Add `-C hint-mostly-unused` option" [compiler-team#829](https://github.com/rust-lang/compiler-team/issues/829) ([Zulip](https://rust-lang.zulipchat.com/#narrow/stream/233931-xxx/topic/Add.20.60-C.20defer-codegen.60.20option.20compiler-team.23829)) + - Ongoing discussion, some things to be cleared up (see mominated issues) +- 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) + - "Add Hotpatch flag" [compiler-team#745](https://github.com/rust-lang/compiler-team/issues/745) ([Zulip](https://rust-lang.zulipchat.com/#narrow/stream/233931-xxx/topic/Add.20Hotpatch.20flag.20compiler-team.23745)) (last review activity: 3 months ago) + - "Policy change around adding new unstable flags" [compiler-team#787](https://github.com/rust-lang/compiler-team/issues/787) ([Zulip](https://rust-lang.zulipchat.com/#narrow/stream/233931-xxx/topic/Policy.20change.20around.20adding.20new.20unstable.20.E2.80.A6.20compiler-team.23787)) (last review activity: 3 months ago) + - "Normalize FileCheck directives" [compiler-team#789](https://github.com/rust-lang/compiler-team/issues/789) ([Zulip](https://rust-lang.zulipchat.com/#narrow/stream/233931-xxx/topic/Normalize.20FileCheck.20directives.20compiler-team.23789)) (last review activity: 3 months ago) + - "Create an avr-unknown-none target" [compiler-team#800](https://github.com/rust-lang/compiler-team/issues/800) ([Zulip](https://rust-lang.zulipchat.com/#narrow/stream/233931-xxx/topic/Create.20an.20avr-unknown-unknown.20target.20compiler-team.23800)) (last review activity: 2 months ago) + - "Demote `i686-pc-windows-gnu`" [compiler-team#822](https://github.com/rust-lang/compiler-team/issues/822) ([Zulip](https://rust-lang.zulipchat.com/#narrow/stream/233931-xxx/topic/Demote.20.60i686-pc-windows-gnu.60.20compiler-team.23822)) (last review activity: about 27 days ago) + - "Rename "dylib" crate type to "rdylib" (keep old name but deprecate it), and maybe do the same for "staticlib" → "cstaticlib"" [compiler-team#825](https://github.com/rust-lang/compiler-team/issues/825) ([Zulip](https://rust-lang.zulipchat.com/#narrow/stream/233931-xxx/topic/Rename.20.22dylib.22.20create.20type.20to.20.22rdylib.22.20.28k.E2.80.A6.20compiler-team.23825)) (last review activity: about 13 days ago) +- Pending FCP requests (check your boxes!) + - "sanitizers: Stabilize AddressSanitizer and LeakSanitizer for the Tier 1 targets" [rust#123617](https://github.com/rust-lang/rust/pull/123617) + - "Warn about C-style octal literals" [rust#131309](https://github.com/rust-lang/rust/pull/131309) +- Things in FCP (make sure you're good with it) + - "Add amdgpu target" [compiler-team#823](https://github.com/rust-lang/compiler-team/issues/823) ([Zulip](https://rust-lang.zulipchat.com/#narrow/stream/233931-xxx/topic/Add.20amdgpu.20target.20compiler-team.23823)) + - "Add new targets for Cygwin (and MSYS2)" [compiler-team#826](https://github.com/rust-lang/compiler-team/issues/826) ([Zulip](https://rust-lang.zulipchat.com/#narrow/stream/233931-xxx/topic/Add.20new.20targets.20for.20Cygwin.20.28and.20MSYS2.29.20compiler-team.23826)) + - "Changing `-O` to `opt-level=3`" [compiler-team#828](https://github.com/rust-lang/compiler-team/issues/828) ([Zulip](https://rust-lang.zulipchat.com/#narrow/stream/233931-xxx/topic/Changing.20.60-O.60.20to.20.60opt-level.3D3.60.20compiler-team.23828)) +- Accepted MCPs + - "Relink, don't rebuild" [compiler-team#790](https://github.com/rust-lang/compiler-team/issues/790) ([Zulip](https://rust-lang.zulipchat.com/#narrow/stream/233931-xxx/topic/Relink.2C.20don.27t.20rebuild.20compiler-team.23790)) + - "Use debuginfo for short backtrace printing" [compiler-team#818](https://github.com/rust-lang/compiler-team/issues/818) ([Zulip](https://rust-lang.zulipchat.com/#narrow/stream/233931-xxx/topic/Use.20debuginfo.20for.20short.20backtrace.20printing.20compiler-team.23818)) + - "Policy: rustc can be run on case-insensitive filesystems but works in a case-sensitive way" [compiler-team#819](https://github.com/rust-lang/compiler-team/issues/819) ([Zulip](https://rust-lang.zulipchat.com/#narrow/stream/233931-xxx/topic/Policy.3A.20case.20insensitive.20filesystems.20are.20.E2.80.A6.20compiler-team.23819)) + - "T-compiler Supplemental Tool Policy (Linker Scripts, etc.)" [compiler-team#820](https://github.com/rust-lang/compiler-team/issues/820) ([Zulip](https://rust-lang.zulipchat.com/#narrow/stream/233931-xxx/topic/T-compiler.20Supplemental.20Tool.20Policy.20.28Link.E2.80.A6.20compiler-team.23820)) +- MCPs blocked on unresolved concerns + - "Retire the mailing list and make all decisions on zulip" [compiler-team#649](https://github.com/rust-lang/compiler-team/issues/649) ([Zulip](https://rust-lang.zulipchat.com/#narrow/stream/233931-xxx/topic/Retire.20the.20mailing.20list.20and.20make.20all.20deci.E2.80.A6.20compiler-team.23649)) + - concern: [automatic-sync](https://github.com/rust-lang/compiler-team/issues/649#issuecomment-1618902660) + - "setup typos check in CI (for rust repo)" [compiler-team#817](https://github.com/rust-lang/compiler-team/issues/817) ([Zulip](https://rust-lang.zulipchat.com/#narrow/stream/233931-xxx/topic/setup.20typos.20check.20in.20CI.20.28for.20rust.20repo.29.20compiler-team.23817)) (last review activity: about 7 days ago) + - concern: [contributor friction](https://github.com/rust-lang/compiler-team/issues/817#issuecomment-2525266792) + - "Add `evex512` target feature for AVX10" [compiler-team#778](https://github.com/rust-lang/compiler-team/issues/778) ([Zulip](https://rust-lang.zulipchat.com/#narrow/stream/233931-xxx/topic/Add.20.60evex512.60.20target.20feature.20for.20AVX10.20compiler-team.23778)) (last review activity: about 49 days ago) + - concern: [design-around-naming-scheme](https://github.com/rust-lang/compiler-team/issues/778#issuecomment-2514307904) + - Design meeting to discuss the naming scheme ([compiler-team#827](https://github.com/rust-lang/compiler-team/issues/827)) +- Finalized FCPs (disposition merge) + - "Add `--print host-tuple` to print host target tuple" [rust#125579](https://github.com/rust-lang/rust/pull/125579) + - "make unsupported_calling_conventions a hard error" [rust#129935](https://github.com/rust-lang/rust/pull/129935) + - "Fix ICE when passing DefId-creating args to legacy_const_generics." [rust#130443](https://github.com/rust-lang/rust/pull/130443) + - "Stabilize WebAssembly `multivalue`, `reference-types`, and `tail-call` target features" [rust#131080](https://github.com/rust-lang/rust/pull/131080) + - "Lint on combining `#[no_mangle]` and `#[export_name]`" [rust#131558](https://github.com/rust-lang/rust/pull/131558) +- Other teams finalized FCPs + - "Add lint against function pointer comparisons" [rust#118833](https://github.com/rust-lang/rust/pull/118833) + - "Fixup Windows verbatim paths when used with the `include!` macro" [rust#125205](https://github.com/rust-lang/rust/pull/125205) + - "Allow dropping `dyn Trait` principal" [rust#126660](https://github.com/rust-lang/rust/pull/126660) + - "atomics: allow atomic and non-atomic reads to race" [rust#128778](https://github.com/rust-lang/rust/pull/128778) + - "Lint against getting pointers from immediately dropped temporaries" [rust#128985](https://github.com/rust-lang/rust/pull/128985) + - "Do not consider match/let/ref of place that evaluates to `!` to diverge, disallow coercions from them too" [rust#129392](https://github.com/rust-lang/rust/pull/129392) + - "Make deprecated_cfg_attr_crate_type_name a hard error" [rust#129670](https://github.com/rust-lang/rust/pull/129670) + - "Stabilize expr_2021 fragment specifier in all editions" [rust#129972](https://github.com/rust-lang/rust/pull/129972) + - "Check elaborated projections from dyn don't mention unconstrained late bound lifetimes" [rust#130367](https://github.com/rust-lang/rust/pull/130367) + - "Finish stabilization of `result_ffi_guarantees`" [rust#130628](https://github.com/rust-lang/rust/pull/130628) + - "Stabilize const `ptr::write*` and `mem::replace`" [rust#130954](https://github.com/rust-lang/rust/pull/130954) + - "Stabilize s390x inline assembly" [rust#131258](https://github.com/rust-lang/rust/pull/131258) + - "Stabilize Arm64EC inline assembly" [rust#131781](https://github.com/rust-lang/rust/pull/131781) + - "Always display first line of impl blocks even when collapsed" [rust#132155](https://github.com/rust-lang/rust/pull/132155) + - "rework winnowing to sensibly handle global where-bounds" [rust#132325](https://github.com/rust-lang/rust/pull/132325) + - "mark is_val_statically_known intrinsic as stably const-callable" [rust#132449](https://github.com/rust-lang/rust/pull/132449) + - "Fix ICE when multiple supertrait substitutions need assoc but only one is provided" [rust#133392](https://github.com/rust-lang/rust/pull/133392) + - "Stabilize `asm_goto` feature gate" [rust#133870](https://github.com/rust-lang/rust/pull/133870) + - "Consider fields to be inhabited if they are unstable" [rust#133889](https://github.com/rust-lang/rust/pull/133889) + - "disallow `repr()` on invalid items" [rust#133925](https://github.com/rust-lang/rust/pull/133925) + - "Make the wasm_c_abi future compat warning a hard error" [rust#133951](https://github.com/rust-lang/rust/pull/133951) + - "fully de-stabilize all custom inner attributes" [rust#134276](https://github.com/rust-lang/rust/pull/134276) + - "Stabilize `feature(trait_upcasting)`" [rust#134367](https://github.com/rust-lang/rust/pull/134367) + +## 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: "Always force non-trimming of path in `unreachable_patterns` lint" [rust#135310](https://github.com/rust-lang/rust/pull/135310) + - Authored by estebank + - Fixes #135289, an ICE affecting diagnostics + +- :beta: "add cache to `AmbiguityCausesVisitor`" [rust#135618](https://github.com/rust-lang/rust/pull/135618) + - Authored by lcnr + - Fixes #135457, substancial compile-time regression found in beta crater run + +- :beta: "When LLVM's location discriminator value limit is exceeded, emit locations with dummy spans instead of dropping them entirely" [rust#135643](https://github.com/rust-lang/rust/pull/135643) + - Authored by khuey + - Fixes #135332, a P-high regression in a beta crater run + - Nominated from @**Jieyou Xu** for both beta+stable backport ([comment](https://github.com/rust-lang/rust/pull/135643#issuecomment-2599443483)) + +- :beta: "Temporarily bring back `Rvalue::Len`" [rust#135709](https://github.com/rust-lang/rust/pull/135709) + - Authored by lqd + - Fixes a p-critical regression #135671 + - has some perf losses but acceptable given what it fixes + +- :beta: "Only assert the `Parser` size on specific arches" [rust#135855](https://github.com/rust-lang/rust/pull/135855) + - Authored and nominated for backport by cuviper + - Affects Fedora current beta on powerpc64le and s390x ([comment](https://github.com/rust-lang/rust/pull/135855#issuecomment-2606084081)) + +- :stable: "add cache to `AmbiguityCausesVisitor`" [rust#135618](https://github.com/rust-lang/rust/pull/135618) + - Authored by lcnr + - (Also beta-backport nominated) + +- :stable: "When LLVM's location discriminator value limit is exceeded, emit locations with dummy spans instead of dropping them entirely" [rust#135643](https://github.com/rust-lang/rust/pull/135643) + - Authored by khuey + - Nominated by @**Jieyou Xu** since in 1.84.0 we unconditionally verify twice the LLVM IR in the backend (this will changed in 1.85 with #133499) + + +[T-types beta](https://github.com/rust-lang/rust/issues?q=is%3Aall+label%3Abeta-nominated+-label%3Abeta-accepted+label%3AT-types) / [T-types stable](https://github.com/rust-lang/rust/issues?q=is%3Aall+label%3Astable-nominated+-label%3Astable-accepted+label%3AT-types) +- No beta nominations for `T-types` this time. +- No stable nominations for `T-types` this time. + +## PRs S-waiting-on-team + +[T-compiler](https://github.com/rust-lang/rust/pulls?q=is%3Aopen+label%3AS-waiting-on-team+label%3AT-compiler) +- [Issues in progress or waiting on other teams](https://hackmd.io/XYr1BrOWSiqCrl8RCWXRaQ) + +## Issues of Note + +### Short Summary + +- [1 T-compiler P-critical issues](https://github.com/rust-lang/rust/issues?q=is%3Aopen+label%3AT-compiler+label%3AP-critical) + - [1 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) + - [37 of those are unassigned](https://github.com/rust-lang/rust/issues?q=is%3Aopen+label%3AT-compiler+label%3AP-high+no%3Aassignee) +- [1 P-critical, 1 P-high, 0 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, 1 P-medium, 0 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, 21 P-low regression-from-stable-to-stable](https://github.com/rust-lang/rust/labels/regression-from-stable-to-stable) + +### P-critical + +[T-compiler](https://github.com/rust-lang/rust/issues?q=is%3Aopen+label%3AP-critical+label%3AT-compiler) +- None + +[T-types](https://github.com/rust-lang/rust/issues?q=is%3Aopen+label%3AP-critical+label%3AT-types) +- "regression: cannot borrow ... as immutable because it is also borrowed as mutable" [rust#135671](https://github.com/rust-lang/rust/issues/135671) + - Fixed by #135709 (beta-backport, thanks @**lqd**) + +### P-high regressions + +[P-high beta regressions](https://github.com/rust-lang/rust/issues?q=is%3Aopen+label%3Aregression-from-stable-to-beta+label%3AP-high+-label%3AT-infra+-label%3AT-libs+-label%3AT-libs-api+-label%3AT-release+-label%3AT-rustdoc+-label%3AT-core) +- "regression: ICE: `trimmed_def_paths` called, diagnostics were expected but none were emitted" [rust#135673](https://github.com/rust-lang/rust/issues/135673) + - Fixed by #135310 (beta-backport, thanks @**Michael Goulet (compiler-errors)**) + +[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 2025-01-20](https://github.com/rust-lang/rustc-perf/blob/master/triage/2025-01-20.md) + +A very quiet week for performance, with small improvements essentially on all +benchmarks. + +Triage done by **@simulacrum**. +Revision range: [1ab85fbd..9a1d156f](https://perf.rust-lang.org/?start=1ab85fbd7474e8ce84d5283548f21472860de3e2&end=9a1d156f38c51441ee51e5a068f1d0caf4bb0f27&absolute=false&stat=instructions%3Au) + +**Summary**: + +| (instructions:u) | mean | range | count | +|:------------------------:|:-----:|:--------------:|:-----:| +| Regressions (primary) | 0.7% | [0.3%, 1.0%] | 3 | +| Regressions (secondary) | 0.7% | [0.5%, 1.0%] | 4 | +| Improvements (primary) | -0.4% | [-1.3%, -0.1%] | 155 | +| Improvements (secondary) | -0.5% | [-1.8%, -0.1%] | 94 | +| All (primary) | -0.4% | [-1.3%, 1.0%] | 158 | + + +0 Regression, 1 Improvement, 2 Mixed; 0 of them in rollups +40 artifact comparisons made in total + +#### Regressions + +No statistically significant regressions this cycle. + +#### Improvements + +Stable Hash: Ignore all HirIds that just identify the node itself [#135329](https://github.com/rust-lang/rust/pull/135329) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=bcd0683e5dce1945b5d940714742e7502883bb5c&end=6067b36314ab5eb2eb47cecc464545ba58e1ad24&stat=instructions:u) + +| (instructions:u) | mean | range | count | +|:----------------------------------:|:-----:|:--------------:|:-----:| +| Regressions (primary) | - | - | 0 | +| Regressions (secondary) | - | - | 0 | +| Improvements (primary) | -0.4% | [-0.9%, -0.1%] | 169 | +| Improvements (secondary) | -0.5% | [-1.3%, -0.1%] | 85 | +| All (primary) | -0.4% | [-0.9%, -0.1%] | 169 | + + +#### Mixed + +Less unsafe in `dangling`/`without_provenance` [#135344](https://github.com/rust-lang/rust/pull/135344) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=d61f55d8b9d4703207a5980f27b6c28973ba27ee&end=d8a64098c9d0fb25699f657c6efff0bb418f7e18&stat=instructions:u) + +| (instructions:u) | mean | range | count | +|:----------------------------------:|:-----:|:--------------:|:-----:| +| Regressions (primary) | 1.2% | [0.4%, 2.1%] | 2 | +| Regressions (secondary) | - | - | 0 | +| Improvements (primary) | -0.5% | [-0.9%, -0.3%] | 3 | +| Improvements (secondary) | -1.1% | [-1.6%, -0.6%] | 4 | +| All (primary) | 0.2% | [-0.9%, 2.1%] | 5 | + +Regressions look likely to be noise/modality in benchmarks, not genuine changes +caused by this work. See also some +[analysis](https://github.com/rust-lang/rust/pull/135344#issuecomment-2591403244) +on the PR. + +Temporarily bring back `Rvalue::Len` [#135709](https://github.com/rust-lang/rust/pull/135709) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=98572840b6da350e5615a68586a766a0f9f1470a&end=c62b732724b6beb50a5c73be26d0c5f668504059&stat=instructions:u) + +| (instructions:u) | mean | range | count | +|:----------------------------------:|:-----:|:--------------:|:-----:| +| Regressions (primary) | 0.3% | [0.3%, 0.3%] | 1 | +| Regressions (secondary) | 0.4% | [0.2%, 0.5%] | 6 | +| Improvements (primary) | -0.7% | [-1.3%, -0.4%] | 3 | +| Improvements (secondary) | -0.9% | [-1.7%, -0.2%] | 2 | +| All (primary) | -0.4% | [-1.3%, 0.3%] | 4 | + +Fixing P-critical regression, so easily justified. + +## Nominated Issues + +[T-compiler](https://github.com/rust-lang/rust/issues?q=is%3Aopen+label%3AI-compiler-nominated) +- "Add `-C hint-mostly-unused` to tell rustc that most of a crate will go unused" [rust#135656](https://github.com/rust-lang/rust/pull/135656) + - Nominated by @**Jubilee** ([comment](https://github.com/rust-lang/rust/pull/135656#issuecomment-2599339130)), left some questions for T-compiler + - [MCP#829](https://github.com/rust-lang/compiler-team/issues/829), not yet seconded + - The proposal should substantially decrease compile times in some cases by hinting rustc when part of a crate is unused. Can regress in other cases ([Zulip thread](https://rust-lang.zulipchat.com/#narrow/channel/131828-t-compiler/topic/Computing.20mono.20items.20rustc.20codegenned.20that.20went.20unused/near/494438606)) + - Maybe a design meeting, inviting also people having more context? cc @**lqd** @**Ben Kimock (Saethlin)** + +[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) +- "Stop considering moved-out locals when computing auto traits for generators (rebased)" [rust#128846](https://github.com/rust-lang/rust/pull/128846) (last review activity: 5 months ago) + - cc @**cjgillot** +- "Add diagnostics to "while loop" and "for loop" that note that it is always determined that it might iterate zero times." [rust#126510](https://github.com/rust-lang/rust/pull/126510) (last review activity: 4 months ago) + - cc @**Esteban Küber** +- "Async drop codegen" [rust#123948](https://github.com/rust-lang/rust/pull/123948) (last review activity: 3 months ago) + - What's the current status of this one? cc @**davidtwco** @**nikomatsakis** +- "Handle `rustc_query_system` cases of `rustc::potential_query_instability` lint" [rust#131200](https://github.com/rust-lang/rust/pull/131200) (last review activity: 2 months ago) + - cc @**cjgillot** + +Next meetings' agenda draft: [hackmd link](https://hackmd.io/TYZPMRHwQdCwCmLqix1Ihg) diff --git a/content/minutes/triage-meeting/T-compiler Meeting Agenda 2025-01-30.md b/content/minutes/triage-meeting/T-compiler Meeting Agenda 2025-01-30.md new file mode 100644 index 00000000..7587f9d6 --- /dev/null +++ b/content/minutes/triage-meeting/T-compiler Meeting Agenda 2025-01-30.md @@ -0,0 +1,278 @@ +--- +tags: weekly, rustc +type: docs +note_id: TYZPMRHwQdCwCmLqix1Ihg +--- + +# T-compiler Meeting Agenda 2025-01-30 + +## Announcements + +- Today dot release 1.84.1 is out ([blog post](https://github.com/cuviper/blog.rust-lang.org/blob/rust-1.84.1/posts/2025-01-30-Rust-1.84.1.md)) +- Compiler Team Planning meeting at + - List of open [meeting proposals](https://github.com/rust-lang/compiler-team/issues?q=sort%3Aupdated-desc%20state%3Aopen%20label%3Ameeting-proposal) + - If we could schedule this one [compiler-team#813](https://github.com/rust-lang/compiler-team/issues/813) would unblock work by @_**jdonszelmann** and @_**Celina Val** + - Work is happening at rust#128045 (originally started by Felix) which is [T-lang nominated](https://github.com/rust-lang/rust/pull/128045#issuecomment-2596890170) but this [comment](https://github.com/rust-lang/rust/pull/128045#issuecomment-2597716359) from @**oli** indicates that ... it's not blocked on T-lang? +- 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 + +- WG-async design meeting +- Stable MIR Weekly Meeting + +## MCPs/FCPs + +- New MCPs (take a look, see if you like them!) + - "Add `target_abi = "[ilp]{2,3}[3264]{2}[fdq]?"` to all RV[3264]{2}I targets" [compiler-team#830](https://github.com/rust-lang/compiler-team/issues/830) ([Zulip](https://rust-lang.zulipchat.com/#narrow/stream/233931-xxx/topic/Add.20.60target_abi.20.3D.20.22.5Bilp.5D.7B2.2C3.7D.5B3264.5D.7B2.7D.5Bfd.E2.80.A6.20compiler-team.23830)) + - "Do not ignore uninhabited types for function-call ABI purposes." [compiler-team#832](https://github.com/rust-lang/compiler-team/issues/832) ([Zulip](https://rust-lang.zulipchat.com/#narrow/stream/233931-xxx/topic/Do.20not.20ignore.20uninhabited.20types.20for.20funct.E2.80.A6.20compiler-team.23832)) +- 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) + - "Add Hotpatch flag" [compiler-team#745](https://github.com/rust-lang/compiler-team/issues/745) ([Zulip](https://rust-lang.zulipchat.com/#narrow/stream/233931-xxx/topic/Add.20Hotpatch.20flag.20compiler-team.23745)) (last review activity: 3 months ago) + - "Policy change around adding new unstable flags" [compiler-team#787](https://github.com/rust-lang/compiler-team/issues/787) ([Zulip](https://rust-lang.zulipchat.com/#narrow/stream/233931-xxx/topic/Policy.20change.20around.20adding.20new.20unstable.20.E2.80.A6.20compiler-team.23787)) (last review activity: 3 months ago) + - "Normalize FileCheck directives" [compiler-team#789](https://github.com/rust-lang/compiler-team/issues/789) ([Zulip](https://rust-lang.zulipchat.com/#narrow/stream/233931-xxx/topic/Normalize.20FileCheck.20directives.20compiler-team.23789)) (last review activity: 3 months ago) + - "Create an avr-unknown-none target" [compiler-team#800](https://github.com/rust-lang/compiler-team/issues/800) ([Zulip](https://rust-lang.zulipchat.com/#narrow/stream/233931-xxx/topic/Create.20an.20avr-unknown-unknown.20target.20compiler-team.23800)) (last review activity: 2 months ago) + - "Demote `i686-pc-windows-gnu`" [compiler-team#822](https://github.com/rust-lang/compiler-team/issues/822) ([Zulip](https://rust-lang.zulipchat.com/#narrow/stream/233931-xxx/topic/Demote.20.60i686-pc-windows-gnu.60.20compiler-team.23822)) (last review activity: about 33 days ago) + - "Rename "dylib" crate type to "rdylib" (keep old name but deprecate it), and maybe do the same for "staticlib" → "cstaticlib"" [compiler-team#825](https://github.com/rust-lang/compiler-team/issues/825) ([Zulip](https://rust-lang.zulipchat.com/#narrow/stream/233931-xxx/topic/Rename.20.22dylib.22.20create.20type.20to.20.22rdylib.22.20.28k.E2.80.A6.20compiler-team.23825)) (last review activity: about 19 days ago) +- Pending FCP requests (check your boxes!) + - "sanitizers: Stabilize AddressSanitizer and LeakSanitizer for the Tier 1 targets" [rust#123617](https://github.com/rust-lang/rust/pull/123617) + - "Warn about C-style octal literals" [rust#131309](https://github.com/rust-lang/rust/pull/131309) +- Things in FCP (make sure you're good with it) + - "Clean up operator representations" [compiler-team#831](https://github.com/rust-lang/compiler-team/issues/831) ([Zulip](https://rust-lang.zulipchat.com/#narrow/stream/233931-xxx/topic/Clean.20up.20operator.20representations.20compiler-team.23831)) +- Accepted MCPs + - "Add amdgpu target" [compiler-team#823](https://github.com/rust-lang/compiler-team/issues/823) ([Zulip](https://rust-lang.zulipchat.com/#narrow/stream/233931-xxx/topic/Add.20amdgpu.20target.20compiler-team.23823)) + - "Add new targets for Cygwin (and MSYS2)" [compiler-team#826](https://github.com/rust-lang/compiler-team/issues/826) ([Zulip](https://rust-lang.zulipchat.com/#narrow/stream/233931-xxx/topic/Add.20new.20targets.20for.20Cygwin.20.28and.20MSYS2.29.20compiler-team.23826)) + - "Changing `-O` to `opt-level=3`" [compiler-team#828](https://github.com/rust-lang/compiler-team/issues/828) ([Zulip](https://rust-lang.zulipchat.com/#narrow/stream/233931-xxx/topic/Changing.20.60-O.60.20to.20.60opt-level.3D3.60.20compiler-team.23828)) +- MCPs blocked on unresolved concerns + - "setup typos check in CI (for rust repo)" [compiler-team#817](https://github.com/rust-lang/compiler-team/issues/817) ([Zulip](https://rust-lang.zulipchat.com/#narrow/stream/233931-xxx/topic/setup.20typos.20check.20in.20CI.20.28for.20rust.20repo.29.20compiler-team.23817)) + - concern: [contributor friction](https://github.com/rust-lang/compiler-team/issues/817#issuecomment-2525266792) + - "Add `-C hint-mostly-unused` option" [compiler-team#829](https://github.com/rust-lang/compiler-team/issues/829) ([Zulip](https://rust-lang.zulipchat.com/#narrow/stream/233931-xxx/topic/Add.20.60-C.20defer-codegen.60.20option.20compiler-team.23829)) (last review activity: about 1 days ago) + - concern: [prior-art-does-not-motivate-fast-stabilization](https://github.com/rust-lang/compiler-team/issues/829#issuecomment-2617441734) + - "Add `evex512` target feature for AVX10" [compiler-team#778](https://github.com/rust-lang/compiler-team/issues/778) ([Zulip](https://rust-lang.zulipchat.com/#narrow/stream/233931-xxx/topic/Add.20.60evex512.60.20target.20feature.20for.20AVX10.20compiler-team.23778)) (last review activity: about 55 days ago) + - concern: [design-around-naming-scheme](https://github.com/rust-lang/compiler-team/issues/778#issuecomment-2514307904) + - "Retire the mailing list and make all decisions on zulip" [compiler-team#649](https://github.com/rust-lang/compiler-team/issues/649) ([Zulip](https://rust-lang.zulipchat.com/#narrow/stream/233931-xxx/topic/Retire.20the.20mailing.20list.20and.20make.20all.20deci.E2.80.A6.20compiler-team.23649)) + - concern: [automatic-sync](https://github.com/rust-lang/compiler-team/issues/649#issuecomment-1618902660) +- Finalized FCPs (disposition merge) + - "Add `--print host-tuple` to print host target tuple" [rust#125579](https://github.com/rust-lang/rust/pull/125579) + - "make unsupported_calling_conventions a hard error" [rust#129935](https://github.com/rust-lang/rust/pull/129935) + - "Fix ICE when passing DefId-creating args to legacy_const_generics." [rust#130443](https://github.com/rust-lang/rust/pull/130443) + - "Stabilize WebAssembly `multivalue`, `reference-types`, and `tail-call` target features" [rust#131080](https://github.com/rust-lang/rust/pull/131080) + - "Lint on combining `#[no_mangle]` and `#[export_name]`" [rust#131558](https://github.com/rust-lang/rust/pull/131558) +- Other teams finalized FCPs + - "Add lint against function pointer comparisons" [rust#118833](https://github.com/rust-lang/rust/pull/118833) + - "Fixup Windows verbatim paths when used with the `include!` macro" [rust#125205](https://github.com/rust-lang/rust/pull/125205) + - "Uplift `clippy::double_neg` lint as `double_negations`" [rust#126604](https://github.com/rust-lang/rust/pull/126604) + - "Allow dropping `dyn Trait` principal" [rust#126660](https://github.com/rust-lang/rust/pull/126660) + - "atomics: allow atomic and non-atomic reads to race" [rust#128778](https://github.com/rust-lang/rust/pull/128778) + - "Lint against getting pointers from immediately dropped temporaries" [rust#128985](https://github.com/rust-lang/rust/pull/128985) + - "Do not consider match/let/ref of place that evaluates to `!` to diverge, disallow coercions from them too" [rust#129392](https://github.com/rust-lang/rust/pull/129392) + - "Make deprecated_cfg_attr_crate_type_name a hard error" [rust#129670](https://github.com/rust-lang/rust/pull/129670) + - "Stabilize expr_2021 fragment specifier in all editions" [rust#129972](https://github.com/rust-lang/rust/pull/129972) + - "Check elaborated projections from dyn don't mention unconstrained late bound lifetimes" [rust#130367](https://github.com/rust-lang/rust/pull/130367) + - "Finish stabilization of `result_ffi_guarantees`" [rust#130628](https://github.com/rust-lang/rust/pull/130628) + - "Stabilize const `ptr::write*` and `mem::replace`" [rust#130954](https://github.com/rust-lang/rust/pull/130954) + - "Stabilize s390x inline assembly" [rust#131258](https://github.com/rust-lang/rust/pull/131258) + - "Stabilize Arm64EC inline assembly" [rust#131781](https://github.com/rust-lang/rust/pull/131781) + - "Always display first line of impl blocks even when collapsed" [rust#132155](https://github.com/rust-lang/rust/pull/132155) + - "rework winnowing to sensibly handle global where-bounds" [rust#132325](https://github.com/rust-lang/rust/pull/132325) + - "mark is_val_statically_known intrinsic as stably const-callable" [rust#132449](https://github.com/rust-lang/rust/pull/132449) + - "Fix ICE when multiple supertrait substitutions need assoc but only one is provided" [rust#133392](https://github.com/rust-lang/rust/pull/133392) + - "[rustdoc] Add sans-serif font setting" [rust#133636](https://github.com/rust-lang/rust/pull/133636) + - "Stabilize `asm_goto` feature gate" [rust#133870](https://github.com/rust-lang/rust/pull/133870) + - "Consider fields to be inhabited if they are unstable" [rust#133889](https://github.com/rust-lang/rust/pull/133889) + - "disallow `repr()` on invalid items" [rust#133925](https://github.com/rust-lang/rust/pull/133925) + - "Make the wasm_c_abi future compat warning a hard error" [rust#133951](https://github.com/rust-lang/rust/pull/133951) + - "Stabilize target_feature_11" [rust#134090](https://github.com/rust-lang/rust/pull/134090) + - "fully de-stabilize all custom inner attributes" [rust#134276](https://github.com/rust-lang/rust/pull/134276) + - "remove long-deprecated no-op attributes no_start and crate_id" [rust#134300](https://github.com/rust-lang/rust/pull/134300) + - "Stabilize `feature(trait_upcasting)`" [rust#134367](https://github.com/rust-lang/rust/pull/134367) + +## Backport nominations + +[T-compiler beta](https://github.com/rust-lang/rust/issues?q=is%3Aall+label%3Abeta-nominated+-label%3Abeta-accepted+label%3AT-compiler) / [T-compiler stable](https://github.com/rust-lang/rust/issues?q=is%3Aall+label%3Astable-nominated+-label%3Astable-accepted+label%3AT-compiler) +- No beta nominations for `T-compiler` this time. +- No stable nominations for `T-compiler` this time. + +[T-types beta](https://github.com/rust-lang/rust/issues?q=is%3Aall+label%3Abeta-nominated+-label%3Abeta-accepted+label%3AT-types) / [T-types stable](https://github.com/rust-lang/rust/issues?q=is%3Aall+label%3Astable-nominated+-label%3Astable-accepted+label%3AT-types) +- No beta nominations for `T-types` this time. +- No stable nominations for `T-types` this time. + +## PRs S-waiting-on-team + +[T-compiler](https://github.com/rust-lang/rust/pulls?q=is%3Aopen+label%3AS-waiting-on-team+label%3AT-compiler) +- [Issues in progress or waiting on other teams](https://hackmd.io/XYr1BrOWSiqCrl8RCWXRaQ) + +## Issues of Note + +### Short Summary + +- [1 T-compiler P-critical issues](https://github.com/rust-lang/rust/issues?q=is%3Aopen+label%3AT-compiler+label%3AP-critical) + - [1 of those are unassigned](https://github.com/rust-lang/rust/issues?q=is%3Aopen+label%3AT-compiler+label%3AP-critical+no%3Aassignee) +- [61 T-compiler P-high issues](https://github.com/rust-lang/rust/issues?q=is%3Aopen+label%3AT-compiler+label%3AP-high) + - [36 of those are unassigned](https://github.com/rust-lang/rust/issues?q=is%3Aopen+label%3AT-compiler+label%3AP-high+no%3Aassignee) +- [1 P-critical, 0 P-high, 0 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, 1 P-medium, 0 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, 21 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) / [T-types](https://github.com/rust-lang/rust/issues?q=is%3Aopen+label%3AP-critical+label%3AT-types) +- "regression: cannot borrow ... as immutable because it is also borrowed as mutable" [rust#135671](https://github.com/rust-lang/rust/issues/135671) + - this was fixed by #135709 but that patch regressed after merge. A new additional patch is being worked on (see [comment](https://github.com/rust-lang/rust/pull/135709#issuecomment-2622888293)) + - on the radar of @**lqd** and @**Josh Stone (cuviper)** (thanks!) + +### 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+) +- No unassigned `P-high` nightly regressions this time. + +## Performance logs + +> [triage logs](https://github.com/rust-lang/rustc-perf/blob/master/triage/2025-01-27.md) + +Relatively quiet week, with one large-ish regression that will be reverted. +[#132666](https://github.com/rust-lang/rust/pull/132666) produced a nice perf. win, by skipping +unnecessary work. This PR actually reversed a regression caused by a [previous PR](https://github.com/rust-lang/rust/pull/131984). + +Triage done by **@kobzol**. +Revision range: [9a1d156f..f7538506](https://perf.rust-lang.org/?start=9a1d156f38c51441ee51e5a068f1d0caf4bb0f27&end=f753850659bdf5788332525f3fe395685929c682&absolute=false&stat=instructions%3Au) + +**Summary**: + +| (instructions:u) | mean | range | count | +|:------------------------:|:-----:|:--------------:|:-----:| +| Regressions (primary) | 0.5% | [0.2%, 2.2%] | 42 | +| Regressions (secondary) | 2.1% | [0.1%, 11.6%] | 56 | +| Improvements (primary) | -0.8% | [-4.2%, -0.1%] | 107 | +| Improvements (secondary) | -1.2% | [-4.0%, -0.1%] | 77 | +| All (primary) | -0.5% | [-4.2%, 2.2%] | 149 | + + +2 Regressions, 3 Improvements, 2 Mixed; 4 of them in rollups +45 artifact comparisons made in total + +#### Regressions + +Properly record metavar spans for other expansions other than TT [#134478](https://github.com/rust-lang/rust/pull/134478) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=b2728d5426bab1d8c39709768c7e22b7f66dde5d&end=dee7d0e730a3a3ed98c89dd33c4ac16edc82de8a&stat=instructions:u) + +| (instructions:u) | mean | range | count | +|:----------------------------------:|:-----:|:--------------:|:-----:| +| Regressions (primary) | 0.2% | [0.1%, 0.4%] | 31 | +| Regressions (secondary) | 1.0% | [0.1%, 3.0%] | 19 | +| Improvements (primary) | - | - | 0 | +| Improvements (secondary) | -0.1% | [-0.1%, -0.1%] | 1 | +| All (primary) | 0.2% | [0.1%, 0.4%] | 31 | + +- This regression was deemed [justified](https://github.com/rust-lang/rust/pull/134478#issuecomment-2558271305), it was caused by a bugfix. +- Marked as triaged. + +Rollup of 7 pull requests [#135947](https://github.com/rust-lang/rust/pull/135947) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=22a220a1a8280a262a277fc24661511f6c4dab51&end=1c9837df1dde9b234229709e89b3672bd3cf04a4&stat=instructions:u) + +| (instructions:u) | mean | range | count | +|:----------------------------------:|:----:|:------------:|:-----:| +| Regressions (primary) | 0.7% | [0.1%, 2.2%] | 15 | +| Regressions (secondary) | 1.4% | [0.1%, 2.2%] | 23 | +| Improvements (primary) | - | - | 0 | +| Improvements (secondary) | - | - | 0 | +| All (primary) | 0.7% | [0.1%, 2.2%] | 15 | + +- Small regression on doc builds. +- It's unclear which PR caused the regression, as our automation for unrolling PRs has failed here +for some reason. +- I don't think that it's worth it to manually post PR reverts and perf. test them for this kind of +a doc regression. + +#### Improvements + +Refactor `fmt::Display` impls in rustdoc [#135494](https://github.com/rust-lang/rust/pull/135494) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=cf577f34c47937ccb9983186eca5f8719da585f4&end=fc0094f8d4eb91637ff540be7d9d87bfcdd2a208&stat=instructions:u) + +| (instructions:u) | mean | range | count | +|:----------------------------------:|:-----:|:--------------:|:-----:| +| Regressions (primary) | - | - | 0 | +| Regressions (secondary) | - | - | 0 | +| Improvements (primary) | -0.2% | [-0.2%, -0.2%] | 2 | +| Improvements (secondary) | - | - | 0 | +| All (primary) | -0.2% | [-0.2%, -0.2%] | 2 | + + +Skip `if-let-rescope` lint unless requested by migration [#132666](https://github.com/rust-lang/rust/pull/132666) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=99768c80a1c094a5cfc3b25a04e7a99de7210eae&end=22a220a1a8280a262a277fc24661511f6c4dab51&stat=instructions:u) + +| (instructions:u) | mean | range | count | +|:----------------------------------:|:-----:|:--------------:|:-----:| +| Regressions (primary) | - | - | 0 | +| Regressions (secondary) | - | - | 0 | +| Improvements (primary) | -0.8% | [-1.9%, -0.2%] | 100 | +| Improvements (secondary) | -1.5% | [-4.2%, -0.1%] | 69 | +| All (primary) | -0.8% | [-1.9%, -0.2%] | 100 | + +- Fixes performance regression from [previous PR](https://github.com/rust-lang/rust/pull/131984). + +Rollup of 7 pull requests [#136070](https://github.com/rust-lang/rust/pull/136070) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=6fb03584cf6d915cc5527f45037ca009f4273c4c&end=2f0ad2a71e4a4528bb80bcb24bf8fa4e50cb87c2&stat=instructions:u) + +| (instructions:u) | mean | range | count | +|:----------------------------------:|:-----:|:--------------:|:-----:| +| Regressions (primary) | - | - | 0 | +| Regressions (secondary) | - | - | 0 | +| Improvements (primary) | -1.2% | [-4.4%, -0.2%] | 28 | +| Improvements (secondary) | -0.2% | [-0.2%, -0.2%] | 1 | +| All (primary) | -1.2% | [-4.4%, -0.2%] | 28 | + + +#### Mixed + +Rollup of 7 pull requests [#135789](https://github.com/rust-lang/rust/pull/135789) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=9f4d9dc102fee5c1fe8adce2c4a58254cae510f4&end=f3d1d47fd84dfcf7f513be1dbad356e74c8f3b2b&stat=instructions:u) + +| (instructions:u) | mean | range | count | +|:----------------------------------:|:-----:|:--------------:|:-----:| +| Regressions (primary) | - | - | 0 | +| Regressions (secondary) | 0.1% | [0.1%, 0.1%] | 2 | +| Improvements (primary) | -1.1% | [-1.1%, -1.1%] | 2 | +| Improvements (secondary) | -0.5% | [-0.6%, -0.5%] | 2 | +| All (primary) | -1.1% | [-1.1%, -1.1%] | 2 | + +- This rollup was mostly performance neutral, the tiny regression on a single benchmark was noise. +- Marked as triaged. + +Rollup of 8 pull requests [#135978](https://github.com/rust-lang/rust/pull/135978) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=48ef38d3503a04e5e18157e664e3e65dc7eca1a5&end=061ee95ce197dc9b276fc5363eddbfc0ecc08584&stat=instructions:u) + +| (instructions:u) | mean | range | count | +|:----------------------------------:|:-----:|:--------------:|:-----:| +| Regressions (primary) | 0.4% | [0.2%, 1.1%] | 15 | +| Regressions (secondary) | 6.2% | [0.8%, 11.5%] | 10 | +| Improvements (primary) | - | - | 0 | +| Improvements (secondary) | -0.4% | [-0.7%, -0.2%] | 20 | +| All (primary) | 0.4% | [0.2%, 1.1%] | 15 | + +- The performance regression was caused by [#135914](https://github.com/rust-lang/rust/pull/135914), +which will be reverted by [#136011](https://github.com/rust-lang/rust/pull/136011). +- Marked as triaged. + +## Nominated Issues + +[T-compiler](https://github.com/rust-lang/rust/issues?q=is%3Aopen+label%3AI-compiler-nominated) +- "Improve documentation when adding a new target" [rust#135992](https://github.com/rust-lang/rust/pull/135992) + - T-compiler was asked to review the wording, specifically the part about the new target needing to also be supported by `cc-rs` and `libc` support (which needs rustc support *first*, creating a cyclic dependency) + - Discussed also on the [Zulip thread](https://rust-lang.zulipchat.com/#narrow/channel/131828-t-compiler/topic/Improving.20docs.20for.20adding.20new.20targets) + +[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) +- "Improve dead code analysis for structs and traits defined locally" [rust#128637](https://github.com/rust-lang/rust/pull/128637) + - cc: @cjgillot +- "Remove `Nonterminal` and `TokenKind::Interpolated`" [rust#124141](https://github.com/rust-lang/rust/pull/124141) (last review activity: 4 months ago) + - cc: @**Vadim Petrochenkov** +- "Implement struct_target_features." [rust#129881](https://github.com/rust-lang/rust/pull/129881) (last review activity: 3 months ago) + - cc: @**cjgillot** (candidate for closing? there are some concerns about the design [on Zulip](https://rust-lang.zulipchat.com/#narrow/channel/247081-t-compiler.2Fperformance/topic/Help.20debugging.20perf.20regression.20in.20.23129881/near/467166692)) +- "Support multiple stability attributes on items" [rust#131824](https://github.com/rust-lang/rust/pull/131824) (last review activity: 3 months ago) + - cc: @**Wesley Wiser** wdyt? I see a [comment](https://github.com/rust-lang/rust/pull/131824#issuecomment-2474089515) from @**Vadim Petrochenkov** hinting (IIUC) that it's not worth pursuing? +- "When encountering unexpected closure return type, point at return type/expression" [rust#132156](https://github.com/rust-lang/rust/pull/132156) (last review activity: 3 months ago) + - cc: @**Nadrieril** + +Next meetings' agenda draft: [hackmd link](https://hackmd.io/AXGQgEeVTPCWvQb3yeYSrA)