# 2022-11-14 Triage Log

A light week for triage. The biggest of the three regressions has a (hopeful)
fix up already. The second biggest is a regression we are accepting for sake
of correctness of incremental-compilation. The third regression is small and may
well be removed as the type system internals are improved. max-rss seems stable.

Triage done by **@pnkfelix**.
Revision range: [57d3c58e..96ddd32c](https://perf.rust-lang.org/?start=57d3c58ed6e0faf89a62411f96c000ffc9fd3937&end=96ddd32c4bfb1d78f0cd03eb068b1710a8cebeef&absolute=false&stat=instructions%3Au)

**Summary**:

| (instructions:u)                   | mean  | range          | count |
|:----------------------------------:|:-----:|:--------------:|:-----:|
| Regressions ❌ <br /> (primary)    | 0.7%  | [0.2%, 1.4%]   | 87    |
| Regressions ❌ <br /> (secondary)  | 0.7%  | [0.2%, 2.3%]   | 36    |
| Improvements ✅ <br /> (primary)   | -0.5% | [-1.2%, -0.3%] | 12    |
| Improvements ✅ <br /> (secondary) | -0.9% | [-2.0%, -0.2%] | 9     |
| All ❌✅ (primary)                 | 0.5%  | [-1.2%, 1.4%]  | 99    |


3 Regressions, 4 Improvements, 3 Mixed; 2 of them in rollups
40 artifact comparisons made in total

#### Regressions

Better error for HRTB error from generator interior [#103171](https://github.com/rust-lang/rust/pull/103171) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=8d36948b1519c77a54867523453fef3e0c3a648b&end=bc2504a83ca6ee8f6717dedd0721b90ffcbe1300&stat=instructions:u)

| (instructions:u)                   | mean | range        | count |
|:----------------------------------:|:----:|:------------:|:-----:|
| Regressions ❌ <br /> (primary)    | -    | -            | 0     |
| Regressions ❌ <br /> (secondary)  | 1.6% | [1.3%, 2.1%] | 6     |
| Improvements ✅ <br /> (primary)   | -    | -            | 0     |
| Improvements ✅ <br /> (secondary) | -    | -            | 0     |
| All ❌✅ (primary)                 | -    | -            | 0     |

* Already triaged (by two different people).
* Also, according to comment thread, this change is slated to be removed once
  binders support implied bounds, so even if there is a minor regression
  attached to this PR, the PR should nonetheless go away eventually.

Recover wrong-cased keywords that start items [#99918](https://github.com/rust-lang/rust/pull/99918) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=c1a859b25a95999ba276075bbd8e284ea675b41a&end=5b82ea74b705799665b5a676b162f30d26f5108c&stat=instructions:u)

| (instructions:u)                   | mean | range        | count |
|:----------------------------------:|:----:|:------------:|:-----:|
| Regressions ❌ <br /> (primary)    | 0.6% | [0.2%, 1.2%] | 80    |
| Regressions ❌ <br /> (secondary)  | 0.8% | [0.3%, 1.4%] | 11    |
| Improvements ✅ <br /> (primary)   | -    | -            | 0     |
| Improvements ✅ <br /> (secondary) | -    | -            | 0     |
| All ❌✅ (primary)                 | 0.6% | [0.2%, 1.2%] | 80    |

* Believed to be fixed by https://github.com/rust-lang/rust/pull/104410


Hash spans when interning types [#104282](https://github.com/rust-lang/rust/pull/104282) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=229e875878a682411df8b8adae39372302d2b4c7&end=3be81dd0cedef3c83fba7047857418633708890f&stat=instructions:u)

| (instructions:u)                   | mean | range        | count |
|:----------------------------------:|:----:|:------------:|:-----:|
| Regressions ❌ <br /> (primary)    | 0.5% | [0.2%, 0.9%] | 44    |
| Regressions ❌ <br /> (secondary)  | 0.6% | [0.2%, 0.9%] | 19    |
| Improvements ✅ <br /> (primary)   | -    | -            | 0     |
| Improvements ✅ <br /> (secondary) | -    | -            | 0     |
| All ❌✅ (primary)                 | 0.5% | [0.2%, 0.9%] | 44    |

* already triaged; its a regression we are accepting for sake of correctness

#### Improvements

Remove allow(rustc::potential_query_instability) in rustc_trait_selection [#103723](https://github.com/rust-lang/rust/pull/103723) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=0aaad9e757207657064d70bf9e6c1e6eb327bf15&end=cc9b259b5e94e4543b96dca236e3a1af5ec496c9&stat=instructions:u)

| (instructions:u)                   | mean  | range          | count |
|:----------------------------------:|:-----:|:--------------:|:-----:|
| Regressions ❌ <br /> (primary)    | -     | -              | 0     |
| Regressions ❌ <br /> (secondary)  | -     | -              | 0     |
| Improvements ✅ <br /> (primary)   | -0.5% | [-0.5%, -0.5%] | 1     |
| Improvements ✅ <br /> (secondary) | -0.8% | [-1.0%, -0.5%] | 7     |
| All ❌✅ (primary)                 | -0.5% | [-0.5%, -0.5%] | 1     |


Rollup of 9 pull requests [#104236](https://github.com/rust-lang/rust/pull/104236) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=11fa0850f03ae49fe1053a21bcdcf8a301668ad8&end=01a6f30324deb8f9c9ec4a70c53690c5d073a244&stat=instructions:u)

| (instructions:u)                   | mean  | range          | count |
|:----------------------------------:|:-----:|:--------------:|:-----:|
| Regressions ❌ <br /> (primary)    | -     | -              | 0     |
| Regressions ❌ <br /> (secondary)  | -     | -              | 0     |
| Improvements ✅ <br /> (primary)   | -0.3% | [-0.4%, -0.2%] | 21    |
| Improvements ✅ <br /> (secondary) | -0.3% | [-0.6%, -0.2%] | 12    |
| All ❌✅ (primary)                 | -0.3% | [-0.4%, -0.2%] | 21    |


Rollup of 9 pull requests [#104246](https://github.com/rust-lang/rust/pull/104246) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=01a6f30324deb8f9c9ec4a70c53690c5d073a244&end=a3c0a023611fcaf5ae3ec242d7d60e356041d25f&stat=instructions:u)

| (instructions:u)                   | mean  | range          | count |
|:----------------------------------:|:-----:|:--------------:|:-----:|
| Regressions ❌ <br /> (primary)    | -     | -              | 0     |
| Regressions ❌ <br /> (secondary)  | -     | -              | 0     |
| Improvements ✅ <br /> (primary)   | -0.7% | [-0.8%, -0.6%] | 3     |
| Improvements ✅ <br /> (secondary) | -0.5% | [-0.6%, -0.3%] | 4     |
| All ❌✅ (primary)                 | -0.7% | [-0.8%, -0.6%] | 3     |


Retry failed macro matching for diagnostics [#103898](https://github.com/rust-lang/rust/pull/103898) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=5b82ea74b705799665b5a676b162f30d26f5108c&end=b7b7f2716ee1655a696d3d64c3e12638d0dd19c0&stat=instructions:u)

| (instructions:u)                   | mean  | range          | count |
|:----------------------------------:|:-----:|:--------------:|:-----:|
| Regressions ❌ <br /> (primary)    | -     | -              | 0     |
| Regressions ❌ <br /> (secondary)  | -     | -              | 0     |
| Improvements ✅ <br /> (primary)   | -0.8% | [-1.3%, -0.3%] | 11    |
| Improvements ✅ <br /> (secondary) | -     | -              | 0     |
| All ❌✅ (primary)                 | -0.8% | [-1.3%, -0.3%] | 11    |


#### Mixed

resolve: More detailed effective visibility tracking for imports [#103965](https://github.com/rust-lang/rust/pull/103965) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=ddfe1e87f7c85c03773c29180a931447fcd03b65&end=c5842b0be783dffa5a49693541acb79115c7eeef&stat=instructions:u)

| (instructions:u)                   | mean  | range          | count |
|:----------------------------------:|:-----:|:--------------:|:-----:|
| Regressions ❌ <br /> (primary)    | 0.3%  | [0.2%, 0.4%]   | 4     |
| Regressions ❌ <br /> (secondary)  | 0.3%  | [0.2%, 0.4%]   | 5     |
| Improvements ✅ <br /> (primary)   | -0.2% | [-0.2%, -0.2%] | 3     |
| Improvements ✅ <br /> (secondary) | -0.5% | [-1.1%, -0.4%] | 9     |
| All ❌✅ (primary)                 | 0.1%  | [-0.2%, 0.4%]  | 7     |

* This is an internal refactoring that we need to get more precise tracking of imports in presence of globs.
* treating the regressions as acceptable; marked it as triaged.

rustc_codegen_ssa: Better code generation for niche discriminants. [#102872](https://github.com/rust-lang/rust/pull/102872) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=b7b7f2716ee1655a696d3d64c3e12638d0dd19c0&end=742d3f02c243964e5b868d90afd60c2907be5853&stat=instructions:u)

| (instructions:u)                   | mean  | range          | count |
|:----------------------------------:|:-----:|:--------------:|:-----:|
| Regressions ❌ <br /> (primary)    | 0.5%  | [0.5%, 0.6%]   | 2     |
| Regressions ❌ <br /> (secondary)  | 2.1%  | [2.1%, 2.1%]   | 1     |
| Improvements ✅ <br /> (primary)   | -     | -              | 0     |
| Improvements ✅ <br /> (secondary) | -1.3% | [-2.2%, -0.3%] | 4     |
| All ❌✅ (primary)                 | 0.5%  | [0.5%, 0.6%]   | 2     |

* already triaged

Merge crossbeam-channel into `std::sync::mpsc` [#93563](https://github.com/rust-lang/rust/pull/93563) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=928d14bcd1976ffd33e743aa09c7c22a063bf87c&end=afd7977c850d9ce06f1dd2bebb40db8cc2224a51&stat=instructions:u)

| (instructions:u)                   | mean  | range          | count |
|:----------------------------------:|:-----:|:--------------:|:-----:|
| Regressions ❌ <br /> (primary)    | 0.8%  | [0.4%, 1.1%]   | 5     |
| Regressions ❌ <br /> (secondary)  | 0.5%  | [0.5%, 0.5%]   | 1     |
| Improvements ✅ <br /> (primary)   | -0.7% | [-1.1%, -0.3%] | 3     |
| Improvements ✅ <br /> (secondary) | -     | -              | 0     |
| All ❌✅ (primary)                 | 0.2%  | [-1.1%, 1.1%]  | 8     |

* already triaged

#### Untriaged Pull Requests

- [#104017 Rollup of 5 pull requests](https://github.com/rust-lang/rust/pull/104017)
- [#103998 Rollup of 6 pull requests](https://github.com/rust-lang/rust/pull/103998)
- [#103975 Some tracing and comment cleanups](https://github.com/rust-lang/rust/pull/103975)
- [#103965 resolve: More detailed effective visibility tracking for imports](https://github.com/rust-lang/rust/pull/103965)
- [#103934 std: sync "Dependencies of the `backtrace` crate" with `backtrace`](https://github.com/rust-lang/rust/pull/103934)
- [#103841 Rollup of 5 pull requests](https://github.com/rust-lang/rust/pull/103841)
- [#103650 rustdoc: change `.src-line-numbers > span` to `.src-line-numbers > a`](https://github.com/rust-lang/rust/pull/103650)
- [#103562 Rollup of 10 pull requests](https://github.com/rust-lang/rust/pull/103562)
- [#103295 ci: Bring back ninja for dist builders](https://github.com/rust-lang/rust/pull/103295)
- [#103071 Fix line numbers for MIR inlined code](https://github.com/rust-lang/rust/pull/103071)
- [#102975 Rollup of 7 pull requests](https://github.com/rust-lang/rust/pull/102975)
- [#102915 Rollup of 7 pull requests](https://github.com/rust-lang/rust/pull/102915)
- [#102895 Get rid of `rustc_query_description!`](https://github.com/rust-lang/rust/pull/102895)
- [#102867 Rollup of 6 pull requests](https://github.com/rust-lang/rust/pull/102867)
- [#102809 Rollup of 8 pull requests](https://github.com/rust-lang/rust/pull/102809)
- [#102548 Mark Cell::replace() as #[inline]](https://github.com/rust-lang/rust/pull/102548)
- [#102026 Populate effective visibilities in 'rustc_resolve'](https://github.com/rust-lang/rust/pull/102026)
- [#101858 derive various impls instead of hand-rolling them](https://github.com/rust-lang/rust/pull/101858)
- [#101857 change `FnMutDelegate` to trait objects](https://github.com/rust-lang/rust/pull/101857)
- [#101702 rustdoc: add hash to filename of toolchain files](https://github.com/rust-lang/rust/pull/101702)
- [#101632 Remove `TypeckResults` from `InferCtxt`](https://github.com/rust-lang/rust/pull/101632)
- [#101620 Compute lint levels by definition](https://github.com/rust-lang/rust/pull/101620)
- [#101433 Emit a note that static bounds from HRTBs are a bug](https://github.com/rust-lang/rust/pull/101433)
- [#100982 Require `#[const_trait]` on `Trait` for `impl const Trait`](https://github.com/rust-lang/rust/pull/100982)
- [#100963 Rollup of 15 pull requests](https://github.com/rust-lang/rust/pull/100963)
- [#100869 Replace `rustc_data_structures::thin_vec::ThinVec` with `thin_vec::ThinVec`](https://github.com/rust-lang/rust/pull/100869)
- [#100841 update Miri](https://github.com/rust-lang/rust/pull/100841)
- [#100759 Make `const_eval_select` a real intrinsic](https://github.com/rust-lang/rust/pull/100759)
- [#100748 add `depth_limit` in `QueryVTable` to avoid entering a new tcx in `layout_of`](https://github.com/rust-lang/rust/pull/100748)
- [#100676 implied bounds: explicitly state which types are assumed to be wf](https://github.com/rust-lang/rust/pull/100676)

