Rust Compiler Team
      • Sharing URL Link copied
      • /edit
      • View mode
        • Edit mode
        • View mode
        • Book mode
        • Slide mode
        Edit mode View mode Book mode Slide mode
      • Customize slides
      • Note Permission
      • Read
        • Owners
        • Signed-in users
        • Everyone
        Owners Signed-in users Everyone
      • Write
        • Owners
        • Signed-in users
        • Everyone
        Owners Signed-in users Everyone
      • Engagement control Commenting, Suggest edit, Emoji Reply
      • Invitee
    • Publish Note

      Share your work with the world Congratulations! 🎉 Your note is out in the world Publish Note

      Your note will be visible on your profile and discoverable by anyone.
      Your note is now live.
      This note is visible on your profile and discoverable online.
      Everyone on the web can find and read all notes of this public team.
      See published notes
      Unpublish note
      Please check the box to agree to the Community Guidelines.
      View profile
    • Commenting
      Permission
      Disabled Forbidden Owners Signed-in users Everyone
    • Enable
    • Permission
      • Forbidden
      • Owners
      • Signed-in users
      • Everyone
    • Suggest edit
      Permission
      Disabled Forbidden Owners Signed-in users Everyone
    • Enable
    • Permission
      • Forbidden
      • Owners
      • Signed-in users
    • Emoji Reply
    • Enable
    • Versions and GitHub Sync
    • Note settings
    • Engagement control
    • Transfer ownership
    • Delete this note
    • Insert from template
    • Import from
      • Dropbox
      • Google Drive
      • Gist
      • Clipboard
    • Export to
      • Dropbox
      • Google Drive
      • Gist
    • Download
      • Markdown
      • HTML
      • Raw HTML
Menu Note settings Sharing URL Help
Menu
Options
Versions and GitHub Sync Engagement control Transfer ownership Delete this note
Import from
Dropbox Google Drive Gist Clipboard
Export to
Dropbox Google Drive Gist
Download
Markdown HTML Raw HTML
Back
Sharing URL Link copied
/edit
View mode
  • Edit mode
  • View mode
  • Book mode
  • Slide mode
Edit mode View mode Book mode Slide mode
Customize slides
Note Permission
Read
Owners
  • Owners
  • Signed-in users
  • Everyone
Owners Signed-in users Everyone
Write
Owners
  • Owners
  • Signed-in users
  • Everyone
Owners Signed-in users Everyone
Engagement control Commenting, Suggest edit, Emoji Reply
Invitee
Publish Note

Share your work with the world Congratulations! 🎉 Your note is out in the world Publish Note

Your note will be visible on your profile and discoverable by anyone.
Your note is now live.
This note is visible on your profile and discoverable online.
Everyone on the web can find and read all notes of this public team.
See published notes
Unpublish note
Please check the box to agree to the Community Guidelines.
View profile
Engagement control
Commenting
Permission
Disabled Forbidden Owners Signed-in users Everyone
Enable
Permission
  • Forbidden
  • Owners
  • Signed-in users
  • Everyone
Suggest edit
Permission
Disabled Forbidden Owners Signed-in users Everyone
Enable
Permission
  • Forbidden
  • Owners
  • Signed-in users
Emoji Reply
Enable
Import from Dropbox Google Drive Gist Clipboard
   owned this note    owned this note      
Published Linked with GitHub
Subscribed
  • Any changes
    Be notified of any changes
  • Mention me
    Be notified of mention me
  • Unsubscribe
