From 00e401b33faf769df288ccb32f7feca684b2df6e Mon Sep 17 00:00:00 2001 From: Hamish Knight Date: Sun, 2 Nov 2025 21:46:21 +0000 Subject: [PATCH] [Sema] NFC: Remove `GetDistributedMethodWitnessedProtocolRequirements` This has been unused for over a year now, let's just remove it. --- include/swift/AST/Decl.h | 9 --------- include/swift/AST/TypeCheckRequests.h | 21 --------------------- include/swift/AST/TypeCheckerTypeIDZone.def | 3 --- lib/AST/DistributedDecl.cpp | 15 --------------- lib/Sema/TypeCheckDistributed.cpp | 18 ------------------ 5 files changed, 66 deletions(-) diff --git a/include/swift/AST/Decl.h b/include/swift/AST/Decl.h index e21becfbe2039..490903e444e1c 100644 --- a/include/swift/AST/Decl.h +++ b/include/swift/AST/Decl.h @@ -8118,15 +8118,6 @@ class AbstractFunctionDecl : public GenericContext, public ValueDecl { getSILSynthesizeKind() == SILSynthesizeKind::DistributedActorFactory; } - /// Return a vector of distributed requirements that this distributed method - /// is implementing. - /// - /// If the method is witness to multiple requirements this is incorrect and - /// should be diagnosed during type-checking as it may make remoteCalls - /// ambiguous. - llvm::ArrayRef - getDistributedMethodWitnessedProtocolRequirements() const; - /// Determines whether this function is a 'remoteCall' function, /// which is used as ad-hoc protocol requirement by the /// 'DistributedActorSystem' protocol. diff --git a/include/swift/AST/TypeCheckRequests.h b/include/swift/AST/TypeCheckRequests.h index 928484825f3b1..e95e90810bd09 100644 --- a/include/swift/AST/TypeCheckRequests.h +++ b/include/swift/AST/TypeCheckRequests.h @@ -1598,27 +1598,6 @@ class GetDistributedActorConcreteArgumentDecodingMethodRequest : bool isCached() const { return true; } }; -/// Find out if a distributed method is implementing a distributed protocol -/// requirement. -class GetDistributedMethodWitnessedProtocolRequirements : - public SimpleRequest (AbstractFunctionDecl *), - RequestFlags::Cached> { -public: - using SimpleRequest::SimpleRequest; - -private: - friend SimpleRequest; - - llvm::ArrayRef evaluate( - Evaluator &evaluator, - AbstractFunctionDecl *nominal) const; - -public: - // Caching - bool isCached() const { return true; } -}; - /// Retrieve the static "shared" property within a global actor that provides /// the actor instance representing the global actor. /// diff --git a/include/swift/AST/TypeCheckerTypeIDZone.def b/include/swift/AST/TypeCheckerTypeIDZone.def index 3e6d7dbc18baf..500bf2145266a 100644 --- a/include/swift/AST/TypeCheckerTypeIDZone.def +++ b/include/swift/AST/TypeCheckerTypeIDZone.def @@ -160,9 +160,6 @@ SWIFT_REQUEST(TypeChecker, GetDistributedActorSystemPropertyRequest, SWIFT_REQUEST(TypeChecker, GetDistributedRemoteCallTargetInitFunctionRequest, ConstructorDecl *(NominalTypeDecl *), Cached, NoLocationInfo) -SWIFT_REQUEST(TypeChecker, GetDistributedMethodWitnessedProtocolRequirements, - ArrayRef (AbstractFunctionDecl *), - Cached, NoLocationInfo) SWIFT_REQUEST(TypeChecker, GetDistributedRemoteCallArgumentInitFunctionRequest, ConstructorDecl *(NominalTypeDecl *), Cached, NoLocationInfo) diff --git a/lib/AST/DistributedDecl.cpp b/lib/AST/DistributedDecl.cpp index 3d9cf93799cc5..a3bfa0d58f2e2 100644 --- a/lib/AST/DistributedDecl.cpp +++ b/lib/AST/DistributedDecl.cpp @@ -453,21 +453,6 @@ bool swift::checkDistributedSerializationRequirementIsExactlyCodable( std::count(protocols.begin(), protocols.end(), decodable) == 1; } -// TODO(distributed): probably can be removed? -llvm::ArrayRef -AbstractFunctionDecl::getDistributedMethodWitnessedProtocolRequirements() const { - auto mutableThis = const_cast(this); - - // Only a 'distributed' decl can witness 'distributed' protocol - if (!isDistributed()) { - return llvm::ArrayRef(); - } - - return evaluateOrDefault( - getASTContext().evaluator, - GetDistributedMethodWitnessedProtocolRequirements(mutableThis), {}); -} - /******************************************************************************/ /********************* Ad-hoc protocol requirement checks *********************/ /******************************************************************************/ diff --git a/lib/Sema/TypeCheckDistributed.cpp b/lib/Sema/TypeCheckDistributed.cpp index 54ca3fd900676..be5ee394050a9 100644 --- a/lib/Sema/TypeCheckDistributed.cpp +++ b/lib/Sema/TypeCheckDistributed.cpp @@ -945,21 +945,3 @@ GetDistributedActorConcreteArgumentDecodingMethodRequest::evaluate( /// witness return nullptr; } - -llvm::ArrayRef -GetDistributedMethodWitnessedProtocolRequirements::evaluate( - Evaluator &evaluator, - AbstractFunctionDecl *afd) const { - // Only a 'distributed' decl can witness 'distributed' protocol - assert(afd->isDistributed()); - auto &C = afd->getASTContext(); - - auto result = llvm::SmallVector(); - for (auto witnessedRequirement : afd->getSatisfiedProtocolRequirements()) { - if (witnessedRequirement->isDistributed()) { - result.push_back(witnessedRequirement); - } - } - - return C.AllocateCopy(result); -}