Skip to content
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

Dedup bounds with parent impl block #105392

Open
wants to merge 2 commits into
base: master
Choose a base branch
from

Conversation

GuillaumeGomez
Copy link
Member

@GuillaumeGomez GuillaumeGomez commented Dec 6, 2022

This is another approach than #105325 to solve #104886.

Thanks a lot to both @oli-obk and @compiler-errors for their great help!

I added a FIXME to not forget to complete switch to rustc calls instead of relying on hir currently for generics. @oli-obk suggested something that I'll need to try out. :)

r? @compiler-errors

PS: We might want to run a perf check before approving too

@rustbot rustbot added S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. T-rustdoc Relevant to the rustdoc team, which will review and decide on the PR/issue. labels Dec 6, 2022
@oli-obk
Copy link
Contributor

oli-obk commented Dec 6, 2022

@bors try @rust-timer queue

1 similar comment
@compiler-errors
Copy link
Member

@bors try @rust-timer queue

@rust-timer

This comment has been minimized.

1 similar comment
@rust-timer

This comment has been minimized.

@rustbot rustbot added the S-waiting-on-perf Status: Waiting on a perf run to be completed. label Dec 6, 2022
@bors
Copy link
Contributor

bors commented Dec 6, 2022

⌛ Trying commit 18b49819939abfcb35574be8809ef9dd5eadef16 with merge 0a182cc720336a65d804cbd11fb19d218f17c434...

@oli-obk
Copy link
Contributor

oli-obk commented Dec 7, 2022

@rust-timer build 0a182cc720336a65d804cbd11fb19d218f17c434

@rust-timer

This comment has been minimized.

@rust-timer
Copy link
Collaborator

Finished benchmarking commit (0a182cc720336a65d804cbd11fb19d218f17c434): comparison URL.

Overall result: ❌✅ regressions and improvements - ACTION NEEDED

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

Warning ⚠: The following benchmark(s) failed to build:

  • diesel-1.4.8

Instruction count

This is a highly reliable metric that was used to determine the overall result at the top of this comment.

mean range count
Regressions ❌
(primary)
0.6% [0.3%, 1.3%] 6
Regressions ❌
(secondary)
0.3% [0.2%, 0.3%] 4
Improvements ✅
(primary)
- - 0
Improvements ✅
(secondary)
-0.7% [-0.7%, -0.7%] 1
All ❌✅ (primary) 0.6% [0.3%, 1.3%] 6

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.

@rustbot rustbot added perf-regression Performance regression. and removed S-waiting-on-perf Status: Waiting on a perf run to be completed. labels Dec 7, 2022
@oli-obk
Copy link
Contributor

oli-obk commented Dec 7, 2022

Warning ⚠: The following benchmark(s) failed to build:

diesel-1.4.8

this may be the fatal recursion overflow issue that the trait solver still has...

@GuillaumeGomez
Copy link
Member Author

So I guess this fix is blocked until this recursion bug is fixed?

@oli-obk
Copy link
Contributor

oli-obk commented Dec 7, 2022

So I guess this fix is blocked until this recursion bug is fixed?

I don't know if that's it. It may be related to your other changes. Try documenting diesel with your PR and check what the error is actually about

@GuillaumeGomez
Copy link
Member Author

It seems to come from rustc:

error[E0275]: overflow evaluating the requirement `_: std::marker::Sized`
   |
   = help: consider increasing the recursion limit by adding a `#![recursion_limit = "256"]` attribute to your crate (`diesel`)
note: required for `Self` to implement `query_dsl::join_dsl::InternalJoinDsl<_, query_source::joins::Inner, _>`
  --> diesel/src/query_dsl/join_dsl.rs:14:24
   |
14 | impl<T, Rhs, Kind, On> InternalJoinDsl<Rhs, Kind, On> for T
   |                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^     ^
   = note: 127 redundant requirements hidden
   = note: required for `Self` to implement `query_dsl::join_dsl::InternalJoinDsl<_, query_source::joins::Inner, _>`
note: required for `Self` to implement `query_dsl::join_dsl::JoinWithImplicitOnClause<Rhs, query_source::joins::Inner>`
  --> diesel/src/query_dsl/join_dsl.rs:35:22
   |
35 | impl<Lhs, Rhs, Kind> JoinWithImplicitOnClause<Rhs, Kind> for Lhs
   |                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^     ^^^

For more information about this error, try `rustc --explain E0275`.
error: could not document `diesel`

@oli-obk oli-obk added the S-blocked Status: Blocked on something else such as an RFC or other implementation work. label Dec 7, 2022
@compiler-errors compiler-errors removed the S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. label Dec 13, 2022
@bors
Copy link
Contributor

bors commented Dec 13, 2022

☔ The latest upstream changes (presumably #105612) made this pull request unmergeable. Please resolve the merge conflicts.

@JohnCSimon
Copy link
Member

@GuillaumeGomez
ping from triage - can you post your status on this PR? There hasn't been an update in a few months. Thanks!

@GuillaumeGomez
Copy link
Member Author

Still blocked.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
perf-regression Performance regression. S-blocked Status: Blocked on something else such as an RFC or other implementation work. T-rustdoc Relevant to the rustdoc team, which will review and decide on the PR/issue.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

7 participants