-
Notifications
You must be signed in to change notification settings - Fork 10.5k
[Sema] Synthesize pre-type-checked ASTs for more derived conformances #26946
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
[Sema] Synthesize pre-type-checked ASTs for more derived conformances #26946
Conversation
Should fix rdar://problem/54712316, a case where the non-type-checked AST was getting processed by SILGen.
@swift-ci please smoke test |
@swift-ci please test source compatibility |
Otherwise, the standard library won't build ;)
@swift-ci please smoke test |
@swift-ci please test source compatibility |
1 similar comment
@swift-ci please test source compatibility |
if (!hashFunc->hasInterfaceType()) | ||
static_cast<TypeChecker *>(C.getLazyResolver())->validateDecl(hashFunc); | ||
|
||
auto substitutions = SubstitutionMap::get( |
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.
This should get SubstitutionMap::getProtocolSubstitutions()
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.
Ah, thank you!
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.
No, never mind: it's not a protocol method, it's a free function.
Synthesize pre-type-checked ASTs for a few places where we are deriving conformances:
hashValue
==
for uninhabited enums==
for enums whose cases have no associated valuesShould fix rdar://problem/54712316, a case where the non-type-checked
AST was getting processed by SILGen.