Subscribe
--- tags: weekly, rustc type: docs --- # T-compiler Meeting Agenda 2022-04-21 ## Announcements - Tomorrow <time:2022-04-22T13:00:00+02:00> Types Team: Deep-dive on Formality subtyping rules [calendar link](https://calendar.google.com/calendar/event?eid=M3JsYmdkN2F0cjdtYXE0Z2ljYzM4Nm42NTRfMjAyMjA0MjJUMTMwMDAwWiA2dTVycnRjZTZscnR2MDdwZmkzZGFtZ2p1c0Bn&ctz=GMT+02:00) - Topic of the meeting: [wg-traits#39](https://github.com/rust-lang/wg-traits/issues/39) - Tomorrow <time:2022-04-22T16:00:00+02:00> Compiler Team: Compiler Leadership and Succession ([calendar link](https://calendar.google.com/calendar/event?eid=M21wYmo2bm1yYXYwcW43amZrNDg1dmhzOTIgNnU1cnJ0Y2U2bHJ0djA3cGZpM2RhbWdqdXNAZw&ctz=GMT+02:00)) - Topic of the meeting [compiler-team#506](https://github.com/rust-lang/compiler-team/issues/506) and (if time allows) [compiler-team#484](https://github.com/rust-lang/compiler-team/issues/484) - 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). ## MCPs/FCPs - New MCPs (take a look, see if you like them!) - "Add attribute to run specific tests in an isolated process" [compiler-team#508](https://github.com/rust-lang/compiler-team/issues/508) - "Stabilize `-Zgcc-ld=lld`" [compiler-team#510](https://github.com/rust-lang/compiler-team/issues/510) - 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: 9 months ago) - "Make `-Z binary-dep-depinfo` the default behavior" [compiler-team#464](https://github.com/rust-lang/compiler-team/issues/464) (last review activity: 6 months ago) - "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: 4 months ago) - "`-Dwarnings` to cover all warnings" [compiler-team#473](https://github.com/rust-lang/compiler-team/issues/473) (last review activity: 4 months ago) - "Build-time execution sandboxing" [compiler-team#475](https://github.com/rust-lang/compiler-team/issues/475) (last review activity: 3 months ago) - "Dealing with type/const ambiguities" [compiler-team#480](https://github.com/rust-lang/compiler-team/issues/480) (last review activity: 3 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: about 34 days ago) - "Add `yeet` experimentally" [compiler-team#501](https://github.com/rust-lang/compiler-team/issues/501) (last review activity: about 20 days ago) - Pending FCP requests (check your boxes!) - "Tracking issue for Consistent no-prelude attribute (RFC 501)" [rust#20561](https://github.com/rust-lang/rust/issues/20561#issuecomment-1059258740) - "Tracking Issue for `-Z terminal-width`" [rust#84673](https://github.com/rust-lang/rust/issues/84673#issuecomment-1087141663) - "Increase the minimum linux-gnu versions" [rust#95026](https://github.com/rust-lang/rust/pull/95026#issuecomment-1077855006) - "Remove mutable_borrow_reservation_conflict lint and allow the code pattern" [rust#96268](https://github.com/rust-lang/rust/pull/96268#issuecomment-1104746486) - Things in FCP (make sure you're good with it) - No FCP requests this time. - Accepted MCPs - "Add support for MIR opt unit tests via a new `-Z` flag" [compiler-team#502](https://github.com/rust-lang/compiler-team/issues/502) - "Remove -Zast-json" [compiler-team#503](https://github.com/rust-lang/compiler-team/issues/503) - "Add TyKind::Alias to keep type alias information" [compiler-team#504](https://github.com/rust-lang/compiler-team/issues/504) - "try to not rely on attributes from extern crates" [compiler-team#505](https://github.com/rust-lang/compiler-team/issues/505) - Finalized FCPs (disposition merge) - "Check if call return type is visibly uninhabited when building MIR" [rust#93313](https://github.com/rust-lang/rust/pull/93313) - "Fix constants not getting dropped if part of a diverging expression" [rust#94775](https://github.com/rust-lang/rust/pull/94775) - "[`let_chains`] Forbid `let` inside parentheses" [rust#95008](https://github.com/rust-lang/rust/pull/95008) ### WG checkins - @_*WG-rustc-dev-guide* Rustc Dev Guide by @**Santiago Pastorino** and @**Yuki Okushi|217081** ([previous checkin](https://hackmd.io/KW_vTfxFS2Ci4aLcQlF0mA#WG-checkins)): >#### Most notable changes > >- sessiondiagnostic: translation [#1333](https://github.com/rust-lang/rustc-dev-guide/pull/1333) >- Add example how lints can be feature gated [#1332](https://github.com/rust-lang/rustc-dev-guide/pull/1332) >- update section for type system constants [#1329](https://github.com/rust-lang/rustc-dev-guide/pull/1329) > >#### Most notable WIPs > >- rewrite bootstrapping stages [#1327](https://github.com/rust-lang/rustc-dev-guide/pull/1327) >- Document ErrorGuaranteed [#1316](https://github.com/rust-lang/rustc-dev-guide/pull/1316) >- Edit "What the compiler does to your code" [#1306](https://github.com/rust-lang/rustc-dev-guide/pull/1306) >- 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) - @_*WG-traits* (impl trait) Traits (impl trait) by @**nikomatsakis** @**oli** ([previous checkin](https://hackmd.io/KW_vTfxFS2Ci4aLcQlF0mA#WG-checkins)): > * type alias impl trait refactoring has landed > * Implementationd PRs for all 3 remaining soundness bugs have been opened > * next steps: review all open bugs and triage them to see if they are stabilization blockers > T-ypes deep dive meeting next week friday: the new scheme for determining hidden types of opaque types > ## 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: "Remove NodeIdHashingMode." [rust#95656](https://github.com/rust-lang/rust/pull/95656) - nominated by @**Wesley Wiser** - Should fix [rust#95945](https://github.com/rust-lang/rust/issues/95945), a ICE on incremental compilation - No stable nominations for `T-compiler` this time. [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) - "Fix incorrect suggestion for trait bounds involving binary operators" [rust#94034](https://github.com/rust-lang/rust/pull/94034) (last review activity: 2 months ago) - previously mentioned, @**oli** and @**Esteban Küber** could follow-up on this - "Handle generic bounds in a uniform way in HIR" [rust#93803](https://github.com/rust-lang/rust/pull/93803) (last review activity: about 58 days ago) - cc: @**Esteban Küber** - "Remove all json handling from rustc_serialize" [rust#85993](https://github.com/rust-lang/rust/pull/85993) (last review activity: about 54 days ago) - update: PR depends on MCP [#503](https://github.com/rust-lang/compiler-team/issues/503), now closed - cc: @**Aaron Hill** - "rustc_apfloat: Double::mul_add_r panic with specific values" [rust#93225](https://github.com/rust-lang/rust/pull/93225) (last review activity: about 47 days ago) - @**pnkfelix** and @**Wesley Wiser** discussed licensing issue about the the LLVM's APFloat library [rust#55993](https://github.com/rust-lang/rust/issues/55993) - Wesley [mentioned](https://rust-lang.zulipchat.com/#narrow/stream/238009-t-compiler.2Fmeetings/topic/.5Bweekly.5D.202022-04-07/near/278170501) a follow-up with Core team / Foundation ([comment](https://rust-lang.zulipchat.com/#narrow/stream/238009-t-compiler.2Fmeetings/topic/.5Bweekly.5D.202022-04-07/near/278170501)) - "Better error message for `_` in function signature in `impl Trait for Ty`" [rust#95395](https://github.com/rust-lang/rust/pull/95395) (last review activity: about 23 days ago) - Bot assigned @**Wesley Wiser** as reviewer, reroll dice? - "Add Apple WatchOS compile targets" [rust#95243](https://github.com/rust-lang/rust/pull/95243) (last review activity: about 23 days ago) - PR needs a reviewer - "Only output DepKind in dump-dep-graph." [rust#95434](https://github.com/rust-lang/rust/pull/95434) (last review activity: about 22 days ago) - PR needs a reviewer ## 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) - [48 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, 2 P-high, 2 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, 40 P-high, 82 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) - "Rust beta: "cannot infer type" when compiling `bottom` crate" [rust#96074](https://github.com/rust-lang/rust/issues/96074) - regression reportedly breaks at least compiling one real world crate ([bottom](lib.rs/bottom)) - confirmed P-high? - "regression: TLS linker issues" [rust#96132](https://github.com/rust-lang/rust/issues/96132) - confirmed P-high? - Bisection points to [rust#94373](https://github.com/rust-lang/rust/pull/94373) (cc: @**erikdesjardins**) - @**simulacrum** suggests to revert at least for 1.61 [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-04-19](https://github.com/rust-lang/rustc-perf/blob/e90d5de068857d7f350f7e4604330e53fb611b94/triage/2022-04-19.md) A rough week, if only in terms of the sheer number of PRs that were flagged as regressions. Going through 31 regressive PR's, 13 of them rollups, is not fun. There were some nice wins from e.g. [#95968](https://github.com/rust-lang/rust/pull/95968) and [#95981](https://github.com/rust-lang/rust/pull/95981). The main worrisome regression is a 1% compile-time from [#96010](https://github.com/rust-lang/rust/pull/96010) that seems like it was not expected. Triage done by **@pnkfelix**. Revision range: [4e1927db..4ca19e09](https://perf.rust-lang.org/?start=4e1927db3c399fa34dc71992bd5dbec09f945c3d&end=4ca19e09d302a4cbde14f9cb1bc109179dc824cd&absolute=false&stat=instructions%3Au) 7 Regressions, 12 Improvements, 24 Mixed; 13 of them in rollups 51 artifact comparisons made in total 30 Untriaged Pull Requests #### Regressions Rollup of 7 pull requests [#95966](https://github.com/rust-lang/rust/pull/95966) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=4e1927db3c399fa34dc71992bd5dbec09f945c3d&end=2a83fbc42a9bb6bfdb8d3fb4ecce83fb410d7642&stat=instructions:u) | | Regressions (primary) | Regressions (secondary) | Improvements (primary) | Improvements (secondary) | All (primary) | |:---:|:---:|:---:|:---:|:---:|:---:| | count | 2 | 2 | 0 | 0 | 2 | | mean | 0.2% | 0.3% | N/A | N/A | 0.2% | | max | 0.2% | 0.4% | N/A | N/A | 0.2% | * left comment: Unclear cause, fairly small regression, and rollup: not worth the time to investigate -- benefit/cost tradeoff is not worth it. Rollup of 4 pull requests [#95999](https://github.com/rust-lang/rust/pull/95999) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=1491e5cc148391f7679542b8e9b4e6d2430a7b69&end=b768f248e99688a2d7649731a99b2f2ad962abf5&stat=instructions:u) | | Regressions (primary) | Regressions (secondary) | Improvements (primary) | Improvements (secondary) | All (primary) | |:---:|:---:|:---:|:---:|:---:|:---:| | count | 0 | 3 | 0 | 0 | 0 | | mean | N/A | 1.0% | N/A | N/A | N/A | | max | N/A | 1.2% | N/A | N/A | N/A | * left comment: I don't see any reason why the PRs in this rollup would have anything to do with its associated regression. Use mir constant in thir instead of ty::Const [#94255](https://github.com/rust-lang/rust/pull/94255) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=b768f248e99688a2d7649731a99b2f2ad962abf5&end=e3c43e64eceb00e13b1932229aa9b2d774e6af96&stat=instructions:u) | | Regressions (primary) | Regressions (secondary) | Improvements (primary) | Improvements (secondary) | All (primary) | |:---:|:---:|:---:|:---:|:---:|:---:| | count | 2 | 12 | 0 | 0 | 2 | | mean | 0.2% | 0.4% | N/A | N/A | 0.2% | | max | 0.2% | 0.5% | N/A | N/A | 0.2% | * left comment: An earlier perf run, on I think the same commit series as what was eventually merged, showed no primary regressions at all. * A number of secondary benchmarks regressed, but they are all stress test microbenchmarks, and should not block landing work of this nature. * So, I'm chalking the minor amount of regression that was observed up to noise. Update stdarch [#95958](https://github.com/rust-lang/rust/pull/95958) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=0d13f6afeba4935499abe0c9a07426c94492c94e&end=dc4bfcbdfff651c82eff4bdd311d28e54d1513c4&stat=instructions:u) | | Regressions (primary) | Regressions (secondary) | Improvements (primary) | Improvements (secondary) | All (primary) | |:---:|:---:|:---:|:---:|:---:|:---:| | count | 1 | 8 | 0 | 0 | 1 | | mean | 1.1% | 0.7% | N/A | N/A | 1.1% | | max | 1.1% | 1.2% | N/A | N/A | 1.1% | * left comments. Only one regression but it wasn't clear why this PR would cause it. * Subsequent attempt to cachegrind diff the two rustc's indicate that there may be some amount of noise at play here. Marked as triaged. Rollup of 7 pull requests [#96123](https://github.com/rust-lang/rust/pull/96123) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=2fa9789f596dd7639e1a242d466637b53179f4d1&end=878c7833f6c1ff10e2fd89074e5bd4ef5ff15936&stat=instructions:u) | | Regressions (primary) | Regressions (secondary) | Improvements (primary) | Improvements (secondary) | All (primary) | |:---:|:---:|:---:|:---:|:---:|:---:| | count | 0 | 6 | 0 | 0 | 0 | | mean | N/A | 0.4% | N/A | N/A | N/A | | max | N/A | 0.5% | N/A | N/A | N/A | * six secondary regressions, all in variants of `match-stress` and all on the order of 0.48%. * left comment: narrow scope, secondary benchmark, small regression, and rollup: not worth investigating further. Rollup of 5 pull requests [#96178](https://github.com/rust-lang/rust/pull/96178) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=0516711ab057d9731f55511f00f9d426bc9db724&end=8305398d7ae6128811ec2b3223939bcd067530c2&stat=instructions:u) | | Regressions (primary) | Regressions (secondary) | Improvements (primary) | Improvements (secondary) | All (primary) | |:---:|:---:|:---:|:---:|:---:|:---:| | count | 1 | 0 | 0 | 0 | 1 | | mean | 2.5% | N/A | N/A | N/A | 2.5% | | max | 2.5% | N/A | N/A | N/A | 2.5% | * regressed syn-opt-1.0.89 opt full by 2.5%. * The only PR on the list in this rollup that I could imagine having any effect at all on performance is PR #96156. * looked at graph, seems like benchmark became more noisy recently, and this is part of the variance injected by that noise. Add slice::remainder [#92287](https://github.com/rust-lang/rust/pull/92287) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=311e2683e1bad87715b1558f7900e294d24ce491&end=d5ae66c12c6bdf1a5739ae1fce8057fd76ba0f47&stat=instructions:u) | | Regressions (primary) | Regressions (secondary) | Improvements (primary) | Improvements (secondary) | All (primary) | |:---:|:---:|:---:|:---:|:---:|:---:| | count | 0 | 2 | 0 | 0 | 0 | | mean | N/A | 1.2% | N/A | N/A | N/A | | max | N/A | 1.2% | N/A | N/A | N/A | * regressed externs (a secondary benchmark) incr-full in debug and opt profiles by 1.2%. * left comment; based on cachegrind output and the perf graph, this does not seem to be a persistent regression. We do not need to worry about it. #### Improvements - Rollup of 5 pull requests [#95974](https://github.com/rust-lang/rust/pull/95974) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=2a83fbc42a9bb6bfdb8d3fb4ecce83fb410d7642&end=327caac4d01aef74d6577b87c295270608be09fa&stat=instructions:u) - errors: lazily load fallback fluent bundle [#95968](https://github.com/rust-lang/rust/pull/95968) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=dc4bfcbdfff651c82eff4bdd311d28e54d1513c4&end=34a6c9f26e2ce32cad0d71f5e342365b09f4d12c&stat=instructions:u) - Optimize `<SourceFile as Decodable>::decode` [#95981](https://github.com/rust-lang/rust/pull/95981) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=34a6c9f26e2ce32cad0d71f5e342365b09f4d12c&end=f387c930ee7c84357f8fa9f4c38903c00404ac46&stat=instructions:u) - Remove `<mbe::TokenTree as Clone>` [#95928](https://github.com/rust-lang/rust/pull/95928) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=f387c930ee7c84357f8fa9f4c38903c00404ac46&end=f9d4d12b6ab97fae8b9a6f607473fe149f38f6bd&stat=instructions:u) - Allow self-profiler to only record potentially costly arguments when argument recording is turned on [#95689](https://github.com/rust-lang/rust/pull/95689) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=c8422403f775126c40d558838d321c063554c822&end=febce1fc316f5618d5bb8f05d19e2e3ba868c007&stat=instructions:u) - Fix `x test --doc --stage 0 library/std` [#95993](https://github.com/rust-lang/rust/pull/95993) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=d9b3ff7d34335c5bc0b2afed640b65d64a85fe03&end=2fa9789f596dd7639e1a242d466637b53179f4d1&stat=instructions:u) - Rollup of 6 pull requests [#96134](https://github.com/rust-lang/rust/pull/96134) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=563ef23529ae800b2b136cabdc71a81d86a75f58&end=2c28b0eaf9843ec0f493fca2dba506fe4d9174fb&stat=instructions:u) - Speed up Vec::clear(). [#96002](https://github.com/rust-lang/rust/pull/96002) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=2c28b0eaf9843ec0f493fca2dba506fe4d9174fb&end=43a71dc732af0f7cc5895cca8d001184c252426a&stat=instructions:u) - fix error handling for pthread_sigmask(3) [#93530](https://github.com/rust-lang/rust/pull/93530) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=ec77f252434a532fdb5699ae4f21a3072d211edd&end=e27d9df4319bd822e64f620676543d31e9c7ae2c&stat=instructions:u) - Respect ranlib specified for target during LLVM build [#96080](https://github.com/rust-lang/rust/pull/96080) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=faecdc05abc997ba3be693024724ce205facb686&end=491f619f564a4ff9ae4cc837e27bb919d04c31be&stat=instructions:u) - Require all paths passed to `ShouldRun::paths` to exist on disk [#95906](https://github.com/rust-lang/rust/pull/95906) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=6fd7e9010db6be7605241c39eab7c5078ee2d5bd&end=0516711ab057d9731f55511f00f9d426bc9db724&stat=instructions:u) - show suggestion to replace generic bounds with associated types in more cases [#95379](https://github.com/rust-lang/rust/pull/95379) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=d5ae66c12c6bdf1a5739ae1fce8057fd76ba0f47&end=e2661bac6d8ae6b9e2a26cd08e9c087ab59e1357&stat=instructions:u) #### Mixed Skip `Lazy` for some metadata tables [#95867](https://github.com/rust-lang/rust/pull/95867) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=327caac4d01aef74d6577b87c295270608be09fa&end=de56c295c394349a68f293039481c3aa6402f9c6&stat=instructions:u) | | Regressions (primary) | Regressions (secondary) | Improvements (primary) | Improvements (secondary) | All (primary) | |:---:|:---:|:---:|:---:|:---:|:---:| | count | 0 | 5 | 0 | 1 | 0 | | mean | N/A | 0.4% | N/A | -0.7% | N/A | | max | N/A | 0.5% | N/A | -0.7% | N/A | * already triaged by the PR author. Rollup of 4 pull requests [#95987](https://github.com/rust-lang/rust/pull/95987) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=de56c295c394349a68f293039481c3aa6402f9c6&end=52ca603da73ae9eaddf96f77953b33ad8c47cc8e&stat=instructions:u) | | Regressions (primary) | Regressions (secondary) | Improvements (primary) | Improvements (secondary) | All (primary) | |:---:|:---:|:---:|:---:|:---:|:---:| | count | 0 | 13 | 0 | 7 | 0 | | mean | N/A | 1.7% | N/A | -0.4% | N/A | | max | N/A | 3.0% | N/A | -0.6% | N/A | * the big hit here was to tt-muncher (a secondary benchmark), which regressed on 10 different configurations, by amounts varying from 1.4% up to 3.0%. * the cachegrind diff for the 3.0% hit is here: https://gist.github.com/7674ad03c8f72705eb5bd2651202f40a * that cachegrind diff leads pnkfelix to think that PR #95794: "parse_tt: a few more tweaks" is the cause of the regression, specifically commit 4ba609601f1a99ddf3cf0cf70f57c4a045f0f23f * however, that PR went through multiple rounds of performance evaluation. * in any case, looking at the graph for tt-muncher indicates that whatever performance hit was suffered, it was subsequently resolved by PR #95928. rustdoc: Reduce allocations in a `markdown` function [#95905](https://github.com/rust-lang/rust/pull/95905) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=52ca603da73ae9eaddf96f77953b33ad8c47cc8e&end=f6cef572d6d75a3b7dea5f496d3bd981986e94ca&stat=instructions:u) | | Regressions (primary) | Regressions (secondary) | Improvements (primary) | Improvements (secondary) | All (primary) | |:---:|:---:|:---:|:---:|:---:|:---:| | count | 0 | 2 | 4 | 4 | 4 | | mean | N/A | 1.2% | -0.3% | -0.3% | -0.3% | | max | N/A | 1.2% | -0.4% | -0.4% | -0.4% | * the primary regressions were to externs incr-full, debug and opt variants. * from looking at the graph, there may be a faint upward trend on externs as a whole, but pnkfelix does not think this PR caused any direct regression. Rollup of 7 pull requests [#95990](https://github.com/rust-lang/rust/pull/95990) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=f6cef572d6d75a3b7dea5f496d3bd981986e94ca&end=1491e5cc148391f7679542b8e9b4e6d2430a7b69&stat=instructions:u) | | Regressions (primary) | Regressions (secondary) | Improvements (primary) | Improvements (secondary) | All (primary) | |:---:|:---:|:---:|:---:|:---:|:---:| | count | 10 | 8 | 0 | 5 | 10 | | mean | 0.7% | 9.3% | N/A | -0.8% | 0.7% | | max | 4.1% | 71.7% | N/A | -1.2% | 4.1% | * This PR regressed diesel doc by 4.1%, and associated-items doc by 71% (!). Seems important. * It seems likely that the rustdoc regression is due to PR #95316. * Left comment on PR #95316; not marking rollup as triaged for now. Remove NodeIdHashingMode. [#95656](https://github.com/rust-lang/rust/pull/95656) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=e3c43e64eceb00e13b1932229aa9b2d774e6af96&end=f38c5c8e5d76ea9a87fece143425ef7c703c706a&stat=instructions:u) | | Regressions (primary) | Regressions (secondary) | Improvements (primary) | Improvements (secondary) | All (primary) | |:---:|:---:|:---:|:---:|:---:|:---:| | count | 103 | 75 | 0 | 8 | 103 | | mean | 0.6% | 0.7% | N/A | -0.5% | 0.6% | | max | 1.1% | 1.7% | N/A | -0.8% | 1.1% | * Already marked as triaged since it addressed significant footgun in incr-comp; see [comment from mw](https://github.com/rust-lang/rust/pull/95656#issuecomment-1097694966) Rollup of 6 pull requests [#96015](https://github.com/rust-lang/rust/pull/96015) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=ab33f71a8be01a93d4d14ee5755beeefe38f1946&end=0d13f6afeba4935499abe0c9a07426c94492c94e&stat=instructions:u) | | Regressions (primary) | Regressions (secondary) | Improvements (primary) | Improvements (secondary) | All (primary) | |:---:|:---:|:---:|:---:|:---:|:---:| | count | 0 | 6 | 0 | 2 | 0 | | mean | N/A | 0.7% | N/A | -0.3% | N/A | | max | N/A | 1.1% | N/A | -0.4% | N/A | * only secondary regressions, and majority are to ctfe-stress-5 incr-unchanged (on all of check,debug,opt), on the order of 1.1%. * did local cachegrind run on check build: https://gist.github.com/4be85f17d74ee6bf2c92efcd922a6fc9 * regression seems to be blamed upon `rustc_data_structures::intern::Interned<rustc_middle::mir::interpret::allocation::Allocation> as rustc_data_structures::stable_hasher::HashStable<rustc_query_system::ich::hcx::StableHashingContext>>::hash_stable` * but nothing in the rollup PR seems like it could possibly have had an impact there. * the graph of ctfe-stress-5-check does seem like there has been some gradual regression over time, starting around 2022-04-09. * pnkfelix would not blame that on this rollup PR, though. Update cargo [#96031](https://github.com/rust-lang/rust/pull/96031) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=f9d4d12b6ab97fae8b9a6f607473fe149f38f6bd&end=e371eeb778c293cc85ce396cec5d6372fe1ef8b7&stat=instructions:u) | | Regressions (primary) | Regressions (secondary) | Improvements (primary) | Improvements (secondary) | All (primary) | |:---:|:---:|:---:|:---:|:---:|:---:| | count | 0 | 3 | 0 | 1 | 0 | | mean | N/A | 1.1% | N/A | -0.4% | N/A | | max | N/A | 1.1% | N/A | -0.4% | N/A | * Regressions are just to secondary benchmarks and pnkfelix thinks benefits of a cargo update outweigh the costs presented here, such as they are. library: Move `CStr` to libcore, and `CString` to liballoc [#94079](https://github.com/rust-lang/rust/pull/94079) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=69a5ae35fe5bb507ca5987e12392dce5186480b9&end=1e6fe5855a115ef7f17f3e17205fab7340775701&stat=instructions:u) | | Regressions (primary) | Regressions (secondary) | Improvements (primary) | Improvements (secondary) | All (primary) | |:---:|:---:|:---:|:---:|:---:|:---:| | count | 1 | 3 | 0 | 2 | 1 | | mean | 0.8% | 0.9% | N/A | -0.6% | 0.8% | | max | 0.8% | 1.2% | N/A | -0.7% | 0.8% | * Report claims this Caused a 0.8% regression on primary benchmark unicode-normalization-0.1.19 (check full). * I was not able to reproduce the regression locally; all my runs showed an improvement. * This may be running afoul of rust-lang/rustc-perf#1299 Rollup of 11 pull requests [#96087](https://github.com/rust-lang/rust/pull/96087) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=1e6fe5855a115ef7f17f3e17205fab7340775701&end=3f391b84552f210adec7893b50c5da74f9362ae4&stat=instructions:u) | | Regressions (primary) | Regressions (secondary) | Improvements (primary) | Improvements (secondary) | All (primary) | |:---:|:---:|:---:|:---:|:---:|:---:| | count | 1 | 1 | 1 | 5 | 2 | | mean | 0.7% | 0.6% | -0.8% | -0.8% | -0.1% | | max | 0.7% | 0.6% | -0.8% | -1.1% | -0.8% | * Report claims this Caused a 0.8% regression on primary benchmark unicode-normalization-0.1.19 (check full). * This, like other PR's this week, may be running afoul of rust-lang/rustc-perf#1299 Optimize RcInnerPtr::inc_strong()/inc_weak() instruction count [#95224](https://github.com/rust-lang/rust/pull/95224) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=3f391b84552f210adec7893b50c5da74f9362ae4&end=bb1a03c4fcbe547168fab128fa39b08d1122a1c2&stat=instructions:u) | | Regressions (primary) | Regressions (secondary) | Improvements (primary) | Improvements (secondary) | All (primary) | |:---:|:---:|:---:|:---:|:---:|:---:| | count | 0 | 4 | 0 | 1 | 0 | | mean | N/A | 1.9% | N/A | -0.3% | N/A | | max | N/A | 3.9% | N/A | -0.3% | N/A | * The bulk of this regression is attached to secondary benchmark regression-31157 opt (incr-patched: println, incr-full, full), by up to 3.86% * the [self-profile data](https://perf.rust-lang.org/detailed-query.html?commit=bb1a03c4fcbe547168fab128fa39b08d1122a1c2&base_commit=3f391b84552f210adec7893b50c5da74f9362ae4&benchmark=regression-31157-opt&scenario=incr-patched:%20println) seems to indicate that the bulk of the cost here is spent in LLVM. * the cachegrind output seconds that: https://gist.github.com/4fa7403ee2e812e7712c5046e9eb4d72 * This PR is motivated by an improvement to the object code itself generated by the compiler. I guess that improvement did not result in a net win for the compiler itself. * regression-31157 (rust#31157) is encoding a case where we were seeing a 20x slowdown. So we should not be worrying about 2% or 4% performance losses there. Only check the compiler and standard library before documenting them (take 2) [#95450](https://github.com/rust-lang/rust/pull/95450) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=bb1a03c4fcbe547168fab128fa39b08d1122a1c2&end=27490eb4232ceebc4f5e1e11b529b55994cf0333&stat=instructions:u) | | Regressions (primary) | Regressions (secondary) | Improvements (primary) | Improvements (secondary) | All (primary) | |:---:|:---:|:---:|:---:|:---:|:---:| | count | 1 | 1 | 0 | 2 | 1 | | mean | 0.9% | 0.4% | N/A | -1.2% | 0.9% | | max | 0.9% | 0.4% | N/A | -1.2% | 0.9% | * hypothesized to be noise and pnkfelix doesn't have time to dig more deeply. * left comment, marked as triaged. Better method call error messages [#92364](https://github.com/rust-lang/rust/pull/92364) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=080d5452e1bb6e18e12a073d4d0283fd9b6dac0b&end=07bb916d44a66d2caba427c7ee132bbeb245977b&stat=instructions:u) | | Regressions (primary) | Regressions (secondary) | Improvements (primary) | Improvements (secondary) | All (primary) | |:---:|:---:|:---:|:---:|:---:|:---:| | count | 0 | 4 | 3 | 0 | 3 | | mean | N/A | 0.8% | -1.1% | N/A | -1.1% | | max | N/A | 1.2% | -1.5% | N/A | -1.5% | * The main regression here was to externs, but as previously noted, there's a lot of historical noise in the data for externs, and not trustworthy. Rollup of 9 pull requests [#96108](https://github.com/rust-lang/rust/pull/96108) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=07bb916d44a66d2caba427c7ee132bbeb245977b&end=c8422403f775126c40d558838d321c063554c822&stat=instructions:u) | | Regressions (primary) | Regressions (secondary) | Improvements (primary) | Improvements (secondary) | All (primary) | |:---:|:---:|:---:|:---:|:---:|:---:| | count | 0 | 3 | 0 | 2 | 0 | | mean | N/A | 1.1% | N/A | -0.5% | N/A | | max | N/A | 1.1% | N/A | -0.7% | N/A | * This observed 1% regression on ctfe-stress-5. * Much like PR #96015, I do not think I would put individual blame on this rollup PR for the problems we may be seeing over time in ctfe-stress-5. Rollup of 7 pull requests [#96117](https://github.com/rust-lang/rust/pull/96117) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=febce1fc316f5618d5bb8f05d19e2e3ba868c007&end=d9b3ff7d34335c5bc0b2afed640b65d64a85fe03&stat=instructions:u) | | Regressions (primary) | Regressions (secondary) | Improvements (primary) | Improvements (secondary) | All (primary) | |:---:|:---:|:---:|:---:|:---:|:---:| | count | 0 | 3 | 0 | 1 | 0 | | mean | N/A | 1.1% | N/A | -0.4% | N/A | | max | N/A | 1.1% | N/A | -0.4% | N/A | * This observed 1% regression on ctfe-stress-5. * Much like PR #96015 and PR #96108, I do not think I would put individual blame on this rollup PR for the problems we may be seeing over time in ctfe-stress-5. rustc_metadata: Do not encode unnecessary module children [#95899](https://github.com/rust-lang/rust/pull/95899) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=878c7833f6c1ff10e2fd89074e5bd4ef5ff15936&end=563ef23529ae800b2b136cabdc71a81d86a75f58&stat=instructions:u) | | Regressions (primary) | Regressions (secondary) | Improvements (primary) | Improvements (secondary) | All (primary) | |:---:|:---:|:---:|:---:|:---:|:---:| | count | 0 | 4 | 0 | 10 | 0 | | mean | N/A | 0.9% | N/A | -0.7% | N/A | | max | N/A | 1.1% | N/A | -1.4% | N/A | * This observed 1% regression on ctfe-stress-5. * Much like PR #96015, #96108, and #96117, I do not think I would put individual blame on this PR for the problems we may be seeing over time in ctfe-stress-5. Implement `core::ptr::Unique` on top of `NonNull` [#96010](https://github.com/rust-lang/rust/pull/96010) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=43a71dc732af0f7cc5895cca8d001184c252426a&end=ac8b11810f4a0def3596ee401feb9ef00015b555&stat=instructions:u) | | Regressions (primary) | Regressions (secondary) | Improvements (primary) | Improvements (secondary) | All (primary) | |:---:|:---:|:---:|:---:|:---:|:---:| | count | 20 | 10 | 0 | 6 | 20 | | mean | 0.6% | 1.3% | N/A | -0.4% | 0.6% | | max | 1.2% | 2.5% | N/A | -0.5% | 1.2% | * This seems like it introduced a regression into the compilation times for a lot of important crates. * I'm not clear on what its buying us, it seems like internal code cleanup? That doesn't justify a >=1% compile-time regression to webrender and syn. Refactor HIR item-like traversal (part 1) [#95655](https://github.com/rust-lang/rust/pull/95655) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=ac8b11810f4a0def3596ee401feb9ef00015b555&end=edba28277038f24ee80b88b66e054ec33facefa4&stat=instructions:u) | | Regressions (primary) | Regressions (secondary) | Improvements (primary) | Improvements (secondary) | All (primary) | |:---:|:---:|:---:|:---:|:---:|:---:| | count | 33 | 32 | 0 | 3 | 33 | | mean | 0.3% | 0.7% | N/A | -1.0% | 0.3% | | max | 0.4% | 1.6% | N/A | -1.0% | 0.4% | * This is an expected regression and has already been marked as triaged. Remove last vestiges of skippng ident span hashing [#96016](https://github.com/rust-lang/rust/pull/96016) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=edba28277038f24ee80b88b66e054ec33facefa4&end=af68f7182e11de7eced78078313e9ba0436db84e&stat=instructions:u) | | Regressions (primary) | Regressions (secondary) | Improvements (primary) | Improvements (secondary) | All (primary) | |:---:|:---:|:---:|:---:|:---:|:---:| | count | 1 | 0 | 0 | 7 | 1 | | mean | 2.6% | N/A | N/A | -0.4% | 2.6% | | max | 2.6% | N/A | N/A | -0.5% | 2.6% | * This was already marked as triaged, but at the time it was marked, the only regressions were to secondary benchmarks. * The version that landed flagged a 2.6% regression to primary benchmark syn-1.0.89 * (self-profile says its due to extra time spent in LLVM). * anyway the historical data makes me think this is just noise. Report undeclared lifetimes during late resolution. [#95779](https://github.com/rust-lang/rust/pull/95779) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=af68f7182e11de7eced78078313e9ba0436db84e&end=1ec2c136b35bd4660cba778346f8df7daf2ab173&stat=instructions:u) | | Regressions (primary) | Regressions (secondary) | Improvements (primary) | Improvements (secondary) | All (primary) | |:---:|:---:|:---:|:---:|:---:|:---:| | count | 58 | 39 | 1 | 2 | 59 | | mean | 0.5% | 0.5% | -2.5% | -1.0% | 0.5% | | max | 0.8% | 1.1% | -2.5% | -1.0% | -2.5% | * These performance regressions were anticipated (via measurement) during review of the PR and effectively already triaged. Fix rustdoc duplicated blanket impls [#96091](https://github.com/rust-lang/rust/pull/96091) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=1ec2c136b35bd4660cba778346f8df7daf2ab173&end=ad4e98ed7dc535d161886b17f7792501baa82c9b&stat=instructions:u) | | Regressions (primary) | Regressions (secondary) | Improvements (primary) | Improvements (secondary) | All (primary) | |:---:|:---:|:---:|:---:|:---:|:---:| | count | 0 | 3 | 0 | 3 | 0 | | mean | N/A | 1.1% | N/A | -1.1% | N/A | | max | N/A | 1.2% | N/A | -1.1% | N/A | * The main hit is to externs, which I'm rejecting as ignorable this week due to extant noise. Revert: Make TLS __getit #[inline(always)] on non-Windows [#96139](https://github.com/rust-lang/rust/pull/96139) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=ad4e98ed7dc535d161886b17f7792501baa82c9b&end=ec77f252434a532fdb5699ae4f21a3072d211edd&stat=instructions:u) | | Regressions (primary) | Regressions (secondary) | Improvements (primary) | Improvements (secondary) | All (primary) | |:---:|:---:|:---:|:---:|:---:|:---:| | count | 1 | 3 | 0 | 1 | 1 | | mean | 3.3% | 1.1% | N/A | -0.7% | 3.3% | | max | 3.3% | 1.1% | N/A | -0.7% | 3.3% | * Unfortunately this injected a 3.3% hit to syn-1.0.89, ... * ... but it is also fixing a beta-regression, which takes priority here. * anyway its already marked as triaged by simulacrum. Make `x test --stage 2 compiler/rustc_XXX` faster to run [#96000](https://github.com/rust-lang/rust/pull/96000) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=7b5408d3fbfc4bcb7c5b2b2f08369156406dc03b&end=74582acd3b49c0f44d53cfafa20d26595a1ae278&stat=instructions:u) | | Regressions (primary) | Regressions (secondary) | Improvements (primary) | Improvements (secondary) | All (primary) | |:---:|:---:|:---:|:---:|:---:|:---:| | count | 1 | 0 | 0 | 1 | 1 | | mean | 1.5% | N/A | N/A | -0.7% | 1.5% | | max | 1.5% | N/A | N/A | -0.7% | 1.5% | * This was flagged as injecting a 1.5% regression on syn-1.0.89. * It seems like syn-1.0.89 opt full suddenly became much noisier around 2022-04-17, and I do not know why. Micro-optimize `ty::relate::relate_substs` by avoiding `match` [#96020](https://github.com/rust-lang/rust/pull/96020) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=e2661bac6d8ae6b9e2a26cd08e9c087ab59e1357&end=c102c5cfc60203c82460bdde2eecd19ccd8c125b&stat=instructions:u) | | Regressions (primary) | Regressions (secondary) | Improvements (primary) | Improvements (secondary) | All (primary) | |:---:|:---:|:---:|:---:|:---:|:---:| | count | 0 | 6 | 0 | 8 | 0 | | mean | N/A | 1.8% | N/A | -0.6% | N/A | | max | N/A | 2.3% | N/A | -1.2% | N/A | * Already triaged by nnethercote. Rollup of 6 pull requests [#96214](https://github.com/rust-lang/rust/pull/96214) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=c102c5cfc60203c82460bdde2eecd19ccd8c125b&end=4ca19e09d302a4cbde14f9cb1bc109179dc824cd&stat=instructions:u) | | Regressions (primary) | Regressions (secondary) | Improvements (primary) | Improvements (secondary) | All (primary) | |:---:|:---:|:---:|:---:|:---:|:---:| | count | 0 | 5 | 1 | 1 | 1 | | mean | N/A | 0.9% | -0.2% | -0.2% | -0.2% | | max | N/A | 1.5% | -0.2% | -0.2% | -0.2% | * regressed deeply-nested-multi incr-unchanged by 1% to 1.5%. * the bulk of the regression here seems to already be blamable on PR #96020. Why is this rollup PR getting flagged separately? (filed a bug against rustc-perf for this.) ## Nominated Issues [T-compiler](https://github.com/rust-lang/rust/issues?q=is%3Aopen+label%3AI-compiler-nominated+label%3AT-compiler) - "Disable unwinding for emscripten again" [rust#95950](https://github.com/rust-lang/rust/pull/95950) - nominated by @**nagisa** ([comment](https://github.com/rust-lang/rust/pull/95950#issuecomment-1100664309)), suggests a write-up to take a decision and try to stick with it ([comment](https://github.com/rust-lang/rust/pull/95950#issuecomment-1095691392)) - cc: PR author @**Jules Bertholet**, suggests adding a feature-gate ([comment](https://github.com/rust-lang/rust/pull/95950#issuecomment-1100749266)) [RFC](https://github.com/rust-lang/rfcs/issues?q=is%3Aopen+label%3AI-compiler-nominated) - No I-compiler-nominated RFCs this time.

