chalkify: Fix lowering of traits with supertraits#49971
chalkify: Fix lowering of traits with supertraits#49971tmandry wants to merge 1 commit intorust-lang:masterfrom
Conversation
|
r? @cramertj (rust_highfive has picked a reviewer for you, use r? to override) |
| } | ||
| } | ||
| true | ||
| }) |
There was a problem hiding this comment.
It seems like this would also skip a predicate of the form:
trait A where <Self as A>::Item: A {
type Item;
}or equivalently:
trait A {
type Item: A;
}since you are only relying on the def id. Actually maybe it would be better to just wait for your PR which removes the Self: Trait predicate...
There was a problem hiding this comment.
Ah, good catch. I'll try and make progress on that PR today. A patch that might possibly still work here is to filter out only the first predicate that matches this condition, but it still feels quite brittle!
|
Thanks for the PR! Can @nikomatsakis or someone else from @rust-lang/compiler review this? |
|
This is blocked on another PR. @tmandry can you link the PR here? |
|
It's still very much a WIP but I made one, #50183. This PR might be closed in favor of that one. |
|
☔ The latest upstream changes (presumably #49837) made this pull request unmergeable. Please resolve the merge conflicts. |
|
Closing in favor of #51895. |
Fixes #49953.
A little ugly, but also temporary 😃