Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
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
Support impl lookup for multiple interfaces in a facet type #5047
Support impl lookup for multiple interfaces in a facet type #5047
Changes from 19 commits
e87e5dc
2311595
e0224bf
6030c64
fa27e23
0e2ae70
56a7d9e
6f6230f
beeaf0e
281a764
c91d512
fe971da
ef4e081
5df7e94
0b6474c
fbb702b
9d77129
0be78b2
3579020
6384044
1b8c648
6bc28e1
62dbf0d
fc0efe4
3152dfc
File filter
Filter by extension
Conversations
Jump to
There are no files selected for viewing
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Why are we comparing that the type matches but not the interface arguments? Do we have a test like:
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Was this addressed? I think this would be a useful test.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Oh, I missed this comment, thanks. This is the same check that was there before, it was just written as this before:
but we have removed the unnecessary
AreEqualAcrossDeclarations
call and just compare with==
now.In that example the impl's self type is
C
and this is comparing theC
against the query type to verify the impl is for the query type. Making the interface generic here doesn't change anything with the self type. Making theC
type generic so that the deduced arguments apply toself
would affect this condition, and it would require that the query type has the same type parameters (class specifics?) then.Here is a test that executes this
self_id
comparison and rejects difference:OTOH the test you provided does not fail, so now I will look into why.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Okay thank you! I had previously been comparing the specifics of the query and the constraint (after deduction) but no tests failed without that, so it seemed like it was not needed. But this test needs that. So I've put that back along with this test.