@@ -514,7 +514,7 @@ class alignas(1 << DeclAlignInBits) Decl : public ASTAllocated<Decl> {
514514 IsComputingSemanticMembers : 1
515515 );
516516
517- SWIFT_INLINE_BITFIELD_FULL (ProtocolDecl, NominalTypeDecl, 1 +1 +1 +1 +1 +1 +1 +1 +1 +1 + 1 + 8 +16 ,
517+ SWIFT_INLINE_BITFIELD_FULL (ProtocolDecl, NominalTypeDecl, 1 +1 +1 +1 +1 +1 +1 +1 +1 +8 +16 ,
518518 // / Whether the \c RequiresClass bit is valid.
519519 RequiresClassValid : 1 ,
520520
@@ -527,12 +527,6 @@ class alignas(1 << DeclAlignInBits) Decl : public ASTAllocated<Decl> {
527527 // / Whether the existential of this protocol conforms to itself.
528528 ExistentialConformsToSelf : 1 ,
529529
530- // / Whether the \c ExistentialTypeSupported bit is valid.
531- ExistentialTypeSupportedValid : 1 ,
532-
533- // / Whether the existential of this protocol can be represented.
534- ExistentialTypeSupported : 1 ,
535-
536530 // / True if the protocol has requirements that cannot be satisfied (e.g.
537531 // / because they could not be imported from Objective-C).
538532 HasMissingRequirements : 1 ,
@@ -4151,21 +4145,6 @@ class ProtocolDecl final : public NominalTypeDecl {
41514145 Bits.ProtocolDecl .ExistentialConformsToSelf = result;
41524146 }
41534147
4154- // / Returns the cached result of \c existentialTypeSupported or \c None if it
4155- // / hasn't yet been computed.
4156- Optional<bool > getCachedExistentialTypeSupported () {
4157- if (Bits.ProtocolDecl .ExistentialTypeSupportedValid )
4158- return Bits.ProtocolDecl .ExistentialTypeSupported ;
4159-
4160- return None;
4161- }
4162-
4163- // / Caches the result of \c existentialTypeSupported
4164- void setCachedExistentialTypeSupported (bool supported) {
4165- Bits.ProtocolDecl .ExistentialTypeSupportedValid = true ;
4166- Bits.ProtocolDecl .ExistentialTypeSupported = supported;
4167- }
4168-
41694148 bool hasLazyRequirementSignature () const {
41704149 return Bits.ProtocolDecl .HasLazyRequirementSignature ;
41714150 }
@@ -4175,7 +4154,6 @@ class ProtocolDecl final : public NominalTypeDecl {
41754154 friend class RequirementSignatureRequest ;
41764155 friend class ProtocolRequiresClassRequest ;
41774156 friend class ExistentialConformsToSelfRequest ;
4178- friend class ExistentialTypeSupportedRequest ;
41794157 friend class InheritedProtocolsRequest ;
41804158
41814159public:
@@ -4264,12 +4242,6 @@ class ProtocolDecl final : public NominalTypeDecl {
42644242 // / contain 'Self' in 'parameter' or 'other' position.
42654243 bool isAvailableInExistential (const ValueDecl *decl) const ;
42664244
4267- // / Determine whether we are allowed to refer to an existential type
4268- // / conforming to this protocol. This is only permitted if the types of
4269- // / all the members do not contain any associated types, and do not
4270- // / contain 'Self' in 'parameter' or 'other' position.
4271- bool existentialTypeSupported () const ;
4272-
42734245 // / Returns a list of protocol requirements that must be assessed to
42744246 // / determine a concrete's conformance effect polymorphism kind.
42754247 PolymorphicEffectRequirementList getPolymorphicEffectRequirements (
0 commit comments