@@ -19,7 +19,7 @@ import _Concurrency
19
19
/// `typealias DefaultDistributedActorSystem` declared which then applies to all distributed
20
20
/// actors that do not declare a specific type alias in their bodies.
21
21
@available ( SwiftStdlib 5 . 7 , * )
22
- public protocol DistributedActorSystem : Sendable {
22
+ public protocol DistributedActorSystem < SerializationRequirement > : Sendable {
23
23
/// The identity used by actors that communicate via this transport
24
24
associatedtype ActorID : Sendable & Hashable
25
25
@@ -450,7 +450,7 @@ func _executeDistributedTarget<D: DistributedTargetInvocationDecoder>(
450
450
/// so decoding can rely on simply invoking e.g. `Codable` (if that is the `SerializationRequirement`) decoding
451
451
/// entry points on the provided types.
452
452
@available( SwiftStdlib 5.7 , * )
453
- public protocol DistributedTargetInvocationEncoder {
453
+ public protocol DistributedTargetInvocationEncoder< SerializationRequirement > {
454
454
associatedtype SerializationRequirement
455
455
456
456
/// The arguments must be encoded order-preserving, and once `decodeGenericSubstitutions`
@@ -523,7 +523,7 @@ public struct RemoteCallArgument<Value> {
523
523
/// Decoder that must be provided to `executeDistributedTarget` and is used
524
524
/// by the Swift runtime to decode arguments of the invocation.
525
525
@available ( SwiftStdlib 5 . 7 , * )
526
- public protocol DistributedTargetInvocationDecoder {
526
+ public protocol DistributedTargetInvocationDecoder < SerializationRequirement > {
527
527
associatedtype SerializationRequirement
528
528
529
529
mutating func decodeGenericSubstitutions( ) throws -> [ Any . Type ]
@@ -553,7 +553,9 @@ public protocol DistributedTargetInvocationDecoder {
553
553
}
554
554
555
555
@available ( SwiftStdlib 5 . 7 , * )
556
- public protocol DistributedTargetInvocationResultHandler {
556
+ public protocol DistributedTargetInvocationResultHandler <
557
+ SerializationRequirement
558
+ > {
557
559
associatedtype SerializationRequirement
558
560
// func onReturn<Success: SerializationRequirement>(value: Success) async throws
559
561
0 commit comments