--- tags: weekly, rustc type: docs --- # T-compiler Meeting Agenda 2022-05-26 ## Announcements - Tomorrow <time:2022-05-27T13:00:00+02:00> Types Team: Formality roadmap [calendar link](https://calendar.google.com/calendar/event?eid=M3JsYmdkN2F0cjdtYXE0Z2ljYzM4Nm42NTRfMjAyMjA1MjdUMTMwMDAwWiA2dTVycnRjZTZscnR2MDdwZmkzZGFtZ2p1c0Bn&ctz=UTC) and [issue](https://github.com/rust-lang/wg-traits/issues/41) - 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 upcoming WG meetings ([calendar link](https://calendar.google.com/calendar/embed?src=6u5rrtce6lrtv07pfi3damgjus%40group.calendar.google.com)) - <time:2022-05-23T15:00:00+02:00> wg-rls-2.0 weekly sync-up ([calendar link](https://calendar.google.com/calendar/event?eid=MXJnbzBscDExNHJjNmVsdGhsaW8xcDljMmdfMjAyMjA1MjNUMTUwMDAwWiA2dTVycnRjZTZscnR2MDdwZmkzZGFtZ2p1c0Bn&ctz=GMT+02:00)) - <time:2022-05-30T20:00:00+02:00> [wg-traits] GATs Sync ([calendar link](https://calendar.google.com/calendar/event?eid=Y3VpY2NkbXBoZTJkMHJmcmZxZmU4MjhodDBfMjAyMjA1MzBUMjAwMDAwWiA2dTVycnRjZTZscnR2MDdwZmkzZGFtZ2p1c0Bn&ctz=GMT+02:00)) - <time:2022-06-01T13:00:00+02:00> [Types team] Hack session: Advanced subtyping ([calendar link](https://calendar.google.com/calendar/event?eid=MDkxcnJqbGpwNm9sNWVqazB0b3U4azZkN2FfMjAyMjA2MDFUMTMwMDAwWiA2dTVycnRjZTZscnR2MDdwZmkzZGFtZ2p1c0Bn&ctz=GMT+02:00)) - <time:2022-06-03T15:00:00+02:00> Types Team: Planning/Deep-Dive meeting ([calendar link](https://calendar.google.com/calendar/event?eid=M3JsYmdkN2F0cjdtYXE0Z2ljYzM4Nm42NTRfMjAyMjA2MDNUMTMwMDAwWiA2dTVycnRjZTZscnR2MDdwZmkzZGFtZ2p1c0Bn&ctz=GMT+02:00)) ## MCPs/FCPs - New MCPs (take a look, see if you like them!) - No new proposals this time. - Old MCPs (not seconded, take a look) - "Accept `pc` in place of `unknown` and `unknown` in place of `pc` for `x86_64` and `i?86` targets" [compiler-team#441](https://github.com/rust-lang/compiler-team/issues/441) (last review activity: about 4 days ago) - :loudspeaker: Stale MCP: candidate for closing in a week - [Zulip discussion](https://rust-lang.zulipchat.com/#narrow/stream/233931-t-compiler.2Fmajor-changes/topic/Accept.20.60pc.60.20in.20place.20of.20.60unknown.60.20and.20.60un.E2.80.A6.20compiler-team.23441) - @**pnkfelix** checked the pulse of the discussion in [September 2021](https://rust-lang.zulipchat.com/#narrow/stream/233931-t-compiler.2Fmajor-changes/topic/Accept.20.60pc.60.20in.20place.20of.20.60unknown.60.20and.20.60un.E2.80.A6.20compiler-team.23441) - the core proposal of the MCP seem to have received mixed comments - "Make `-Z binary-dep-depinfo` the default behavior" [compiler-team#464](https://github.com/rust-lang/compiler-team/issues/464) (last review activity: about 4 days ago) - :loudspeaker: Stale MCP: candidate for closing in a week - [Zulip discussion](https://rust-lang.zulipchat.com/#narrow/stream/233931-t-compiler.2Fmajor-changes/topic/Make.20.60-Z.20binary-dep-depinfo.60.20the.20default.20.E2.80.A6.20compiler-team.23464) - MCP discussion received some favorable comments, no unresolved points - "Tier 3 target proposal: riscv64gc-linux-android (Android target for `riscv64gc`)" [compiler-team#472](https://github.com/rust-lang/compiler-team/issues/472) (last review activity: 5 months ago) - "`-Dwarnings` to cover all warnings" [compiler-team#473](https://github.com/rust-lang/compiler-team/issues/473) (last review activity: 5 months ago) - "Dealing with type/const ambiguities" [compiler-team#480](https://github.com/rust-lang/compiler-team/issues/480) (last review activity: 4 months ago) - "Removing codegen logic for `nvptx-nvidia-cuda` (32-bit target)" [compiler-team#496](https://github.com/rust-lang/compiler-team/issues/496) (last review activity: 2 months ago) - "Change compiletest declarations parsing" [compiler-team#512](https://github.com/rust-lang/compiler-team/issues/512) (last review activity: about 17 days ago) - "Arbitrary annotations in compiletest" [compiler-team#513](https://github.com/rust-lang/compiler-team/issues/513) (last review activity: about 17 days ago) - Pending FCP requests (check your boxes!) - "Stabilize `-Zgcc-ld=lld` as `-Clink-self-contained=linker -Clinker-flavor=gcc-lld`" [compiler-team#510](https://github.com/rust-lang/compiler-team/issues/510#issuecomment-1119675764) - "Increase the minimum linux-gnu versions" [rust#95026](https://github.com/rust-lang/rust/pull/95026#issuecomment-1077855006) - Things in FCP (make sure you're good with it) - "Build-time execution sandboxing" [compiler-team#475](https://github.com/rust-lang/compiler-team/issues/475) - "Tracking issue for Consistent no-prelude attribute (RFC 501)" [rust#20561](https://github.com/rust-lang/rust/issues/20561) - "Tracking Issue for `-Z terminal-width`" [rust#84673](https://github.com/rust-lang/rust/issues/84673) - "Stabilize the `bundle` native library modifier" [rust#95818](https://github.com/rust-lang/rust/pull/95818) - "Remove label/lifetime shadowing warnings" [rust#96296](https://github.com/rust-lang/rust/pull/96296) - Accepted MCPs - "Add attribute to run specific tests in an isolated process" [compiler-team#508](https://github.com/rust-lang/compiler-team/issues/508) - "Add an `EarlyBinder` type" [compiler-team#514](https://github.com/rust-lang/compiler-team/issues/514) - Finalized FCPs (disposition merge) - "Neither require nor imply lifetime bounds on opaque type for well formedness" [rust#95474](https://github.com/rust-lang/rust/pull/95474) ### WG checkins - @_*WG-diagnostics* by @**Esteban Küber** and @**oli** > - Introduction of translation machinery in the rustc codebase, with a handful of errors being migrated to this new system for testing. > - New fn argument diagnostic that detects additions, removals and substitutions in the call site, with appropriate suggestions. > - Tons of diagnostics improvements and fixes. - @_*WG-rustc-dev-guide* by @**Santiago Pastorino** and @**Yuki Okushi|217081** >#### Most notable changes > >- Add docs for logging of queries. [#1350](https://github.com/rust-lang/rustc-dev-guide/pull/1350) >- mention `WithOptConstParam` [#1346](https://github.com/rust-lang/rustc-dev-guide/pull/1346) >- Update docs for deprecated attribute [#1338](https://github.com/rust-lang/rustc-dev-guide/pull/1338) > >#### Most notable WIPs > >- Update suggested config to expand proc macros [#1341](https://github.com/rust-lang/rustc-dev-guide/pull/1341) >- rewrite bootstrapping stages [#1327](https://github.com/rust-lang/rustc-dev-guide/pull/1327) >- Describe Type Alias Impl Trait (TAIT) Inference Algorithm [#1297](https://github.com/rust-lang/rustc-dev-guide/pull/1297) >- Added detail to codegen section [#1216](https://github.com/rust-lang/rustc-dev-guide/pull/1216) >- Update build instructions for rustdoc [#1117](https://github.com/rust-lang/rustc-dev-guide/pull/1117) >- Document inert vs active attributes [#1110](https://github.com/rust-lang/rustc-dev-guide/pull/1110) >- Explain the new valtree system for type level constants. [#1097](https://github.com/rust-lang/rustc-dev-guide/pull/1097) ## 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: "Fix some typos in arg checking algorithm" [rust#97303](https://github.com/rust-lang/rust/pull/97303) - Fixes [rust#97197](https://github.com/rust-lang/rust/issues/97197), `P-medium` ICE - patch authored and nominated for backport by @**Michael Goulet (compiler-errors)** - :beta: "rustc: Fix ICE in native library error reporting" [rust#97328](https://github.com/rust-lang/rust/pull/97328) - Fixes [rust#97299](https://github.com/rust-lang/rust/issues/97299), building Rust broken for MSYS2/Mingw ([tier 1](https://doc.rust-lang.org/rustc/platform-support.html)) - :stable: "rustc: Fix ICE in native library error reporting" [rust#97328](https://github.com/rust-lang/rust/pull/97328) - backport nomination of previous regression [T-rustdoc beta](https://github.com/rust-lang/rust/issues?q=is%3Aall+label%3Abeta-nominated+-label%3Abeta-accepted+label%3AT-rustdoc) / [T-rustdoc stable](https://github.com/rust-lang/rust/issues?q=is%3Aall+label%3Astable-nominated+-label%3Astable-accepted+label%3AT-rustdoc) - No backport nominations for `T-rustdoc` this time. :back: / :shrug: / :hand: ## PRs S-waiting-on-team [T-compiler](https://github.com/rust-lang/rust/pulls?utf8=%E2%9C%93&q=is%3Aopen+label%3AS-waiting-on-team+label%3AT-compiler) - No PRs waiting on `T-compiler` 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+-label%3AT-lang+-label%3AT-infra+-label%3AT-release+-label%3AT-libs+-label%3AT-libs-api) - "Mir-Opt for copying enums with large discrepancies" [rust#85158](https://github.com/rust-lang/rust/pull/85158) (last review activity: 2 months ago) - PR author asks [for comment](https://github.com/rust-lang/rust/pull/85158#issuecomment-1119222751) cc @**Wesley Wiser** - "Only compile #[used] as llvm.compiler.used for ELF targets" [rust#93718](https://github.com/rust-lang/rust/pull/93718) (last review activity: about 41 days ago) - PR seems ready for another round of review cc: @**pnkfelix** - "Micro-optimize `InferCtxt::replace_bound_vars_with_placeholders` by avoiding unnecessary allocation" [rust#96021](https://github.com/rust-lang/rust/pull/96021) (last review activity: about 35 days ago) - rust highfive bot assigned to @**nnethercote**, reroll dice? - "libcore: Add `iter::from_generator` which is like `iter::from_fn`, but for coroutines instead of functions" [rust#96298](https://github.com/rust-lang/rust/pull/96298) (last review activity: about 32 days ago) - part of PR may be of interest for T-compiler, assign a reviewer for that? - "TypeId: use a (v0) mangled type to remain sound in the face of hash collisions." [rust#95845](https://github.com/rust-lang/rust/pull/95845) (last review activity: about 31 days ago) - last review from @**lcnr** end of april ([comment](https://github.com/rust-lang/rust/pull/95845#pullrequestreview-951388336)) - after that, lengthy discussion - unsure if still in flux or any actionable available (maybe add a summary?) ## 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) - [60 T-compiler P-high issues](https://github.com/rust-lang/rust/issues?q=is%3Aopen+label%3AT-compiler+label%3AP-high) - [45 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, 3 P-medium, 0 P-low regression-from-stable-to-beta](https://github.com/rust-lang/rust/labels/regression-from-stable-to-beta) - [0 P-critical, 0 P-high, 2 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, 38 P-high, 80 P-medium, 10 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?utf8=%E2%9C%93&q=is%3Aopen+label%3AP-critical+label%3AT-compiler) - No `P-critical` issues for `T-compiler` this time. [T-rustdoc](https://github.com/rust-lang/rust/issues?utf8=%E2%9C%93&q=is%3Aopen+label%3AP-critical+label%3AT-rustdoc) - No `P-critical` issues for `T-rustdoc` 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-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-release+-label%3AT-rustdoc+-label%3AT-core) - No unassigned `P-high` nightly regressions this time. ## Performance logs > [triage logs for 2022-05-24](https://github.com/rust-lang/rustc-perf/blob/master/triage/2022-05-24.md) Overall a positive week for non-incremental performance (roughly 0.5% faster), with >1% regressions on incremental benchmarks, primarily due to [#95563](https://github.com/rust-lang/rust/pull/95563), which will hopefully be investigated in the coming weeks. Triage done by **@simulacrum**. Revision range: [7355d971a954ed63293e4191f6677f60c1bc07d9..43d9f3859e0204e764161ee085a360274b5f3e9a](https://perf.rust-lang.org/?start=7355d971a954ed63293e4191f6677f60c1bc07d9&end=43d9f3859e0204e764161ee085a360274b5f3e9a&absolute=false&stat=instructions%3Au) | | Regressions (primary) | Regressions (secondary) | Improvements (primary) | Improvements (secondary) | All (primary) | |:-----:|:----------------------:|:------------------------:|:-----------------------:|:-------------------------:|:---------------:| | count | 69 | 58 | 76 | 52 | 145 | | mean | 1.5% | 2.2% | -1.0% | -3.3% | 0.2% | | max | 5.1% | 7.3% | -2.9% | -36.9% | 5.1% | 2 Regressions, 5 Improvements, 4 Mixed; 0 of them in rollups 57 artifact comparisons made in total #### Regressions Transition to valtrees pt1 [#97019](https://github.com/rust-lang/rust/pull/97019) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=07ae142d77f56dd48f2736605e0a6c015f2aecc6&end=cd282d7f75da9080fda0f1740a729516e7fbec68&stat=instructions:u) | | Regressions (primary) | Regressions (secondary) | Improvements (primary) | Improvements (secondary) | All (primary) | |:-----:|:----------------------:|:------------------------:|:-----------------------:|:-------------------------:|:---------------:| | count | 4 | 5 | 0 | 0 | 4 | | mean | 1.0% | 0.1% | N/A | N/A | 1.0% | | max | 1.1% | 0.1% | N/A | N/A | 1.1% | @oli-obk has suggested applying some targeted inlining as a likely resolution to the regressions; work to follow up needs to be done. It seems like the regression is likely to be resolved (or at least effort applied to do so). Make write/print macros eagerly drop temporaries [#96455](https://github.com/rust-lang/rust/pull/96455) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=d12557407c7c34f1599cfba79666954291810859&end=c186f7c07912064c352f12d8b0aa9d5e5975450e&stat=instructions:u) | | Regressions (primary) | Regressions (secondary) | Improvements (primary) | Improvements (secondary) | All (primary) | |:-----:|:----------------------:|:------------------------:|:-----------------------:|:-------------------------:|:---------------:| | count | 3 | 0 | 0 | 0 | 3 | | mean | 0.4% | N/A | N/A | N/A | 0.4% | | max | 0.6% | N/A | N/A | N/A | 0.6% | Change is relatively minor and limited to just a single benchmark, so marking the regression as triaged; further investigation is not warranted at this time. #### Improvements Add PID to PGO profile data filename [#97110](https://github.com/rust-lang/rust/pull/97110) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=a084b7ad35adb508bd2e053fc2a1b9a53df9536c&end=e5732a21711e7cefa6eb22e1790406b269d6197a&stat=instructions:u) | | Regressions (primary) | Regressions (secondary) | Improvements (primary) | Improvements (secondary) | All (primary) | |:-----:|:----------------------:|:------------------------:|:-----------------------:|:-------------------------:|:---------------:| | count | 0 | 0 | 94 | 54 | 94 | | mean | N/A | N/A | -0.3% | -0.4% | -0.3% | | max | N/A | N/A | -0.5% | -1.2% | -0.5% | An expected improvement in our PGO scripts, with a small magnitude effect across many benchmarks. --remap-path-prefix: Fix duplicated path components in debuginfo [#96867](https://github.com/rust-lang/rust/pull/96867) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=e5732a21711e7cefa6eb22e1790406b269d6197a&end=936eba3b348e65b658b60218cc9237f02abdbeb4&stat=instructions:u) | | Regressions (primary) | Regressions (secondary) | Improvements (primary) | Improvements (secondary) | All (primary) | |:-----:|:----------------------:|:------------------------:|:-----------------------:|:-------------------------:|:---------------:| | count | 0 | 0 | 2 | 6 | 2 | | mean | N/A | N/A | -0.4% | -4.1% | -0.4% | | max | N/A | N/A | -0.4% | -4.7% | -0.4% | Improvements likely to be primarily driven by reducing the amount of codegen due to simpler/smaller debuginfo. rustdoc: Reduce clean::Type size [#93963](https://github.com/rust-lang/rust/pull/93963) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=4f372b14dea58cbff1dd76bb651f9c035d3f6e7b&end=5f33adce1bfe01e4c0c8754400bf782a95af88c9&stat=instructions:u) | | Regressions (primary) | Regressions (secondary) | Improvements (primary) | Improvements (secondary) | All (primary) | |:-----:|:----------------------:|:------------------------:|:-----------------------:|:-------------------------:|:---------------:| | count | 0 | 0 | 12 | 20 | 12 | | mean | N/A | N/A | -0.4% | -0.6% | -0.4% | | max | N/A | N/A | -0.8% | -0.8% | -0.8% | rustc_parse: Move AST -> TokenStream conversion logic to rustc_ast [#97251](https://github.com/rust-lang/rust/pull/97251) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=653463731a7f01f519cf85f444869def27f00395&end=4bb4dc4672b4d80509db4c0572ae8ceeaf7d4a1c&stat=instructions:u) | | Regressions (primary) | Regressions (secondary) | Improvements (primary) | Improvements (secondary) | All (primary) | |:-----:|:----------------------:|:------------------------:|:-----------------------:|:-------------------------:|:---------------:| | count | 0 | 0 | 6 | 7 | 6 | | mean | N/A | N/A | -0.3% | -0.5% | -0.3% | | max | N/A | N/A | -0.4% | -0.6% | -0.4% | Refactor call terminator to always include destination place [#96098](https://github.com/rust-lang/rust/pull/96098) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=acb5c16fa8acf7fd3b48fc218881f006577bab1a&end=43d9f3859e0204e764161ee085a360274b5f3e9a&stat=instructions:u) | | Regressions (primary) | Regressions (secondary) | Improvements (primary) | Improvements (secondary) | All (primary) | |:-----:|:----------------------:|:------------------------:|:-----------------------:|:-------------------------:|:---------------:| | count | 0 | 0 | 5 | 17 | 5 | | mean | N/A | N/A | -0.3% | -0.5% | -0.3% | | max | N/A | N/A | -0.4% | -1.1% | -0.4% | #### Mixed Add a query for checking whether a function is an intrinsic. [#97012](https://github.com/rust-lang/rust/pull/97012) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=7355d971a954ed63293e4191f6677f60c1bc07d9&end=735efc0c703812343a5e5d19b600dac73b8a89f0&stat=instructions:u) | | Regressions (primary) | Regressions (secondary) | Improvements (primary) | Improvements (secondary) | All (primary) | |:-----:|:----------------------:|:------------------------:|:-----------------------:|:-------------------------:|:---------------:| | count | 7 | 9 | 16 | 2 | 23 | | mean | 0.3% | 0.3% | -0.3% | -0.5% | -0.1% | | max | 0.3% | 0.4% | -0.5% | -0.5% | -0.5% | Mixed results, but overall looks to be pretty neutral. The preparation for future maintainability outweighs the possible small cost to keeping this change. Regression was already marked as triaged by @oli-obk (thank you!). Cache more queries on disk [#95418](https://github.com/rust-lang/rust/pull/95418) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=536020c5f97883aa9f2a90897a5adb520486d2e1&end=e6a4afc3af2d2a53f91fc8a77bdfe94bea375b29&stat=instructions:u) | | Regressions (primary) | Regressions (secondary) | Improvements (primary) | Improvements (secondary) | All (primary) | |:-----:|:----------------------:|:------------------------:|:-----------------------:|:-------------------------:|:---------------:| | count | 33 | 32 | 65 | 28 | 98 | | mean | 0.8% | 1.6% | -1.0% | -4.4% | -0.4% | | max | 2.1% | 4.0% | -3.6% | -33.0% | -3.6% | This is overall an improvement, with regressions primarily limited to secondary benchmarks. Mixed results are fairly expected from a change like this; marking the regression as triaged. @cjgillot (PR author) also posted a good summary: > This PR caches many more queries' results on disk. The queries have been > chosen to be: (1) outputs of typechecking, and (2) parts of metadata. This > caching allows for wide and large compile time savings, up to 36%. The > tradeoff is a compile time increase (4%) when these caches cannot be usefully > used, and a increased on-disk size around 30%. Move the extended lifetime resolution into typeck context [#95563](https://github.com/rust-lang/rust/pull/95563) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=acfd327fd4e3a302ebb0a077f422a527a7935333&end=653463731a7f01f519cf85f444869def27f00395&stat=instructions:u) | | Regressions (primary) | Regressions (secondary) | Improvements (primary) | Improvements (secondary) | All (primary) | |:----------:|:------------------------------:|:--------------------------------:|:-------------------------------:|:---------------------------------:|:------------------------:| | count | 97 | 42 | 42 | 34 | 139 | | mean | 1.8% | 3.0% | -0.6% | -0.5% | 1.1% | | max | 5.8% | 8.9% | -1.9% | -1.4% | 5.8% | Looks like a fairly large regression across a number of benchmarks, though limited to the incremental scenarios. Non-incremental benchmarks show an improvement (hence the mixed results). Left a [comment](https://github.com/rust-lang/rust/pull/95563#issuecomment-1135994637) on the PR asking for clarification and further investigation. Update `rustc` PGO benchmark list [#97120](https://github.com/rust-lang/rust/pull/97120) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=222c5724ecc922fe67815f428c19f82c129d9386&end=ee160f2f5e73b6f5954bc33f059c316d9e8582c4&stat=instructions:u) | | Regressions (primary) | Regressions (secondary) | Improvements (primary) | Improvements (secondary) | All (primary) | |:----------:|:------------------------------:|:--------------------------------:|:-------------------------------:|:---------------------------------:|:------------------------:| | count | 3 | 18 | 83 | 53 | 86 | | mean | 0.3% | 0.8% | -0.5% | -0.5% | -0.5% | | max | 0.4% | 1.8% | -1.3% | -1.1% | -1.3% | Overall an improvement, some slight regressions are expected from a larger change like this which bumps PGO inputs. ## Nominated Issues [T-compiler](https://github.com/rust-lang/rust/issues?q=is%3Aopen+label%3AI-compiler-nominated+label%3AT-compiler) - "Change enum->int casts to not go through MIR casts." [rust#96862](https://github.com/rust-lang/rust/pull/96862) - nominated by @**RalfJ** (T-compiler specifically for first point in [comment](https://github.com/rust-lang/rust/pull/96862#issuecomment-1123376867)) [RFC](https://github.com/rust-lang/rfcs/issues?q=is%3Aopen+label%3AI-compiler-nominated+label%3AT-compiler) - "New rustc and Cargo options to allow path sanitisation by default" [rfcs#3127](https://github.com/rust-lang/rfcs/pull/3127) - nominated by @**matklad** in response to this [comment](https://github.com/rust-lang/rfcs/pull/3127#issuecomment-1112754808=) from @**Andy Wang** asking T-compiler an opinion about the implementation ## Next week's WG checkins - @_*WG-traits* (impl trait) by @**nikomatsakis** @**oli** - @_*WG-llvm* by @**nagisa** and @**Nikita Popov**