--- tags: weekly, rustc type: docs note_id: 8Tx0hAADSjuryb_p0z0-7g --- # T-compiler Meeting Agenda 2025-11-20 ## Announcements - We would like to schedule a design meeting for "Document layout guarantee of TypeId" [compiler-team#941](https://github.com/rust-lang/compiler-team/issues/941) - Probably two suggestions (will ping all stakeholders: T-compiler, RfL, Alice from the Bevy project) - <time:2025-12-05T16:00:00+01:00> - <time:2025-12-12T16:00:00+01:00> - 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 <time:2025-11-20T13:00:00+02:00> ## MCPs/FCPs - New MCPs (take a look, see if you like them!) - "Allow using prebuilt sanitizer libraries" [compiler-team#943](https://github.com/rust-lang/compiler-team/issues/943) ([Zulip](https://rust-lang.zulipchat.com/#narrow/stream/233931-xxx/topic/Allow.20using.20prebuilt.20sanitizer.20libraries.20compiler-team.23943)) - concern: [why-not-third-party-tool](https://github.com/rust-lang/compiler-team/issues/943#issuecomment-3518370372) - concern: [what-about-combinatorics](https://github.com/rust-lang/compiler-team/issues/943#issuecomment-3518380326) - "Parse unstable keywords for experimental syntax" [compiler-team#945](https://github.com/rust-lang/compiler-team/issues/945) ([Zulip](https://rust-lang.zulipchat.com/#narrow/stream/233931-xxx/topic/Parse.20unstable.20keywords.20for.20experimental.20.E2.80.A6.20compiler-team.23945)) - 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) - "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 7 days ago) - "Relative VTables for Rust" [compiler-team#903](https://github.com/rust-lang/compiler-team/issues/903) ([Zulip](https://rust-lang.zulipchat.com/#narrow/stream/233931-xxx/topic/Relative.20VTables.20for.20Rust.20compiler-team.23903)) (last review activity: 3 months ago) - "Promote tvOS/watchOS/visionOS to Tier 2" [compiler-team#918](https://github.com/rust-lang/compiler-team/issues/918) ([Zulip](https://rust-lang.zulipchat.com/#narrow/stream/233931-xxx/topic/Promote.20tvOS.2FwatchOS.2FvisionOS.20to.20Tier.202.20compiler-team.23918)) (last review activity: about 42 days ago) - "Rename `hexagon-unknown-{none-elf,linux-musl}` targets" [compiler-team#921](https://github.com/rust-lang/compiler-team/issues/921) ([Zulip](https://rust-lang.zulipchat.com/#narrow/stream/233931-xxx/topic/Rename.20.60hexagon-unknown-.7Bnone-elf.2Clinux-m.E2.80.A6.20compiler-team.23921)) (last review activity: about 35 days ago) - "Optimize `repr(Rust)` enums by omitting tags in more cases involving uninhabited variants." [compiler-team#922](https://github.com/rust-lang/compiler-team/issues/922) ([Zulip](https://rust-lang.zulipchat.com/#narrow/stream/233931-xxx/topic/Optimize.20.60repr.28Rust.29.60.20enums.20by.20omitting.20t.E2.80.A6.20compiler-team.23922)) (last review activity: about 35 days ago) - "Stop bumping the bootstrap version on every rustc release" [compiler-team#925](https://github.com/rust-lang/compiler-team/issues/925) ([Zulip](https://rust-lang.zulipchat.com/#narrow/stream/233931-xxx/topic/Stop.20bumping.20the.20bootstrap.20version.20on.20eve.E2.80.A6.20compiler-team.23925)) (last review activity: about 34 days ago) - Pending FCP requests (check your boxes!) - merge: [Promote `riscv64a23-unknown-linux-gnu` to Tier 2 with host tools (compiler-team#910)](https://github.com/rust-lang/compiler-team/issues/910#issuecomment-3302421999) - @_**|125250** @_**|119031** @_**|426609** @_**|116122** @_**|116118** @_**|259697** @_**|444933** - concerns: [no-hardware-available (by davidtwco)](https://github.com/rust-lang/compiler-team/issues/910#issuecomment-3302832854) [unclear-justification (by jieyouxu)](https://github.com/rust-lang/compiler-team/issues/910#issuecomment-3305030219) - merge: [Destabilise target-spec-json (compiler-team#944)](https://github.com/rust-lang/compiler-team/issues/944#issuecomment-3519268694) - @_**|125250** @_**|116107** @_**|119031** @_**|116118** @_**|353056** - no pending concerns - merge: [sanitizers: Stabilize AddressSanitizer and LeakSanitizer for the Tier 1 targets (rust#123617)](https://github.com/rust-lang/rust/pull/123617#issuecomment-2135121317) - no pending checkboxes - concerns: [stabilization-scope (by wesleywiser)](https://github.com/rust-lang/rust/pull/123617#issuecomment-2192330122) - merge: [Stabilize stack-protector (rust#146369)](https://github.com/rust-lang/rust/pull/146369#issuecomment-3271397169) - @_**|116266** @_**|119031** @_**|426609** @_**|444933** - concerns: [mitigation-enforcement (by Noratrieb)](https://github.com/rust-lang/rust/pull/146369#issuecomment-3286402251) - merge: [Revert "Do not check privacy for RPITIT." (rust#146470)](https://github.com/rust-lang/rust/pull/146470#issuecomment-3553748437) - @_**|116009** @_**|239881** @_**|116883** @_**|125270** - no pending concerns - merge: [Not linting irrefutable_let_patterns on let chains (rust#146832)](https://github.com/rust-lang/rust/pull/146832#issuecomment-3476974269) - @_**|116009** @_**|116883** @_**|125270** - no pending concerns - "Fix ICE when applying test macro to crate root" [rust#147841](https://github.com/rust-lang/rust/pull/147841) - merge: [Warn on codegen attributes on required trait methods (rust#148756)](https://github.com/rust-lang/rust/pull/148756#issuecomment-3523712714) - @_**|116009** @_**|125270** - concerns: [jackh726-concern (by nikomatsakis)](https://github.com/rust-lang/rust/pull/148756#issuecomment-3554318576) - Things in FCP (make sure you're good with it) - "Proposal for Adapt Stack Protector for Rust" [compiler-team#841](https://github.com/rust-lang/compiler-team/issues/841) ([Zulip](https://rust-lang.zulipchat.com/#narrow/stream/233931-xxx/topic/.28My.20major.20change.20proposal.29.20compiler-team.23841)) - concern: [lose-debuginfo-data](https://github.com/rust-lang/compiler-team/issues/841#issuecomment-2683562830) - concern: [impl-at-mir-level](https://github.com/rust-lang/compiler-team/issues/841#issuecomment-2683562830) - concern: [inhibit-opts](https://github.com/rust-lang/compiler-team/issues/841#issuecomment-2683562830) - "Promote tier 3 riscv32 ESP-IDF targets to tier 2" [compiler-team#864](https://github.com/rust-lang/compiler-team/issues/864) ([Zulip](https://rust-lang.zulipchat.com/#narrow/stream/233931-xxx/topic/Promote.20tier.203.20riscv32.20ESP-IDF.20targets.20to.E2.80.A6.20compiler-team.23864)) - concern: [documentation](https://github.com/rust-lang/compiler-team/issues/864#issuecomment-3535045453) - concern: [continued-maintainer-interest](https://github.com/rust-lang/compiler-team/issues/864#issuecomment-3535030586) - "Add support for specifying split-debuginfo=unpacked output directory" [compiler-team#871](https://github.com/rust-lang/compiler-team/issues/871) ([Zulip](https://rust-lang.zulipchat.com/#narrow/stream/233931-xxx/topic/Add.20support.20for.20specifying.20split-debuginf.E2.80.A6.20compiler-team.23871)) - "Experiment with replacing specialization in libcore with downcasting" [compiler-team#904](https://github.com/rust-lang/compiler-team/issues/904) ([Zulip](https://rust-lang.zulipchat.com/#narrow/stream/233931-xxx/topic/Experiment.20with.20replacing.20specialization.20.E2.80.A6.20compiler-team.23904)) - "Proposal for a dedicated test suite for the parallel frontend" [compiler-team#906](https://github.com/rust-lang/compiler-team/issues/906) ([Zulip](https://rust-lang.zulipchat.com/#narrow/stream/233931-xxx/topic/Proposal.20for.20a.20dedicated.20test.20suite.20for.20t.E2.80.A6.20compiler-team.23906)) - concern: [name-a-specific-reason](https://github.com/rust-lang/compiler-team/issues/906#issuecomment-3137732970) - concern: [can-we-just-enhance-ui-suite](https://github.com/rust-lang/compiler-team/issues/906#issuecomment-3137762379) - "Contracts: primitive ownership assertions: `owned` and `block`" [compiler-team#942](https://github.com/rust-lang/compiler-team/issues/942) ([Zulip](https://rust-lang.zulipchat.com/#narrow/stream/233931-xxx/topic/Contracts.3A.20primitive.20ownership.20assertions.E2.80.A6.20compiler-team.23942)) - Accepted MCPs - "Begin enforcing Tier 2 target maintainer requirements" [compiler-team#896](https://github.com/rust-lang/compiler-team/issues/896) ([Zulip](https://rust-lang.zulipchat.com/#narrow/stream/233931-xxx/topic/Begin.20enforcing.20Tier.202.20target.20maintainer.20.E2.80.A6.20compiler-team.23896)) - "target tier 3 support for hexagon-unknown-qurt" [compiler-team#919](https://github.com/rust-lang/compiler-team/issues/919) ([Zulip](https://rust-lang.zulipchat.com/#narrow/stream/233931-xxx/topic/target.20tier.203.20support.20for.20hexagon-unknown.E2.80.A6.20compiler-team.23919)) - "Omit suggestions when spans overlap" [compiler-team#929](https://github.com/rust-lang/compiler-team/issues/929) ([Zulip](https://rust-lang.zulipchat.com/#narrow/stream/233931-xxx/topic/Omit.20suggestions.20when.20spans.20overlap.20compiler-team.23929)) - "Use v0 mangling by default on nightly" [compiler-team#938](https://github.com/rust-lang/compiler-team/issues/938) ([Zulip](https://rust-lang.zulipchat.com/#narrow/stream/233931-xxx/topic/Use.20v0.20mangling.20by.20default.20on.20nightly.20compiler-team.23938)) - "remove support for `typeof`" [compiler-team#940](https://github.com/rust-lang/compiler-team/issues/940) ([Zulip](https://rust-lang.zulipchat.com/#narrow/stream/233931-xxx/topic/remove.20support.20for.20.60typeof.60.20compiler-team.23940)) - MCPs blocked on unresolved concerns - "Add hygiene attributes to compile expanded source code" [compiler-team#692](https://github.com/rust-lang/compiler-team/issues/692) ([Zulip](https://rust-lang.zulipchat.com/#narrow/stream/233931-xxx/topic/Add.20option.20to.20compile.20expanded.20ASTs.20for.20h.E2.80.A6.20compiler-team.23692)) (last review activity: 5 months ago) - concern: [path-to-stabilization](https://github.com/rust-lang/compiler-team/issues/692#issuecomment-2980212568) - "Basic target naming rules" [compiler-team#850](https://github.com/rust-lang/compiler-team/issues/850) ([Zulip](https://rust-lang.zulipchat.com/#narrow/stream/233931-xxx/topic/Basic.20target.20naming.20rules.20compiler-team.23850)) (last review activity: about 44 days ago) - concern: [wont-stop-target-names-from-proliferating](https://github.com/rust-lang/compiler-team/issues/850#issuecomment-3074434152) - "WebAssembly for procedural macros" [compiler-team#876](https://github.com/rust-lang/compiler-team/issues/876) ([Zulip](https://rust-lang.zulipchat.com/#narrow/stream/233931-xxx/topic/WebAssembly.20for.20procedural.20macros.20compiler-team.23876)) (last review activity: 4 months ago) - concern: [proposal-wording](https://github.com/rust-lang/compiler-team/issues/876#issuecomment-3078140906) - "Split the `-openbsd*` targets by version" [compiler-team#916](https://github.com/rust-lang/compiler-team/issues/916) ([Zulip](https://rust-lang.zulipchat.com/#narrow/stream/233931-xxx/topic/Split.20the.20.60-openbsd.2A.60.20targets.20by.20version.20compiler-team.23916)) (last review activity: about 42 days ago) - concern: [nonsystematic-breakage](https://github.com/rust-lang/compiler-team/issues/916#issuecomment-3315243666) - concern: [version-churn](https://github.com/rust-lang/compiler-team/issues/916#issuecomment-3315239793) - concern: [why-not-ports-rustc](https://github.com/rust-lang/compiler-team/issues/916#issuecomment-3315251054) - "Add Wild linker as a preview component for x86_64 and AArch64 Linux GNU" [compiler-team#917](https://github.com/rust-lang/compiler-team/issues/917) ([Zulip](https://rust-lang.zulipchat.com/#narrow/stream/233931-xxx/topic/Add.20Wild.20linker.20as.20a.20preview.20component.20fo.E2.80.A6.20compiler-team.23917)) (last review activity: about 42 days ago) - concern: [unofficial project](https://github.com/rust-lang/compiler-team/issues/917#issuecomment-3330378645) - "Remove diagnostic translation infrastructure" [compiler-team#924](https://github.com/rust-lang/compiler-team/issues/924) ([Zulip](https://rust-lang.zulipchat.com/#narrow/stream/233931-xxx/topic/Remove.20diagnostic.20translation.20infrastruct.E2.80.A6.20compiler-team.23924)) (last review activity: about 34 days ago) - concern: [people-like-structs](https://github.com/rust-lang/compiler-team/issues/924#issuecomment-3377416128) - "Doc comments and attributes on macro arms" [compiler-team#935](https://github.com/rust-lang/compiler-team/issues/935) ([Zulip](https://rust-lang.zulipchat.com/#narrow/stream/233931-xxx/topic/Doc.20comments.20and.20attributes.20on.20macro.20arms.20compiler-team.23935)) (last review activity: about 13 days ago) - concern: [lang](https://github.com/rust-lang/compiler-team/issues/935#issuecomment-3444181159) - Finalized FCPs (disposition merge) - "Update bundled musl to 1.2.5" [rust#142682](https://github.com/rust-lang/rust/pull/142682) - "Fix backtraces with `-C panic=abort` on linux; emit unwind tables by default" [rust#143613](https://github.com/rust-lang/rust/pull/143613) - "Stabilize -Zno-jump-tables into -Cjump-tables=bool" [rust#145974](https://github.com/rust-lang/rust/pull/145974) - "Remove current code for embedding command-line args in PDB" [rust#147022](https://github.com/rust-lang/rust/pull/147022) - "Stabilize `-Zremap-path-scope`" [rust#147611](https://github.com/rust-lang/rust/pull/147611) - Other teams finalized FCPs - "Forbid freely casting lifetime bounds of dyn-types" [rust#136776](https://github.com/rust-lang/rust/pull/136776) - "Implement pin-project in pattern matching for `&pin mut|const T`" [rust#139751](https://github.com/rust-lang/rust/pull/139751) - "Fix accidental type inference in array coercion" [rust#140283](https://github.com/rust-lang/rust/pull/140283) - "Document MaybeUninit bit validity" [rust#140463](https://github.com/rust-lang/rust/pull/140463) - "Allow `&raw [mut | const]` for union field in safe code" [rust#141469](https://github.com/rust-lang/rust/pull/141469) - "Add new `function_casts_as_integer` lint" [rust#141470](https://github.com/rust-lang/rust/pull/141470) - "prefer alias candidates for sizedness + auto trait goals " [rust#144064](https://github.com/rust-lang/rust/pull/144064) - "Do not materialise X in [X; 0] when X is unsizing a const" [rust#145277](https://github.com/rust-lang/rust/pull/145277) - "Allow borrowing array elements from packed structs with ABI align <= packed align" [rust#145419](https://github.com/rust-lang/rust/pull/145419) - "Reject invalid literal suffixes in tuple indexing, tuple struct indexing, and struct field name position" [rust#145463](https://github.com/rust-lang/rust/pull/145463) - "Opportunistically split `!=` to successfully parse never type" [rust#145536](https://github.com/rust-lang/rust/pull/145536) - "docs(style): Specify the frontmatter style" [rust#145617](https://github.com/rust-lang/rust/pull/145617) - "Stabilize `std::panic::Location::file_as_c_str`" [rust#145664](https://github.com/rust-lang/rust/pull/145664) - "the `#[track_caller]` shim should not inherit `#[no_mangle]`" [rust#145724](https://github.com/rust-lang/rust/pull/145724) - "stabilize extern_system_varargs" [rust#145954](https://github.com/rust-lang/rust/pull/145954) - "Temporary lifetime extension for blocks" [rust#146098](https://github.com/rust-lang/rust/pull/146098) - "Deny-by-default never type lints" [rust#146167](https://github.com/rust-lang/rust/pull/146167) - "Allow specifying multiple bounds for same associated item, except in trait objects" [rust#146593](https://github.com/rust-lang/rust/pull/146593) - "`-Znext-solver` instantiate predicate binder without recanonicalizing goal" [rust#146725](https://github.com/rust-lang/rust/pull/146725) - "Allow passing `expr` metavariable to `cfg`" [rust#146961](https://github.com/rust-lang/rust/pull/146961) - "FCW for repr(C) enums whose discriminant values do not fit into a c_int or c_uint" [rust#147017](https://github.com/rust-lang/rust/pull/147017) - "[beta-1.91] Warn on future errors from temporary lifetimes shortening in Rust 1.92" [rust#147056](https://github.com/rust-lang/rust/pull/147056) - "Add warn-by-default lint for visibility on `const _` declarations" [rust#147136](https://github.com/rust-lang/rust/pull/147136) - "unused_must_use: Don't warn on `Result<(), Uninhabited>` or `ControlFlow<Uninhabited, ()>`" [rust#147382](https://github.com/rust-lang/rust/pull/147382) - "resolve: Preserve ambiguous glob reexports in crate metadata" [rust#147984](https://github.com/rust-lang/rust/pull/147984) - "Make deref_nullptr deny by default instead of warn" [rust#148122](https://github.com/rust-lang/rust/pull/148122) - "parser/lexer: bump to Unicode 17, use faster unicode-ident" [rust#148321](https://github.com/rust-lang/rust/pull/148321) - "Warn against calls which mutate an interior mutable `const`-item" [rust#148407](https://github.com/rust-lang/rust/pull/148407) ## Backport nominations [T-compiler beta](https://github.com/rust-lang/rust/issues?q=is%3Apr+label%3Abeta-nominated+-label%3Abeta-accepted+label%3AT-compiler) / [T-compiler stable](https://github.com/rust-lang/rust/issues?q=is%3Apr+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%3Apr+label%3Abeta-nominated+-label%3Abeta-accepted+label%3AT-types) / [T-types stable](https://github.com/rust-lang/rust/issues?q=is%3Apr+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-t-compiler [T-compiler](https://github.com/rust-lang/rust/pulls?q=is%3Aopen+label%3AS-waiting-on-t-compiler) - "library: core: document layout guarantee of `TypeId`" [rust#148265](https://github.com/rust-lang/rust/pull/148265) - (nominated as a reminder to find a date for the meeting) - [Issues in progress or waiting on other teams](https://hackmd.io/XYr1BrOWSiqCrl8RCWXRaQ) ## Issues of Note ### Short Summary - [1 T-compiler P-critical issues](https://github.com/rust-lang/rust/issues?q=is%3Aopen+label%3AT-compiler+label%3AP-critical) - [1 of those are unassigned](https://github.com/rust-lang/rust/issues?q=is%3Aopen+label%3AT-compiler+label%3AP-critical+no%3Aassignee) - [60 T-compiler P-high issues](https://github.com/rust-lang/rust/issues?q=is%3Aopen+label%3AT-compiler+label%3AP-high) - [41 of those are unassigned](https://github.com/rust-lang/rust/issues?q=is%3Aopen+label%3AT-compiler+label%3AP-high+no%3Aassignee) - [2 P-critical, 1 P-high, 8 P-medium, 1 P-low regression-from-stable-to-beta](https://github.com/rust-lang/rust/labels/regression-from-stable-to-beta) - [1 P-critical, 0 P-high, 2 P-medium, 1 P-low regression-from-stable-to-nightly](https://github.com/rust-lang/rust/labels/regression-from-stable-to-nightly) - [0 P-critical, 31 P-high, 100 P-medium, 25 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) - "1.92 regression in PyO3: unable to determine layout for ... because ... cannot be normalized" [rust#149081](https://github.com/rust-lang/rust/issues/149081) - affects the PyO3 project (maintainer is in the loop). - closely investigated, has been bisected ([comment](https://github.com/rust-lang/rust/issues/149081#issuecomment-3556413067)) and Oli [commented](https://github.com/rust-lang/rust/pull/147793#pullrequestreview-3481474481) on how it can be fixed. - Also [comment](https://github.com/rust-lang/rust/issues/149081#issuecomment-3556293945): > This issue seems to only affect building in debug mode but with optimizations, which is a rare configuration. - This bug also led to finding an ICE (different story, filed in #149120) [T-types](https://github.com/rust-lang/rust/issues?q=is%3Aopen+label%3AP-critical+label%3AT-types) - "1.92 regression in PyO3: unable to determine layout for ... because ... cannot be normalized" [rust#149081](https://github.com/rust-lang/rust/issues/149081) - (see above) ### 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 > [2025-11-19 Triage Log](https://github.com/rust-lang/rustc-perf/blob/634b10a2fdf2e44bcb7cc89c841e105131a019bd/triage/2025/2025-11-19.md) Positive week, most notably because of the new format_args!() and fmt::Arguments implementation from [#148789](https://github.com/rust-lang/rust/pull/148789). Another notable improvement came from moving some computations from one compiler stage to another to save memory and unnecessary tree traversals in [#148706](https://github.com/rust-lang/rust/pull/148706) Triage done by **@panstromek**. Revision range: [055d0d6a..6159a440](https://perf.rust-lang.org/?start=055d0d6aaf937cc11b3d2a5b5725972723b7f3c6&end=6159a44067ebce42b38f062cc7df267a1348e092&absolute=false&stat=instructions%3Au) **Summary**: | (instructions:u) | mean | range | count | |:----------------------------------:|:-----:|:---------------:|:-----:| | Regressions ❌ <br /> (primary) | 1.6% | [0.2%, 5.6%] | 11 | | Regressions ❌ <br /> (secondary) | 0.3% | [0.1%, 1.1%] | 26 | | Improvements ✅ <br /> (primary) | -0.8% | [-4.5%, -0.1%] | 161 | | Improvements ✅ <br /> (secondary) | -1.4% | [-38.1%, -0.1%] | 168 | | All ❌✅ (primary) | -0.6% | [-4.5%, 5.6%] | 172 | 2 Regressions, 4 Improvements, 10 Mixed; 4 of them in rollups 48 artifact comparisons made in total #### Regressions Rollup of 7 pull requests [#148885](https://github.com/rust-lang/rust/pull/148885) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=503dce33e2e2a5d2fe978b2723ab2a994cc27472&end=5dbf4069dc98bbbca98dd600a65f50c258fbfd56&stat=instructions:u) | (instructions:u) | mean | range | count | |:----------------------------------:|:----:|:------------:|:-----:| | Regressions ❌ <br /> (primary) | 3.0% | [3.0%, 3.0%] | 1 | | Regressions ❌ <br /> (secondary) | - | - | 0 | | Improvements ✅ <br /> (primary) | - | - | 0 | | Improvements ✅ <br /> (secondary) | - | - | 0 | | All ❌✅ (primary) | 3.0% | [3.0%, 3.0%] | 1 | `clap_derive` bimodal noise Rollup of 11 pull requests [#148988](https://github.com/rust-lang/rust/pull/148988) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=54f417673c9733bf8f8ce126e4a0e299536cb3d6&end=67c4cf395f243afcb973dacdd39b16895c9ad295&stat=instructions:u) | (instructions:u) | mean | range | count | |:----------------------------------:|:----:|:------------:|:-----:| | Regressions ❌ <br /> (primary) | 3.0% | [3.0%, 3.0%] | 1 | | Regressions ❌ <br /> (secondary) | 0.1% | [0.1%, 0.2%] | 2 | | Improvements ✅ <br /> (primary) | - | - | 0 | | Improvements ✅ <br /> (secondary) | - | - | 0 | | All ❌✅ (primary) | 3.0% | [3.0%, 3.0%] | 1 | Triaged by @Zalathar: The clap_derive result looks pretty clearly bimodal. The secondary regressions are plausibly real, but don’t seem big enough to be worth investigating. #### Improvements Upgrade `stringdex` to 0.0.3 [#147918](https://github.com/rust-lang/rust/pull/147918) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=5dbf4069dc98bbbca98dd600a65f50c258fbfd56&end=d682af88a57b0045f8348507682c16c6160b522d&stat=instructions:u) | (instructions:u) | mean | range | count | |:----------------------------------:|:-----:|:--------------:|:-----:| | Regressions ❌ <br /> (primary) | - | - | 0 | | Regressions ❌ <br /> (secondary) | - | - | 0 | | Improvements ✅ <br /> (primary) | -0.6% | [-2.9%, -0.1%] | 14 | | Improvements ✅ <br /> (secondary) | -0.7% | [-1.4%, -0.3%] | 3 | | All ❌✅ (primary) | -0.6% | [-2.9%, -0.1%] | 14 | rustdoc: microoptimize render_item, move stuff out of common path [#148877](https://github.com/rust-lang/rust/pull/148877) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=f35a2bee641e88742b6de10b25c748ef57475f24&end=e65b983161d52688ff8e05245ed5dc70ef01a904&stat=instructions:u) | (instructions:u) | mean | range | count | |:----------------------------------:|:-----:|:--------------:|:-----:| | Regressions ❌ <br /> (primary) | - | - | 0 | | Regressions ❌ <br /> (secondary) | - | - | 0 | | Improvements ✅ <br /> (primary) | -1.5% | [-3.0%, -0.3%] | 3 | | Improvements ✅ <br /> (secondary) | -1.1% | [-2.9%, -0.1%] | 4 | | All ❌✅ (primary) | -1.5% | [-3.0%, -0.3%] | 3 | const-eval: fix and re-enable pointer fragment support [#148259](https://github.com/rust-lang/rust/pull/148259) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=67c4cf395f243afcb973dacdd39b16895c9ad295&end=e1a2ec605124d9f9b0095435faef70bd4bd3f128&stat=instructions:u) | (instructions:u) | mean | range | count | |:----------------------------------:|:-----:|:--------------:|:-----:| | Regressions ❌ <br /> (primary) | - | - | 0 | | Regressions ❌ <br /> (secondary) | - | - | 0 | | Improvements ✅ <br /> (primary) | -3.0% | [-3.0%, -3.0%] | 1 | | Improvements ✅ <br /> (secondary) | -0.3% | [-0.4%, -0.2%] | 8 | | All ❌✅ (primary) | -3.0% | [-3.0%, -3.0%] | 1 | Rollup of 4 pull requests [#149059](https://github.com/rust-lang/rust/pull/149059) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=f9e7961506a97b318ad4815b8ce94bb045562f89&end=3d461af2a23456a2676aadb13b4253c87bdfe28d&stat=instructions:u) | (instructions:u) | mean | range | count | |:----------------------------------:|:-----:|:--------------:|:-----:| | Regressions ❌ <br /> (primary) | - | - | 0 | | Regressions ❌ <br /> (secondary) | - | - | 0 | | Improvements ✅ <br /> (primary) | -2.9% | [-2.9%, -2.9%] | 1 | | Improvements ✅ <br /> (secondary) | -0.4% | [-0.6%, -0.1%] | 4 | | All ❌✅ (primary) | -2.9% | [-2.9%, -2.9%] | 1 | #### Mixed cleanup: merge `RvalueScopes` into `ScopeTree` [#148658](https://github.com/rust-lang/rust/pull/148658) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=2636cb4c1328f5a3ab05b8d13a666ac5f3a48a08&end=25d319a0f656ee8faa7a534da299e76e96068a40&stat=instructions:u) | (instructions:u) | mean | range | count | |:----------------------------------:|:-----:|:--------------:|:-----:| | Regressions ❌ <br /> (primary) | 3.1% | [3.1%, 3.1%] | 1 | | Regressions ❌ <br /> (secondary) | 0.5% | [0.0%, 0.6%] | 5 | | Improvements ✅ <br /> (primary) | -0.1% | [-0.1%, -0.1%] | 1 | | Improvements ✅ <br /> (secondary) | -0.1% | [-0.1%, -0.0%] | 7 | | All ❌✅ (primary) | 1.5% | [-0.1%, 3.1%] | 2 | `clap_derive` regression is noise. Other secondary regressions were identified in pre-merge perf run, investigated by in https://github.com/rust-lang/rust/pull/148658#issuecomment-3506150724 and accepted by reviewer in https://github.com/rust-lang/rust/pull/148658#issuecomment-3517842065 Rollup of 16 pull requests [#148851](https://github.com/rust-lang/rust/pull/148851) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=11339a0ef5ed586bb7ea4f85a9b7287880caac3a&end=0b329f801a09004dacb19aaf09d5cb8b4c51d3f8&stat=instructions:u) | (instructions:u) | mean | range | count | |:----------------------------------:|:-----:|:--------------:|:-----:| | Regressions ❌ <br /> (primary) | 2.1% | [1.1%, 3.5%] | 20 | | Regressions ❌ <br /> (secondary) | 1.4% | [0.2%, 2.8%] | 25 | | Improvements ✅ <br /> (primary) | -3.0% | [-3.0%, -3.0%] | 1 | | Improvements ✅ <br /> (secondary) | -0.4% | [-0.5%, -0.2%] | 2 | | All ❌✅ (primary) | 1.9% | [-3.0%, 3.5%] | 21 | Regression was identified as https://github.com/rust-lang/rust/pull/146627, which was reverted. New format_args!() and fmt::Arguments implementation [#148789](https://github.com/rust-lang/rust/pull/148789) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=01867557cd7dbe256a031a7b8e28d05daecd75ab&end=503dce33e2e2a5d2fe978b2723ab2a994cc27472&stat=instructions:u) | (instructions:u) | mean | range | count | |:----------------------------------:|:-----:|:---------------:|:-----:| | Regressions ❌ <br /> (primary) | 0.7% | [0.1%, 5.7%] | 17 | | Regressions ❌ <br /> (secondary) | 0.6% | [0.1%, 1.1%] | 40 | | Improvements ✅ <br /> (primary) | -0.7% | [-4.4%, -0.1%] | 120 | | Improvements ✅ <br /> (secondary) | -1.6% | [-38.5%, -0.0%] | 106 | | All ❌✅ (primary) | -0.5% | [-4.4%, 5.7%] | 137 | Improvements outweigh regressions. Revert "Rollup merge of #146627 - madsmtm:jemalloc-simplify, r=jdonszelmann" [#148896](https://github.com/rust-lang/rust/pull/148896) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=2286e5d224b3413484cf4f398a9f078487e7b49d&end=7a72c5459dd58f81b0e1a0e5436d145485889375&stat=instructions:u) | (instructions:u) | mean | range | count | |:----------------------------------:|:-----:|:--------------:|:-----:| | Regressions ❌ <br /> (primary) | - | - | 0 | | Regressions ❌ <br /> (secondary) | 0.9% | [0.2%, 1.1%] | 7 | | Improvements ✅ <br /> (primary) | -2.1% | [-3.4%, -1.1%] | 20 | | Improvements ✅ <br /> (secondary) | -1.4% | [-2.7%, -0.2%] | 25 | | All ❌✅ (primary) | -2.1% | [-3.4%, -1.1%] | 20 | Reverts a previous regression. compute temporary scopes when building MIR, not THIR [#148706](https://github.com/rust-lang/rust/pull/148706) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=77761f314d7243da0fa3b6ca214eeecd51e956e0&end=733108b6d4acaa93fe26ae281ea305aacd6aac4e&stat=instructions:u) | (instructions:u) | mean | range | count | |:----------------------------------:|:-----:|:--------------:|:-----:| | Regressions ❌ <br /> (primary) | 2.9% | [2.9%, 2.9%] | 1 | | Regressions ❌ <br /> (secondary) | 1.7% | [1.7%, 1.7%] | 1 | | Improvements ✅ <br /> (primary) | -0.4% | [-1.8%, -0.1%] | 55 | | Improvements ✅ <br /> (secondary) | -0.9% | [-3.1%, -0.0%] | 80 | | All ❌✅ (primary) | -0.3% | [-1.8%, 2.9%] | 56 | `clap_derive` regression is noise, otherwise this is an improvement. Update wasm-component-ld to 0.5.19 [#148954](https://github.com/rust-lang/rust/pull/148954) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=733108b6d4acaa93fe26ae281ea305aacd6aac4e&end=f35a2bee641e88742b6de10b25c748ef57475f24&stat=instructions:u) | (instructions:u) | mean | range | count | |:----------------------------------:|:-----:|:--------------:|:-----:| | Regressions ❌ <br /> (primary) | - | - | 0 | | Regressions ❌ <br /> (secondary) | 0.0% | [0.0%, 0.0%] | 1 | | Improvements ✅ <br /> (primary) | -2.9% | [-2.9%, -2.9%] | 1 | | Improvements ✅ <br /> (secondary) | - | - | 0 | | All ❌✅ (primary) | -2.9% | [-2.9%, -2.9%] | 1 | `wg-grammar` looks like noise (it returned back in next PR). `clap_derive` improvement is also noise. use funnel shift as fallback impl for rotating shifts [#148478](https://github.com/rust-lang/rust/pull/148478) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=69d4d5fc0e4db60272aac85ef27ecccef5764f3a&end=89fe96197d232f86d733566df31c6dcebd1750da&stat=instructions:u) | (instructions:u) | mean | range | count | |:----------------------------------:|:-----:|:--------------:|:-----:| | Regressions ❌ <br /> (primary) | 3.8% | [3.8%, 3.8%] | 1 | | Regressions ❌ <br /> (secondary) | 0.2% | [0.1%, 0.3%] | 10 | | Improvements ✅ <br /> (primary) | -0.4% | [-0.4%, -0.4%] | 1 | | Improvements ✅ <br /> (secondary) | -0.1% | [-0.1%, -0.1%] | 1 | | All ❌✅ (primary) | 1.7% | [-0.4%, 3.8%] | 2 | Investigated by author. Eza regression seems a bit mysterious. Pre-merge run from two weeks ago didn't indicate it. Replace OffsetOf by an actual sum of calls to intrinsic. [#148151](https://github.com/rust-lang/rust/pull/148151) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=c1995621a44398ac33ab368adbfb69753218b49e&end=f9e7961506a97b318ad4815b8ce94bb045562f89&stat=instructions:u) | (instructions:u) | mean | range | count | |:----------------------------------:|:-----:|:--------------:|:-----:| | Regressions ❌ <br /> (primary) | 3.1% | [3.1%, 3.1%] | 1 | | Regressions ❌ <br /> (secondary) | 0.3% | [0.1%, 0.6%] | 6 | | Improvements ✅ <br /> (primary) | - | - | 0 | | Improvements ✅ <br /> (secondary) | -0.4% | [-0.9%, -0.0%] | 7 | | All ❌✅ (primary) | 3.1% | [3.1%, 3.1%] | 1 | `clap_derive` is noise, `include-blob` is also noise (at least the `opt` variants, other ones didn't return to previous state, but they are tiny in absolute numbers). Inherent const impl [#148434](https://github.com/rust-lang/rust/pull/148434) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=7c2c3c0ded2de378bfab2f5b55c387c66fbaf353&end=6159a44067ebce42b38f062cc7df267a1348e092&stat=instructions:u) | (instructions:u) | mean | range | count | |:----------------------------------:|:-----:|:--------------:|:-----:| | Regressions ❌ <br /> (primary) | 2.9% | [2.9%, 2.9%] | 1 | | Regressions ❌ <br /> (secondary) | - | - | 0 | | Improvements ✅ <br /> (primary) | -0.3% | [-0.3%, -0.3%] | 1 | | Improvements ✅ <br /> (secondary) | -0.5% | [-0.9%, -0.2%] | 9 | | All ❌✅ (primary) | 1.3% | [-0.3%, 2.9%] | 2 | `clap_derive` noise. Update wasm-related dependencies in CI [#149037](https://github.com/rust-lang/rust/pull/149037) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=6159a44067ebce42b38f062cc7df267a1348e092&end=a591113c0a2b7755514c47bde211fdb92d1d7002&stat=instructions:u) | (instructions:u) | mean | range | count | |:----------------------------------:|:-----:|:--------------:|:-----:| | Regressions ❌ <br /> (primary) | 0.4% | [0.4%, 0.4%] | 1 | | Regressions ❌ <br /> (secondary) | 0.5% | [0.2%, 0.9%] | 9 | | Improvements ✅ <br /> (primary) | -2.8% | [-2.8%, -2.8%] | 1 | | Improvements ✅ <br /> (secondary) | -0.1% | [-0.1%, -0.1%] | 1 | | All ❌✅ (primary) | -1.2% | [-2.8%, 0.4%] | 2 | Triaged by @lqd: Gotta be noise. A bunch of the changes are benchmarks returning to their previous state, fixing a spurious win. ## Nominated Issues [T-compiler](https://github.com/rust-lang/rust/issues?q=is%3Aopen+label%3AI-compiler-nominated) - "Perform unused assignment and unused variables lints on MIR" [rust#142390](https://github.com/rust-lang/rust/pull/142390) - @**Jubilee** has opened a [Zulip discussion](https://rust-lang.zulipchat.com/#narrow/channel/131828-t-compiler/topic/collateral.20of.20.23142390.20on.20.60unused.60.20lints/near/557004328) about a series of beta regressions caused by this - @_**yukang** is working a number of patches to fix them all! <3 - Summary: - `unreachable_code`: - #149042, fixed by #149044 - `unused_assignments`: - #147648, pending - #148418, fixed by #149072 - #148960, fixed by #149072 - `unused_variables`: - #148373, fixed by #149096 [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 meetings' agenda draft: [hackmd link](https://hackmd.io/J5IoTXI6STWyyqPxArgxPg)