-
Notifications
You must be signed in to change notification settings - Fork 10.3k
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
Implement SE-0195, which introduces "Dynamic Member Lookup" Types #14546
Merged
Merged
Changes from 13 commits
Commits
Show all changes
14 commits
Select commit
Hold shift + click to select a range
70fc82f
Implement the recently accepted SE-0195 proposal, which introduces "D…
lattner 12f3f22
Update testcase to remove some unintentional gunk
lattner 406ddcf
Fix a problem handling infinite superclass chains and update an IDE t…
lattner fdd367c
rename isDynamicMemberLookupable -> hasDynamicMemberLookupAttribute
lattner abb8358
Fix a bozo bug pointed out by Paul Hudson where we were adding DML re…
lattner d3cd4b7
Fix another problem reported by Paul Hudson, were we dropped substitu…
lattner 50aa5c7
Fix problem passing the wrong locator when dealing with IUO results,
lattner 7c8ae1f
add a testcase requestd by Mark.
lattner 4d2e5b9
fix a problem handling protocol compositions and protocol refinements,
lattner 995687d
Fix a problem where we didn't default the index type of a dynamicMemb…
lattner b251543
more cleanups caught by Doug.
lattner a1d7b0a
Change "dynamicMember" magic string to being in known identifiers.
lattner 3001045
Add a cache for the 'isDynamicMemberLookup' query to ConstraintSystem…
lattner 768e299
Implement keypaths for @dynamicMemberLookup results by desugaring them
lattner File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.
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.
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.
You're going to run into issues with IUOs here. In
resolveOverload()
you end up calling intobuildDisjunctionForImplicitlyUnwrappedOptional
with a locator forMember
s, but herebuildSubscript
is going to try to look up the disjunction choice for aSubscriptMember
.It doesn't look like you have tests with IUO subscript results, so it's worth adding one.
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.
Yep, looks like a problem with IUO results, great catch, I'll fix. Thanks!
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.
Thanks for pointing this out. IUO problem fixed and testcase added!
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.
Thanks!