--- tags: weekly, rustc type: docs --- # T-compiler Meeting Agenda 2023-06-15 ## Announcements - Input from @**apiraino** (echoing [a comment](https://rust-lang.zulipchat.com/#narrow/stream/238009-t-compiler.2Fmeetings/topic/.5Bweekly.5D.202023-06-01/near/362796465) from @**Jack Huey**): rethinking WGs checkins in t-compiler meetings. Is the current rotation reflecting the reality? Suggests opening a topic under #**t-compiler** and discuss with the leads - [Types team meeting](https://www.google.com/calendar/event?eid=MTg3MDhpdTc3YXBqMGMzbnNxanUwdWZnazhfMjAyMzA2MTlUMTQwMDAwWiA2dTVycnRjZTZscnR2MDdwZmkzZGFtZ2p1c0Bn) at <time:2023-06-19T10:00:00-04:00> - Reminder: if you see a PR/issue that seems like there might be legal implications due to copyright/IP/etc, please let the Core team know (or at least message @_**pnkfelix** or @_**Wesley Wiser** so we can pass it along). ### Other WG meetings ([calendar link](https://calendar.google.com/calendar/embed?src=6u5rrtce6lrtv07pfi3damgjus%40group.calendar.google.com)) - [wg-async: Open discussion](https://www.google.com/calendar/event?eid=ZDYzaGYwYnM4bWs2cHA3ZGRmazhvOGVjOXJfMjAyMzA2MTVUMjAzMDAwWiA2dTVycnRjZTZscnR2MDdwZmkzZGFtZ2p1c0Bn) at <time:2023-06-15T16:30:00-04:00> - [wg-rls-2.0 weekly sync-up](https://www.google.com/calendar/event?eid=MXJnbzBscDExNHJjNmVsdGhsaW8xcDljMmdfMjAyMzA2MTlUMTUwMDAwWiA2dTVycnRjZTZscnR2MDdwZmkzZGFtZ2p1c0Bn) at <time:2023-06-19T11:00:00-04:00> - [wg-rls-2.0 steering meeting](https://www.google.com/calendar/event?eid=N2NxOWxzYWYxb3NicWNzbGsxYzdxcG9ydTJfMjAyMzA2MTlUMTUwMDAwWiA2dTVycnRjZTZscnR2MDdwZmkzZGFtZ2p1c0Bn) at <time:2023-06-19T11:00:00-04:00> ## MCPs/FCPs - New MCPs (take a look, see if you like them!) - "[MCP] proposing a macros working group" [compiler-team#637](https://github.com/rust-lang/compiler-team/issues/637) - 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) - "2024: Decrease debuginfo generated by `-Cdebuginfo=1`" [compiler-team#613](https://github.com/rust-lang/compiler-team/issues/613) (last review activity: about 54 days ago) - "Cell Broadband Engine SPU support" [compiler-team#614](https://github.com/rust-lang/compiler-team/issues/614) (last review activity: 2 months ago) - "Revise error code documentation standard" [compiler-team#615](https://github.com/rust-lang/compiler-team/issues/615) (last review activity: about 54 days ago) - "Runtime checks for occupied niches" [compiler-team#624](https://github.com/rust-lang/compiler-team/issues/624) (last review activity: about 19 days ago) - "Add support for Zephyr OS" [compiler-team#629](https://github.com/rust-lang/compiler-team/issues/629) (last review activity: about 19 days ago) - "Add `mips64r6` option to `target_arch`" [compiler-team#632](https://github.com/rust-lang/compiler-team/issues/632) (last review activity: about 19 days ago) - "Consistently use "region" terminology in later stages of the compiler" [compiler-team#634](https://github.com/rust-lang/compiler-team/issues/634) (last review activity: about 19 days ago) - "Add a new `--build-id` flag to rustc" [compiler-team#635](https://github.com/rust-lang/compiler-team/issues/635) (last review activity: about 19 days ago) - "Simplify and improve explicitness of the check-cfg syntax" [compiler-team#636](https://github.com/rust-lang/compiler-team/issues/636) (last review activity: about 0 days ago) - Pending FCP requests (check your boxes!) - No pending FCP requests this time. - Things in FCP (make sure you're good with it) - "Disallow incoherent cfgs" [compiler-team#610](https://github.com/rust-lang/compiler-team/issues/610) - "Add a blanket flag to enable/disable codegen UB checks" [compiler-team#625](https://github.com/rust-lang/compiler-team/issues/625) - "Report all lints, even if other errors already occurred." [compiler-team#633](https://github.com/rust-lang/compiler-team/issues/633) - Accepted MCPs - "Take MIR `Analysis` by `&mut`" [compiler-team#598](https://github.com/rust-lang/compiler-team/issues/598) - Finalized FCPs (disposition merge) - "Make pointer_structural_match normal and warn" [rust#110166](https://github.com/rust-lang/rust/pull/110166) - "rustdoc: Add search result item types after their name" [rust#110688](https://github.com/rust-lang/rust/pull/110688) - "[mir-opt] SimplifyLocals should also clean up debuginfo" [rust#110702](https://github.com/rust-lang/rust/pull/110702) - "Stabilize inline asm for LoongArch64" [rust#111235](https://github.com/rust-lang/rust/pull/111235) - "Uplift `clippy::undropped_manually_drops` lint" [rust#111530](https://github.com/rust-lang/rust/pull/111530) - "Uplift `clippy::invalid_utf8_in_unchecked` lint" [rust#111543](https://github.com/rust-lang/rust/pull/111543) - "Uplift `clippy::cast_ref_to_mut` lint" [rust#111567](https://github.com/rust-lang/rust/pull/111567) - "Uplift `clippy::fn_null_check` lint" [rust#111717](https://github.com/rust-lang/rust/pull/111717) - "Uplift `clippy::cmp_nan` lint" [rust#111818](https://github.com/rust-lang/rust/pull/111818) - "rustdoc: search for slices and arrays by type with `[]`" [rust#111958](https://github.com/rust-lang/rust/pull/111958) ### WG checkins - @_*WG-self-profile* by @**mw** and @**Wesley Wiser** ([previous checkin](https://hackmd.io/DzXUoPG6T-S5NfXcl8h1yg#WG-checkins)): > @**andjo403** modified the event file format to support ASCII newline characters in https://github.com/rust-lang/measureme/pull/208. This resolved a panic that @**jyn** reported when profiling the compiler. ## Backport nominations [T-compiler stable](https://github.com/rust-lang/rust/issues?q=is%3Aall+label%3Abeta-nominated+-label%3Abeta-accepted+label%3AT-compiler) / [T-compiler beta](https://github.com/rust-lang/rust/issues?q=is%3Aall+label%3Astable-nominated+-label%3Astable-accepted+label%3AT-compiler) - :beta: 1.71.0 "Make struct layout not depend on unsizeable tail" [rust#112062](https://github.com/rust-lang/rust/pull/112062) - fixes #112048, P-critical unsoundness - it is now merged, perf. run triage neutral <!-- /poll Approve beta backport of #112062? approve decline don't know --> - :beta: 1.71.0 "Update to LLVM 16.0.5" [rust#112312](https://github.com/rust-lang/rust/pull/112312) - Fixes a number of regressions: #111823, #112061, #112170 - perf. bench triaged and approved (see [comment](https://github.com/rust-lang/rust/pull/112312#issuecomment-1590009205)) <!-- /poll Approve beta backport of #112312? approve decline don't know --> - No stable nominations for `T-compiler` this time. [T-rustdoc stable](https://github.com/rust-lang/rust/issues?q=is%3Aall+label%3Abeta-nominated+-label%3Abeta-accepted+label%3AT-rustdoc) / [T-rustdoc beta](https://github.com/rust-lang/rust/issues?q=is%3Aall+label%3Astable-nominated+-label%3Astable-accepted+label%3AT-rustdoc) - No stable nominations for `T-rustdoc` this time. - No beta nominations for `T-rustdoc` this time. :back: / :shrug: / :hand: ## PRs S-waiting-on-team [T-compiler](https://github.com/rust-lang/rust/pulls?q=is%3Aopen+label%3AS-waiting-on-team+label%3AT-compiler) - Issues [in progress or waiting on other teams](https://hackmd.io/XYr1BrOWSiqCrl8RCWXRaQ) ## Issues of Note ### Short Summary - [0 T-compiler P-critical issues](https://github.com/rust-lang/rust/issues?q=is%3Aopen+label%3AT-compiler+label%3AP-critical) - [0 of those are unassigned](https://github.com/rust-lang/rust/issues?q=is%3Aopen+label%3AT-compiler+label%3AP-critical+no%3Aassignee) - [62 T-compiler P-high issues](https://github.com/rust-lang/rust/issues?q=is%3Aopen+label%3AT-compiler+label%3AP-high) - [29 of those are unassigned](https://github.com/rust-lang/rust/issues?q=is%3Aopen+label%3AT-compiler+label%3AP-high+no%3Aassignee) - [0 P-critical, 1 P-high, 1 P-medium, 0 P-low regression-from-stable-to-beta](https://github.com/rust-lang/rust/labels/regression-from-stable-to-beta) - [1 P-critical, 0 P-high, 1 P-medium, 2 P-low regression-from-stable-to-nightly](https://github.com/rust-lang/rust/labels/regression-from-stable-to-nightly) - [0 P-critical, 35 P-high, 100 P-medium, 17 P-low regression-from-stable-to-stable](https://github.com/rust-lang/rust/labels/regression-from-stable-to-stable) ### P-critical [T-compiler](https://github.com/rust-lang/rust/issues?q=is%3Aopen+label%3AP-critical+label%3AT-compiler) - No `P-critical` issues for `T-compiler` at 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` at this time. [T-rustdoc](https://github.com/rust-lang/rust/issues?q=is%3Aopen+label%3AP-critical+label%3AT-rustdoc) - No `P-critical` issues for `T-rustdoc` at this time. ### P-high regressions [P-high beta regressions](https://github.com/rust-lang/rust/issues?q=is%3Aopen+label%3Aregression-from-stable-to-beta+label%3AP-high+-label%3AT-infra+-label%3AT-libs+-label%3AT-libs-api+-label%3AT-release+-label%3AT-rustdoc+-label%3AT-core) - No new `P-high` regressions [Unassigned P-high nightly regressions](https://github.com/rust-lang/rust/issues?q=is%3Aopen+label%3Aregression-from-stable-to-nightly+label%3AP-high+no%3Aassignee+-label%3AT-infra+-label%3AT-libs+-label%3AT-libs-api+-label%3AT-release+-label%3AT-rustdoc+-label%3AT-core+) - No unassigned `P-high` nightly regressions this time. ## Nominated Issues [T-compiler](https://github.com/rust-lang/rust/issues?q=is%3Aopen+label%3AI-compiler-nominated) - "MSVC and rustc disagree on minimum stack alignment on x86 Windows" [rust#112480](https://github.com/rust-lang/rust/issues/112480) - unsoundness for windows-msvc 32bit target, caused by (quote) "the x86 ABI on Windows doesn't guarantee the stack alignment above 4". - @**Chris Denton** suggests skipping the check ([comment](https://github.com/rust-lang/rust/issues/112480#issuecomment-1585590511)) but what to do in the long term? - example at [comment](https://github.com/rust-lang/rust/issues/112480#issuecomment-1585630860) - nominated to figure out at which level (t-lang, t-compiler, t-else) should this be discussed and addressed - "Resurrect: rustc_target: Add alignment to indirectly-passed by-value types, correcting the alignment of byval on x86 in the process." [rust#112157](https://github.com/rust-lang/rust/pull/112157) - nominated by @**Nikita Popov** as a FIY for the T-compiler ([comment](https://github.com/rust-lang/rust/pull/112157#issuecomment-1585708539)) - more context from @_**erikdesjardins** at [this comment](https://github.com/rust-lang/rust/pull/112157#issue-1735327649) - "Add `internal_features` lint" [rust#108955](https://github.com/rust-lang/rust/pull/108955) - nominated by Felix: [does it need an FCP or not](https://github.com/rust-lang/rust/pull/108955#issuecomment-1592023698)? [RFC](https://github.com/rust-lang/rfcs/issues?q=is%3Aopen+label%3AI-compiler-nominated) - No I-compiler-nominated RFCs this time. ## Performance logs > [triage logs 2023-06-13](https://github.com/rust-lang/rustc-perf/blob/7cbcaf1570d7a87fcaa2ef9d51804ca0c9f52efd/triage/2023-06-13.md) Our build pipeline got sped up by PR #112012, which side-steps one of the rustc rebuilds we were suffering with before. (There is further potential speed-up by caching LLVM, as noted by on that PR.) Other than that, various small regressions that are largely noise, as well as one unexpected increase in binary sizes from PR #109005 that we should follow up on. Triage done by **@pnkfelix**. Revision range: [adc719d7..4bd4e2ea](https://perf.rust-lang.org/?start=adc719d7147d5e2578ce08e0b4504be44650256e&end=4bd4e2ea824f4f458cae8917047ebb6b88853fe6&absolute=false&stat=instructions%3Au) **Summary**: | (instructions:u) | mean | range | count | |:------------------------:|:-----:|:--------------:|:-----:| | Regressions (primary) | 2.5% | [0.2%, 21.6%] | 84 | | Regressions (secondary) | 6.2% | [0.2%, 21.0%] | 105 | | Improvements (primary) | -0.8% | [-1.6%, -0.2%] | 26 | | Improvements (secondary) | -0.7% | [-1.2%, -0.2%] | 19 | | All (primary) | 1.7% | [-1.6%, 21.6%] | 110 | 7 Regressions, 3 Improvements, 5 Mixed; 5 of them in rollups 46 artifact comparisons made in total 30 untriaged Pull Requests #### Regressions Misc HIR typeck type mismatch tweaks [#112116](https://github.com/rust-lang/rust/pull/112116) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=68c8fdaac071432c0a5c149ece5c094449fbe8e0&end=9c843d9fa322596c7d525c78fa89731ecf7afbfe&stat=instructions:u) | (instructions:u) | mean | range | count | |:------------------------:|:-----:|:--------------:|:-----:| | Regressions (primary) | 0.7% | [0.7%, 0.8%] | 3 | | Regressions (secondary) | 0.4% | [0.3%, 0.7%] | 11 | | Improvements (primary) | - | - | 0 | | Improvements (secondary) | -0.2% | [-0.2%, -0.2%] | 1 | | All (primary) | 0.7% | [0.7%, 0.8%] | 3 | * only primary benchmark to regress was helloworld (3 incr check variants), and not by all that much (relatively speaking) * secondary regressions were mainly to unify-linearly, await-call-tree, token-stream-stress. * impact seems acceptable, marking as triaged. Uplift `clippy::undropped_manually_drops` lint [#111530](https://github.com/rust-lang/rust/pull/111530) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=343ad6f0596fa3222f3168b74b3e8571066e77bb&end=d7ad9d9797e595e9daed98c291a8eb6e4be838ff&stat=instructions:u) | (instructions:u) | mean | range | count | |:------------------------:|:----:|:------------:|:-----:| | Regressions (primary) | 0.7% | [0.6%, 0.7%] | 3 | | Regressions (secondary) | 0.5% | [0.3%, 0.6%] | 8 | | Improvements (primary) | - | - | 0 | | Improvements (secondary) | - | - | 0 | | All (primary) | 0.7% | [0.6%, 0.7%] | 3 | * only primary benchmark to regress was helloworld (3 incr check variants), and not by all that much (relatively speaking) * secondary regressions were solely to unify-linearly, await-call-tree, token-stream-stress. * impact seems acceptable (one expects new lint to add some amount of extra work, and I wouldn't be surprised if this is actually noise,. given #112116 above). * marking as triaged. Rollup of 3 pull requests [#112465](https://github.com/rust-lang/rust/pull/112465) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=d7ad9d9797e595e9daed98c291a8eb6e4be838ff&end=397641f3bd4f4211d0a1e9ada8d477bf495735b2&stat=instructions:u) | (instructions:u) | mean | range | count | |:------------------------:|:----:|:-------------:|:-----:| | Regressions (primary) | 4.2% | [0.4%, 14.8%] | 6 | | Regressions (secondary) | - | - | 0 | | Improvements (primary) | - | - | 0 | | Improvements (secondary) | - | - | 0 | | All (primary) | 4.2% | [0.4%, 14.8%] | 6 | * already marked as triaged (expected regressions to doc benchmarks) increase the accuracy of effective visibilities calculation [#112426](https://github.com/rust-lang/rust/pull/112426) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=43062c43d2a63cf4e261c6eddc417575c4f3062f&end=29611778b708f95d153fa591a50ac8702dfc0fd5&stat=instructions:u) | (instructions:u) | mean | range | count | |:------------------------:|:----:|:------------:|:-----:| | Regressions (primary) | 0.4% | [0.2%, 0.6%] | 10 | | Regressions (secondary) | 1.2% | [0.6%, 1.9%] | 9 | | Improvements (primary) | - | - | 0 | | Improvements (secondary) | - | - | 0 | | All (primary) | 0.4% | [0.2%, 0.6%] | 10 | * primary regressions are to serde (check, debug, opt) and also cargo + webrender (both check) * This PR added some extra work to the compiler to ensure some lazily-filled in tables are constructed correctly. * Therefore, this seems like extra work that is largely unavoidable. * marking as triaged. rustdoc: re-elide cross-crate default trait-object lifetime bounds [#107637](https://github.com/rust-lang/rust/pull/107637) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=ef8ee73fc4ff70a426e71f900441f040db252dae&end=7820972f866ca2cea281ccc39201c0cd27087110&stat=instructions:u) | (instructions:u) | mean | range | count | |:------------------------:|:----:|:------------:|:-----:| | Regressions (primary) | 0.4% | [0.3%, 0.9%] | 12 | | Regressions (secondary) | 0.7% | [0.3%, 0.9%] | 18 | | Improvements (primary) | - | - | 0 | | Improvements (secondary) | - | - | 0 | | All (primary) | 0.4% | [0.3%, 0.9%] | 12 | * already marked as triaged (expected regressions to doc benchmarks) Rollup of 3 pull requests [#112530](https://github.com/rust-lang/rust/pull/112530) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=81c02da94e5f5ec1ec4732e75049c3a3cb4d6c7a&end=37998ab508d5d9fa0d465d7b535dc673087dda8f&stat=instructions:u) | (instructions:u) | mean | range | count | |:------------------------:|:----:|:-------------:|:-----:| | Regressions (primary) | 9.3% | [0.6%, 21.0%] | 19 | | Regressions (secondary) | 8.7% | [1.0%, 20.8%] | 71 | | Improvements (primary) | - | - | 0 | | Improvements (secondary) | - | - | 0 | | All (primary) | 9.3% | [0.6%, 21.0%] | 19 | * One of the rolled up PRs, PR #112528, is itself a partial revert of PR #110221, which yields the large compile-time losses noted here (solely for helloworld, it is worth noting). * the point is, the gains were 1. accidental 2. isolated to a toy and 3. due to an unintended change (which was now reverted). * marking as triaged. Private-in-public lints implementation [#111801](https://github.com/rust-lang/rust/pull/111801) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=37998ab508d5d9fa0d465d7b535dc673087dda8f&end=77dba225c1048e5585b2cdefb7f8588bd2d2741b&stat=instructions:u) | (instructions:u) | mean | range | count | |:------------------------:|:----:|:------------:|:-----:| | Regressions (primary) | 0.2% | [0.1%, 0.2%] | 3 | | Regressions (secondary) | 0.6% | [0.2%, 1.1%] | 3 | | Improvements (primary) | - | - | 0 | | Improvements (secondary) | - | - | 0 | | All (primary) | 0.2% | [0.1%, 0.2%] | 3 | * primary regressions were to stm32f4-0.14.0 check+opt incr, but by a really small amount (0.18%). * marking as triaged. #### Improvements Avoid one `rustc` rebuild in the optimized build pipeline [#112012](https://github.com/rust-lang/rust/pull/112012) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=f383703e32dc583468a702213eff63c58c7f9ef5&end=50f2176721a08c0c5673db924a95c0544316682c&stat=instructions:u) | (instructions:u) | mean | range | count | |:------------------------:|:-----:|:--------------:|:-----:| | Regressions (primary) | 0.4% | [0.4%, 0.5%] | 2 | | Regressions (secondary) | - | - | 0 | | Improvements (primary) | -0.9% | [-1.6%, -0.3%] | 26 | | Improvements (secondary) | -1.1% | [-1.2%, -0.9%] | 11 | | All (primary) | -0.8% | [-1.6%, 0.5%] | 28 | * Interesting case where removing PGO data improved a class of benchmarks * Specifically, nearly all the improvements were to debug builds * this makes sense, because the PGO data we were gathering was during rustc bootstrap, which does not exercise the debug build paths. Rollup of 5 pull requests [#112450](https://github.com/rust-lang/rust/pull/112450) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=9c843d9fa322596c7d525c78fa89731ecf7afbfe&end=dcc9028c0ce30c3b37f3ca9faf637a9f3ccd5bcb&stat=instructions:u) | (instructions:u) | mean | range | count | |:------------------------:|:-----:|:--------------:|:-----:| | Regressions (primary) | - | - | 0 | | Regressions (secondary) | - | - | 0 | | Improvements (primary) | -0.6% | [-0.6%, -0.6%] | 3 | | Improvements (secondary) | -0.4% | [-0.6%, -0.3%] | 8 | | All (primary) | -0.6% | [-0.6%, -0.6%] | 3 | [rustdoc] Fix infinite loop when retrieving impls for type alias [#112543](https://github.com/rust-lang/rust/pull/112543) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=fd0a3313f7a64cb16533030e49a271db449368c3&end=cb882fa998571e8a7ec1c06bb5d9dd9bc3423629&stat=instructions:u) | (instructions:u) | mean | range | count | |:------------------------:|:-----:|:---------------:|:-----:| | Regressions (primary) | - | - | 0 | | Regressions (secondary) | - | - | 0 | | Improvements (primary) | -3.8% | [-12.9%, -0.4%] | 6 | | Improvements (secondary) | - | - | 0 | | All (primary) | -3.8% | [-12.9%, -0.4%] | 6 | #### Mixed Use `load`+`store` instead of `memcpy` for small integer arrays [#111999](https://github.com/rust-lang/rust/pull/111999) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=adc719d7147d5e2578ce08e0b4504be44650256e&end=fd9bf594366e73efb1a26a023e0b4de8eff82b94&stat=instructions:u) | (instructions:u) | mean | range | count | |:------------------------:|:-----:|:--------------:|:-----:| | Regressions (primary) | - | - | 0 | | Regressions (secondary) | 2.2% | [0.1%, 5.7%] | 3 | | Improvements (primary) | - | - | 0 | | Improvements (secondary) | -0.3% | [-0.3%, -0.3%] | 4 | | All (primary) | - | - | 0 | * changes are all to secondary benchmarks * only notable was coercions debug incr-full regressing by 5.7%, but that's acceptable given what we expect benefits to be here w.r.t. codegen. * marking as triaged. Update to LLVM 16.0.5 [#112312](https://github.com/rust-lang/rust/pull/112312) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=fd9bf594366e73efb1a26a023e0b4de8eff82b94&end=3572d7451d1062e8bccf310af6bbf6255091d296&stat=instructions:u) | (instructions:u) | mean | range | count | |:------------------------:|:-----:|:--------------:|:-----:| | Regressions (primary) | - | - | 0 | | Regressions (secondary) | 0.3% | [0.2%, 0.3%] | 5 | | Improvements (primary) | - | - | 0 | | Improvements (secondary) | -5.2% | [-5.2%, -5.2%] | 1 | | All (primary) | - | - | 0 | * effects are all to secondary benchmarks * effects are small enough that they would not block an LLVM upgrade * marking as triaged. Rollup of 7 pull requests [#112344](https://github.com/rust-lang/rust/pull/112344) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=3572d7451d1062e8bccf310af6bbf6255091d296&end=b2b34bd83192c3d16c88655158f7d8d612513e88&stat=instructions:u) | (instructions:u) | mean | range | count | |:------------------------:|:-----:|:--------------:|:-----:| | Regressions (primary) | - | - | 0 | | Regressions (secondary) | 5.4% | [5.4%, 5.4%] | 1 | | Improvements (primary) | -0.2% | [-0.2%, -0.2%] | 2 | | Improvements (secondary) | - | - | 0 | | All (primary) | -0.2% | [-0.2%, -0.2%] | 2 | * sole regression is to secondary coercions debug incr-full. * not worth dissecting this rollup for that. * marking as triaged. Remember names of `cfg`-ed out items to mention them in diagnostics [#109005](https://github.com/rust-lang/rust/pull/109005) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=b2807b2bf3be9fbed9a0aadc97841c20a1ab5f79&end=a97c36dd2e6f711949fc9b790476e93bd9e6d1f4&stat=instructions:u) | (instructions:u) | mean | range | count | |:------------------------:|:-----:|:--------------:|:-----:| | Regressions (primary) | 0.4% | [0.3%, 0.5%] | 11 | | Regressions (secondary) | - | - | 0 | | Improvements (primary) | -0.2% | [-0.2%, -0.2%] | 3 | | Improvements (secondary) | -0.5% | [-0.6%, -0.4%] | 8 | | All (primary) | 0.2% | [-0.2%, 0.5%] | 14 | * instruction counts regressed (expected) and binary sizes regressed (which may have been unexpected). * specifically the binary sizes for libc and syn both regressed on the order of 3%. * not marking as triaged until we get confirmation that it is expected for the metadata in question to leak into the binary sizes being measured. Rollup of 4 pull requests [#112420](https://github.com/rust-lang/rust/pull/112420) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=e7409258db4a43f23dcc66e10061dee91c316055&end=a77659a1e1807ba567f513afe59115af2604dc30&stat=instructions:u) | (instructions:u) | mean | range | count | |:------------------------:|:-----:|:--------------:|:-----:| | Regressions (primary) | 0.3% | [0.2%, 0.6%] | 5 | | Regressions (secondary) | 0.4% | [0.2%, 0.6%] | 7 | | Improvements (primary) | -0.3% | [-0.3%, -0.3%] | 2 | | Improvements (secondary) | -0.3% | [-0.3%, -0.2%] | 2 | | All (primary) | 0.2% | [-0.3%, 0.6%] | 7 | * currently guessing that the regression here might be due to PR #109953. * doing a specific rust-timer run now to check that, not marking as triaged for now. ### 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) - "Validate fluent variable references in tests" [rust#111269](https://github.com/rust-lang/rust/pull/111269) (last review activity: about 31 days ago) - cc @**davidtwco** - "Implement a global value numbering MIR optimization" [rust#109597](https://github.com/rust-lang/rust/pull/109597) (last review activity: about 22 days ago) - cc: @**Jak{e,ob} Degen** maybe also @**RalfJ** (since participant in the review) - "Add casting suggestion when assigning negative 2's complement bin or hex literal to a size compatible signed integer" [rust#111212](https://github.com/rust-lang/rust/pull/111212) - ~2 months old PR is a diag improvement - author (new contributor) rerolls the review assignment, are the changes straightforward enough? ## Next week's WG checkins - Generic Associated Types initiative by @**Jack Huey** - @_*WG-diagnostics* by @**Esteban Küber** and @**oli** Agenda draft: https://hackmd.io/EpILk3k_Q_SMcZKucMEAOQ