@@ -14,7 +14,7 @@ import _Concurrency
14
14
15
15
/// A distributed actor system
16
16
@available ( SwiftStdlib 5 . 7 , * )
17
- public protocol DistributedActorSystem : Sendable {
17
+ public protocol DistributedActorSystem < SerializationRequirement > : Sendable {
18
18
/// The identity used by actors that communicate via this transport
19
19
associatedtype ActorID : Sendable & Hashable
20
20
@@ -445,7 +445,7 @@ func _executeDistributedTarget<D: DistributedTargetInvocationDecoder>(
445
445
/// so decoding can rely on simply invoking e.g. `Codable` (if that is the `SerializationRequirement`) decoding
446
446
/// entry points on the provided types.
447
447
@available( SwiftStdlib 5.7 , * )
448
- public protocol DistributedTargetInvocationEncoder {
448
+ public protocol DistributedTargetInvocationEncoder< SerializationRequirement > {
449
449
associatedtype SerializationRequirement
450
450
451
451
/// The arguments must be encoded order-preserving, and once `decodeGenericSubstitutions`
@@ -518,7 +518,7 @@ public struct RemoteCallArgument<Value> {
518
518
/// Decoder that must be provided to `executeDistributedTarget` and is used
519
519
/// by the Swift runtime to decode arguments of the invocation.
520
520
@available ( SwiftStdlib 5 . 7 , * )
521
- public protocol DistributedTargetInvocationDecoder {
521
+ public protocol DistributedTargetInvocationDecoder < SerializationRequirement > {
522
522
associatedtype SerializationRequirement
523
523
524
524
mutating func decodeGenericSubstitutions( ) throws -> [ Any . Type ]
@@ -548,7 +548,9 @@ public protocol DistributedTargetInvocationDecoder {
548
548
}
549
549
550
550
@available ( SwiftStdlib 5 . 7 , * )
551
- public protocol DistributedTargetInvocationResultHandler {
551
+ public protocol DistributedTargetInvocationResultHandler <
552
+ SerializationRequirement
553
+ > {
552
554
associatedtype SerializationRequirement
553
555
// func onReturn<Success: SerializationRequirement>(value: Success) async throws
554
556
0 commit comments