@@ -514,7 +514,7 @@ class alignas(1 << DeclAlignInBits) Decl : public ASTAllocated<Decl> {
514
514
IsComputingSemanticMembers : 1
515
515
);
516
516
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 ,
518
518
// / Whether the \c RequiresClass bit is valid.
519
519
RequiresClassValid : 1 ,
520
520
@@ -527,12 +527,6 @@ class alignas(1 << DeclAlignInBits) Decl : public ASTAllocated<Decl> {
527
527
// / Whether the existential of this protocol conforms to itself.
528
528
ExistentialConformsToSelf : 1 ,
529
529
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
-
536
530
// / True if the protocol has requirements that cannot be satisfied (e.g.
537
531
// / because they could not be imported from Objective-C).
538
532
HasMissingRequirements : 1 ,
@@ -4151,21 +4145,6 @@ class ProtocolDecl final : public NominalTypeDecl {
4151
4145
Bits.ProtocolDecl .ExistentialConformsToSelf = result;
4152
4146
}
4153
4147
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
-
4169
4148
bool hasLazyRequirementSignature () const {
4170
4149
return Bits.ProtocolDecl .HasLazyRequirementSignature ;
4171
4150
}
@@ -4175,7 +4154,6 @@ class ProtocolDecl final : public NominalTypeDecl {
4175
4154
friend class RequirementSignatureRequest ;
4176
4155
friend class ProtocolRequiresClassRequest ;
4177
4156
friend class ExistentialConformsToSelfRequest ;
4178
- friend class ExistentialTypeSupportedRequest ;
4179
4157
friend class InheritedProtocolsRequest ;
4180
4158
4181
4159
public:
@@ -4264,12 +4242,6 @@ class ProtocolDecl final : public NominalTypeDecl {
4264
4242
// / contain 'Self' in 'parameter' or 'other' position.
4265
4243
bool isAvailableInExistential (const ValueDecl *decl) const ;
4266
4244
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
-
4273
4245
// / Returns a list of protocol requirements that must be assessed to
4274
4246
// / determine a concrete's conformance effect polymorphism kind.
4275
4247
PolymorphicEffectRequirementList getPolymorphicEffectRequirements (
@@ -5986,6 +5958,10 @@ class AbstractFunctionDecl : public GenericContext, public ValueDecl {
5986
5958
// / Returns 'true' if the function is distributed.
5987
5959
bool isDistributed () const ;
5988
5960
5961
+ // / Get (or synthesize) the associated remote function for this one.
5962
+ // / For example, for `distributed func hi()` get `func _remote_hi()`.
5963
+ AbstractFunctionDecl *getDistributedActorRemoteFuncDecl () const ;
5964
+
5989
5965
PolymorphicEffectKind getPolymorphicEffectKind (EffectKind kind) const ;
5990
5966
5991
5967
// FIXME: Hack that provides names with keyword arguments for accessors.
0 commit comments