rust
rust copied to clipboard
Dont consider predicates that may hold as impossible in `is_impossible_associated_item`
Use infer vars to account for ambiguities when considering if methods are impossible to instantiate for a given self type. Also while we're at it, let's use the new trait solver instead of evaluate since this is used in rustdoc.
r? lcnr Fixes #131839
Out of curiosity due to classic→next:
@bors try @rust-timer queue
Awaiting bors try build completion.
@rustbot label: +S-waiting-on-perf
:hourglass: Trying commit 8ff8f78e4ca8a898697412a3895cb3070f161d1e with merge 0b483fef54038b501fb6b2fde558bf31aeb5545a...
:sunny: Try build successful - checks-actions
Build commit: 0b483fef54038b501fb6b2fde558bf31aeb5545a (0b483fef54038b501fb6b2fde558bf31aeb5545a)
Queued 0b483fef54038b501fb6b2fde558bf31aeb5545a with parent 3a85d3fa785d95a7b7bcf4f160b67bffba7afd4a, future comparison URL. There is currently 1 preceding artifact in the queue. It will probably take at least ~2.2 hours until the benchmark run finishes.
Finished benchmarking commit (0b483fef54038b501fb6b2fde558bf31aeb5545a): comparison URL.
Overall result: ❌ regressions - please read the text below
Benchmarking this pull request likely means that it is perf-sensitive, so we're automatically marking it as not fit for rolling up. While you can manually mark this PR as fit for rollup, we strongly recommend not doing so since this PR may lead to changes in compiler perf.
Next Steps: If you can justify the regressions found in this try perf run, please indicate this with @rustbot label: +perf-regression-triaged along with sufficient written justification. If you cannot justify the regressions please fix the regressions and do another perf run. If the next run shows neutral or positive results, the label will be automatically removed.
@bors rollup=never @rustbot label: -S-waiting-on-perf +perf-regression
Instruction count
This is the most reliable metric that we have; it was used to determine the overall result at the top of this comment. However, even this metric can sometimes exhibit noise.
| mean | range | count | |
|---|---|---|---|
| Regressions ❌ (primary) |
0.4% | [0.2%, 0.8%] | 8 |
| Regressions ❌ (secondary) |
- | - | 0 |
| Improvements ✅ (primary) |
- | - | 0 |
| Improvements ✅ (secondary) |
- | - | 0 |
| All ❌✅ (primary) | 0.4% | [0.2%, 0.8%] | 8 |
Max RSS (memory usage)
This benchmark run did not return any relevant results for this metric.
Cycles
This benchmark run did not return any relevant results for this metric.
Binary size
This benchmark run did not return any relevant results for this metric.
Bootstrap: 782.574s -> 782.084s (-0.06%) Artifact size: 333.74 MiB -> 333.70 MiB (-0.01%)
I think the overhead is fine.
cc @rust-lang/types this enables another use of the new trait solver in rustdoc. We use an empty environment and intercrate mode, so this matches the requirements already imposed by coherence.
@bors r+ rollup=never
:pushpin: Commit 8ff8f78e4ca8a898697412a3895cb3070f161d1e has been approved by lcnr
It is now in the queue for this repository.
:hourglass: Testing commit 8ff8f78e4ca8a898697412a3895cb3070f161d1e with merge 814df6e50eaf89b90793e7d9618bb60f1f18377a...
:sunny: Test successful - checks-actions Approved by: lcnr Pushing 814df6e50eaf89b90793e7d9618bb60f1f18377a to master...
Finished benchmarking commit (814df6e50eaf89b90793e7d9618bb60f1f18377a): comparison URL.
Overall result: ❌ regressions - please read the text below
Our benchmarks found a performance regression caused by this PR. This might be an actual regression, but it can also be just noise.
Next Steps:
- If the regression was expected or you think it can be justified,
please write a comment with sufficient written justification, and add
@rustbot label: +perf-regression-triagedto it, to mark the regression as triaged. - If you think that you know of a way to resolve the regression, try to create a new PR with a fix for the regression.
- If you do not understand the regression or you think that it is just noise,
you can ask the
@rust-lang/wg-compiler-performanceworking group for help (members of this group were already notified of this PR).
@rustbot label: +perf-regression cc @rust-lang/wg-compiler-performance
Instruction count
This is the most reliable metric that we have; it was used to determine the overall result at the top of this comment. However, even this metric can sometimes exhibit noise.
| mean | range | count | |
|---|---|---|---|
| Regressions ❌ (primary) |
0.6% | [0.2%, 2.3%] | 9 |
| Regressions ❌ (secondary) |
0.2% | [0.2%, 0.2%] | 1 |
| Improvements ✅ (primary) |
- | - | 0 |
| Improvements ✅ (secondary) |
- | - | 0 |
| All ❌✅ (primary) | 0.6% | [0.2%, 2.3%] | 9 |
Max RSS (memory usage)
Results (primary -1.2%, secondary 2.3%)
This is a less reliable metric that may be of interest but was not used to determine the overall result at the top of this comment.
| mean | range | count | |
|---|---|---|---|
| Regressions ❌ (primary) |
- | - | 0 |
| Regressions ❌ (secondary) |
2.3% | [1.4%, 3.0%] | 3 |
| Improvements ✅ (primary) |
-1.2% | [-1.2%, -1.2%] | 1 |
| Improvements ✅ (secondary) |
- | - | 0 |
| All ❌✅ (primary) | -1.2% | [-1.2%, -1.2%] | 1 |
Cycles
Results (primary 2.3%)
This is a less reliable metric that may be of interest but was not used to determine the overall result at the top of this comment.
| mean | range | count | |
|---|---|---|---|
| Regressions ❌ (primary) |
2.3% | [2.3%, 2.3%] | 1 |
| Regressions ❌ (secondary) |
- | - | 0 |
| Improvements ✅ (primary) |
- | - | 0 |
| Improvements ✅ (secondary) |
- | - | 0 |
| All ❌✅ (primary) | 2.3% | [2.3%, 2.3%] | 1 |
Binary size
This benchmark run did not return any relevant results for this metric.
Bootstrap: 780.876s -> 781.081s (0.03%) Artifact size: 333.66 MiB -> 333.69 MiB (0.01%)
The small regression was deemed to be acceptable. The syn part of the results is just noise.
@rustbot label: +perf-regression-triaged