Import from clipboard

Paste your markdown or webpage here...

Advanced permission required

Your current role can only read. Ask the system administrator to acquire write and comment permission.

This team is disabled

Sorry, this team is disabled. You can't edit this note.

This note is locked

Sorry, only owner can edit this note.

Reach the limit

Sorry, you've reached the max length this note can be.
Please reduce the content or divide it to more notes, thank you!

Import from Gist

Import from Snippet

or

Export to Snippet

Are you sure?

Do you really want to delete this note?
All users will lose their connection.

Create a note from template

Create a note from template

Oops...
This template has been removed or transferred.
Upgrade
All
  • All
  • Team
No template.

Create a template

Upgrade

Delete template

Do you really want to delete this template?
Turn this template into a regular note and keep its content, versions, and comments.

This page need refresh

You have an incompatible client version.
Refresh to update.
New version available!
See releases notes here
Refresh to enjoy new features.
Your user state has changed.
Refresh to load new user state.

Sign in

Forgot password

or

By clicking below, you agree to our terms of service.

Sign in via Facebook Sign in via Twitter Sign in via GitHub Sign in via Dropbox Sign in with Wallet
Wallet ( )
Connect another wallet

New to HackMD? Sign up

Help

  • English
  • 中文
  • Français
  • Deutsch
  • 日本語
  • Español
  • Català
  • Ελληνικά
  • Português
  • italiano
  • Türkçe
  • Русский
  • Nederlands
  • hrvatski jezik
  • język polski
  • Українська
  • हिन्दी
  • svenska
  • Esperanto
  • dansk

