Skip to content

Commit f32a686

Browse files
Added sending keyword to closures in convenience functions (#3)
1 parent befd527 commit f32a686

File tree

3 files changed

+13
-13
lines changed

3 files changed

+13
-13
lines changed

Sources/AsyncXPCConnection/NSXPCConnection+Continuations.swift

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -168,7 +168,7 @@ extension NSXPCConnection {
168168
public func withValueErrorCompletion<Service, Value: Sendable>(
169169
isolation: isolated (any Actor)? = #isolation,
170170
function: String = #function,
171-
_ body: (Service, @escaping (Value?, Error?) -> Void) -> Void
171+
_ body: (Service, sending @escaping (Value?, Error?) -> Void) -> Void
172172
) async throws -> Value {
173173
try await withContinuation(isolation: isolation, function: function) { service, continuation in
174174
body(service) { value, error in
@@ -233,7 +233,7 @@ extension NSXPCConnection {
233233
public func withResultCompletion<Service, Value: Sendable>(
234234
isolation: isolated (any Actor)? = #isolation,
235235
function: String = #function,
236-
_ body: (Service, @escaping (Result<Value, Error>) -> Void) -> Void
236+
_ body: (Service, sending @escaping (Result<Value, Error>) -> Void) -> Void
237237
) async throws -> Value {
238238
try await withContinuation(isolation: isolation, function: function) { service, continuation in
239239
body(service) { result in
@@ -281,7 +281,7 @@ extension NSXPCConnection {
281281
public func withErrorCompletion<Service>(
282282
isolation: isolated (any Actor)? = #isolation,
283283
function: String = #function,
284-
_ body: (Service, @escaping (Error?) -> Void) -> Void
284+
_ body: (Service, sending @escaping (Error?) -> Void) -> Void
285285
) async throws {
286286
try await withContinuation(isolation: isolation, function: function) { (service, continuation: CheckedContinuation<Void, Error>) in
287287
body(service) { error in
@@ -333,7 +333,7 @@ extension NSXPCConnection {
333333
isolation: isolated (any Actor)? = #isolation,
334334
function: String = #function,
335335
using decoder: Decoder = JSONDecoder(),
336-
_ body: (Service, @escaping (Data?, Error?) -> Void) -> Void
336+
_ body: (Service, sending @escaping (Data?, Error?) -> Void) -> Void
337337
) async throws -> Value where Decoder.Input == Data {
338338
let data: Data = try await withValueErrorCompletion(isolation: isolation, function: function) { service, handler in
339339
body(service, handler)

Sources/AsyncXPCConnection/QueuedRemoteXPCService.swift

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -54,7 +54,7 @@ extension QueuedRemoteXPCService {
5454

5555
public func addResultOperation<Value: Sendable>(
5656
barrier: Bool = false,
57-
operation: @escaping (Service, @escaping ResultOperationHandler<Value>) -> Void
57+
operation: @escaping (Service, sending @escaping ResultOperationHandler<Value>) -> Void
5858
) async throws -> Value {
5959
let task: Task<Value, Error> = queue.addOperation(priority: nil, barrier: barrier) {
6060
let conn = try await provider()
@@ -69,7 +69,7 @@ extension QueuedRemoteXPCService {
6969

7070
public func addErrorOperation(
7171
barrier: Bool = false,
72-
operation: @escaping (Service, @escaping ErrorOperationHandler) -> Void
72+
operation: @escaping (Service, sending @escaping ErrorOperationHandler) -> Void
7373
) async throws {
7474
let task: Task<Void, Error> = queue.addOperation(priority: nil, barrier: barrier) {
7575
let conn = try await provider()
@@ -84,7 +84,7 @@ extension QueuedRemoteXPCService {
8484

8585
public func addDiscardingErrorOperation(
8686
barrier: Bool = false,
87-
operation: @escaping (Service, @escaping ErrorOperationHandler) -> Void
87+
operation: @escaping (Service, sending @escaping ErrorOperationHandler) -> Void
8888
) {
8989
queue.addOperation(priority: nil, barrier: barrier) {
9090
let conn = try await provider()
@@ -97,7 +97,7 @@ extension QueuedRemoteXPCService {
9797

9898
public func addValueErrorOperation<Value: Sendable>(
9999
barrier: Bool = false,
100-
operation: @escaping (Service, @escaping ValueErrorOperationHandler<Value>) -> Void
100+
operation: @escaping (Service, sending @escaping ValueErrorOperationHandler<Value>) -> Void
101101
) async throws -> Value {
102102
let task: Task<Value, Error> = queue.addOperation(priority: nil, barrier: barrier) {
103103
let conn = try await provider()
@@ -113,7 +113,7 @@ extension QueuedRemoteXPCService {
113113
public func addDecodingOperation<Value: Sendable & Decodable, Decoder: TopLevelDecoder>(
114114
barrier: Bool = false,
115115
using decoder: Decoder = JSONDecoder(),
116-
operation: @escaping (Service, @escaping ValueErrorOperationHandler<Data>) -> Void
116+
operation: @escaping (Service, sending @escaping ValueErrorOperationHandler<Data>) -> Void
117117
) async throws -> Value where Decoder.Input == Data {
118118
let task: Task<Value, Error> = queue.addOperation(priority: nil, barrier: barrier) {
119119
let conn = try await provider()

Sources/AsyncXPCConnection/RemoteXPCService.swift

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -100,23 +100,23 @@ extension RemoteXPCService {
100100
public func withValueErrorCompletion<Value: Sendable>(
101101
isolation: isolated (any Actor)? = #isolation,
102102
function: String = #function,
103-
_ body: (Service, @escaping (Value?, Error?) -> Void) -> Void
103+
_ body: (Service, sending @escaping (Value?, Error?) -> Void) -> Void
104104
) async throws -> Value {
105105
try await connection.withValueErrorCompletion(isolation: isolation, function: function, body)
106106
}
107107

108108
public func withResultCompletion<Value: Sendable>(
109109
isolation: isolated (any Actor)? = #isolation,
110110
function: String = #function,
111-
_ body: (Service, @escaping (Result<Value, Error>) -> Void) -> Void
111+
_ body: (Service, sending @escaping (Result<Value, Error>) -> Void) -> Void
112112
) async throws -> Value {
113113
try await connection.withResultCompletion(isolation: isolation, function: function, body)
114114
}
115115

116116
public func withErrorCompletion(
117117
isolation: isolated (any Actor)? = #isolation,
118118
function: String = #function,
119-
_ body: (Service, @escaping (Error?) -> Void) -> Void
119+
_ body: (Service, sending @escaping (Error?) -> Void) -> Void
120120
) async throws {
121121
try await connection.withErrorCompletion(isolation: isolation, function: function, body)
122122
}
@@ -125,7 +125,7 @@ extension RemoteXPCService {
125125
isolation: isolated (any Actor)? = #isolation,
126126
function: String = #function,
127127
using decoder: Decoder = JSONDecoder(),
128-
_ body: (Service, @escaping (Data?, Error?) -> Void) -> Void
128+
_ body: (Service, sending @escaping (Data?, Error?) -> Void) -> Void
129129
) async throws -> Value where Decoder.Input == Data {
130130
try await connection.withDecodingCompletion(isolation: isolation, function: function, using: decoder, body)
131131
}

0 commit comments

Comments
 (0)