File tree Expand file tree Collapse file tree 1 file changed +3
-12
lines changed Expand file tree Collapse file tree 1 file changed +3
-12
lines changed Original file line number Diff line number Diff line change @@ -3495,19 +3495,7 @@ bool ProtocolDecl::existentialTypeSupportedSlow(LazyResolver *resolver) {
3495
3495
if (isObjC ())
3496
3496
return true ;
3497
3497
3498
- // Resolve the protocol's type.
3499
- if (resolver && !hasInterfaceType ())
3500
- resolver->resolveDeclSignature (this );
3501
-
3502
3498
for (auto member : getMembers ()) {
3503
- if (auto vd = dyn_cast<ValueDecl>(member)) {
3504
- if (resolver && !vd->hasInterfaceType ())
3505
- resolver->resolveDeclSignature (vd);
3506
- }
3507
-
3508
- if (member->isInvalid ())
3509
- continue ;
3510
-
3511
3499
// Check for associated types.
3512
3500
if (isa<AssociatedTypeDecl>(member)) {
3513
3501
// An existential type cannot be used if the protocol has an
@@ -3524,6 +3512,9 @@ bool ProtocolDecl::existentialTypeSupportedSlow(LazyResolver *resolver) {
3524
3512
continue ;
3525
3513
}
3526
3514
3515
+ if (resolver && !valueMember->hasInterfaceType ())
3516
+ resolver->resolveDeclSignature (valueMember);
3517
+
3527
3518
if (!isAvailableInExistential (valueMember)) {
3528
3519
Bits.ProtocolDecl .ExistentialTypeSupported = false ;
3529
3520
return false ;
You can’t perform that action at this time.
0 commit comments