Documents

Help & Tutorial

How to use Book mode

Slide Example

API Docs

Edit in VSCode

Install browser extension

Contacts

Feedback

Discord

Send us email

Resources

Releases

Pricing

Blog

Policy

Terms

Privacy

Cheatsheet

Syntax Example Reference
# Header Header 基本排版
- Unordered List
  • Unordered List
1. Ordered List
  1. Ordered List
- [ ] Todo List
  • Todo List
> Blockquote
Blockquote
**Bold font** Bold font
*Italics font* Italics font
~~Strikethrough~~ Strikethrough
19^th^ 19th
H~2~O H2O
++Inserted text++ Inserted text
==Marked text== Marked text
[link text](https:// "title") Link
![image alt](https:// "title") Image
`Code` Code 在筆記中貼入程式碼
```javascript
var i = 0;
```
var i = 0;
:smile: :smile: Emoji list
{%youtube youtube_id %} Externals
$L^aT_eX$ LaTeX
:::info
This is a alert area.
:::

This is a alert area.

Versions and GitHub Sync
Get Full History Access

  • Edit version name
  • Delete

revision author avatar     named on  

More Less

Note content is identical to the latest version.
Compare
    Choose a version
    No search result
    Version not found
Sign in to link this note to GitHub
Learn more
This note is not linked with GitHub
 

Feedback

Submission failed, please try again

Thanks for your support.

On a scale of 0-10, how likely is it that you would recommend HackMD to your friends, family or business associates?

Please give us some advice and help us improve HackMD.

 

Thanks for your feedback

Remove version name

Do you want to remove this version name and description?

Transfer ownership

Transfer to
    Warning: is a public team. If you transfer note to this team, everyone on the web can find and read this note.

      Link with GitHub

      Please authorize HackMD on GitHub
      • Please sign in to GitHub and install the HackMD app on your GitHub repo.
      • HackMD links with GitHub through a GitHub App. You can choose which repo to install our App.
      Learn more  Sign in to GitHub

      Push the note to GitHub Push to GitHub Pull a file from GitHub

        Authorize again
       

      Choose which file to push to

      Select repo
      Refresh Authorize more repos
      Select branch
      Select file
      Select branch
      Choose version(s) to push
      • Save a new version and push
      • Choose from existing versions
      Include title and tags
      Available push count

      Pull from GitHub

       
      File from GitHub
      File from HackMD

      GitHub Link Settings

      File linked

      Linked by
      File path
      Last synced branch
      Available push count

      Danger Zone

      Unlink
      You will no longer receive notification when GitHub file changes after unlink.

      Syncing

      Push failed

      Push successfully