@@ -514,7 +514,7 @@ class alignas(1 << DeclAlignInBits) 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 {
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 ,
@@ -4157,21 +4151,6 @@ class ProtocolDecl final : public NominalTypeDecl {
41574151 Bits.ProtocolDecl .ExistentialConformsToSelf = result;
41584152 }
41594153
4160- // / Returns the cached result of \c existentialTypeSupported or \c None if it
4161- // / hasn't yet been computed.
4162- Optional<bool > getCachedExistentialTypeSupported () {
4163- if (Bits.ProtocolDecl .ExistentialTypeSupportedValid )
4164- return Bits.ProtocolDecl .ExistentialTypeSupported ;
4165-
4166- return None;
4167- }
4168-
4169- // / Caches the result of \c existentialTypeSupported
4170- void setCachedExistentialTypeSupported (bool supported) {
4171- Bits.ProtocolDecl .ExistentialTypeSupportedValid = true ;
4172- Bits.ProtocolDecl .ExistentialTypeSupported = supported;
4173- }
4174-
41754154 bool hasLazyRequirementSignature () const {
41764155 return Bits.ProtocolDecl .HasLazyRequirementSignature ;
41774156 }
@@ -4181,7 +4160,6 @@ class ProtocolDecl final : public NominalTypeDecl {
41814160 friend class RequirementSignatureRequest ;
41824161 friend class ProtocolRequiresClassRequest ;
41834162 friend class ExistentialConformsToSelfRequest ;
4184- friend class ExistentialTypeSupportedRequest ;
41854163 friend class InheritedProtocolsRequest ;
41864164
41874165public:
@@ -4270,12 +4248,6 @@ class ProtocolDecl final : public NominalTypeDecl {
42704248 // / contain 'Self' in 'parameter' or 'other' position.
42714249 bool isAvailableInExistential (const ValueDecl *decl) const ;
42724250
4273- // / Determine whether we are allowed to refer to an existential type
4274- // / conforming to this protocol. This is only permitted if the types of
4275- // / all the members do not contain any associated types, and do not
4276- // / contain 'Self' in 'parameter' or 'other' position.
4277- bool existentialTypeSupported () const ;
4278-
42794251 // / Returns a list of protocol requirements that must be assessed to
42804252 // / determine a concrete's conformance effect polymorphism kind.
42814253 PolymorphicEffectRequirementList getPolymorphicEffectRequirements (
0 commit comments