-
Notifications
You must be signed in to change notification settings - Fork 13.9k
Limit impl_trait_header query to only trait impls #144607
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
This comment has been minimized.
This comment has been minimized.
@bors try @rust-timer queue |
This comment has been minimized.
This comment has been minimized.
Limit impl_trait_header query to only trait impls
💔 Test failed (CI). Failed jobs:
|
c4b4025
to
35dbd1a
Compare
@bors try @rust-timer queue |
@camsteffen: 🔑 Insufficient privileges: not in try users |
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
@bors try @rust-timer queue |
This comment has been minimized.
This comment has been minimized.
Limit impl_trait_header query to only trait impls
This comment has been minimized.
This comment has been minimized.
Finished benchmarking commit (60b45cb): comparison URL. Overall result: ❌✅ regressions and improvements - BENCHMARK(S) FAILEDBenchmarking this pull request means it may be perf-sensitive – we'll automatically label it not fit for rolling up. You can override this, but we strongly advise not to, due to possible changes in compiler perf. Next Steps: If you can justify the regressions found in this try perf run, please do so in sufficient writing along with @bors rollup=never ❗ ❗ ❗ ❗ ❗
❗ ❗ ❗ ❗ ❗ Instruction countOur most reliable metric. Used to determine the overall result above. However, even this metric can be noisy.
Max RSS (memory usage)This benchmark run did not return any relevant results for this metric. CyclesResults (secondary -2.6%)A less reliable metric. May be of interest, but not used to determine the overall result above.
Binary sizeThis benchmark run did not return any relevant results for this metric. Bootstrap: 469.046s -> 466.887s (-0.46%) |
Y'all think that's funny? 😤 Fixed the rustdoc issues from above. |
☔ The latest upstream changes (presumably #147779) made this pull request unmergeable. Please resolve the merge conflicts. |
d111d39
to
d9a5389
Compare
This PR was rebased onto a different master commit. Here's a range-diff highlighting what actually changed. Rebasing is a normal part of keeping PRs up to date, so no action is needed—this note is just to help reviewers. |
@bors r=lcnr |
☀️ Test successful - checks-actions |
What is this?This is an experimental post-merge analysis report that shows differences in test outcomes between the merged PR and its parent PR.Comparing 28fad95 (parent) -> 2170b4d (this PR) Test differencesShow 100 test diffs100 doctest diffs were found. These are ignored, as they are noisy. Test dashboardRun cargo run --manifest-path src/ci/citool/Cargo.toml -- \
test-dashboard 2170b4da847c9d75d400b13ba53bd47f749233bd --output-dir test-dashboard And then open Job duration changes
How to interpret the job duration changes?Job durations can vary a lot, based on the actual runner instance |
Finished benchmarking commit (2170b4d): comparison URL. Overall result: ❌✅ regressions and improvements - please read the text belowOur benchmarks found a performance regression caused by this PR. Next Steps:
@rustbot label: +perf-regression Instruction countOur most reliable metric. Used to determine the overall result above. However, even this metric can be noisy.
Max RSS (memory usage)Results (primary -0.4%)A less reliable metric. May be of interest, but not used to determine the overall result above.
CyclesResults (primary 3.0%, secondary -4.0%)A less reliable metric. May be of interest, but not used to determine the overall result above.
Binary sizeThis benchmark run did not return any relevant results for this metric. Bootstrap: 475.32s -> 475.309s (-0.00%) |
Some regressions on smaller benchmarks. My guess is that this hurts the case where there's lots of opt function lookups for that are now two query cache hit lookups rather than just one? But that seems to generally be less likely in our benchmarks than showing an improvement, so willing to just accept the regressions. |
Changes
impl_trait_header
to panic on inherent impls intstead of returning None. A few downstream functions are split into option and non-option returning functions. This gets rid of a lot of unwraps where we know we have a trait impl, while there are still some cases where the Option is helpful.Summary of changes to tcx methods:
impl_is_of_trait
(new)impl_trait_header
->impl_trait_header
/impl_opt_trait_header
impl_trait_ref
->impl_trait_ref
/impl_opt_trait_ref
trait_id_of_impl
->impl_trait_id
/impl_opt_trait_id