Build Information
Successful build of SecureXPC, reference 0.8.0 (d6e439
), with Swift 6.0 for macOS (SPM) on 29 Nov 2024 11:02:54 UTC.
Swift 6 data race errors: 17
Build Command
env DEVELOPER_DIR=/Applications/Xcode-16.1.0.app xcrun swift build --arch arm64 -Xswiftc -Xfrontend -Xswiftc -stats-output-dir -Xswiftc -Xfrontend -Xswiftc .stats -Xswiftc -strict-concurrency=complete -Xswiftc -enable-upcoming-feature -Xswiftc StrictConcurrency -Xswiftc -enable-upcoming-feature -Xswiftc DisableOutwardActorInference -Xswiftc -enable-upcoming-feature -Xswiftc GlobalActorIsolatedTypesUsability -Xswiftc -enable-upcoming-feature -Xswiftc InferSendableFromCaptures
Build Log
140 |
141 | do {
142 | try encodingWork(&response)
| |- warning: capture of 'encodingWork' with non-sendable type '(inout xpc_object_t) throws -> Void' (aka '(inout any OS_xpc_object) throws -> ()') in a `@Sendable` closure; this is an error in the Swift 6 language mode
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
143 | xpc_connection_send_message(connection, response)
144 | } catch {
macro expansion @TaskLocal:1:20: warning: static property '$currentForTask' is not concurrency-safe because non-'Sendable' type 'TaskLocal<XPCServer.ClientIdentity?>' may have shared mutable state; this is an error in the Swift 6 language mode
`- /Users/admin/builder/spi-builder-workspace/Sources/SecureXPC/Server/ClientIdentity.swift:34:69: note: expanded code originates here
19 | /// - ``effectiveUserID``
20 | /// - ``effectiveGroupID``
21 | class ClientIdentity {
| `- note: class 'ClientIdentity' does not conform to the 'Sendable' protocol
22 | private let connection: xpc_connection_t
23 | private let message: xpc_object_t
:
32 | @available(macOS 10.15.0, *)
33 | @TaskLocal
34 | private static var currentForTask: XPCServer.ClientIdentity?
+--- macro expansion @TaskLocal ------------------------------------
|1 | private static let $currentForTask: TaskLocal<XPCServer.ClientIdentity?> = TaskLocal(wrappedValue: nil)
| | |- warning: static property '$currentForTask' is not concurrency-safe because non-'Sendable' type 'TaskLocal<XPCServer.ClientIdentity?>' may have shared mutable state; this is an error in the Swift 6 language mode
| | |- note: annotate '$currentForTask' with '@MainActor' if property should only be accessed from the main actor
| | `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
+-------------------------------------------------------------------
35 |
36 | @available(macOS 10.15.0, *)
macro expansion @TaskLocal:1:20: warning: type 'XPCServer.ClientIdentity' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
`- /Users/admin/builder/spi-builder-workspace/Sources/SecureXPC/Server/ClientIdentity.swift:34:69: note: expanded code originates here
19 | /// - ``effectiveUserID``
20 | /// - ``effectiveGroupID``
21 | class ClientIdentity {
| `- note: class 'ClientIdentity' does not conform to the 'Sendable' protocol
22 | private let connection: xpc_connection_t
23 | private let message: xpc_object_t
:
32 | @available(macOS 10.15.0, *)
33 | @TaskLocal
34 | private static var currentForTask: XPCServer.ClientIdentity?
+--- macro expansion @TaskLocal ------------------------------------
|1 | private static let $currentForTask: TaskLocal<XPCServer.ClientIdentity?> = TaskLocal(wrappedValue: nil)
| | `- warning: type 'XPCServer.ClientIdentity' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
+-------------------------------------------------------------------
35 |
36 | @available(macOS 10.15.0, *)
macro expansion @TaskLocal:1:76: warning: type 'XPCServer.ClientIdentity' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
`- /Users/admin/builder/spi-builder-workspace/Sources/SecureXPC/Server/ClientIdentity.swift:34:69: note: expanded code originates here
19 | /// - ``effectiveUserID``
20 | /// - ``effectiveGroupID``
21 | class ClientIdentity {
| `- note: class 'ClientIdentity' does not conform to the 'Sendable' protocol
22 | private let connection: xpc_connection_t
23 | private let message: xpc_object_t
:
32 | @available(macOS 10.15.0, *)
33 | @TaskLocal
34 | private static var currentForTask: XPCServer.ClientIdentity?
+--- macro expansion @TaskLocal ------------------------------------
|1 | private static let $currentForTask: TaskLocal<XPCServer.ClientIdentity?> = TaskLocal(wrappedValue: nil)
| | `- warning: type 'XPCServer.ClientIdentity' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
+-------------------------------------------------------------------
35 |
36 | @available(macOS 10.15.0, *)
macro expansion @TaskLocal:1:76: warning: type 'XPCServer.ClientIdentity' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
`- /Users/admin/builder/spi-builder-workspace/Sources/SecureXPC/Server/ClientIdentity.swift:34:69: note: expanded code originates here
19 | /// - ``effectiveUserID``
20 | /// - ``effectiveGroupID``
21 | class ClientIdentity {
| `- note: class 'ClientIdentity' does not conform to the 'Sendable' protocol
22 | private let connection: xpc_connection_t
23 | private let message: xpc_object_t
:
32 | @available(macOS 10.15.0, *)
33 | @TaskLocal
34 | private static var currentForTask: XPCServer.ClientIdentity?
+--- macro expansion @TaskLocal ------------------------------------
|1 | private static let $currentForTask: TaskLocal<XPCServer.ClientIdentity?> = TaskLocal(wrappedValue: nil)
| | `- warning: type 'XPCServer.ClientIdentity' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
+-------------------------------------------------------------------
35 |
36 | @available(macOS 10.15.0, *)
macro expansion @TaskLocal:3:25: warning: type 'XPCServer.ClientIdentity' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
`- /Users/admin/builder/spi-builder-workspace/Sources/SecureXPC/Server/ClientIdentity.swift:34:69: note: expanded code originates here
19 | /// - ``effectiveUserID``
20 | /// - ``effectiveGroupID``
21 | class ClientIdentity {
| `- note: class 'ClientIdentity' does not conform to the 'Sendable' protocol
22 | private let connection: xpc_connection_t
23 | private let message: xpc_object_t
:
32 | @available(macOS 10.15.0, *)
33 | @TaskLocal
34 | private static var currentForTask: XPCServer.ClientIdentity?
+--- macro expansion @TaskLocal ------------------------------------
|1 | {
|2 | get {
|3 | $currentForTask.get()
| | `- warning: type 'XPCServer.ClientIdentity' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
|4 | }
|5 | }
+-------------------------------------------------------------------
35 |
36 | @available(macOS 10.15.0, *)
/Users/admin/builder/spi-builder-workspace/Sources/SecureXPC/Server/ClientIdentity.swift:42:33: warning: type 'XPCServer.ClientIdentity' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
19 | /// - ``effectiveUserID``
20 | /// - ``effectiveGroupID``
21 | class ClientIdentity {
| `- note: class 'ClientIdentity' does not conform to the 'Sendable' protocol
22 | private let connection: xpc_connection_t
23 | private let message: xpc_object_t
:
40 | operation: () throws -> Task<Success, Failure>
41 | ) rethrows -> Task<Success, Failure> {
42 | try $currentForTask.withValue(XPCServer.ClientIdentity(connection: connection, message: message)) {
| `- warning: type 'XPCServer.ClientIdentity' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
43 | try operation()
44 | }
[21/50] Compiling SecureXPC ClientRequirement.swift
/Users/admin/builder/spi-builder-workspace/Sources/SecureXPC/SequentialResultProvider.swift:125:16: warning: capture of 'self' with non-sendable type 'SequentialResultProvider<S>' in a `@Sendable` closure; this is an error in the Swift 6 language mode
35 | /// - ``failure(error:)``
36 | /// - ``isFinished``
37 | public class SequentialResultProvider<S: Encodable> {
| `- note: generic class 'SequentialResultProvider' does not conform to the 'Sendable' protocol
38 | private let request: Request
39 | private weak var server: XPCServer?
:
123 | private func sendResponse(isFinished: Bool, encodingWork: @escaping (inout xpc_object_t) throws -> Void) {
124 | self.serialQueue.async {
125 | if self.isFinished {
| `- warning: capture of 'self' with non-sendable type 'SequentialResultProvider<S>' in a `@Sendable` closure; this is an error in the Swift 6 language mode
126 | self.sendToServerErrorHandler(XPCError.sequenceFinished)
127 | return
/Users/admin/builder/spi-builder-workspace/Sources/SecureXPC/SequentialResultProvider.swift:142:25: warning: capture of 'encodingWork' with non-sendable type '(inout xpc_object_t) throws -> Void' (aka '(inout any OS_xpc_object) throws -> ()') in a `@Sendable` closure; this is an error in the Swift 6 language mode
140 |
141 | do {
142 | try encodingWork(&response)
| |- warning: capture of 'encodingWork' with non-sendable type '(inout xpc_object_t) throws -> Void' (aka '(inout any OS_xpc_object) throws -> ()') in a `@Sendable` closure; this is an error in the Swift 6 language mode
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
143 | xpc_connection_send_message(connection, response)
144 | } catch {
macro expansion @TaskLocal:1:20: warning: static property '$currentForTask' is not concurrency-safe because non-'Sendable' type 'TaskLocal<XPCServer.ClientIdentity?>' may have shared mutable state; this is an error in the Swift 6 language mode
`- /Users/admin/builder/spi-builder-workspace/Sources/SecureXPC/Server/ClientIdentity.swift:34:69: note: expanded code originates here
19 | /// - ``effectiveUserID``
20 | /// - ``effectiveGroupID``
21 | class ClientIdentity {
| `- note: class 'ClientIdentity' does not conform to the 'Sendable' protocol
22 | private let connection: xpc_connection_t
23 | private let message: xpc_object_t
:
32 | @available(macOS 10.15.0, *)
33 | @TaskLocal
34 | private static var currentForTask: XPCServer.ClientIdentity?
+--- macro expansion @TaskLocal ------------------------------------
|1 | private static let $currentForTask: TaskLocal<XPCServer.ClientIdentity?> = TaskLocal(wrappedValue: nil)
| | |- warning: static property '$currentForTask' is not concurrency-safe because non-'Sendable' type 'TaskLocal<XPCServer.ClientIdentity?>' may have shared mutable state; this is an error in the Swift 6 language mode
| | |- note: annotate '$currentForTask' with '@MainActor' if property should only be accessed from the main actor
| | `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
+-------------------------------------------------------------------
35 |
36 | @available(macOS 10.15.0, *)
macro expansion @TaskLocal:1:20: warning: type 'XPCServer.ClientIdentity' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
`- /Users/admin/builder/spi-builder-workspace/Sources/SecureXPC/Server/ClientIdentity.swift:34:69: note: expanded code originates here
19 | /// - ``effectiveUserID``
20 | /// - ``effectiveGroupID``
21 | class ClientIdentity {
| `- note: class 'ClientIdentity' does not conform to the 'Sendable' protocol
22 | private let connection: xpc_connection_t
23 | private let message: xpc_object_t
:
32 | @available(macOS 10.15.0, *)
33 | @TaskLocal
34 | private static var currentForTask: XPCServer.ClientIdentity?
+--- macro expansion @TaskLocal ------------------------------------
|1 | private static let $currentForTask: TaskLocal<XPCServer.ClientIdentity?> = TaskLocal(wrappedValue: nil)
| | `- warning: type 'XPCServer.ClientIdentity' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
+-------------------------------------------------------------------
35 |
36 | @available(macOS 10.15.0, *)
macro expansion @TaskLocal:1:76: warning: type 'XPCServer.ClientIdentity' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
`- /Users/admin/builder/spi-builder-workspace/Sources/SecureXPC/Server/ClientIdentity.swift:34:69: note: expanded code originates here
19 | /// - ``effectiveUserID``
20 | /// - ``effectiveGroupID``
21 | class ClientIdentity {
| `- note: class 'ClientIdentity' does not conform to the 'Sendable' protocol
22 | private let connection: xpc_connection_t
23 | private let message: xpc_object_t
:
32 | @available(macOS 10.15.0, *)
33 | @TaskLocal
34 | private static var currentForTask: XPCServer.ClientIdentity?
+--- macro expansion @TaskLocal ------------------------------------
|1 | private static let $currentForTask: TaskLocal<XPCServer.ClientIdentity?> = TaskLocal(wrappedValue: nil)
| | `- warning: type 'XPCServer.ClientIdentity' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
+-------------------------------------------------------------------
35 |
36 | @available(macOS 10.15.0, *)
macro expansion @TaskLocal:1:76: warning: type 'XPCServer.ClientIdentity' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
`- /Users/admin/builder/spi-builder-workspace/Sources/SecureXPC/Server/ClientIdentity.swift:34:69: note: expanded code originates here
19 | /// - ``effectiveUserID``
20 | /// - ``effectiveGroupID``
21 | class ClientIdentity {
| `- note: class 'ClientIdentity' does not conform to the 'Sendable' protocol
22 | private let connection: xpc_connection_t
23 | private let message: xpc_object_t
:
32 | @available(macOS 10.15.0, *)
33 | @TaskLocal
34 | private static var currentForTask: XPCServer.ClientIdentity?
+--- macro expansion @TaskLocal ------------------------------------
|1 | private static let $currentForTask: TaskLocal<XPCServer.ClientIdentity?> = TaskLocal(wrappedValue: nil)
| | `- warning: type 'XPCServer.ClientIdentity' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
+-------------------------------------------------------------------
35 |
36 | @available(macOS 10.15.0, *)
macro expansion @TaskLocal:3:25: warning: type 'XPCServer.ClientIdentity' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
`- /Users/admin/builder/spi-builder-workspace/Sources/SecureXPC/Server/ClientIdentity.swift:34:69: note: expanded code originates here
19 | /// - ``effectiveUserID``
20 | /// - ``effectiveGroupID``
21 | class ClientIdentity {
| `- note: class 'ClientIdentity' does not conform to the 'Sendable' protocol
22 | private let connection: xpc_connection_t
23 | private let message: xpc_object_t
:
32 | @available(macOS 10.15.0, *)
33 | @TaskLocal
34 | private static var currentForTask: XPCServer.ClientIdentity?
+--- macro expansion @TaskLocal ------------------------------------
|1 | {
|2 | get {
|3 | $currentForTask.get()
| | `- warning: type 'XPCServer.ClientIdentity' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
|4 | }
|5 | }
+-------------------------------------------------------------------
35 |
36 | @available(macOS 10.15.0, *)
/Users/admin/builder/spi-builder-workspace/Sources/SecureXPC/Server/ClientIdentity.swift:42:33: warning: type 'XPCServer.ClientIdentity' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
19 | /// - ``effectiveUserID``
20 | /// - ``effectiveGroupID``
21 | class ClientIdentity {
| `- note: class 'ClientIdentity' does not conform to the 'Sendable' protocol
22 | private let connection: xpc_connection_t
23 | private let message: xpc_object_t
:
40 | operation: () throws -> Task<Success, Failure>
41 | ) rethrows -> Task<Success, Failure> {
42 | try $currentForTask.withValue(XPCServer.ClientIdentity(connection: connection, message: message)) {
| `- warning: type 'XPCServer.ClientIdentity' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
43 | try operation()
44 | }
[22/50] Compiling SecureXPC MachServiceCriteria.swift
/Users/admin/builder/spi-builder-workspace/Sources/SecureXPC/SequentialResultProvider.swift:125:16: warning: capture of 'self' with non-sendable type 'SequentialResultProvider<S>' in a `@Sendable` closure; this is an error in the Swift 6 language mode
35 | /// - ``failure(error:)``
36 | /// - ``isFinished``
37 | public class SequentialResultProvider<S: Encodable> {
| `- note: generic class 'SequentialResultProvider' does not conform to the 'Sendable' protocol
38 | private let request: Request
39 | private weak var server: XPCServer?
:
123 | private func sendResponse(isFinished: Bool, encodingWork: @escaping (inout xpc_object_t) throws -> Void) {
124 | self.serialQueue.async {
125 | if self.isFinished {
| `- warning: capture of 'self' with non-sendable type 'SequentialResultProvider<S>' in a `@Sendable` closure; this is an error in the Swift 6 language mode
126 | self.sendToServerErrorHandler(XPCError.sequenceFinished)
127 | return
/Users/admin/builder/spi-builder-workspace/Sources/SecureXPC/SequentialResultProvider.swift:142:25: warning: capture of 'encodingWork' with non-sendable type '(inout xpc_object_t) throws -> Void' (aka '(inout any OS_xpc_object) throws -> ()') in a `@Sendable` closure; this is an error in the Swift 6 language mode
140 |
141 | do {
142 | try encodingWork(&response)
| |- warning: capture of 'encodingWork' with non-sendable type '(inout xpc_object_t) throws -> Void' (aka '(inout any OS_xpc_object) throws -> ()') in a `@Sendable` closure; this is an error in the Swift 6 language mode
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
143 | xpc_connection_send_message(connection, response)
144 | } catch {
macro expansion @TaskLocal:1:20: warning: static property '$currentForTask' is not concurrency-safe because non-'Sendable' type 'TaskLocal<XPCServer.ClientIdentity?>' may have shared mutable state; this is an error in the Swift 6 language mode
`- /Users/admin/builder/spi-builder-workspace/Sources/SecureXPC/Server/ClientIdentity.swift:34:69: note: expanded code originates here
19 | /// - ``effectiveUserID``
20 | /// - ``effectiveGroupID``
21 | class ClientIdentity {
| `- note: class 'ClientIdentity' does not conform to the 'Sendable' protocol
22 | private let connection: xpc_connection_t
23 | private let message: xpc_object_t
:
32 | @available(macOS 10.15.0, *)
33 | @TaskLocal
34 | private static var currentForTask: XPCServer.ClientIdentity?
+--- macro expansion @TaskLocal ------------------------------------
|1 | private static let $currentForTask: TaskLocal<XPCServer.ClientIdentity?> = TaskLocal(wrappedValue: nil)
| | |- warning: static property '$currentForTask' is not concurrency-safe because non-'Sendable' type 'TaskLocal<XPCServer.ClientIdentity?>' may have shared mutable state; this is an error in the Swift 6 language mode
| | |- note: annotate '$currentForTask' with '@MainActor' if property should only be accessed from the main actor
| | `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
+-------------------------------------------------------------------
35 |
36 | @available(macOS 10.15.0, *)
macro expansion @TaskLocal:1:20: warning: type 'XPCServer.ClientIdentity' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
`- /Users/admin/builder/spi-builder-workspace/Sources/SecureXPC/Server/ClientIdentity.swift:34:69: note: expanded code originates here
19 | /// - ``effectiveUserID``
20 | /// - ``effectiveGroupID``
21 | class ClientIdentity {
| `- note: class 'ClientIdentity' does not conform to the 'Sendable' protocol
22 | private let connection: xpc_connection_t
23 | private let message: xpc_object_t
:
32 | @available(macOS 10.15.0, *)
33 | @TaskLocal
34 | private static var currentForTask: XPCServer.ClientIdentity?
+--- macro expansion @TaskLocal ------------------------------------
|1 | private static let $currentForTask: TaskLocal<XPCServer.ClientIdentity?> = TaskLocal(wrappedValue: nil)
| | `- warning: type 'XPCServer.ClientIdentity' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
+-------------------------------------------------------------------
35 |
36 | @available(macOS 10.15.0, *)
macro expansion @TaskLocal:1:76: warning: type 'XPCServer.ClientIdentity' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
`- /Users/admin/builder/spi-builder-workspace/Sources/SecureXPC/Server/ClientIdentity.swift:34:69: note: expanded code originates here
19 | /// - ``effectiveUserID``
20 | /// - ``effectiveGroupID``
21 | class ClientIdentity {
| `- note: class 'ClientIdentity' does not conform to the 'Sendable' protocol
22 | private let connection: xpc_connection_t
23 | private let message: xpc_object_t
:
32 | @available(macOS 10.15.0, *)
33 | @TaskLocal
34 | private static var currentForTask: XPCServer.ClientIdentity?
+--- macro expansion @TaskLocal ------------------------------------
|1 | private static let $currentForTask: TaskLocal<XPCServer.ClientIdentity?> = TaskLocal(wrappedValue: nil)
| | `- warning: type 'XPCServer.ClientIdentity' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
+-------------------------------------------------------------------
35 |
36 | @available(macOS 10.15.0, *)
macro expansion @TaskLocal:1:76: warning: type 'XPCServer.ClientIdentity' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
`- /Users/admin/builder/spi-builder-workspace/Sources/SecureXPC/Server/ClientIdentity.swift:34:69: note: expanded code originates here
19 | /// - ``effectiveUserID``
20 | /// - ``effectiveGroupID``
21 | class ClientIdentity {
| `- note: class 'ClientIdentity' does not conform to the 'Sendable' protocol
22 | private let connection: xpc_connection_t
23 | private let message: xpc_object_t
:
32 | @available(macOS 10.15.0, *)
33 | @TaskLocal
34 | private static var currentForTask: XPCServer.ClientIdentity?
+--- macro expansion @TaskLocal ------------------------------------
|1 | private static let $currentForTask: TaskLocal<XPCServer.ClientIdentity?> = TaskLocal(wrappedValue: nil)
| | `- warning: type 'XPCServer.ClientIdentity' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
+-------------------------------------------------------------------
35 |
36 | @available(macOS 10.15.0, *)
macro expansion @TaskLocal:3:25: warning: type 'XPCServer.ClientIdentity' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
`- /Users/admin/builder/spi-builder-workspace/Sources/SecureXPC/Server/ClientIdentity.swift:34:69: note: expanded code originates here
19 | /// - ``effectiveUserID``
20 | /// - ``effectiveGroupID``
21 | class ClientIdentity {
| `- note: class 'ClientIdentity' does not conform to the 'Sendable' protocol
22 | private let connection: xpc_connection_t
23 | private let message: xpc_object_t
:
32 | @available(macOS 10.15.0, *)
33 | @TaskLocal
34 | private static var currentForTask: XPCServer.ClientIdentity?
+--- macro expansion @TaskLocal ------------------------------------
|1 | {
|2 | get {
|3 | $currentForTask.get()
| | `- warning: type 'XPCServer.ClientIdentity' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
|4 | }
|5 | }
+-------------------------------------------------------------------
35 |
36 | @available(macOS 10.15.0, *)
/Users/admin/builder/spi-builder-workspace/Sources/SecureXPC/Server/ClientIdentity.swift:42:33: warning: type 'XPCServer.ClientIdentity' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
19 | /// - ``effectiveUserID``
20 | /// - ``effectiveGroupID``
21 | class ClientIdentity {
| `- note: class 'ClientIdentity' does not conform to the 'Sendable' protocol
22 | private let connection: xpc_connection_t
23 | private let message: xpc_object_t
:
40 | operation: () throws -> Task<Success, Failure>
41 | ) rethrows -> Task<Success, Failure> {
42 | try $currentForTask.withValue(XPCServer.ClientIdentity(connection: connection, message: message)) {
| `- warning: type 'XPCServer.ClientIdentity' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
43 | try operation()
44 | }
[23/50] Compiling SecureXPC SharedRawMemory.swift
[24/50] Compiling SecureXPC SharedSemaphore.swift
[25/50] Compiling SecureXPC SharedTrivial.swift
[26/50] Compiling SecureXPC Trivial.swift
[27/50] Compiling SecureXPC XPCCoderError.swift
[28/50] Compiling SecureXPC XPCUnkeyedDecodingContainer.swift
<unknown>:0: note: a function type must be marked '@Sendable' to conform to 'Sendable'
/Users/admin/builder/spi-builder-workspace/Sources/SecureXPC/XPC Coders/XPCDecoder/Transformation functions.swift:76:14: warning: let 'floatTransform' is not concurrency-safe because non-'Sendable' type '(xpc_object_t) -> Float' (aka '(any OS_xpc_object) -> Float') may have shared mutable state; this is an error in the Swift 6 language mode
74 | }
75 |
76 | internal let floatTransform = { (object: xpc_object_t) -> Float in
| |- warning: let 'floatTransform' is not concurrency-safe because non-'Sendable' type '(xpc_object_t) -> Float' (aka '(any OS_xpc_object) -> Float') may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: annotate 'floatTransform' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
77 | // Double.signalingNaN is not converted to Float.signalingNaN when calling Float(...) with a Double so this needs
78 | // to be done manually
/Users/admin/builder/spi-builder-workspace/Sources/SecureXPC/XPC Coders/XPCDecoder/XPCUnkeyedDecodingContainer.swift:293:20: warning: forming 'UnsafeMutableRawPointer' to a variable of type 'T'; this is likely incorrect because 'T' may contain an object reference.
291 |
292 | // Populate the value with memcpy
293 | memcpy(&value, pointer.baseAddress! + currentOffset, MemoryLayout<T>.size)
| `- warning: forming 'UnsafeMutableRawPointer' to a variable of type 'T'; this is likely incorrect because 'T' may contain an object reference.
294 |
295 | return value
[29/50] Compiling SecureXPC XPCContainer.swift
<unknown>:0: note: a function type must be marked '@Sendable' to conform to 'Sendable'
/Users/admin/builder/spi-builder-workspace/Sources/SecureXPC/XPC Coders/XPCDecoder/Transformation functions.swift:76:14: warning: let 'floatTransform' is not concurrency-safe because non-'Sendable' type '(xpc_object_t) -> Float' (aka '(any OS_xpc_object) -> Float') may have shared mutable state; this is an error in the Swift 6 language mode
74 | }
75 |
76 | internal let floatTransform = { (object: xpc_object_t) -> Float in
| |- warning: let 'floatTransform' is not concurrency-safe because non-'Sendable' type '(xpc_object_t) -> Float' (aka '(any OS_xpc_object) -> Float') may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: annotate 'floatTransform' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
77 | // Double.signalingNaN is not converted to Float.signalingNaN when calling Float(...) with a Double so this needs
78 | // to be done manually
/Users/admin/builder/spi-builder-workspace/Sources/SecureXPC/XPC Coders/XPCDecoder/XPCUnkeyedDecodingContainer.swift:293:20: warning: forming 'UnsafeMutableRawPointer' to a variable of type 'T'; this is likely incorrect because 'T' may contain an object reference.
291 |
292 | // Populate the value with memcpy
293 | memcpy(&value, pointer.baseAddress! + currentOffset, MemoryLayout<T>.size)
| `- warning: forming 'UnsafeMutableRawPointer' to a variable of type 'T'; this is likely incorrect because 'T' may contain an object reference.
294 |
295 | return value
[30/50] Compiling SecureXPC XPCEncoder.swift
<unknown>:0: note: a function type must be marked '@Sendable' to conform to 'Sendable'
/Users/admin/builder/spi-builder-workspace/Sources/SecureXPC/XPC Coders/XPCDecoder/Transformation functions.swift:76:14: warning: let 'floatTransform' is not concurrency-safe because non-'Sendable' type '(xpc_object_t) -> Float' (aka '(any OS_xpc_object) -> Float') may have shared mutable state; this is an error in the Swift 6 language mode
74 | }
75 |
76 | internal let floatTransform = { (object: xpc_object_t) -> Float in
| |- warning: let 'floatTransform' is not concurrency-safe because non-'Sendable' type '(xpc_object_t) -> Float' (aka '(any OS_xpc_object) -> Float') may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: annotate 'floatTransform' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
77 | // Double.signalingNaN is not converted to Float.signalingNaN when calling Float(...) with a Double so this needs
78 | // to be done manually
/Users/admin/builder/spi-builder-workspace/Sources/SecureXPC/XPC Coders/XPCDecoder/XPCUnkeyedDecodingContainer.swift:293:20: warning: forming 'UnsafeMutableRawPointer' to a variable of type 'T'; this is likely incorrect because 'T' may contain an object reference.
291 |
292 | // Populate the value with memcpy
293 | memcpy(&value, pointer.baseAddress! + currentOffset, MemoryLayout<T>.size)
| `- warning: forming 'UnsafeMutableRawPointer' to a variable of type 'T'; this is likely incorrect because 'T' may contain an object reference.
294 |
295 | return value
[31/50] Compiling SecureXPC XPCEncoderImpl.swift
<unknown>:0: note: a function type must be marked '@Sendable' to conform to 'Sendable'
/Users/admin/builder/spi-builder-workspace/Sources/SecureXPC/XPC Coders/XPCDecoder/Transformation functions.swift:76:14: warning: let 'floatTransform' is not concurrency-safe because non-'Sendable' type '(xpc_object_t) -> Float' (aka '(any OS_xpc_object) -> Float') may have shared mutable state; this is an error in the Swift 6 language mode
74 | }
75 |
76 | internal let floatTransform = { (object: xpc_object_t) -> Float in
| |- warning: let 'floatTransform' is not concurrency-safe because non-'Sendable' type '(xpc_object_t) -> Float' (aka '(any OS_xpc_object) -> Float') may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: annotate 'floatTransform' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
77 | // Double.signalingNaN is not converted to Float.signalingNaN when calling Float(...) with a Double so this needs
78 | // to be done manually
/Users/admin/builder/spi-builder-workspace/Sources/SecureXPC/XPC Coders/XPCDecoder/XPCUnkeyedDecodingContainer.swift:293:20: warning: forming 'UnsafeMutableRawPointer' to a variable of type 'T'; this is likely incorrect because 'T' may contain an object reference.
291 |
292 | // Populate the value with memcpy
293 | memcpy(&value, pointer.baseAddress! + currentOffset, MemoryLayout<T>.size)
| `- warning: forming 'UnsafeMutableRawPointer' to a variable of type 'T'; this is likely incorrect because 'T' may contain an object reference.
294 |
295 | return value
[32/50] Compiling SecureXPC Transformation functions.swift
<unknown>:0: note: a function type must be marked '@Sendable' to conform to 'Sendable'
/Users/admin/builder/spi-builder-workspace/Sources/SecureXPC/XPC Coders/XPCDecoder/Transformation functions.swift:76:14: warning: let 'floatTransform' is not concurrency-safe because non-'Sendable' type '(xpc_object_t) -> Float' (aka '(any OS_xpc_object) -> Float') may have shared mutable state; this is an error in the Swift 6 language mode
74 | }
75 |
76 | internal let floatTransform = { (object: xpc_object_t) -> Float in
| |- warning: let 'floatTransform' is not concurrency-safe because non-'Sendable' type '(xpc_object_t) -> Float' (aka '(any OS_xpc_object) -> Float') may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: annotate 'floatTransform' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
77 | // Double.signalingNaN is not converted to Float.signalingNaN when calling Float(...) with a Double so this needs
78 | // to be done manually
[33/50] Compiling SecureXPC XPCDecoder.swift
<unknown>:0: note: a function type must be marked '@Sendable' to conform to 'Sendable'
/Users/admin/builder/spi-builder-workspace/Sources/SecureXPC/XPC Coders/XPCDecoder/Transformation functions.swift:76:14: warning: let 'floatTransform' is not concurrency-safe because non-'Sendable' type '(xpc_object_t) -> Float' (aka '(any OS_xpc_object) -> Float') may have shared mutable state; this is an error in the Swift 6 language mode
74 | }
75 |
76 | internal let floatTransform = { (object: xpc_object_t) -> Float in
| |- warning: let 'floatTransform' is not concurrency-safe because non-'Sendable' type '(xpc_object_t) -> Float' (aka '(any OS_xpc_object) -> Float') may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: annotate 'floatTransform' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
77 | // Double.signalingNaN is not converted to Float.signalingNaN when calling Float(...) with a Double so this needs
78 | // to be done manually
[34/50] Compiling SecureXPC XPCDecoderImpl.swift
<unknown>:0: note: a function type must be marked '@Sendable' to conform to 'Sendable'
/Users/admin/builder/spi-builder-workspace/Sources/SecureXPC/XPC Coders/XPCDecoder/Transformation functions.swift:76:14: warning: let 'floatTransform' is not concurrency-safe because non-'Sendable' type '(xpc_object_t) -> Float' (aka '(any OS_xpc_object) -> Float') may have shared mutable state; this is an error in the Swift 6 language mode
74 | }
75 |
76 | internal let floatTransform = { (object: xpc_object_t) -> Float in
| |- warning: let 'floatTransform' is not concurrency-safe because non-'Sendable' type '(xpc_object_t) -> Float' (aka '(any OS_xpc_object) -> Float') may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: annotate 'floatTransform' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
77 | // Double.signalingNaN is not converted to Float.signalingNaN when calling Float(...) with a Double so this needs
78 | // to be done manually
[35/50] Compiling SecureXPC XPCKeyedDecodingContainer.swift
<unknown>:0: note: a function type must be marked '@Sendable' to conform to 'Sendable'
/Users/admin/builder/spi-builder-workspace/Sources/SecureXPC/XPC Coders/XPCDecoder/Transformation functions.swift:76:14: warning: let 'floatTransform' is not concurrency-safe because non-'Sendable' type '(xpc_object_t) -> Float' (aka '(any OS_xpc_object) -> Float') may have shared mutable state; this is an error in the Swift 6 language mode
74 | }
75 |
76 | internal let floatTransform = { (object: xpc_object_t) -> Float in
| |- warning: let 'floatTransform' is not concurrency-safe because non-'Sendable' type '(xpc_object_t) -> Float' (aka '(any OS_xpc_object) -> Float') may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: annotate 'floatTransform' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
77 | // Double.signalingNaN is not converted to Float.signalingNaN when calling Float(...) with a Double so this needs
78 | // to be done manually
[36/50] Compiling SecureXPC XPCSingleValueDecodingContainer.swift
<unknown>:0: note: a function type must be marked '@Sendable' to conform to 'Sendable'
/Users/admin/builder/spi-builder-workspace/Sources/SecureXPC/XPC Coders/XPCDecoder/Transformation functions.swift:76:14: warning: let 'floatTransform' is not concurrency-safe because non-'Sendable' type '(xpc_object_t) -> Float' (aka '(any OS_xpc_object) -> Float') may have shared mutable state; this is an error in the Swift 6 language mode
74 | }
75 |
76 | internal let floatTransform = { (object: xpc_object_t) -> Float in
| |- warning: let 'floatTransform' is not concurrency-safe because non-'Sendable' type '(xpc_object_t) -> Float' (aka '(any OS_xpc_object) -> Float') may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: annotate 'floatTransform' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
77 | // Double.signalingNaN is not converted to Float.signalingNaN when calling Float(...) with a Double so this needs
78 | // to be done manually
[37/50] Compiling SecureXPC XPCKeyedEncodingContainer.swift
[38/50] Compiling SecureXPC XPCSingleValueEncodingContainer.swift
[39/50] Compiling SecureXPC XPCUnkeyedEncodingContainer.swift
[40/50] Compiling SecureXPC xpc_type_t+description.swift
[41/50] Compiling SecureXPC ServerIdentity.swift
/Users/admin/builder/spi-builder-workspace/Sources/SecureXPC/PackageInternalRoutes.swift:15:16: warning: static property 'noopRoute' is not concurrency-safe because non-'Sendable' type 'XPCRouteWithoutMessageWithoutReply' may have shared mutable state; this is an error in the Swift 6 language mode
13 | ///
14 | /// This is useful because the client can use this to know the server exists and get information about it such as its `SecCode`.
15 | static let noopRoute = XPCRoute.named("noop").packageInternal
| |- warning: static property 'noopRoute' is not concurrency-safe because non-'Sendable' type 'XPCRouteWithoutMessageWithoutReply' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: annotate 'noopRoute' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
16 | }
17 |
/Users/admin/builder/spi-builder-workspace/Sources/SecureXPC/Routes.swift:224:15: note: consider making struct 'XPCRouteWithoutMessageWithoutReply' conform to the 'Sendable' protocol
222 | ///
223 | /// See ``XPCRoute`` for how to create a route.
224 | public struct XPCRouteWithoutMessageWithoutReply {
| `- note: consider making struct 'XPCRouteWithoutMessageWithoutReply' conform to the 'Sendable' protocol
225 | let route: XPCRoute
226 |
/Users/admin/builder/spi-builder-workspace/Sources/SecureXPC/Client/XPCClient.swift:825:16: warning: capture of 'self' with non-sendable type 'InternalXPCSequentialResponseHandlerImpl<S>' in a `@Sendable` closure; this is an error in the Swift 6 language mode
806 | }
807 |
808 | fileprivate class InternalXPCSequentialResponseHandlerImpl<S: Decodable>: InternalXPCSequentialResponseHandler {
| `- note: generic class 'InternalXPCSequentialResponseHandlerImpl' does not conform to the 'Sendable' protocol
809 | let route: XPCRoute
810 | private var failedToDecode = false
:
823 | fileprivate func handleResponse(_ response: Response) {
824 | self.serialQueue.async {
825 | if self.failedToDecode {
| `- warning: capture of 'self' with non-sendable type 'InternalXPCSequentialResponseHandlerImpl<S>' in a `@Sendable` closure; this is an error in the Swift 6 language mode
826 | return
827 | }
/Users/admin/builder/spi-builder-workspace/Sources/SecureXPC/Client/XPCClient.swift:830:20: warning: capture of 'response' with non-sendable type 'Response' in a `@Sendable` closure; this is an error in the Swift 6 language mode
828 |
829 | do {
830 | if response.containsPayload {
| `- warning: capture of 'response' with non-sendable type 'Response' in a `@Sendable` closure; this is an error in the Swift 6 language mode
831 | self.handler(.success(try response.decodePayload(asType: S.self)))
832 | } else if response.containsError {
/Users/admin/builder/spi-builder-workspace/Sources/SecureXPC/Response.swift:14:8: note: consider making struct 'Response' conform to the 'Sendable' protocol
12 | /// Due to how the XPC C API works, instances of this struct can only be created to represent an already received reply (which is expected to be done by the client).
13 | /// The server must instead use the `encodePayload` and `encodeError` static functions.
14 | struct Response {
| `- note: consider making struct 'Response' conform to the 'Sendable' protocol
15 |
16 | private enum ResponseKeys {
/Users/admin/builder/spi-builder-workspace/Sources/SecureXPC/Client/XPCClient.swift:866:13: warning: capture of 'self' with non-sendable type 'InProgressSequentialReplies' in a `@Sendable` closure; this is an error in the Swift 6 language mode
856 | /// Encapsulates all in progress requests which were made to the server that could still receive more out-of-band message sends which need to be reassociated
857 | /// with their requests in order to become reply sequences.
858 | fileprivate class InProgressSequentialReplies {
| `- note: class 'InProgressSequentialReplies' does not conform to the 'Sendable' protocol
859 | /// Mapping of requestIDs to handlers.
860 | private var handlers = [UUID : InternalXPCSequentialResponseHandler]()
:
864 | func registerHandler(_ handler: InternalXPCSequentialResponseHandler, forRequest request: Request) {
865 | serialQueue.async {
866 | self.handlers[request.requestID] = handler
| `- warning: capture of 'self' with non-sendable type 'InProgressSequentialReplies' in a `@Sendable` closure; this is an error in the Swift 6 language mode
867 | }
868 | }
/Users/admin/builder/spi-builder-workspace/Sources/SecureXPC/Client/XPCClient.swift:866:27: warning: capture of 'request' with non-sendable type 'Request' in a `@Sendable` closure; this is an error in the Swift 6 language mode
864 | func registerHandler(_ handler: InternalXPCSequentialResponseHandler, forRequest request: Request) {
865 | serialQueue.async {
866 | self.handlers[request.requestID] = handler
| `- warning: capture of 'request' with non-sendable type 'Request' in a `@Sendable` closure; this is an error in the Swift 6 language mode
867 | }
868 | }
/Users/admin/builder/spi-builder-workspace/Sources/SecureXPC/Request.swift:13:8: note: consider making struct 'Request' conform to the 'Sendable' protocol
11 | ///
12 | /// A request always contains a route and optionally contains a payload.
13 | struct Request {
| `- note: consider making struct 'Request' conform to the 'Sendable' protocol
14 | private enum RequestKeys {
15 | static let route: XPCDictionaryKey = const("__route")
/Users/admin/builder/spi-builder-workspace/Sources/SecureXPC/Client/XPCClient.swift:866:48: warning: capture of 'handler' with non-sendable type 'any InternalXPCSequentialResponseHandler' in a `@Sendable` closure; this is an error in the Swift 6 language mode
801 |
802 | /// This allows for type erasure
803 | fileprivate protocol InternalXPCSequentialResponseHandler {
| `- note: protocol 'InternalXPCSequentialResponseHandler' does not conform to the 'Sendable' protocol
804 | var route: XPCRoute { get }
805 | func handleResponse(_ response: Response)
:
864 | func registerHandler(_ handler: InternalXPCSequentialResponseHandler, forRequest request: Request) {
865 | serialQueue.async {
866 | self.handlers[request.requestID] = handler
| `- warning: capture of 'handler' with non-sendable type 'any InternalXPCSequentialResponseHandler' in a `@Sendable` closure; this is an error in the Swift 6 language mode
867 | }
868 | }
/Users/admin/builder/spi-builder-workspace/Sources/SecureXPC/Client/XPCClient.swift:874:74: warning: capture of 'message' with non-sendable type 'xpc_object_t' (aka 'any OS_xpc_object') in a `@Sendable` closure; this is an error in the Swift 6 language mode
872 | let response: Response
873 | do {
874 | let requestID = try Response.decodeRequestID(dictionary: message)
| `- warning: capture of 'message' with non-sendable type 'xpc_object_t' (aka 'any OS_xpc_object') in a `@Sendable` closure; this is an error in the Swift 6 language mode
875 | guard let route = self.handlers[requestID]?.route else {
876 | return
XPC.OS_xpc_object:1:17: note: protocol 'OS_xpc_object' does not conform to the 'Sendable' protocol
1 | public protocol OS_xpc_object : NSObjectProtocol {
| `- note: protocol 'OS_xpc_object' does not conform to the 'Sendable' protocol
2 | }
/Users/admin/builder/spi-builder-workspace/Sources/SecureXPC/Client/XPCClient.swift:8:1: warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'XPC'
6 | //
7 |
8 | import Foundation
| `- warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'XPC'
9 |
10 | /// An XPC client to make requests and receive responses from an ``XPCServer``.
/Users/admin/builder/spi-builder-workspace/Sources/SecureXPC/Client/XPCClient.swift:875:35: warning: capture of 'self' with non-sendable type 'InProgressSequentialReplies' in a `@Sendable` closure; this is an error in the Swift 6 language mode
856 | /// Encapsulates all in progress requests which were made to the server that could still receive more out-of-band message sends which need to be reassociated
857 | /// with their requests in order to become reply sequences.
858 | fileprivate class InProgressSequentialReplies {
| `- note: class 'InProgressSequentialReplies' does not conform to the 'Sendable' protocol
859 | /// Mapping of requestIDs to handlers.
860 | private var handlers = [UUID : InternalXPCSequentialResponseHandler]()
:
873 | do {
874 | let requestID = try Response.decodeRequestID(dictionary: message)
875 | guard let route = self.handlers[requestID]?.route else {
| `- warning: capture of 'self' with non-sendable type 'InProgressSequentialReplies' in a `@Sendable` closure; this is an error in the Swift 6 language mode
876 | return
877 | }
/Users/admin/builder/spi-builder-workspace/Sources/SecureXPC/Client/XPCClient.swift:485:25: warning: sending 'response' risks causing data races; this is an error in the Swift 6 language mode
483 | contination.resume(throwing: underlyingError)
484 | } else {
485 | contination.resume(with: response)
| |- warning: sending 'response' risks causing data races; this is an error in the Swift 6 language mode
| `- note: task-isolated 'response' is passed as a 'sending' parameter; Uses in callee may race with later task-isolated uses
486 | }
487 | }
/Users/admin/builder/spi-builder-workspace/Sources/SecureXPC/Client/XPCClient.swift:534:30: warning: sending 'value' risks causing data races; this is an error in the Swift 6 language mode
532 | switch result {
533 | case .success(let value):
534 | continuation.yield(value)
| |- warning: sending 'value' risks causing data races; this is an error in the Swift 6 language mode
| `- note: task-isolated 'value' is passed as a 'sending' parameter; Uses in callee may race with later task-isolated uses
535 | case .failure(let error):
536 | if case .handlerError(let handlerError) = error,
/Users/admin/builder/spi-builder-workspace/Sources/SecureXPC/Client/XPCClient.swift:634:34: warning: sending 'response' risks causing data races; this is an error in the Swift 6 language mode
632 | try await withUnsafeThrowingContinuation { continuation in
633 | self.serverIdentity { response in
634 | continuation.resume(with: response)
| |- warning: sending 'response' risks causing data races; this is an error in the Swift 6 language mode
| `- note: task-isolated 'response' is passed as a 'sending' parameter; Uses in callee may race with later task-isolated uses
635 | }
636 | }
[42/50] Compiling SecureXPC ServerRequirement.swift
/Users/admin/builder/spi-builder-workspace/Sources/SecureXPC/PackageInternalRoutes.swift:15:16: warning: static property 'noopRoute' is not concurrency-safe because non-'Sendable' type 'XPCRouteWithoutMessageWithoutReply' may have shared mutable state; this is an error in the Swift 6 language mode
13 | ///
14 | /// This is useful because the client can use this to know the server exists and get information about it such as its `SecCode`.
15 | static let noopRoute = XPCRoute.named("noop").packageInternal
| |- warning: static property 'noopRoute' is not concurrency-safe because non-'Sendable' type 'XPCRouteWithoutMessageWithoutReply' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: annotate 'noopRoute' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
16 | }
17 |
/Users/admin/builder/spi-builder-workspace/Sources/SecureXPC/Routes.swift:224:15: note: consider making struct 'XPCRouteWithoutMessageWithoutReply' conform to the 'Sendable' protocol
222 | ///
223 | /// See ``XPCRoute`` for how to create a route.
224 | public struct XPCRouteWithoutMessageWithoutReply {
| `- note: consider making struct 'XPCRouteWithoutMessageWithoutReply' conform to the 'Sendable' protocol
225 | let route: XPCRoute
226 |
/Users/admin/builder/spi-builder-workspace/Sources/SecureXPC/Client/XPCClient.swift:825:16: warning: capture of 'self' with non-sendable type 'InternalXPCSequentialResponseHandlerImpl<S>' in a `@Sendable` closure; this is an error in the Swift 6 language mode
806 | }
807 |
808 | fileprivate class InternalXPCSequentialResponseHandlerImpl<S: Decodable>: InternalXPCSequentialResponseHandler {
| `- note: generic class 'InternalXPCSequentialResponseHandlerImpl' does not conform to the 'Sendable' protocol
809 | let route: XPCRoute
810 | private var failedToDecode = false
:
823 | fileprivate func handleResponse(_ response: Response) {
824 | self.serialQueue.async {
825 | if self.failedToDecode {
| `- warning: capture of 'self' with non-sendable type 'InternalXPCSequentialResponseHandlerImpl<S>' in a `@Sendable` closure; this is an error in the Swift 6 language mode
826 | return
827 | }
/Users/admin/builder/spi-builder-workspace/Sources/SecureXPC/Client/XPCClient.swift:830:20: warning: capture of 'response' with non-sendable type 'Response' in a `@Sendable` closure; this is an error in the Swift 6 language mode
828 |
829 | do {
830 | if response.containsPayload {
| `- warning: capture of 'response' with non-sendable type 'Response' in a `@Sendable` closure; this is an error in the Swift 6 language mode
831 | self.handler(.success(try response.decodePayload(asType: S.self)))
832 | } else if response.containsError {
/Users/admin/builder/spi-builder-workspace/Sources/SecureXPC/Response.swift:14:8: note: consider making struct 'Response' conform to the 'Sendable' protocol
12 | /// Due to how the XPC C API works, instances of this struct can only be created to represent an already received reply (which is expected to be done by the client).
13 | /// The server must instead use the `encodePayload` and `encodeError` static functions.
14 | struct Response {
| `- note: consider making struct 'Response' conform to the 'Sendable' protocol
15 |
16 | private enum ResponseKeys {
/Users/admin/builder/spi-builder-workspace/Sources/SecureXPC/Client/XPCClient.swift:866:13: warning: capture of 'self' with non-sendable type 'InProgressSequentialReplies' in a `@Sendable` closure; this is an error in the Swift 6 language mode
856 | /// Encapsulates all in progress requests which were made to the server that could still receive more out-of-band message sends which need to be reassociated
857 | /// with their requests in order to become reply sequences.
858 | fileprivate class InProgressSequentialReplies {
| `- note: class 'InProgressSequentialReplies' does not conform to the 'Sendable' protocol
859 | /// Mapping of requestIDs to handlers.
860 | private var handlers = [UUID : InternalXPCSequentialResponseHandler]()
:
864 | func registerHandler(_ handler: InternalXPCSequentialResponseHandler, forRequest request: Request) {
865 | serialQueue.async {
866 | self.handlers[request.requestID] = handler
| `- warning: capture of 'self' with non-sendable type 'InProgressSequentialReplies' in a `@Sendable` closure; this is an error in the Swift 6 language mode
867 | }
868 | }
/Users/admin/builder/spi-builder-workspace/Sources/SecureXPC/Client/XPCClient.swift:866:27: warning: capture of 'request' with non-sendable type 'Request' in a `@Sendable` closure; this is an error in the Swift 6 language mode
864 | func registerHandler(_ handler: InternalXPCSequentialResponseHandler, forRequest request: Request) {
865 | serialQueue.async {
866 | self.handlers[request.requestID] = handler
| `- warning: capture of 'request' with non-sendable type 'Request' in a `@Sendable` closure; this is an error in the Swift 6 language mode
867 | }
868 | }
/Users/admin/builder/spi-builder-workspace/Sources/SecureXPC/Request.swift:13:8: note: consider making struct 'Request' conform to the 'Sendable' protocol
11 | ///
12 | /// A request always contains a route and optionally contains a payload.
13 | struct Request {
| `- note: consider making struct 'Request' conform to the 'Sendable' protocol
14 | private enum RequestKeys {
15 | static let route: XPCDictionaryKey = const("__route")
/Users/admin/builder/spi-builder-workspace/Sources/SecureXPC/Client/XPCClient.swift:866:48: warning: capture of 'handler' with non-sendable type 'any InternalXPCSequentialResponseHandler' in a `@Sendable` closure; this is an error in the Swift 6 language mode
801 |
802 | /// This allows for type erasure
803 | fileprivate protocol InternalXPCSequentialResponseHandler {
| `- note: protocol 'InternalXPCSequentialResponseHandler' does not conform to the 'Sendable' protocol
804 | var route: XPCRoute { get }
805 | func handleResponse(_ response: Response)
:
864 | func registerHandler(_ handler: InternalXPCSequentialResponseHandler, forRequest request: Request) {
865 | serialQueue.async {
866 | self.handlers[request.requestID] = handler
| `- warning: capture of 'handler' with non-sendable type 'any InternalXPCSequentialResponseHandler' in a `@Sendable` closure; this is an error in the Swift 6 language mode
867 | }
868 | }
/Users/admin/builder/spi-builder-workspace/Sources/SecureXPC/Client/XPCClient.swift:874:74: warning: capture of 'message' with non-sendable type 'xpc_object_t' (aka 'any OS_xpc_object') in a `@Sendable` closure; this is an error in the Swift 6 language mode
872 | let response: Response
873 | do {
874 | let requestID = try Response.decodeRequestID(dictionary: message)
| `- warning: capture of 'message' with non-sendable type 'xpc_object_t' (aka 'any OS_xpc_object') in a `@Sendable` closure; this is an error in the Swift 6 language mode
875 | guard let route = self.handlers[requestID]?.route else {
876 | return
XPC.OS_xpc_object:1:17: note: protocol 'OS_xpc_object' does not conform to the 'Sendable' protocol
1 | public protocol OS_xpc_object : NSObjectProtocol {
| `- note: protocol 'OS_xpc_object' does not conform to the 'Sendable' protocol
2 | }
/Users/admin/builder/spi-builder-workspace/Sources/SecureXPC/Client/XPCClient.swift:8:1: warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'XPC'
6 | //
7 |
8 | import Foundation
| `- warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'XPC'
9 |
10 | /// An XPC client to make requests and receive responses from an ``XPCServer``.
/Users/admin/builder/spi-builder-workspace/Sources/SecureXPC/Client/XPCClient.swift:875:35: warning: capture of 'self' with non-sendable type 'InProgressSequentialReplies' in a `@Sendable` closure; this is an error in the Swift 6 language mode
856 | /// Encapsulates all in progress requests which were made to the server that could still receive more out-of-band message sends which need to be reassociated
857 | /// with their requests in order to become reply sequences.
858 | fileprivate class InProgressSequentialReplies {
| `- note: class 'InProgressSequentialReplies' does not conform to the 'Sendable' protocol
859 | /// Mapping of requestIDs to handlers.
860 | private var handlers = [UUID : InternalXPCSequentialResponseHandler]()
:
873 | do {
874 | let requestID = try Response.decodeRequestID(dictionary: message)
875 | guard let route = self.handlers[requestID]?.route else {
| `- warning: capture of 'self' with non-sendable type 'InProgressSequentialReplies' in a `@Sendable` closure; this is an error in the Swift 6 language mode
876 | return
877 | }
/Users/admin/builder/spi-builder-workspace/Sources/SecureXPC/Client/XPCClient.swift:485:25: warning: sending 'response' risks causing data races; this is an error in the Swift 6 language mode
483 | contination.resume(throwing: underlyingError)
484 | } else {
485 | contination.resume(with: response)
| |- warning: sending 'response' risks causing data races; this is an error in the Swift 6 language mode
| `- note: task-isolated 'response' is passed as a 'sending' parameter; Uses in callee may race with later task-isolated uses
486 | }
487 | }
/Users/admin/builder/spi-builder-workspace/Sources/SecureXPC/Client/XPCClient.swift:534:30: warning: sending 'value' risks causing data races; this is an error in the Swift 6 language mode
532 | switch result {
533 | case .success(let value):
534 | continuation.yield(value)
| |- warning: sending 'value' risks causing data races; this is an error in the Swift 6 language mode
| `- note: task-isolated 'value' is passed as a 'sending' parameter; Uses in callee may race with later task-isolated uses
535 | case .failure(let error):
536 | if case .handlerError(let handlerError) = error,
/Users/admin/builder/spi-builder-workspace/Sources/SecureXPC/Client/XPCClient.swift:634:34: warning: sending 'response' risks causing data races; this is an error in the Swift 6 language mode
632 | try await withUnsafeThrowingContinuation { continuation in
633 | self.serverIdentity { response in
634 | continuation.resume(with: response)
| |- warning: sending 'response' risks causing data races; this is an error in the Swift 6 language mode
| `- note: task-isolated 'response' is passed as a 'sending' parameter; Uses in callee may race with later task-isolated uses
635 | }
636 | }
[43/50] Compiling SecureXPC XPCClient.swift
/Users/admin/builder/spi-builder-workspace/Sources/SecureXPC/PackageInternalRoutes.swift:15:16: warning: static property 'noopRoute' is not concurrency-safe because non-'Sendable' type 'XPCRouteWithoutMessageWithoutReply' may have shared mutable state; this is an error in the Swift 6 language mode
13 | ///
14 | /// This is useful because the client can use this to know the server exists and get information about it such as its `SecCode`.
15 | static let noopRoute = XPCRoute.named("noop").packageInternal
| |- warning: static property 'noopRoute' is not concurrency-safe because non-'Sendable' type 'XPCRouteWithoutMessageWithoutReply' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: annotate 'noopRoute' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
16 | }
17 |
/Users/admin/builder/spi-builder-workspace/Sources/SecureXPC/Routes.swift:224:15: note: consider making struct 'XPCRouteWithoutMessageWithoutReply' conform to the 'Sendable' protocol
222 | ///
223 | /// See ``XPCRoute`` for how to create a route.
224 | public struct XPCRouteWithoutMessageWithoutReply {
| `- note: consider making struct 'XPCRouteWithoutMessageWithoutReply' conform to the 'Sendable' protocol
225 | let route: XPCRoute
226 |
/Users/admin/builder/spi-builder-workspace/Sources/SecureXPC/Client/XPCClient.swift:825:16: warning: capture of 'self' with non-sendable type 'InternalXPCSequentialResponseHandlerImpl<S>' in a `@Sendable` closure; this is an error in the Swift 6 language mode
806 | }
807 |
808 | fileprivate class InternalXPCSequentialResponseHandlerImpl<S: Decodable>: InternalXPCSequentialResponseHandler {
| `- note: generic class 'InternalXPCSequentialResponseHandlerImpl' does not conform to the 'Sendable' protocol
809 | let route: XPCRoute
810 | private var failedToDecode = false
:
823 | fileprivate func handleResponse(_ response: Response) {
824 | self.serialQueue.async {
825 | if self.failedToDecode {
| `- warning: capture of 'self' with non-sendable type 'InternalXPCSequentialResponseHandlerImpl<S>' in a `@Sendable` closure; this is an error in the Swift 6 language mode
826 | return
827 | }
/Users/admin/builder/spi-builder-workspace/Sources/SecureXPC/Client/XPCClient.swift:830:20: warning: capture of 'response' with non-sendable type 'Response' in a `@Sendable` closure; this is an error in the Swift 6 language mode
828 |
829 | do {
830 | if response.containsPayload {
| `- warning: capture of 'response' with non-sendable type 'Response' in a `@Sendable` closure; this is an error in the Swift 6 language mode
831 | self.handler(.success(try response.decodePayload(asType: S.self)))
832 | } else if response.containsError {
/Users/admin/builder/spi-builder-workspace/Sources/SecureXPC/Response.swift:14:8: note: consider making struct 'Response' conform to the 'Sendable' protocol
12 | /// Due to how the XPC C API works, instances of this struct can only be created to represent an already received reply (which is expected to be done by the client).
13 | /// The server must instead use the `encodePayload` and `encodeError` static functions.
14 | struct Response {
| `- note: consider making struct 'Response' conform to the 'Sendable' protocol
15 |
16 | private enum ResponseKeys {
/Users/admin/builder/spi-builder-workspace/Sources/SecureXPC/Client/XPCClient.swift:866:13: warning: capture of 'self' with non-sendable type 'InProgressSequentialReplies' in a `@Sendable` closure; this is an error in the Swift 6 language mode
856 | /// Encapsulates all in progress requests which were made to the server that could still receive more out-of-band message sends which need to be reassociated
857 | /// with their requests in order to become reply sequences.
858 | fileprivate class InProgressSequentialReplies {
| `- note: class 'InProgressSequentialReplies' does not conform to the 'Sendable' protocol
859 | /// Mapping of requestIDs to handlers.
860 | private var handlers = [UUID : InternalXPCSequentialResponseHandler]()
:
864 | func registerHandler(_ handler: InternalXPCSequentialResponseHandler, forRequest request: Request) {
865 | serialQueue.async {
866 | self.handlers[request.requestID] = handler
| `- warning: capture of 'self' with non-sendable type 'InProgressSequentialReplies' in a `@Sendable` closure; this is an error in the Swift 6 language mode
867 | }
868 | }
/Users/admin/builder/spi-builder-workspace/Sources/SecureXPC/Client/XPCClient.swift:866:27: warning: capture of 'request' with non-sendable type 'Request' in a `@Sendable` closure; this is an error in the Swift 6 language mode
864 | func registerHandler(_ handler: InternalXPCSequentialResponseHandler, forRequest request: Request) {
865 | serialQueue.async {
866 | self.handlers[request.requestID] = handler
| `- warning: capture of 'request' with non-sendable type 'Request' in a `@Sendable` closure; this is an error in the Swift 6 language mode
867 | }
868 | }
/Users/admin/builder/spi-builder-workspace/Sources/SecureXPC/Request.swift:13:8: note: consider making struct 'Request' conform to the 'Sendable' protocol
11 | ///
12 | /// A request always contains a route and optionally contains a payload.
13 | struct Request {
| `- note: consider making struct 'Request' conform to the 'Sendable' protocol
14 | private enum RequestKeys {
15 | static let route: XPCDictionaryKey = const("__route")
/Users/admin/builder/spi-builder-workspace/Sources/SecureXPC/Client/XPCClient.swift:866:48: warning: capture of 'handler' with non-sendable type 'any InternalXPCSequentialResponseHandler' in a `@Sendable` closure; this is an error in the Swift 6 language mode
801 |
802 | /// This allows for type erasure
803 | fileprivate protocol InternalXPCSequentialResponseHandler {
| `- note: protocol 'InternalXPCSequentialResponseHandler' does not conform to the 'Sendable' protocol
804 | var route: XPCRoute { get }
805 | func handleResponse(_ response: Response)
:
864 | func registerHandler(_ handler: InternalXPCSequentialResponseHandler, forRequest request: Request) {
865 | serialQueue.async {
866 | self.handlers[request.requestID] = handler
| `- warning: capture of 'handler' with non-sendable type 'any InternalXPCSequentialResponseHandler' in a `@Sendable` closure; this is an error in the Swift 6 language mode
867 | }
868 | }
/Users/admin/builder/spi-builder-workspace/Sources/SecureXPC/Client/XPCClient.swift:874:74: warning: capture of 'message' with non-sendable type 'xpc_object_t' (aka 'any OS_xpc_object') in a `@Sendable` closure; this is an error in the Swift 6 language mode
872 | let response: Response
873 | do {
874 | let requestID = try Response.decodeRequestID(dictionary: message)
| `- warning: capture of 'message' with non-sendable type 'xpc_object_t' (aka 'any OS_xpc_object') in a `@Sendable` closure; this is an error in the Swift 6 language mode
875 | guard let route = self.handlers[requestID]?.route else {
876 | return
XPC.OS_xpc_object:1:17: note: protocol 'OS_xpc_object' does not conform to the 'Sendable' protocol
1 | public protocol OS_xpc_object : NSObjectProtocol {
| `- note: protocol 'OS_xpc_object' does not conform to the 'Sendable' protocol
2 | }
/Users/admin/builder/spi-builder-workspace/Sources/SecureXPC/Client/XPCClient.swift:8:1: warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'XPC'
6 | //
7 |
8 | import Foundation
| `- warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'XPC'
9 |
10 | /// An XPC client to make requests and receive responses from an ``XPCServer``.
/Users/admin/builder/spi-builder-workspace/Sources/SecureXPC/Client/XPCClient.swift:875:35: warning: capture of 'self' with non-sendable type 'InProgressSequentialReplies' in a `@Sendable` closure; this is an error in the Swift 6 language mode
856 | /// Encapsulates all in progress requests which were made to the server that could still receive more out-of-band message sends which need to be reassociated
857 | /// with their requests in order to become reply sequences.
858 | fileprivate class InProgressSequentialReplies {
| `- note: class 'InProgressSequentialReplies' does not conform to the 'Sendable' protocol
859 | /// Mapping of requestIDs to handlers.
860 | private var handlers = [UUID : InternalXPCSequentialResponseHandler]()
:
873 | do {
874 | let requestID = try Response.decodeRequestID(dictionary: message)
875 | guard let route = self.handlers[requestID]?.route else {
| `- warning: capture of 'self' with non-sendable type 'InProgressSequentialReplies' in a `@Sendable` closure; this is an error in the Swift 6 language mode
876 | return
877 | }
/Users/admin/builder/spi-builder-workspace/Sources/SecureXPC/Client/XPCClient.swift:485:25: warning: sending 'response' risks causing data races; this is an error in the Swift 6 language mode
483 | contination.resume(throwing: underlyingError)
484 | } else {
485 | contination.resume(with: response)
| |- warning: sending 'response' risks causing data races; this is an error in the Swift 6 language mode
| `- note: task-isolated 'response' is passed as a 'sending' parameter; Uses in callee may race with later task-isolated uses
486 | }
487 | }
/Users/admin/builder/spi-builder-workspace/Sources/SecureXPC/Client/XPCClient.swift:534:30: warning: sending 'value' risks causing data races; this is an error in the Swift 6 language mode
532 | switch result {
533 | case .success(let value):
534 | continuation.yield(value)
| |- warning: sending 'value' risks causing data races; this is an error in the Swift 6 language mode
| `- note: task-isolated 'value' is passed as a 'sending' parameter; Uses in callee may race with later task-isolated uses
535 | case .failure(let error):
536 | if case .handlerError(let handlerError) = error,
/Users/admin/builder/spi-builder-workspace/Sources/SecureXPC/Client/XPCClient.swift:634:34: warning: sending 'response' risks causing data races; this is an error in the Swift 6 language mode
632 | try await withUnsafeThrowingContinuation { continuation in
633 | self.serverIdentity { response in
634 | continuation.resume(with: response)
| |- warning: sending 'response' risks causing data races; this is an error in the Swift 6 language mode
| `- note: task-isolated 'response' is passed as a 'sending' parameter; Uses in callee may race with later task-isolated uses
635 | }
636 | }
[44/50] Compiling SecureXPC XPCEndpointClient.swift
/Users/admin/builder/spi-builder-workspace/Sources/SecureXPC/PackageInternalRoutes.swift:15:16: warning: static property 'noopRoute' is not concurrency-safe because non-'Sendable' type 'XPCRouteWithoutMessageWithoutReply' may have shared mutable state; this is an error in the Swift 6 language mode
13 | ///
14 | /// This is useful because the client can use this to know the server exists and get information about it such as its `SecCode`.
15 | static let noopRoute = XPCRoute.named("noop").packageInternal
| |- warning: static property 'noopRoute' is not concurrency-safe because non-'Sendable' type 'XPCRouteWithoutMessageWithoutReply' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: annotate 'noopRoute' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
16 | }
17 |
/Users/admin/builder/spi-builder-workspace/Sources/SecureXPC/Routes.swift:224:15: note: consider making struct 'XPCRouteWithoutMessageWithoutReply' conform to the 'Sendable' protocol
222 | ///
223 | /// See ``XPCRoute`` for how to create a route.
224 | public struct XPCRouteWithoutMessageWithoutReply {
| `- note: consider making struct 'XPCRouteWithoutMessageWithoutReply' conform to the 'Sendable' protocol
225 | let route: XPCRoute
226 |
/Users/admin/builder/spi-builder-workspace/Sources/SecureXPC/Client/XPCClient.swift:825:16: warning: capture of 'self' with non-sendable type 'InternalXPCSequentialResponseHandlerImpl<S>' in a `@Sendable` closure; this is an error in the Swift 6 language mode
806 | }
807 |
808 | fileprivate class InternalXPCSequentialResponseHandlerImpl<S: Decodable>: InternalXPCSequentialResponseHandler {
| `- note: generic class 'InternalXPCSequentialResponseHandlerImpl' does not conform to the 'Sendable' protocol
809 | let route: XPCRoute
810 | private var failedToDecode = false
:
823 | fileprivate func handleResponse(_ response: Response) {
824 | self.serialQueue.async {
825 | if self.failedToDecode {
| `- warning: capture of 'self' with non-sendable type 'InternalXPCSequentialResponseHandlerImpl<S>' in a `@Sendable` closure; this is an error in the Swift 6 language mode
826 | return
827 | }
/Users/admin/builder/spi-builder-workspace/Sources/SecureXPC/Client/XPCClient.swift:830:20: warning: capture of 'response' with non-sendable type 'Response' in a `@Sendable` closure; this is an error in the Swift 6 language mode
828 |
829 | do {
830 | if response.containsPayload {
| `- warning: capture of 'response' with non-sendable type 'Response' in a `@Sendable` closure; this is an error in the Swift 6 language mode
831 | self.handler(.success(try response.decodePayload(asType: S.self)))
832 | } else if response.containsError {
/Users/admin/builder/spi-builder-workspace/Sources/SecureXPC/Response.swift:14:8: note: consider making struct 'Response' conform to the 'Sendable' protocol
12 | /// Due to how the XPC C API works, instances of this struct can only be created to represent an already received reply (which is expected to be done by the client).
13 | /// The server must instead use the `encodePayload` and `encodeError` static functions.
14 | struct Response {
| `- note: consider making struct 'Response' conform to the 'Sendable' protocol
15 |
16 | private enum ResponseKeys {
/Users/admin/builder/spi-builder-workspace/Sources/SecureXPC/Client/XPCClient.swift:866:13: warning: capture of 'self' with non-sendable type 'InProgressSequentialReplies' in a `@Sendable` closure; this is an error in the Swift 6 language mode
856 | /// Encapsulates all in progress requests which were made to the server that could still receive more out-of-band message sends which need to be reassociated
857 | /// with their requests in order to become reply sequences.
858 | fileprivate class InProgressSequentialReplies {
| `- note: class 'InProgressSequentialReplies' does not conform to the 'Sendable' protocol
859 | /// Mapping of requestIDs to handlers.
860 | private var handlers = [UUID : InternalXPCSequentialResponseHandler]()
:
864 | func registerHandler(_ handler: InternalXPCSequentialResponseHandler, forRequest request: Request) {
865 | serialQueue.async {
866 | self.handlers[request.requestID] = handler
| `- warning: capture of 'self' with non-sendable type 'InProgressSequentialReplies' in a `@Sendable` closure; this is an error in the Swift 6 language mode
867 | }
868 | }
/Users/admin/builder/spi-builder-workspace/Sources/SecureXPC/Client/XPCClient.swift:866:27: warning: capture of 'request' with non-sendable type 'Request' in a `@Sendable` closure; this is an error in the Swift 6 language mode
864 | func registerHandler(_ handler: InternalXPCSequentialResponseHandler, forRequest request: Request) {
865 | serialQueue.async {
866 | self.handlers[request.requestID] = handler
| `- warning: capture of 'request' with non-sendable type 'Request' in a `@Sendable` closure; this is an error in the Swift 6 language mode
867 | }
868 | }
/Users/admin/builder/spi-builder-workspace/Sources/SecureXPC/Request.swift:13:8: note: consider making struct 'Request' conform to the 'Sendable' protocol
11 | ///
12 | /// A request always contains a route and optionally contains a payload.
13 | struct Request {
| `- note: consider making struct 'Request' conform to the 'Sendable' protocol
14 | private enum RequestKeys {
15 | static let route: XPCDictionaryKey = const("__route")
/Users/admin/builder/spi-builder-workspace/Sources/SecureXPC/Client/XPCClient.swift:866:48: warning: capture of 'handler' with non-sendable type 'any InternalXPCSequentialResponseHandler' in a `@Sendable` closure; this is an error in the Swift 6 language mode
801 |
802 | /// This allows for type erasure
803 | fileprivate protocol InternalXPCSequentialResponseHandler {
| `- note: protocol 'InternalXPCSequentialResponseHandler' does not conform to the 'Sendable' protocol
804 | var route: XPCRoute { get }
805 | func handleResponse(_ response: Response)
:
864 | func registerHandler(_ handler: InternalXPCSequentialResponseHandler, forRequest request: Request) {
865 | serialQueue.async {
866 | self.handlers[request.requestID] = handler
| `- warning: capture of 'handler' with non-sendable type 'any InternalXPCSequentialResponseHandler' in a `@Sendable` closure; this is an error in the Swift 6 language mode
867 | }
868 | }
/Users/admin/builder/spi-builder-workspace/Sources/SecureXPC/Client/XPCClient.swift:874:74: warning: capture of 'message' with non-sendable type 'xpc_object_t' (aka 'any OS_xpc_object') in a `@Sendable` closure; this is an error in the Swift 6 language mode
872 | let response: Response
873 | do {
874 | let requestID = try Response.decodeRequestID(dictionary: message)
| `- warning: capture of 'message' with non-sendable type 'xpc_object_t' (aka 'any OS_xpc_object') in a `@Sendable` closure; this is an error in the Swift 6 language mode
875 | guard let route = self.handlers[requestID]?.route else {
876 | return
XPC.OS_xpc_object:1:17: note: protocol 'OS_xpc_object' does not conform to the 'Sendable' protocol
1 | public protocol OS_xpc_object : NSObjectProtocol {
| `- note: protocol 'OS_xpc_object' does not conform to the 'Sendable' protocol
2 | }
/Users/admin/builder/spi-builder-workspace/Sources/SecureXPC/Client/XPCClient.swift:8:1: warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'XPC'
6 | //
7 |
8 | import Foundation
| `- warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'XPC'
9 |
10 | /// An XPC client to make requests and receive responses from an ``XPCServer``.
/Users/admin/builder/spi-builder-workspace/Sources/SecureXPC/Client/XPCClient.swift:875:35: warning: capture of 'self' with non-sendable type 'InProgressSequentialReplies' in a `@Sendable` closure; this is an error in the Swift 6 language mode
856 | /// Encapsulates all in progress requests which were made to the server that could still receive more out-of-band message sends which need to be reassociated
857 | /// with their requests in order to become reply sequences.
858 | fileprivate class InProgressSequentialReplies {
| `- note: class 'InProgressSequentialReplies' does not conform to the 'Sendable' protocol
859 | /// Mapping of requestIDs to handlers.
860 | private var handlers = [UUID : InternalXPCSequentialResponseHandler]()
:
873 | do {
874 | let requestID = try Response.decodeRequestID(dictionary: message)
875 | guard let route = self.handlers[requestID]?.route else {
| `- warning: capture of 'self' with non-sendable type 'InProgressSequentialReplies' in a `@Sendable` closure; this is an error in the Swift 6 language mode
876 | return
877 | }
/Users/admin/builder/spi-builder-workspace/Sources/SecureXPC/Client/XPCClient.swift:485:25: warning: sending 'response' risks causing data races; this is an error in the Swift 6 language mode
483 | contination.resume(throwing: underlyingError)
484 | } else {
485 | contination.resume(with: response)
| |- warning: sending 'response' risks causing data races; this is an error in the Swift 6 language mode
| `- note: task-isolated 'response' is passed as a 'sending' parameter; Uses in callee may race with later task-isolated uses
486 | }
487 | }
/Users/admin/builder/spi-builder-workspace/Sources/SecureXPC/Client/XPCClient.swift:534:30: warning: sending 'value' risks causing data races; this is an error in the Swift 6 language mode
532 | switch result {
533 | case .success(let value):
534 | continuation.yield(value)
| |- warning: sending 'value' risks causing data races; this is an error in the Swift 6 language mode
| `- note: task-isolated 'value' is passed as a 'sending' parameter; Uses in callee may race with later task-isolated uses
535 | case .failure(let error):
536 | if case .handlerError(let handlerError) = error,
/Users/admin/builder/spi-builder-workspace/Sources/SecureXPC/Client/XPCClient.swift:634:34: warning: sending 'response' risks causing data races; this is an error in the Swift 6 language mode
632 | try await withUnsafeThrowingContinuation { continuation in
633 | self.serverIdentity { response in
634 | continuation.resume(with: response)
| |- warning: sending 'response' risks causing data races; this is an error in the Swift 6 language mode
| `- note: task-isolated 'response' is passed as a 'sending' parameter; Uses in callee may race with later task-isolated uses
635 | }
636 | }
[45/50] Compiling SecureXPC XPCMachClient.swift
/Users/admin/builder/spi-builder-workspace/Sources/SecureXPC/PackageInternalRoutes.swift:15:16: warning: static property 'noopRoute' is not concurrency-safe because non-'Sendable' type 'XPCRouteWithoutMessageWithoutReply' may have shared mutable state; this is an error in the Swift 6 language mode
13 | ///
14 | /// This is useful because the client can use this to know the server exists and get information about it such as its `SecCode`.
15 | static let noopRoute = XPCRoute.named("noop").packageInternal
| |- warning: static property 'noopRoute' is not concurrency-safe because non-'Sendable' type 'XPCRouteWithoutMessageWithoutReply' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: annotate 'noopRoute' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
16 | }
17 |
/Users/admin/builder/spi-builder-workspace/Sources/SecureXPC/Routes.swift:224:15: note: consider making struct 'XPCRouteWithoutMessageWithoutReply' conform to the 'Sendable' protocol
222 | ///
223 | /// See ``XPCRoute`` for how to create a route.
224 | public struct XPCRouteWithoutMessageWithoutReply {
| `- note: consider making struct 'XPCRouteWithoutMessageWithoutReply' conform to the 'Sendable' protocol
225 | let route: XPCRoute
226 |
/Users/admin/builder/spi-builder-workspace/Sources/SecureXPC/Client/XPCClient.swift:825:16: warning: capture of 'self' with non-sendable type 'InternalXPCSequentialResponseHandlerImpl<S>' in a `@Sendable` closure; this is an error in the Swift 6 language mode
806 | }
807 |
808 | fileprivate class InternalXPCSequentialResponseHandlerImpl<S: Decodable>: InternalXPCSequentialResponseHandler {
| `- note: generic class 'InternalXPCSequentialResponseHandlerImpl' does not conform to the 'Sendable' protocol
809 | let route: XPCRoute
810 | private var failedToDecode = false
:
823 | fileprivate func handleResponse(_ response: Response) {
824 | self.serialQueue.async {
825 | if self.failedToDecode {
| `- warning: capture of 'self' with non-sendable type 'InternalXPCSequentialResponseHandlerImpl<S>' in a `@Sendable` closure; this is an error in the Swift 6 language mode
826 | return
827 | }
/Users/admin/builder/spi-builder-workspace/Sources/SecureXPC/Client/XPCClient.swift:830:20: warning: capture of 'response' with non-sendable type 'Response' in a `@Sendable` closure; this is an error in the Swift 6 language mode
828 |
829 | do {
830 | if response.containsPayload {
| `- warning: capture of 'response' with non-sendable type 'Response' in a `@Sendable` closure; this is an error in the Swift 6 language mode
831 | self.handler(.success(try response.decodePayload(asType: S.self)))
832 | } else if response.containsError {
/Users/admin/builder/spi-builder-workspace/Sources/SecureXPC/Response.swift:14:8: note: consider making struct 'Response' conform to the 'Sendable' protocol
12 | /// Due to how the XPC C API works, instances of this struct can only be created to represent an already received reply (which is expected to be done by the client).
13 | /// The server must instead use the `encodePayload` and `encodeError` static functions.
14 | struct Response {
| `- note: consider making struct 'Response' conform to the 'Sendable' protocol
15 |
16 | private enum ResponseKeys {
/Users/admin/builder/spi-builder-workspace/Sources/SecureXPC/Client/XPCClient.swift:866:13: warning: capture of 'self' with non-sendable type 'InProgressSequentialReplies' in a `@Sendable` closure; this is an error in the Swift 6 language mode
856 | /// Encapsulates all in progress requests which were made to the server that could still receive more out-of-band message sends which need to be reassociated
857 | /// with their requests in order to become reply sequences.
858 | fileprivate class InProgressSequentialReplies {
| `- note: class 'InProgressSequentialReplies' does not conform to the 'Sendable' protocol
859 | /// Mapping of requestIDs to handlers.
860 | private var handlers = [UUID : InternalXPCSequentialResponseHandler]()
:
864 | func registerHandler(_ handler: InternalXPCSequentialResponseHandler, forRequest request: Request) {
865 | serialQueue.async {
866 | self.handlers[request.requestID] = handler
| `- warning: capture of 'self' with non-sendable type 'InProgressSequentialReplies' in a `@Sendable` closure; this is an error in the Swift 6 language mode
867 | }
868 | }
/Users/admin/builder/spi-builder-workspace/Sources/SecureXPC/Client/XPCClient.swift:866:27: warning: capture of 'request' with non-sendable type 'Request' in a `@Sendable` closure; this is an error in the Swift 6 language mode
864 | func registerHandler(_ handler: InternalXPCSequentialResponseHandler, forRequest request: Request) {
865 | serialQueue.async {
866 | self.handlers[request.requestID] = handler
| `- warning: capture of 'request' with non-sendable type 'Request' in a `@Sendable` closure; this is an error in the Swift 6 language mode
867 | }
868 | }
/Users/admin/builder/spi-builder-workspace/Sources/SecureXPC/Request.swift:13:8: note: consider making struct 'Request' conform to the 'Sendable' protocol
11 | ///
12 | /// A request always contains a route and optionally contains a payload.
13 | struct Request {
| `- note: consider making struct 'Request' conform to the 'Sendable' protocol
14 | private enum RequestKeys {
15 | static let route: XPCDictionaryKey = const("__route")
/Users/admin/builder/spi-builder-workspace/Sources/SecureXPC/Client/XPCClient.swift:866:48: warning: capture of 'handler' with non-sendable type 'any InternalXPCSequentialResponseHandler' in a `@Sendable` closure; this is an error in the Swift 6 language mode
801 |
802 | /// This allows for type erasure
803 | fileprivate protocol InternalXPCSequentialResponseHandler {
| `- note: protocol 'InternalXPCSequentialResponseHandler' does not conform to the 'Sendable' protocol
804 | var route: XPCRoute { get }
805 | func handleResponse(_ response: Response)
:
864 | func registerHandler(_ handler: InternalXPCSequentialResponseHandler, forRequest request: Request) {
865 | serialQueue.async {
866 | self.handlers[request.requestID] = handler
| `- warning: capture of 'handler' with non-sendable type 'any InternalXPCSequentialResponseHandler' in a `@Sendable` closure; this is an error in the Swift 6 language mode
867 | }
868 | }
/Users/admin/builder/spi-builder-workspace/Sources/SecureXPC/Client/XPCClient.swift:874:74: warning: capture of 'message' with non-sendable type 'xpc_object_t' (aka 'any OS_xpc_object') in a `@Sendable` closure; this is an error in the Swift 6 language mode
872 | let response: Response
873 | do {
874 | let requestID = try Response.decodeRequestID(dictionary: message)
| `- warning: capture of 'message' with non-sendable type 'xpc_object_t' (aka 'any OS_xpc_object') in a `@Sendable` closure; this is an error in the Swift 6 language mode
875 | guard let route = self.handlers[requestID]?.route else {
876 | return
XPC.OS_xpc_object:1:17: note: protocol 'OS_xpc_object' does not conform to the 'Sendable' protocol
1 | public protocol OS_xpc_object : NSObjectProtocol {
| `- note: protocol 'OS_xpc_object' does not conform to the 'Sendable' protocol
2 | }
/Users/admin/builder/spi-builder-workspace/Sources/SecureXPC/Client/XPCClient.swift:8:1: warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'XPC'
6 | //
7 |
8 | import Foundation
| `- warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'XPC'
9 |
10 | /// An XPC client to make requests and receive responses from an ``XPCServer``.
/Users/admin/builder/spi-builder-workspace/Sources/SecureXPC/Client/XPCClient.swift:875:35: warning: capture of 'self' with non-sendable type 'InProgressSequentialReplies' in a `@Sendable` closure; this is an error in the Swift 6 language mode
856 | /// Encapsulates all in progress requests which were made to the server that could still receive more out-of-band message sends which need to be reassociated
857 | /// with their requests in order to become reply sequences.
858 | fileprivate class InProgressSequentialReplies {
| `- note: class 'InProgressSequentialReplies' does not conform to the 'Sendable' protocol
859 | /// Mapping of requestIDs to handlers.
860 | private var handlers = [UUID : InternalXPCSequentialResponseHandler]()
:
873 | do {
874 | let requestID = try Response.decodeRequestID(dictionary: message)
875 | guard let route = self.handlers[requestID]?.route else {
| `- warning: capture of 'self' with non-sendable type 'InProgressSequentialReplies' in a `@Sendable` closure; this is an error in the Swift 6 language mode
876 | return
877 | }
/Users/admin/builder/spi-builder-workspace/Sources/SecureXPC/Client/XPCClient.swift:485:25: warning: sending 'response' risks causing data races; this is an error in the Swift 6 language mode
483 | contination.resume(throwing: underlyingError)
484 | } else {
485 | contination.resume(with: response)
| |- warning: sending 'response' risks causing data races; this is an error in the Swift 6 language mode
| `- note: task-isolated 'response' is passed as a 'sending' parameter; Uses in callee may race with later task-isolated uses
486 | }
487 | }
/Users/admin/builder/spi-builder-workspace/Sources/SecureXPC/Client/XPCClient.swift:534:30: warning: sending 'value' risks causing data races; this is an error in the Swift 6 language mode
532 | switch result {
533 | case .success(let value):
534 | continuation.yield(value)
| |- warning: sending 'value' risks causing data races; this is an error in the Swift 6 language mode
| `- note: task-isolated 'value' is passed as a 'sending' parameter; Uses in callee may race with later task-isolated uses
535 | case .failure(let error):
536 | if case .handlerError(let handlerError) = error,
/Users/admin/builder/spi-builder-workspace/Sources/SecureXPC/Client/XPCClient.swift:634:34: warning: sending 'response' risks causing data races; this is an error in the Swift 6 language mode
632 | try await withUnsafeThrowingContinuation { continuation in
633 | self.serverIdentity { response in
634 | continuation.resume(with: response)
| |- warning: sending 'response' risks causing data races; this is an error in the Swift 6 language mode
| `- note: task-isolated 'response' is passed as a 'sending' parameter; Uses in callee may race with later task-isolated uses
635 | }
636 | }
[46/50] Compiling SecureXPC XPCAnonymousServer.swift
/Users/admin/builder/spi-builder-workspace/Sources/SecureXPC/Server/XPCMachServer.swift:89:24: warning: static property 'machServerCache' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
87 | /// This exists for correctness reasons, not as a performance optimization. Only one listener connection for a named service can exist simultaneously, so it's
88 | /// important this invariant be upheld when returning `XPCServer` instances.
89 | private static var machServerCache = [String : XPCMachServer]()
| |- warning: static property 'machServerCache' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'machServerCache' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: annotate 'machServerCache' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
90 |
91 | /// Prevents race conditions for creating and retrieving cached Mach servers
/Users/admin/builder/spi-builder-workspace/Sources/SecureXPC/PackageInternalRoutes.swift:15:16: warning: static property 'noopRoute' is not concurrency-safe because non-'Sendable' type 'XPCRouteWithoutMessageWithoutReply' may have shared mutable state; this is an error in the Swift 6 language mode
13 | ///
14 | /// This is useful because the client can use this to know the server exists and get information about it such as its `SecCode`.
15 | static let noopRoute = XPCRoute.named("noop").packageInternal
| |- warning: static property 'noopRoute' is not concurrency-safe because non-'Sendable' type 'XPCRouteWithoutMessageWithoutReply' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: annotate 'noopRoute' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
16 | }
17 |
/Users/admin/builder/spi-builder-workspace/Sources/SecureXPC/Routes.swift:224:15: note: consider making struct 'XPCRouteWithoutMessageWithoutReply' conform to the 'Sendable' protocol
222 | ///
223 | /// See ``XPCRoute`` for how to create a route.
224 | public struct XPCRouteWithoutMessageWithoutReply {
| `- note: consider making struct 'XPCRouteWithoutMessageWithoutReply' conform to the 'Sendable' protocol
225 | let route: XPCRoute
226 |
/Users/admin/builder/spi-builder-workspace/Sources/SecureXPC/Server/XPCServer.swift:392:74: warning: capture of 'connection' with non-sendable type 'xpc_connection_t' (aka 'any OS_xpc_object') in a `@Sendable` closure; this is an error in the Swift 6 language mode
390 | // concurrent. (Although if an API user sets the target queue to be serial that's supported too.)
391 | self.handlerQueue.async {
392 | XPCServer.ClientIdentity.setForCurrentThread(connection: connection, message: message) {
| `- warning: capture of 'connection' with non-sendable type 'xpc_connection_t' (aka 'any OS_xpc_object') in a `@Sendable` closure; this is an error in the Swift 6 language mode
393 | var reply = handler.shouldCreateReply ? xpc_dictionary_create_reply(message) : nil
394 | do {
XPC.OS_xpc_object:1:17: note: protocol 'OS_xpc_object' does not conform to the 'Sendable' protocol
1 | public protocol OS_xpc_object : NSObjectProtocol {
| `- note: protocol 'OS_xpc_object' does not conform to the 'Sendable' protocol
2 | }
/Users/admin/builder/spi-builder-workspace/Sources/SecureXPC/Server/XPCServer.swift:8:1: warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'XPC'
6 | //
7 |
8 | import Foundation
| `- warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'XPC'
9 |
10 | /// An XPC server to receive requests from and send responses to an ``XPCClient``.
/Users/admin/builder/spi-builder-workspace/Sources/SecureXPC/Server/XPCServer.swift:392:95: warning: capture of 'message' with non-sendable type 'xpc_object_t' (aka 'any OS_xpc_object') in a `@Sendable` closure; this is an error in the Swift 6 language mode
390 | // concurrent. (Although if an API user sets the target queue to be serial that's supported too.)
391 | self.handlerQueue.async {
392 | XPCServer.ClientIdentity.setForCurrentThread(connection: connection, message: message) {
| `- warning: capture of 'message' with non-sendable type 'xpc_object_t' (aka 'any OS_xpc_object') in a `@Sendable` closure; this is an error in the Swift 6 language mode
393 | var reply = handler.shouldCreateReply ? xpc_dictionary_create_reply(message) : nil
394 | do {
XPC.OS_xpc_object:1:17: note: protocol 'OS_xpc_object' does not conform to the 'Sendable' protocol
1 | public protocol OS_xpc_object : NSObjectProtocol {
| `- note: protocol 'OS_xpc_object' does not conform to the 'Sendable' protocol
2 | }
/Users/admin/builder/spi-builder-workspace/Sources/SecureXPC/Server/XPCServer.swift:393:33: warning: capture of 'handler' with non-sendable type 'any XPCHandlerSync' in a `@Sendable` closure; this is an error in the Swift 6 language mode
391 | self.handlerQueue.async {
392 | XPCServer.ClientIdentity.setForCurrentThread(connection: connection, message: message) {
393 | var reply = handler.shouldCreateReply ? xpc_dictionary_create_reply(message) : nil
| `- warning: capture of 'handler' with non-sendable type 'any XPCHandlerSync' in a `@Sendable` closure; this is an error in the Swift 6 language mode
394 | do {
395 | try handler.handle(request: request, server: self, connection: connection, reply: &reply)
:
703 | // MARK: sync handler function wrappers
704 |
705 | fileprivate protocol XPCHandlerSync: XPCHandler {
| `- note: protocol 'XPCHandlerSync' does not conform to the 'Sendable' protocol
706 | func handle(request: Request, server: XPCServer, connection: xpc_connection_t, reply: inout xpc_object_t?) throws
707 | }
/Users/admin/builder/spi-builder-workspace/Sources/SecureXPC/Server/XPCServer.swift:395:53: warning: capture of 'request' with non-sendable type 'Request' in a `@Sendable` closure; this is an error in the Swift 6 language mode
393 | var reply = handler.shouldCreateReply ? xpc_dictionary_create_reply(message) : nil
394 | do {
395 | try handler.handle(request: request, server: self, connection: connection, reply: &reply)
| `- warning: capture of 'request' with non-sendable type 'Request' in a `@Sendable` closure; this is an error in the Swift 6 language mode
396 | try self.maybeSendReply(&reply, request: request, connection: connection)
397 | } catch {
/Users/admin/builder/spi-builder-workspace/Sources/SecureXPC/Request.swift:13:8: note: consider making struct 'Request' conform to the 'Sendable' protocol
11 | ///
12 | /// A request always contains a route and optionally contains a payload.
13 | struct Request {
| `- note: consider making struct 'Request' conform to the 'Sendable' protocol
14 | private enum RequestKeys {
15 | static let route: XPCDictionaryKey = const("__route")
/Users/admin/builder/spi-builder-workspace/Sources/SecureXPC/Server/XPCServer.swift:395:70: warning: capture of 'self' with non-sendable type 'XPCServer' in a `@Sendable` closure; this is an error in the Swift 6 language mode
133 | /// - ``connectionDescriptor``
134 | /// - ``endpoint``
135 | public class XPCServer {
| `- note: class 'XPCServer' does not conform to the 'Sendable' protocol
136 |
137 | /// The queue used to run synchronous handlers associated with registered routes.
:
393 | var reply = handler.shouldCreateReply ? xpc_dictionary_create_reply(message) : nil
394 | do {
395 | try handler.handle(request: request, server: self, connection: connection, reply: &reply)
| `- warning: capture of 'self' with non-sendable type 'XPCServer' in a `@Sendable` closure; this is an error in the Swift 6 language mode
396 | try self.maybeSendReply(&reply, request: request, connection: connection)
397 | } catch {
/Users/admin/builder/spi-builder-workspace/Sources/SecureXPC/Server/XPCServer.swift:393:33: warning: capture of 'handler' with non-sendable type 'any XPCHandlerSync' in an isolated closure; this is an error in the Swift 6 language mode
391 | self.handlerQueue.async {
392 | XPCServer.ClientIdentity.setForCurrentThread(connection: connection, message: message) {
393 | var reply = handler.shouldCreateReply ? xpc_dictionary_create_reply(message) : nil
| `- warning: capture of 'handler' with non-sendable type 'any XPCHandlerSync' in an isolated closure; this is an error in the Swift 6 language mode
394 | do {
395 | try handler.handle(request: request, server: self, connection: connection, reply: &reply)
:
703 | // MARK: sync handler function wrappers
704 |
705 | fileprivate protocol XPCHandlerSync: XPCHandler {
| `- note: protocol 'XPCHandlerSync' does not conform to the 'Sendable' protocol
706 | func handle(request: Request, server: XPCServer, connection: xpc_connection_t, reply: inout xpc_object_t?) throws
707 | }
/Users/admin/builder/spi-builder-workspace/Sources/SecureXPC/Server/XPCServer.swift:393:89: warning: capture of 'message' with non-sendable type 'xpc_object_t' (aka 'any OS_xpc_object') in an isolated closure; this is an error in the Swift 6 language mode
391 | self.handlerQueue.async {
392 | XPCServer.ClientIdentity.setForCurrentThread(connection: connection, message: message) {
393 | var reply = handler.shouldCreateReply ? xpc_dictionary_create_reply(message) : nil
| `- warning: capture of 'message' with non-sendable type 'xpc_object_t' (aka 'any OS_xpc_object') in an isolated closure; this is an error in the Swift 6 language mode
394 | do {
395 | try handler.handle(request: request, server: self, connection: connection, reply: &reply)
XPC.OS_xpc_object:1:17: note: protocol 'OS_xpc_object' does not conform to the 'Sendable' protocol
1 | public protocol OS_xpc_object : NSObjectProtocol {
| `- note: protocol 'OS_xpc_object' does not conform to the 'Sendable' protocol
2 | }
/Users/admin/builder/spi-builder-workspace/Sources/SecureXPC/Server/XPCServer.swift:395:53: warning: capture of 'request' with non-sendable type 'Request' in an isolated closure; this is an error in the Swift 6 language mode
393 | var reply = handler.shouldCreateReply ? xpc_dictionary_create_reply(message) : nil
394 | do {
395 | try handler.handle(request: request, server: self, connection: connection, reply: &reply)
| `- warning: capture of 'request' with non-sendable type 'Request' in an isolated closure; this is an error in the Swift 6 language mode
396 | try self.maybeSendReply(&reply, request: request, connection: connection)
397 | } catch {
/Users/admin/builder/spi-builder-workspace/Sources/SecureXPC/Request.swift:13:8: note: consider making struct 'Request' conform to the 'Sendable' protocol
11 | ///
12 | /// A request always contains a route and optionally contains a payload.
13 | struct Request {
| `- note: consider making struct 'Request' conform to the 'Sendable' protocol
14 | private enum RequestKeys {
15 | static let route: XPCDictionaryKey = const("__route")
/Users/admin/builder/spi-builder-workspace/Sources/SecureXPC/Server/XPCServer.swift:395:70: warning: capture of 'self' with non-sendable type 'XPCServer' in an isolated closure; this is an error in the Swift 6 language mode
133 | /// - ``connectionDescriptor``
134 | /// - ``endpoint``
135 | public class XPCServer {
| `- note: class 'XPCServer' does not conform to the 'Sendable' protocol
136 |
137 | /// The queue used to run synchronous handlers associated with registered routes.
:
393 | var reply = handler.shouldCreateReply ? xpc_dictionary_create_reply(message) : nil
394 | do {
395 | try handler.handle(request: request, server: self, connection: connection, reply: &reply)
| `- warning: capture of 'self' with non-sendable type 'XPCServer' in an isolated closure; this is an error in the Swift 6 language mode
396 | try self.maybeSendReply(&reply, request: request, connection: connection)
397 | } catch {
/Users/admin/builder/spi-builder-workspace/Sources/SecureXPC/Server/XPCServer.swift:395:88: warning: capture of 'connection' with non-sendable type 'xpc_connection_t' (aka 'any OS_xpc_object') in an isolated closure; this is an error in the Swift 6 language mode
393 | var reply = handler.shouldCreateReply ? xpc_dictionary_create_reply(message) : nil
394 | do {
395 | try handler.handle(request: request, server: self, connection: connection, reply: &reply)
| `- warning: capture of 'connection' with non-sendable type 'xpc_connection_t' (aka 'any OS_xpc_object') in an isolated closure; this is an error in the Swift 6 language mode
396 | try self.maybeSendReply(&reply, request: request, connection: connection)
397 | } catch {
XPC.OS_xpc_object:1:17: note: protocol 'OS_xpc_object' does not conform to the 'Sendable' protocol
1 | public protocol OS_xpc_object : NSObjectProtocol {
| `- note: protocol 'OS_xpc_object' does not conform to the 'Sendable' protocol
2 | }
/Users/admin/builder/spi-builder-workspace/Sources/SecureXPC/Server/XPCServiceServer.swift:25:24: warning: static property 'service' is not concurrency-safe because non-'Sendable' type 'XPCServiceServer' may have shared mutable state; this is an error in the Swift 6 language mode
11 | ///
12 | /// In the case of this framework, the XPC service is expected to be communicated with by an `XPCServiceClient`.
13 | internal class XPCServiceServer: XPCServer {
| `- note: class 'XPCServiceServer' does not conform to the 'Sendable' protocol
14 |
15 | internal static var isThisProcessAnXPCService: Bool {
:
23 |
24 | /// The server itself, there can only ever be one per process as there is only ever one named connection that exists for an XPC service
25 | private static let service = XPCServiceServer(clientRequirement: .alwaysAccepting)
| |- warning: static property 'service' is not concurrency-safe because non-'Sendable' type 'XPCServiceServer' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: annotate 'service' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
26 |
27 | /// Whether this server has been started.
/Users/admin/builder/spi-builder-workspace/Sources/SecureXPC/Server/XPCServer.swift:907:26: warning: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure; this is an error in the Swift 6 language mode
905 | case .async(let handler):
906 | if #available(macOS 10.15, *) {
907 | Task {
| `- warning: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure; this is an error in the Swift 6 language mode
908 | await handler(error)
| `- note: closure captures 'handler' which is accessible to code in the current task
909 | }
910 | } else {
/Users/admin/builder/spi-builder-workspace/Sources/SecureXPC/Server/XPCServer.swift:417:22: warning: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure; this is an error in the Swift 6 language mode
415 | // consistent ordering of received events due to the asynchronous behavior of how they're sent by the
416 | // XPCClient. If an API user wants consistent ordering, that needs to be done at the application layer.
417 | Task {
| `- warning: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure; this is an error in the Swift 6 language mode
418 | var reply = handler.shouldCreateReply ? xpc_dictionary_create_reply(message) : nil
419 | do {
420 | try await handler.handle(request: request, server: self, connection: connection, reply: &reply)
| `- note: closure captures 'connection' which is accessible to code in the current task
421 | try self.maybeSendReply(&reply, request: request, connection: connection)
422 | } catch {
[47/50] Compiling SecureXPC XPCMachServer.swift
/Users/admin/builder/spi-builder-workspace/Sources/SecureXPC/Server/XPCMachServer.swift:89:24: warning: static property 'machServerCache' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
87 | /// This exists for correctness reasons, not as a performance optimization. Only one listener connection for a named service can exist simultaneously, so it's
88 | /// important this invariant be upheld when returning `XPCServer` instances.
89 | private static var machServerCache = [String : XPCMachServer]()
| |- warning: static property 'machServerCache' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'machServerCache' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: annotate 'machServerCache' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
90 |
91 | /// Prevents race conditions for creating and retrieving cached Mach servers
/Users/admin/builder/spi-builder-workspace/Sources/SecureXPC/PackageInternalRoutes.swift:15:16: warning: static property 'noopRoute' is not concurrency-safe because non-'Sendable' type 'XPCRouteWithoutMessageWithoutReply' may have shared mutable state; this is an error in the Swift 6 language mode
13 | ///
14 | /// This is useful because the client can use this to know the server exists and get information about it such as its `SecCode`.
15 | static let noopRoute = XPCRoute.named("noop").packageInternal
| |- warning: static property 'noopRoute' is not concurrency-safe because non-'Sendable' type 'XPCRouteWithoutMessageWithoutReply' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: annotate 'noopRoute' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
16 | }
17 |
/Users/admin/builder/spi-builder-workspace/Sources/SecureXPC/Routes.swift:224:15: note: consider making struct 'XPCRouteWithoutMessageWithoutReply' conform to the 'Sendable' protocol
222 | ///
223 | /// See ``XPCRoute`` for how to create a route.
224 | public struct XPCRouteWithoutMessageWithoutReply {
| `- note: consider making struct 'XPCRouteWithoutMessageWithoutReply' conform to the 'Sendable' protocol
225 | let route: XPCRoute
226 |
/Users/admin/builder/spi-builder-workspace/Sources/SecureXPC/Server/XPCServer.swift:392:74: warning: capture of 'connection' with non-sendable type 'xpc_connection_t' (aka 'any OS_xpc_object') in a `@Sendable` closure; this is an error in the Swift 6 language mode
390 | // concurrent. (Although if an API user sets the target queue to be serial that's supported too.)
391 | self.handlerQueue.async {
392 | XPCServer.ClientIdentity.setForCurrentThread(connection: connection, message: message) {
| `- warning: capture of 'connection' with non-sendable type 'xpc_connection_t' (aka 'any OS_xpc_object') in a `@Sendable` closure; this is an error in the Swift 6 language mode
393 | var reply = handler.shouldCreateReply ? xpc_dictionary_create_reply(message) : nil
394 | do {
XPC.OS_xpc_object:1:17: note: protocol 'OS_xpc_object' does not conform to the 'Sendable' protocol
1 | public protocol OS_xpc_object : NSObjectProtocol {
| `- note: protocol 'OS_xpc_object' does not conform to the 'Sendable' protocol
2 | }
/Users/admin/builder/spi-builder-workspace/Sources/SecureXPC/Server/XPCServer.swift:8:1: warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'XPC'
6 | //
7 |
8 | import Foundation
| `- warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'XPC'
9 |
10 | /// An XPC server to receive requests from and send responses to an ``XPCClient``.
/Users/admin/builder/spi-builder-workspace/Sources/SecureXPC/Server/XPCServer.swift:392:95: warning: capture of 'message' with non-sendable type 'xpc_object_t' (aka 'any OS_xpc_object') in a `@Sendable` closure; this is an error in the Swift 6 language mode
390 | // concurrent. (Although if an API user sets the target queue to be serial that's supported too.)
391 | self.handlerQueue.async {
392 | XPCServer.ClientIdentity.setForCurrentThread(connection: connection, message: message) {
| `- warning: capture of 'message' with non-sendable type 'xpc_object_t' (aka 'any OS_xpc_object') in a `@Sendable` closure; this is an error in the Swift 6 language mode
393 | var reply = handler.shouldCreateReply ? xpc_dictionary_create_reply(message) : nil
394 | do {
XPC.OS_xpc_object:1:17: note: protocol 'OS_xpc_object' does not conform to the 'Sendable' protocol
1 | public protocol OS_xpc_object : NSObjectProtocol {
| `- note: protocol 'OS_xpc_object' does not conform to the 'Sendable' protocol
2 | }
/Users/admin/builder/spi-builder-workspace/Sources/SecureXPC/Server/XPCServer.swift:393:33: warning: capture of 'handler' with non-sendable type 'any XPCHandlerSync' in a `@Sendable` closure; this is an error in the Swift 6 language mode
391 | self.handlerQueue.async {
392 | XPCServer.ClientIdentity.setForCurrentThread(connection: connection, message: message) {
393 | var reply = handler.shouldCreateReply ? xpc_dictionary_create_reply(message) : nil
| `- warning: capture of 'handler' with non-sendable type 'any XPCHandlerSync' in a `@Sendable` closure; this is an error in the Swift 6 language mode
394 | do {
395 | try handler.handle(request: request, server: self, connection: connection, reply: &reply)
:
703 | // MARK: sync handler function wrappers
704 |
705 | fileprivate protocol XPCHandlerSync: XPCHandler {
| `- note: protocol 'XPCHandlerSync' does not conform to the 'Sendable' protocol
706 | func handle(request: Request, server: XPCServer, connection: xpc_connection_t, reply: inout xpc_object_t?) throws
707 | }
/Users/admin/builder/spi-builder-workspace/Sources/SecureXPC/Server/XPCServer.swift:395:53: warning: capture of 'request' with non-sendable type 'Request' in a `@Sendable` closure; this is an error in the Swift 6 language mode
393 | var reply = handler.shouldCreateReply ? xpc_dictionary_create_reply(message) : nil
394 | do {
395 | try handler.handle(request: request, server: self, connection: connection, reply: &reply)
| `- warning: capture of 'request' with non-sendable type 'Request' in a `@Sendable` closure; this is an error in the Swift 6 language mode
396 | try self.maybeSendReply(&reply, request: request, connection: connection)
397 | } catch {
/Users/admin/builder/spi-builder-workspace/Sources/SecureXPC/Request.swift:13:8: note: consider making struct 'Request' conform to the 'Sendable' protocol
11 | ///
12 | /// A request always contains a route and optionally contains a payload.
13 | struct Request {
| `- note: consider making struct 'Request' conform to the 'Sendable' protocol
14 | private enum RequestKeys {
15 | static let route: XPCDictionaryKey = const("__route")
/Users/admin/builder/spi-builder-workspace/Sources/SecureXPC/Server/XPCServer.swift:395:70: warning: capture of 'self' with non-sendable type 'XPCServer' in a `@Sendable` closure; this is an error in the Swift 6 language mode
133 | /// - ``connectionDescriptor``
134 | /// - ``endpoint``
135 | public class XPCServer {
| `- note: class 'XPCServer' does not conform to the 'Sendable' protocol
136 |
137 | /// The queue used to run synchronous handlers associated with registered routes.
:
393 | var reply = handler.shouldCreateReply ? xpc_dictionary_create_reply(message) : nil
394 | do {
395 | try handler.handle(request: request, server: self, connection: connection, reply: &reply)
| `- warning: capture of 'self' with non-sendable type 'XPCServer' in a `@Sendable` closure; this is an error in the Swift 6 language mode
396 | try self.maybeSendReply(&reply, request: request, connection: connection)
397 | } catch {
/Users/admin/builder/spi-builder-workspace/Sources/SecureXPC/Server/XPCServer.swift:393:33: warning: capture of 'handler' with non-sendable type 'any XPCHandlerSync' in an isolated closure; this is an error in the Swift 6 language mode
391 | self.handlerQueue.async {
392 | XPCServer.ClientIdentity.setForCurrentThread(connection: connection, message: message) {
393 | var reply = handler.shouldCreateReply ? xpc_dictionary_create_reply(message) : nil
| `- warning: capture of 'handler' with non-sendable type 'any XPCHandlerSync' in an isolated closure; this is an error in the Swift 6 language mode
394 | do {
395 | try handler.handle(request: request, server: self, connection: connection, reply: &reply)
:
703 | // MARK: sync handler function wrappers
704 |
705 | fileprivate protocol XPCHandlerSync: XPCHandler {
| `- note: protocol 'XPCHandlerSync' does not conform to the 'Sendable' protocol
706 | func handle(request: Request, server: XPCServer, connection: xpc_connection_t, reply: inout xpc_object_t?) throws
707 | }
/Users/admin/builder/spi-builder-workspace/Sources/SecureXPC/Server/XPCServer.swift:393:89: warning: capture of 'message' with non-sendable type 'xpc_object_t' (aka 'any OS_xpc_object') in an isolated closure; this is an error in the Swift 6 language mode
391 | self.handlerQueue.async {
392 | XPCServer.ClientIdentity.setForCurrentThread(connection: connection, message: message) {
393 | var reply = handler.shouldCreateReply ? xpc_dictionary_create_reply(message) : nil
| `- warning: capture of 'message' with non-sendable type 'xpc_object_t' (aka 'any OS_xpc_object') in an isolated closure; this is an error in the Swift 6 language mode
394 | do {
395 | try handler.handle(request: request, server: self, connection: connection, reply: &reply)
XPC.OS_xpc_object:1:17: note: protocol 'OS_xpc_object' does not conform to the 'Sendable' protocol
1 | public protocol OS_xpc_object : NSObjectProtocol {
| `- note: protocol 'OS_xpc_object' does not conform to the 'Sendable' protocol
2 | }
/Users/admin/builder/spi-builder-workspace/Sources/SecureXPC/Server/XPCServer.swift:395:53: warning: capture of 'request' with non-sendable type 'Request' in an isolated closure; this is an error in the Swift 6 language mode
393 | var reply = handler.shouldCreateReply ? xpc_dictionary_create_reply(message) : nil
394 | do {
395 | try handler.handle(request: request, server: self, connection: connection, reply: &reply)
| `- warning: capture of 'request' with non-sendable type 'Request' in an isolated closure; this is an error in the Swift 6 language mode
396 | try self.maybeSendReply(&reply, request: request, connection: connection)
397 | } catch {
/Users/admin/builder/spi-builder-workspace/Sources/SecureXPC/Request.swift:13:8: note: consider making struct 'Request' conform to the 'Sendable' protocol
11 | ///
12 | /// A request always contains a route and optionally contains a payload.
13 | struct Request {
| `- note: consider making struct 'Request' conform to the 'Sendable' protocol
14 | private enum RequestKeys {
15 | static let route: XPCDictionaryKey = const("__route")
/Users/admin/builder/spi-builder-workspace/Sources/SecureXPC/Server/XPCServer.swift:395:70: warning: capture of 'self' with non-sendable type 'XPCServer' in an isolated closure; this is an error in the Swift 6 language mode
133 | /// - ``connectionDescriptor``
134 | /// - ``endpoint``
135 | public class XPCServer {
| `- note: class 'XPCServer' does not conform to the 'Sendable' protocol
136 |
137 | /// The queue used to run synchronous handlers associated with registered routes.
:
393 | var reply = handler.shouldCreateReply ? xpc_dictionary_create_reply(message) : nil
394 | do {
395 | try handler.handle(request: request, server: self, connection: connection, reply: &reply)
| `- warning: capture of 'self' with non-sendable type 'XPCServer' in an isolated closure; this is an error in the Swift 6 language mode
396 | try self.maybeSendReply(&reply, request: request, connection: connection)
397 | } catch {
/Users/admin/builder/spi-builder-workspace/Sources/SecureXPC/Server/XPCServer.swift:395:88: warning: capture of 'connection' with non-sendable type 'xpc_connection_t' (aka 'any OS_xpc_object') in an isolated closure; this is an error in the Swift 6 language mode
393 | var reply = handler.shouldCreateReply ? xpc_dictionary_create_reply(message) : nil
394 | do {
395 | try handler.handle(request: request, server: self, connection: connection, reply: &reply)
| `- warning: capture of 'connection' with non-sendable type 'xpc_connection_t' (aka 'any OS_xpc_object') in an isolated closure; this is an error in the Swift 6 language mode
396 | try self.maybeSendReply(&reply, request: request, connection: connection)
397 | } catch {
XPC.OS_xpc_object:1:17: note: protocol 'OS_xpc_object' does not conform to the 'Sendable' protocol
1 | public protocol OS_xpc_object : NSObjectProtocol {
| `- note: protocol 'OS_xpc_object' does not conform to the 'Sendable' protocol
2 | }
/Users/admin/builder/spi-builder-workspace/Sources/SecureXPC/Server/XPCServiceServer.swift:25:24: warning: static property 'service' is not concurrency-safe because non-'Sendable' type 'XPCServiceServer' may have shared mutable state; this is an error in the Swift 6 language mode
11 | ///
12 | /// In the case of this framework, the XPC service is expected to be communicated with by an `XPCServiceClient`.
13 | internal class XPCServiceServer: XPCServer {
| `- note: class 'XPCServiceServer' does not conform to the 'Sendable' protocol
14 |
15 | internal static var isThisProcessAnXPCService: Bool {
:
23 |
24 | /// The server itself, there can only ever be one per process as there is only ever one named connection that exists for an XPC service
25 | private static let service = XPCServiceServer(clientRequirement: .alwaysAccepting)
| |- warning: static property 'service' is not concurrency-safe because non-'Sendable' type 'XPCServiceServer' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: annotate 'service' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
26 |
27 | /// Whether this server has been started.
/Users/admin/builder/spi-builder-workspace/Sources/SecureXPC/Server/XPCServer.swift:907:26: warning: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure; this is an error in the Swift 6 language mode
905 | case .async(let handler):
906 | if #available(macOS 10.15, *) {
907 | Task {
| `- warning: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure; this is an error in the Swift 6 language mode
908 | await handler(error)
| `- note: closure captures 'handler' which is accessible to code in the current task
909 | }
910 | } else {
/Users/admin/builder/spi-builder-workspace/Sources/SecureXPC/Server/XPCServer.swift:417:22: warning: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure; this is an error in the Swift 6 language mode
415 | // consistent ordering of received events due to the asynchronous behavior of how they're sent by the
416 | // XPCClient. If an API user wants consistent ordering, that needs to be done at the application layer.
417 | Task {
| `- warning: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure; this is an error in the Swift 6 language mode
418 | var reply = handler.shouldCreateReply ? xpc_dictionary_create_reply(message) : nil
419 | do {
420 | try await handler.handle(request: request, server: self, connection: connection, reply: &reply)
| `- note: closure captures 'connection' which is accessible to code in the current task
421 | try self.maybeSendReply(&reply, request: request, connection: connection)
422 | } catch {
[48/50] Compiling SecureXPC XPCServer.swift
/Users/admin/builder/spi-builder-workspace/Sources/SecureXPC/Server/XPCMachServer.swift:89:24: warning: static property 'machServerCache' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
87 | /// This exists for correctness reasons, not as a performance optimization. Only one listener connection for a named service can exist simultaneously, so it's
88 | /// important this invariant be upheld when returning `XPCServer` instances.
89 | private static var machServerCache = [String : XPCMachServer]()
| |- warning: static property 'machServerCache' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'machServerCache' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: annotate 'machServerCache' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
90 |
91 | /// Prevents race conditions for creating and retrieving cached Mach servers
/Users/admin/builder/spi-builder-workspace/Sources/SecureXPC/PackageInternalRoutes.swift:15:16: warning: static property 'noopRoute' is not concurrency-safe because non-'Sendable' type 'XPCRouteWithoutMessageWithoutReply' may have shared mutable state; this is an error in the Swift 6 language mode
13 | ///
14 | /// This is useful because the client can use this to know the server exists and get information about it such as its `SecCode`.
15 | static let noopRoute = XPCRoute.named("noop").packageInternal
| |- warning: static property 'noopRoute' is not concurrency-safe because non-'Sendable' type 'XPCRouteWithoutMessageWithoutReply' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: annotate 'noopRoute' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
16 | }
17 |
/Users/admin/builder/spi-builder-workspace/Sources/SecureXPC/Routes.swift:224:15: note: consider making struct 'XPCRouteWithoutMessageWithoutReply' conform to the 'Sendable' protocol
222 | ///
223 | /// See ``XPCRoute`` for how to create a route.
224 | public struct XPCRouteWithoutMessageWithoutReply {
| `- note: consider making struct 'XPCRouteWithoutMessageWithoutReply' conform to the 'Sendable' protocol
225 | let route: XPCRoute
226 |
/Users/admin/builder/spi-builder-workspace/Sources/SecureXPC/Server/XPCServer.swift:392:74: warning: capture of 'connection' with non-sendable type 'xpc_connection_t' (aka 'any OS_xpc_object') in a `@Sendable` closure; this is an error in the Swift 6 language mode
390 | // concurrent. (Although if an API user sets the target queue to be serial that's supported too.)
391 | self.handlerQueue.async {
392 | XPCServer.ClientIdentity.setForCurrentThread(connection: connection, message: message) {
| `- warning: capture of 'connection' with non-sendable type 'xpc_connection_t' (aka 'any OS_xpc_object') in a `@Sendable` closure; this is an error in the Swift 6 language mode
393 | var reply = handler.shouldCreateReply ? xpc_dictionary_create_reply(message) : nil
394 | do {
XPC.OS_xpc_object:1:17: note: protocol 'OS_xpc_object' does not conform to the 'Sendable' protocol
1 | public protocol OS_xpc_object : NSObjectProtocol {
| `- note: protocol 'OS_xpc_object' does not conform to the 'Sendable' protocol
2 | }
/Users/admin/builder/spi-builder-workspace/Sources/SecureXPC/Server/XPCServer.swift:8:1: warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'XPC'
6 | //
7 |
8 | import Foundation
| `- warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'XPC'
9 |
10 | /// An XPC server to receive requests from and send responses to an ``XPCClient``.
/Users/admin/builder/spi-builder-workspace/Sources/SecureXPC/Server/XPCServer.swift:392:95: warning: capture of 'message' with non-sendable type 'xpc_object_t' (aka 'any OS_xpc_object') in a `@Sendable` closure; this is an error in the Swift 6 language mode
390 | // concurrent. (Although if an API user sets the target queue to be serial that's supported too.)
391 | self.handlerQueue.async {
392 | XPCServer.ClientIdentity.setForCurrentThread(connection: connection, message: message) {
| `- warning: capture of 'message' with non-sendable type 'xpc_object_t' (aka 'any OS_xpc_object') in a `@Sendable` closure; this is an error in the Swift 6 language mode
393 | var reply = handler.shouldCreateReply ? xpc_dictionary_create_reply(message) : nil
394 | do {
XPC.OS_xpc_object:1:17: note: protocol 'OS_xpc_object' does not conform to the 'Sendable' protocol
1 | public protocol OS_xpc_object : NSObjectProtocol {
| `- note: protocol 'OS_xpc_object' does not conform to the 'Sendable' protocol
2 | }
/Users/admin/builder/spi-builder-workspace/Sources/SecureXPC/Server/XPCServer.swift:393:33: warning: capture of 'handler' with non-sendable type 'any XPCHandlerSync' in a `@Sendable` closure; this is an error in the Swift 6 language mode
391 | self.handlerQueue.async {
392 | XPCServer.ClientIdentity.setForCurrentThread(connection: connection, message: message) {
393 | var reply = handler.shouldCreateReply ? xpc_dictionary_create_reply(message) : nil
| `- warning: capture of 'handler' with non-sendable type 'any XPCHandlerSync' in a `@Sendable` closure; this is an error in the Swift 6 language mode
394 | do {
395 | try handler.handle(request: request, server: self, connection: connection, reply: &reply)
:
703 | // MARK: sync handler function wrappers
704 |
705 | fileprivate protocol XPCHandlerSync: XPCHandler {
| `- note: protocol 'XPCHandlerSync' does not conform to the 'Sendable' protocol
706 | func handle(request: Request, server: XPCServer, connection: xpc_connection_t, reply: inout xpc_object_t?) throws
707 | }
/Users/admin/builder/spi-builder-workspace/Sources/SecureXPC/Server/XPCServer.swift:395:53: warning: capture of 'request' with non-sendable type 'Request' in a `@Sendable` closure; this is an error in the Swift 6 language mode
393 | var reply = handler.shouldCreateReply ? xpc_dictionary_create_reply(message) : nil
394 | do {
395 | try handler.handle(request: request, server: self, connection: connection, reply: &reply)
| `- warning: capture of 'request' with non-sendable type 'Request' in a `@Sendable` closure; this is an error in the Swift 6 language mode
396 | try self.maybeSendReply(&reply, request: request, connection: connection)
397 | } catch {
/Users/admin/builder/spi-builder-workspace/Sources/SecureXPC/Request.swift:13:8: note: consider making struct 'Request' conform to the 'Sendable' protocol
11 | ///
12 | /// A request always contains a route and optionally contains a payload.
13 | struct Request {
| `- note: consider making struct 'Request' conform to the 'Sendable' protocol
14 | private enum RequestKeys {
15 | static let route: XPCDictionaryKey = const("__route")
/Users/admin/builder/spi-builder-workspace/Sources/SecureXPC/Server/XPCServer.swift:395:70: warning: capture of 'self' with non-sendable type 'XPCServer' in a `@Sendable` closure; this is an error in the Swift 6 language mode
133 | /// - ``connectionDescriptor``
134 | /// - ``endpoint``
135 | public class XPCServer {
| `- note: class 'XPCServer' does not conform to the 'Sendable' protocol
136 |
137 | /// The queue used to run synchronous handlers associated with registered routes.
:
393 | var reply = handler.shouldCreateReply ? xpc_dictionary_create_reply(message) : nil
394 | do {
395 | try handler.handle(request: request, server: self, connection: connection, reply: &reply)
| `- warning: capture of 'self' with non-sendable type 'XPCServer' in a `@Sendable` closure; this is an error in the Swift 6 language mode
396 | try self.maybeSendReply(&reply, request: request, connection: connection)
397 | } catch {
/Users/admin/builder/spi-builder-workspace/Sources/SecureXPC/Server/XPCServer.swift:393:33: warning: capture of 'handler' with non-sendable type 'any XPCHandlerSync' in an isolated closure; this is an error in the Swift 6 language mode
391 | self.handlerQueue.async {
392 | XPCServer.ClientIdentity.setForCurrentThread(connection: connection, message: message) {
393 | var reply = handler.shouldCreateReply ? xpc_dictionary_create_reply(message) : nil
| `- warning: capture of 'handler' with non-sendable type 'any XPCHandlerSync' in an isolated closure; this is an error in the Swift 6 language mode
394 | do {
395 | try handler.handle(request: request, server: self, connection: connection, reply: &reply)
:
703 | // MARK: sync handler function wrappers
704 |
705 | fileprivate protocol XPCHandlerSync: XPCHandler {
| `- note: protocol 'XPCHandlerSync' does not conform to the 'Sendable' protocol
706 | func handle(request: Request, server: XPCServer, connection: xpc_connection_t, reply: inout xpc_object_t?) throws
707 | }
/Users/admin/builder/spi-builder-workspace/Sources/SecureXPC/Server/XPCServer.swift:393:89: warning: capture of 'message' with non-sendable type 'xpc_object_t' (aka 'any OS_xpc_object') in an isolated closure; this is an error in the Swift 6 language mode
391 | self.handlerQueue.async {
392 | XPCServer.ClientIdentity.setForCurrentThread(connection: connection, message: message) {
393 | var reply = handler.shouldCreateReply ? xpc_dictionary_create_reply(message) : nil
| `- warning: capture of 'message' with non-sendable type 'xpc_object_t' (aka 'any OS_xpc_object') in an isolated closure; this is an error in the Swift 6 language mode
394 | do {
395 | try handler.handle(request: request, server: self, connection: connection, reply: &reply)
XPC.OS_xpc_object:1:17: note: protocol 'OS_xpc_object' does not conform to the 'Sendable' protocol
1 | public protocol OS_xpc_object : NSObjectProtocol {
| `- note: protocol 'OS_xpc_object' does not conform to the 'Sendable' protocol
2 | }
/Users/admin/builder/spi-builder-workspace/Sources/SecureXPC/Server/XPCServer.swift:395:53: warning: capture of 'request' with non-sendable type 'Request' in an isolated closure; this is an error in the Swift 6 language mode
393 | var reply = handler.shouldCreateReply ? xpc_dictionary_create_reply(message) : nil
394 | do {
395 | try handler.handle(request: request, server: self, connection: connection, reply: &reply)
| `- warning: capture of 'request' with non-sendable type 'Request' in an isolated closure; this is an error in the Swift 6 language mode
396 | try self.maybeSendReply(&reply, request: request, connection: connection)
397 | } catch {
/Users/admin/builder/spi-builder-workspace/Sources/SecureXPC/Request.swift:13:8: note: consider making struct 'Request' conform to the 'Sendable' protocol
11 | ///
12 | /// A request always contains a route and optionally contains a payload.
13 | struct Request {
| `- note: consider making struct 'Request' conform to the 'Sendable' protocol
14 | private enum RequestKeys {
15 | static let route: XPCDictionaryKey = const("__route")
/Users/admin/builder/spi-builder-workspace/Sources/SecureXPC/Server/XPCServer.swift:395:70: warning: capture of 'self' with non-sendable type 'XPCServer' in an isolated closure; this is an error in the Swift 6 language mode
133 | /// - ``connectionDescriptor``
134 | /// - ``endpoint``
135 | public class XPCServer {
| `- note: class 'XPCServer' does not conform to the 'Sendable' protocol
136 |
137 | /// The queue used to run synchronous handlers associated with registered routes.
:
393 | var reply = handler.shouldCreateReply ? xpc_dictionary_create_reply(message) : nil
394 | do {
395 | try handler.handle(request: request, server: self, connection: connection, reply: &reply)
| `- warning: capture of 'self' with non-sendable type 'XPCServer' in an isolated closure; this is an error in the Swift 6 language mode
396 | try self.maybeSendReply(&reply, request: request, connection: connection)
397 | } catch {
/Users/admin/builder/spi-builder-workspace/Sources/SecureXPC/Server/XPCServer.swift:395:88: warning: capture of 'connection' with non-sendable type 'xpc_connection_t' (aka 'any OS_xpc_object') in an isolated closure; this is an error in the Swift 6 language mode
393 | var reply = handler.shouldCreateReply ? xpc_dictionary_create_reply(message) : nil
394 | do {
395 | try handler.handle(request: request, server: self, connection: connection, reply: &reply)
| `- warning: capture of 'connection' with non-sendable type 'xpc_connection_t' (aka 'any OS_xpc_object') in an isolated closure; this is an error in the Swift 6 language mode
396 | try self.maybeSendReply(&reply, request: request, connection: connection)
397 | } catch {
XPC.OS_xpc_object:1:17: note: protocol 'OS_xpc_object' does not conform to the 'Sendable' protocol
1 | public protocol OS_xpc_object : NSObjectProtocol {
| `- note: protocol 'OS_xpc_object' does not conform to the 'Sendable' protocol
2 | }
/Users/admin/builder/spi-builder-workspace/Sources/SecureXPC/Server/XPCServiceServer.swift:25:24: warning: static property 'service' is not concurrency-safe because non-'Sendable' type 'XPCServiceServer' may have shared mutable state; this is an error in the Swift 6 language mode
11 | ///
12 | /// In the case of this framework, the XPC service is expected to be communicated with by an `XPCServiceClient`.
13 | internal class XPCServiceServer: XPCServer {
| `- note: class 'XPCServiceServer' does not conform to the 'Sendable' protocol
14 |
15 | internal static var isThisProcessAnXPCService: Bool {
:
23 |
24 | /// The server itself, there can only ever be one per process as there is only ever one named connection that exists for an XPC service
25 | private static let service = XPCServiceServer(clientRequirement: .alwaysAccepting)
| |- warning: static property 'service' is not concurrency-safe because non-'Sendable' type 'XPCServiceServer' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: annotate 'service' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
26 |
27 | /// Whether this server has been started.
/Users/admin/builder/spi-builder-workspace/Sources/SecureXPC/Server/XPCServer.swift:907:26: warning: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure; this is an error in the Swift 6 language mode
905 | case .async(let handler):
906 | if #available(macOS 10.15, *) {
907 | Task {
| `- warning: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure; this is an error in the Swift 6 language mode
908 | await handler(error)
| `- note: closure captures 'handler' which is accessible to code in the current task
909 | }
910 | } else {
/Users/admin/builder/spi-builder-workspace/Sources/SecureXPC/Server/XPCServer.swift:417:22: warning: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure; this is an error in the Swift 6 language mode
415 | // consistent ordering of received events due to the asynchronous behavior of how they're sent by the
416 | // XPCClient. If an API user wants consistent ordering, that needs to be done at the application layer.
417 | Task {
| `- warning: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure; this is an error in the Swift 6 language mode
418 | var reply = handler.shouldCreateReply ? xpc_dictionary_create_reply(message) : nil
419 | do {
420 | try await handler.handle(request: request, server: self, connection: connection, reply: &reply)
| `- note: closure captures 'connection' which is accessible to code in the current task
421 | try self.maybeSendReply(&reply, request: request, connection: connection)
422 | } catch {
[49/50] Compiling SecureXPC XPCServiceServer.swift
/Users/admin/builder/spi-builder-workspace/Sources/SecureXPC/Server/XPCMachServer.swift:89:24: warning: static property 'machServerCache' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
87 | /// This exists for correctness reasons, not as a performance optimization. Only one listener connection for a named service can exist simultaneously, so it's
88 | /// important this invariant be upheld when returning `XPCServer` instances.
89 | private static var machServerCache = [String : XPCMachServer]()
| |- warning: static property 'machServerCache' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'machServerCache' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: annotate 'machServerCache' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
90 |
91 | /// Prevents race conditions for creating and retrieving cached Mach servers
/Users/admin/builder/spi-builder-workspace/Sources/SecureXPC/PackageInternalRoutes.swift:15:16: warning: static property 'noopRoute' is not concurrency-safe because non-'Sendable' type 'XPCRouteWithoutMessageWithoutReply' may have shared mutable state; this is an error in the Swift 6 language mode
13 | ///
14 | /// This is useful because the client can use this to know the server exists and get information about it such as its `SecCode`.
15 | static let noopRoute = XPCRoute.named("noop").packageInternal
| |- warning: static property 'noopRoute' is not concurrency-safe because non-'Sendable' type 'XPCRouteWithoutMessageWithoutReply' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: annotate 'noopRoute' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
16 | }
17 |
/Users/admin/builder/spi-builder-workspace/Sources/SecureXPC/Routes.swift:224:15: note: consider making struct 'XPCRouteWithoutMessageWithoutReply' conform to the 'Sendable' protocol
222 | ///
223 | /// See ``XPCRoute`` for how to create a route.
224 | public struct XPCRouteWithoutMessageWithoutReply {
| `- note: consider making struct 'XPCRouteWithoutMessageWithoutReply' conform to the 'Sendable' protocol
225 | let route: XPCRoute
226 |
/Users/admin/builder/spi-builder-workspace/Sources/SecureXPC/Server/XPCServer.swift:392:74: warning: capture of 'connection' with non-sendable type 'xpc_connection_t' (aka 'any OS_xpc_object') in a `@Sendable` closure; this is an error in the Swift 6 language mode
390 | // concurrent. (Although if an API user sets the target queue to be serial that's supported too.)
391 | self.handlerQueue.async {
392 | XPCServer.ClientIdentity.setForCurrentThread(connection: connection, message: message) {
| `- warning: capture of 'connection' with non-sendable type 'xpc_connection_t' (aka 'any OS_xpc_object') in a `@Sendable` closure; this is an error in the Swift 6 language mode
393 | var reply = handler.shouldCreateReply ? xpc_dictionary_create_reply(message) : nil
394 | do {
XPC.OS_xpc_object:1:17: note: protocol 'OS_xpc_object' does not conform to the 'Sendable' protocol
1 | public protocol OS_xpc_object : NSObjectProtocol {
| `- note: protocol 'OS_xpc_object' does not conform to the 'Sendable' protocol
2 | }
/Users/admin/builder/spi-builder-workspace/Sources/SecureXPC/Server/XPCServer.swift:8:1: warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'XPC'
6 | //
7 |
8 | import Foundation
| `- warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'XPC'
9 |
10 | /// An XPC server to receive requests from and send responses to an ``XPCClient``.
/Users/admin/builder/spi-builder-workspace/Sources/SecureXPC/Server/XPCServer.swift:392:95: warning: capture of 'message' with non-sendable type 'xpc_object_t' (aka 'any OS_xpc_object') in a `@Sendable` closure; this is an error in the Swift 6 language mode
390 | // concurrent. (Although if an API user sets the target queue to be serial that's supported too.)
391 | self.handlerQueue.async {
392 | XPCServer.ClientIdentity.setForCurrentThread(connection: connection, message: message) {
| `- warning: capture of 'message' with non-sendable type 'xpc_object_t' (aka 'any OS_xpc_object') in a `@Sendable` closure; this is an error in the Swift 6 language mode
393 | var reply = handler.shouldCreateReply ? xpc_dictionary_create_reply(message) : nil
394 | do {
XPC.OS_xpc_object:1:17: note: protocol 'OS_xpc_object' does not conform to the 'Sendable' protocol
1 | public protocol OS_xpc_object : NSObjectProtocol {
| `- note: protocol 'OS_xpc_object' does not conform to the 'Sendable' protocol
2 | }
/Users/admin/builder/spi-builder-workspace/Sources/SecureXPC/Server/XPCServer.swift:393:33: warning: capture of 'handler' with non-sendable type 'any XPCHandlerSync' in a `@Sendable` closure; this is an error in the Swift 6 language mode
391 | self.handlerQueue.async {
392 | XPCServer.ClientIdentity.setForCurrentThread(connection: connection, message: message) {
393 | var reply = handler.shouldCreateReply ? xpc_dictionary_create_reply(message) : nil
| `- warning: capture of 'handler' with non-sendable type 'any XPCHandlerSync' in a `@Sendable` closure; this is an error in the Swift 6 language mode
394 | do {
395 | try handler.handle(request: request, server: self, connection: connection, reply: &reply)
:
703 | // MARK: sync handler function wrappers
704 |
705 | fileprivate protocol XPCHandlerSync: XPCHandler {
| `- note: protocol 'XPCHandlerSync' does not conform to the 'Sendable' protocol
706 | func handle(request: Request, server: XPCServer, connection: xpc_connection_t, reply: inout xpc_object_t?) throws
707 | }
/Users/admin/builder/spi-builder-workspace/Sources/SecureXPC/Server/XPCServer.swift:395:53: warning: capture of 'request' with non-sendable type 'Request' in a `@Sendable` closure; this is an error in the Swift 6 language mode
393 | var reply = handler.shouldCreateReply ? xpc_dictionary_create_reply(message) : nil
394 | do {
395 | try handler.handle(request: request, server: self, connection: connection, reply: &reply)
| `- warning: capture of 'request' with non-sendable type 'Request' in a `@Sendable` closure; this is an error in the Swift 6 language mode
396 | try self.maybeSendReply(&reply, request: request, connection: connection)
397 | } catch {
/Users/admin/builder/spi-builder-workspace/Sources/SecureXPC/Request.swift:13:8: note: consider making struct 'Request' conform to the 'Sendable' protocol
11 | ///
12 | /// A request always contains a route and optionally contains a payload.
13 | struct Request {
| `- note: consider making struct 'Request' conform to the 'Sendable' protocol
14 | private enum RequestKeys {
15 | static let route: XPCDictionaryKey = const("__route")
/Users/admin/builder/spi-builder-workspace/Sources/SecureXPC/Server/XPCServer.swift:395:70: warning: capture of 'self' with non-sendable type 'XPCServer' in a `@Sendable` closure; this is an error in the Swift 6 language mode
133 | /// - ``connectionDescriptor``
134 | /// - ``endpoint``
135 | public class XPCServer {
| `- note: class 'XPCServer' does not conform to the 'Sendable' protocol
136 |
137 | /// The queue used to run synchronous handlers associated with registered routes.
:
393 | var reply = handler.shouldCreateReply ? xpc_dictionary_create_reply(message) : nil
394 | do {
395 | try handler.handle(request: request, server: self, connection: connection, reply: &reply)
| `- warning: capture of 'self' with non-sendable type 'XPCServer' in a `@Sendable` closure; this is an error in the Swift 6 language mode
396 | try self.maybeSendReply(&reply, request: request, connection: connection)
397 | } catch {
/Users/admin/builder/spi-builder-workspace/Sources/SecureXPC/Server/XPCServer.swift:393:33: warning: capture of 'handler' with non-sendable type 'any XPCHandlerSync' in an isolated closure; this is an error in the Swift 6 language mode
391 | self.handlerQueue.async {
392 | XPCServer.ClientIdentity.setForCurrentThread(connection: connection, message: message) {
393 | var reply = handler.shouldCreateReply ? xpc_dictionary_create_reply(message) : nil
| `- warning: capture of 'handler' with non-sendable type 'any XPCHandlerSync' in an isolated closure; this is an error in the Swift 6 language mode
394 | do {
395 | try handler.handle(request: request, server: self, connection: connection, reply: &reply)
:
703 | // MARK: sync handler function wrappers
704 |
705 | fileprivate protocol XPCHandlerSync: XPCHandler {
| `- note: protocol 'XPCHandlerSync' does not conform to the 'Sendable' protocol
706 | func handle(request: Request, server: XPCServer, connection: xpc_connection_t, reply: inout xpc_object_t?) throws
707 | }
/Users/admin/builder/spi-builder-workspace/Sources/SecureXPC/Server/XPCServer.swift:393:89: warning: capture of 'message' with non-sendable type 'xpc_object_t' (aka 'any OS_xpc_object') in an isolated closure; this is an error in the Swift 6 language mode
391 | self.handlerQueue.async {
392 | XPCServer.ClientIdentity.setForCurrentThread(connection: connection, message: message) {
393 | var reply = handler.shouldCreateReply ? xpc_dictionary_create_reply(message) : nil
| `- warning: capture of 'message' with non-sendable type 'xpc_object_t' (aka 'any OS_xpc_object') in an isolated closure; this is an error in the Swift 6 language mode
394 | do {
395 | try handler.handle(request: request, server: self, connection: connection, reply: &reply)
XPC.OS_xpc_object:1:17: note: protocol 'OS_xpc_object' does not conform to the 'Sendable' protocol
1 | public protocol OS_xpc_object : NSObjectProtocol {
| `- note: protocol 'OS_xpc_object' does not conform to the 'Sendable' protocol
2 | }
/Users/admin/builder/spi-builder-workspace/Sources/SecureXPC/Server/XPCServer.swift:395:53: warning: capture of 'request' with non-sendable type 'Request' in an isolated closure; this is an error in the Swift 6 language mode
393 | var reply = handler.shouldCreateReply ? xpc_dictionary_create_reply(message) : nil
394 | do {
395 | try handler.handle(request: request, server: self, connection: connection, reply: &reply)
| `- warning: capture of 'request' with non-sendable type 'Request' in an isolated closure; this is an error in the Swift 6 language mode
396 | try self.maybeSendReply(&reply, request: request, connection: connection)
397 | } catch {
/Users/admin/builder/spi-builder-workspace/Sources/SecureXPC/Request.swift:13:8: note: consider making struct 'Request' conform to the 'Sendable' protocol
11 | ///
12 | /// A request always contains a route and optionally contains a payload.
13 | struct Request {
| `- note: consider making struct 'Request' conform to the 'Sendable' protocol
14 | private enum RequestKeys {
15 | static let route: XPCDictionaryKey = const("__route")
/Users/admin/builder/spi-builder-workspace/Sources/SecureXPC/Server/XPCServer.swift:395:70: warning: capture of 'self' with non-sendable type 'XPCServer' in an isolated closure; this is an error in the Swift 6 language mode
133 | /// - ``connectionDescriptor``
134 | /// - ``endpoint``
135 | public class XPCServer {
| `- note: class 'XPCServer' does not conform to the 'Sendable' protocol
136 |
137 | /// The queue used to run synchronous handlers associated with registered routes.
:
393 | var reply = handler.shouldCreateReply ? xpc_dictionary_create_reply(message) : nil
394 | do {
395 | try handler.handle(request: request, server: self, connection: connection, reply: &reply)
| `- warning: capture of 'self' with non-sendable type 'XPCServer' in an isolated closure; this is an error in the Swift 6 language mode
396 | try self.maybeSendReply(&reply, request: request, connection: connection)
397 | } catch {
/Users/admin/builder/spi-builder-workspace/Sources/SecureXPC/Server/XPCServer.swift:395:88: warning: capture of 'connection' with non-sendable type 'xpc_connection_t' (aka 'any OS_xpc_object') in an isolated closure; this is an error in the Swift 6 language mode
393 | var reply = handler.shouldCreateReply ? xpc_dictionary_create_reply(message) : nil
394 | do {
395 | try handler.handle(request: request, server: self, connection: connection, reply: &reply)
| `- warning: capture of 'connection' with non-sendable type 'xpc_connection_t' (aka 'any OS_xpc_object') in an isolated closure; this is an error in the Swift 6 language mode
396 | try self.maybeSendReply(&reply, request: request, connection: connection)
397 | } catch {
XPC.OS_xpc_object:1:17: note: protocol 'OS_xpc_object' does not conform to the 'Sendable' protocol
1 | public protocol OS_xpc_object : NSObjectProtocol {
| `- note: protocol 'OS_xpc_object' does not conform to the 'Sendable' protocol
2 | }
/Users/admin/builder/spi-builder-workspace/Sources/SecureXPC/Server/XPCServiceServer.swift:25:24: warning: static property 'service' is not concurrency-safe because non-'Sendable' type 'XPCServiceServer' may have shared mutable state; this is an error in the Swift 6 language mode
11 | ///
12 | /// In the case of this framework, the XPC service is expected to be communicated with by an `XPCServiceClient`.
13 | internal class XPCServiceServer: XPCServer {
| `- note: class 'XPCServiceServer' does not conform to the 'Sendable' protocol
14 |
15 | internal static var isThisProcessAnXPCService: Bool {
:
23 |
24 | /// The server itself, there can only ever be one per process as there is only ever one named connection that exists for an XPC service
25 | private static let service = XPCServiceServer(clientRequirement: .alwaysAccepting)
| |- warning: static property 'service' is not concurrency-safe because non-'Sendable' type 'XPCServiceServer' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: annotate 'service' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
26 |
27 | /// Whether this server has been started.
/Users/admin/builder/spi-builder-workspace/Sources/SecureXPC/Server/XPCServer.swift:907:26: warning: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure; this is an error in the Swift 6 language mode
905 | case .async(let handler):
906 | if #available(macOS 10.15, *) {
907 | Task {
| `- warning: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure; this is an error in the Swift 6 language mode
908 | await handler(error)
| `- note: closure captures 'handler' which is accessible to code in the current task
909 | }
910 | } else {
/Users/admin/builder/spi-builder-workspace/Sources/SecureXPC/Server/XPCServer.swift:417:22: warning: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure; this is an error in the Swift 6 language mode
415 | // consistent ordering of received events due to the asynchronous behavior of how they're sent by the
416 | // XPCClient. If an API user wants consistent ordering, that needs to be done at the application layer.
417 | Task {
| `- warning: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure; this is an error in the Swift 6 language mode
418 | var reply = handler.shouldCreateReply ? xpc_dictionary_create_reply(message) : nil
419 | do {
420 | try await handler.handle(request: request, server: self, connection: connection, reply: &reply)
| `- note: closure captures 'connection' which is accessible to code in the current task
421 | try self.maybeSendReply(&reply, request: request, connection: connection)
422 | } catch {
[50/50] Compiling SecureXPC SharedMemory.swift
/Users/admin/builder/spi-builder-workspace/Sources/SecureXPC/Server/XPCMachServer.swift:89:24: warning: static property 'machServerCache' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
87 | /// This exists for correctness reasons, not as a performance optimization. Only one listener connection for a named service can exist simultaneously, so it's
88 | /// important this invariant be upheld when returning `XPCServer` instances.
89 | private static var machServerCache = [String : XPCMachServer]()
| |- warning: static property 'machServerCache' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'machServerCache' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: annotate 'machServerCache' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
90 |
91 | /// Prevents race conditions for creating and retrieving cached Mach servers
/Users/admin/builder/spi-builder-workspace/Sources/SecureXPC/PackageInternalRoutes.swift:15:16: warning: static property 'noopRoute' is not concurrency-safe because non-'Sendable' type 'XPCRouteWithoutMessageWithoutReply' may have shared mutable state; this is an error in the Swift 6 language mode
13 | ///
14 | /// This is useful because the client can use this to know the server exists and get information about it such as its `SecCode`.
15 | static let noopRoute = XPCRoute.named("noop").packageInternal
| |- warning: static property 'noopRoute' is not concurrency-safe because non-'Sendable' type 'XPCRouteWithoutMessageWithoutReply' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: annotate 'noopRoute' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
16 | }
17 |
/Users/admin/builder/spi-builder-workspace/Sources/SecureXPC/Routes.swift:224:15: note: consider making struct 'XPCRouteWithoutMessageWithoutReply' conform to the 'Sendable' protocol
222 | ///
223 | /// See ``XPCRoute`` for how to create a route.
224 | public struct XPCRouteWithoutMessageWithoutReply {
| `- note: consider making struct 'XPCRouteWithoutMessageWithoutReply' conform to the 'Sendable' protocol
225 | let route: XPCRoute
226 |
/Users/admin/builder/spi-builder-workspace/Sources/SecureXPC/Server/XPCServer.swift:392:74: warning: capture of 'connection' with non-sendable type 'xpc_connection_t' (aka 'any OS_xpc_object') in a `@Sendable` closure; this is an error in the Swift 6 language mode
390 | // concurrent. (Although if an API user sets the target queue to be serial that's supported too.)
391 | self.handlerQueue.async {
392 | XPCServer.ClientIdentity.setForCurrentThread(connection: connection, message: message) {
| `- warning: capture of 'connection' with non-sendable type 'xpc_connection_t' (aka 'any OS_xpc_object') in a `@Sendable` closure; this is an error in the Swift 6 language mode
393 | var reply = handler.shouldCreateReply ? xpc_dictionary_create_reply(message) : nil
394 | do {
XPC.OS_xpc_object:1:17: note: protocol 'OS_xpc_object' does not conform to the 'Sendable' protocol
1 | public protocol OS_xpc_object : NSObjectProtocol {
| `- note: protocol 'OS_xpc_object' does not conform to the 'Sendable' protocol
2 | }
/Users/admin/builder/spi-builder-workspace/Sources/SecureXPC/Server/XPCServer.swift:8:1: warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'XPC'
6 | //
7 |
8 | import Foundation
| `- warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'XPC'
9 |
10 | /// An XPC server to receive requests from and send responses to an ``XPCClient``.
/Users/admin/builder/spi-builder-workspace/Sources/SecureXPC/Server/XPCServer.swift:392:95: warning: capture of 'message' with non-sendable type 'xpc_object_t' (aka 'any OS_xpc_object') in a `@Sendable` closure; this is an error in the Swift 6 language mode
390 | // concurrent. (Although if an API user sets the target queue to be serial that's supported too.)
391 | self.handlerQueue.async {
392 | XPCServer.ClientIdentity.setForCurrentThread(connection: connection, message: message) {
| `- warning: capture of 'message' with non-sendable type 'xpc_object_t' (aka 'any OS_xpc_object') in a `@Sendable` closure; this is an error in the Swift 6 language mode
393 | var reply = handler.shouldCreateReply ? xpc_dictionary_create_reply(message) : nil
394 | do {
XPC.OS_xpc_object:1:17: note: protocol 'OS_xpc_object' does not conform to the 'Sendable' protocol
1 | public protocol OS_xpc_object : NSObjectProtocol {
| `- note: protocol 'OS_xpc_object' does not conform to the 'Sendable' protocol
2 | }
/Users/admin/builder/spi-builder-workspace/Sources/SecureXPC/Server/XPCServer.swift:393:33: warning: capture of 'handler' with non-sendable type 'any XPCHandlerSync' in a `@Sendable` closure; this is an error in the Swift 6 language mode
391 | self.handlerQueue.async {
392 | XPCServer.ClientIdentity.setForCurrentThread(connection: connection, message: message) {
393 | var reply = handler.shouldCreateReply ? xpc_dictionary_create_reply(message) : nil
| `- warning: capture of 'handler' with non-sendable type 'any XPCHandlerSync' in a `@Sendable` closure; this is an error in the Swift 6 language mode
394 | do {
395 | try handler.handle(request: request, server: self, connection: connection, reply: &reply)
:
703 | // MARK: sync handler function wrappers
704 |
705 | fileprivate protocol XPCHandlerSync: XPCHandler {
| `- note: protocol 'XPCHandlerSync' does not conform to the 'Sendable' protocol
706 | func handle(request: Request, server: XPCServer, connection: xpc_connection_t, reply: inout xpc_object_t?) throws
707 | }
/Users/admin/builder/spi-builder-workspace/Sources/SecureXPC/Server/XPCServer.swift:395:53: warning: capture of 'request' with non-sendable type 'Request' in a `@Sendable` closure; this is an error in the Swift 6 language mode
393 | var reply = handler.shouldCreateReply ? xpc_dictionary_create_reply(message) : nil
394 | do {
395 | try handler.handle(request: request, server: self, connection: connection, reply: &reply)
| `- warning: capture of 'request' with non-sendable type 'Request' in a `@Sendable` closure; this is an error in the Swift 6 language mode
396 | try self.maybeSendReply(&reply, request: request, connection: connection)
397 | } catch {
/Users/admin/builder/spi-builder-workspace/Sources/SecureXPC/Request.swift:13:8: note: consider making struct 'Request' conform to the 'Sendable' protocol
11 | ///
12 | /// A request always contains a route and optionally contains a payload.
13 | struct Request {
| `- note: consider making struct 'Request' conform to the 'Sendable' protocol
14 | private enum RequestKeys {
15 | static let route: XPCDictionaryKey = const("__route")
/Users/admin/builder/spi-builder-workspace/Sources/SecureXPC/Server/XPCServer.swift:395:70: warning: capture of 'self' with non-sendable type 'XPCServer' in a `@Sendable` closure; this is an error in the Swift 6 language mode
133 | /// - ``connectionDescriptor``
134 | /// - ``endpoint``
135 | public class XPCServer {
| `- note: class 'XPCServer' does not conform to the 'Sendable' protocol
136 |
137 | /// The queue used to run synchronous handlers associated with registered routes.
:
393 | var reply = handler.shouldCreateReply ? xpc_dictionary_create_reply(message) : nil
394 | do {
395 | try handler.handle(request: request, server: self, connection: connection, reply: &reply)
| `- warning: capture of 'self' with non-sendable type 'XPCServer' in a `@Sendable` closure; this is an error in the Swift 6 language mode
396 | try self.maybeSendReply(&reply, request: request, connection: connection)
397 | } catch {
/Users/admin/builder/spi-builder-workspace/Sources/SecureXPC/Server/XPCServer.swift:393:33: warning: capture of 'handler' with non-sendable type 'any XPCHandlerSync' in an isolated closure; this is an error in the Swift 6 language mode
391 | self.handlerQueue.async {
392 | XPCServer.ClientIdentity.setForCurrentThread(connection: connection, message: message) {
393 | var reply = handler.shouldCreateReply ? xpc_dictionary_create_reply(message) : nil
| `- warning: capture of 'handler' with non-sendable type 'any XPCHandlerSync' in an isolated closure; this is an error in the Swift 6 language mode
394 | do {
395 | try handler.handle(request: request, server: self, connection: connection, reply: &reply)
:
703 | // MARK: sync handler function wrappers
704 |
705 | fileprivate protocol XPCHandlerSync: XPCHandler {
| `- note: protocol 'XPCHandlerSync' does not conform to the 'Sendable' protocol
706 | func handle(request: Request, server: XPCServer, connection: xpc_connection_t, reply: inout xpc_object_t?) throws
707 | }
/Users/admin/builder/spi-builder-workspace/Sources/SecureXPC/Server/XPCServer.swift:393:89: warning: capture of 'message' with non-sendable type 'xpc_object_t' (aka 'any OS_xpc_object') in an isolated closure; this is an error in the Swift 6 language mode
391 | self.handlerQueue.async {
392 | XPCServer.ClientIdentity.setForCurrentThread(connection: connection, message: message) {
393 | var reply = handler.shouldCreateReply ? xpc_dictionary_create_reply(message) : nil
| `- warning: capture of 'message' with non-sendable type 'xpc_object_t' (aka 'any OS_xpc_object') in an isolated closure; this is an error in the Swift 6 language mode
394 | do {
395 | try handler.handle(request: request, server: self, connection: connection, reply: &reply)
XPC.OS_xpc_object:1:17: note: protocol 'OS_xpc_object' does not conform to the 'Sendable' protocol
1 | public protocol OS_xpc_object : NSObjectProtocol {
| `- note: protocol 'OS_xpc_object' does not conform to the 'Sendable' protocol
2 | }
/Users/admin/builder/spi-builder-workspace/Sources/SecureXPC/Server/XPCServer.swift:395:53: warning: capture of 'request' with non-sendable type 'Request' in an isolated closure; this is an error in the Swift 6 language mode
393 | var reply = handler.shouldCreateReply ? xpc_dictionary_create_reply(message) : nil
394 | do {
395 | try handler.handle(request: request, server: self, connection: connection, reply: &reply)
| `- warning: capture of 'request' with non-sendable type 'Request' in an isolated closure; this is an error in the Swift 6 language mode
396 | try self.maybeSendReply(&reply, request: request, connection: connection)
397 | } catch {
/Users/admin/builder/spi-builder-workspace/Sources/SecureXPC/Request.swift:13:8: note: consider making struct 'Request' conform to the 'Sendable' protocol
11 | ///
12 | /// A request always contains a route and optionally contains a payload.
13 | struct Request {
| `- note: consider making struct 'Request' conform to the 'Sendable' protocol
14 | private enum RequestKeys {
15 | static let route: XPCDictionaryKey = const("__route")
/Users/admin/builder/spi-builder-workspace/Sources/SecureXPC/Server/XPCServer.swift:395:70: warning: capture of 'self' with non-sendable type 'XPCServer' in an isolated closure; this is an error in the Swift 6 language mode
133 | /// - ``connectionDescriptor``
134 | /// - ``endpoint``
135 | public class XPCServer {
| `- note: class 'XPCServer' does not conform to the 'Sendable' protocol
136 |
137 | /// The queue used to run synchronous handlers associated with registered routes.
:
393 | var reply = handler.shouldCreateReply ? xpc_dictionary_create_reply(message) : nil
394 | do {
395 | try handler.handle(request: request, server: self, connection: connection, reply: &reply)
| `- warning: capture of 'self' with non-sendable type 'XPCServer' in an isolated closure; this is an error in the Swift 6 language mode
396 | try self.maybeSendReply(&reply, request: request, connection: connection)
397 | } catch {
/Users/admin/builder/spi-builder-workspace/Sources/SecureXPC/Server/XPCServer.swift:395:88: warning: capture of 'connection' with non-sendable type 'xpc_connection_t' (aka 'any OS_xpc_object') in an isolated closure; this is an error in the Swift 6 language mode
393 | var reply = handler.shouldCreateReply ? xpc_dictionary_create_reply(message) : nil
394 | do {
395 | try handler.handle(request: request, server: self, connection: connection, reply: &reply)
| `- warning: capture of 'connection' with non-sendable type 'xpc_connection_t' (aka 'any OS_xpc_object') in an isolated closure; this is an error in the Swift 6 language mode
396 | try self.maybeSendReply(&reply, request: request, connection: connection)
397 | } catch {
XPC.OS_xpc_object:1:17: note: protocol 'OS_xpc_object' does not conform to the 'Sendable' protocol
1 | public protocol OS_xpc_object : NSObjectProtocol {
| `- note: protocol 'OS_xpc_object' does not conform to the 'Sendable' protocol
2 | }
/Users/admin/builder/spi-builder-workspace/Sources/SecureXPC/Server/XPCServiceServer.swift:25:24: warning: static property 'service' is not concurrency-safe because non-'Sendable' type 'XPCServiceServer' may have shared mutable state; this is an error in the Swift 6 language mode
11 | ///
12 | /// In the case of this framework, the XPC service is expected to be communicated with by an `XPCServiceClient`.
13 | internal class XPCServiceServer: XPCServer {
| `- note: class 'XPCServiceServer' does not conform to the 'Sendable' protocol
14 |
15 | internal static var isThisProcessAnXPCService: Bool {
:
23 |
24 | /// The server itself, there can only ever be one per process as there is only ever one named connection that exists for an XPC service
25 | private static let service = XPCServiceServer(clientRequirement: .alwaysAccepting)
| |- warning: static property 'service' is not concurrency-safe because non-'Sendable' type 'XPCServiceServer' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: annotate 'service' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
26 |
27 | /// Whether this server has been started.
/Users/admin/builder/spi-builder-workspace/Sources/SecureXPC/Server/XPCServer.swift:907:26: warning: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure; this is an error in the Swift 6 language mode
905 | case .async(let handler):
906 | if #available(macOS 10.15, *) {
907 | Task {
| `- warning: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure; this is an error in the Swift 6 language mode
908 | await handler(error)
| `- note: closure captures 'handler' which is accessible to code in the current task
909 | }
910 | } else {
/Users/admin/builder/spi-builder-workspace/Sources/SecureXPC/Server/XPCServer.swift:417:22: warning: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure; this is an error in the Swift 6 language mode
415 | // consistent ordering of received events due to the asynchronous behavior of how they're sent by the
416 | // XPCClient. If an API user wants consistent ordering, that needs to be done at the application layer.
417 | Task {
| `- warning: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure; this is an error in the Swift 6 language mode
418 | var reply = handler.shouldCreateReply ? xpc_dictionary_create_reply(message) : nil
419 | do {
420 | try await handler.handle(request: request, server: self, connection: connection, reply: &reply)
| `- note: closure captures 'connection' which is accessible to code in the current task
421 | try self.maybeSendReply(&reply, request: request, connection: connection)
422 | } catch {
Build complete! (18.65s)
Build complete.
{
"dependencies" : [
],
"manifest_display_name" : "SecureXPC",
"name" : "SecureXPC",
"path" : "/Users/admin/builder/spi-builder-workspace",
"platforms" : [
{
"name" : "macos",
"version" : "10.10"
}
],
"products" : [
{
"name" : "SecureXPC",
"targets" : [
"SecureXPC"
],
"type" : {
"library" : [
"automatic"
]
}
}
],
"targets" : [
{
"c99name" : "SecureXPCTests",
"module_type" : "SwiftTarget",
"name" : "SecureXPCTests",
"path" : "Tests/SecureXPCTests",
"sources" : [
"Client & Server/Endpoint Tests.swift",
"Client & Server/Error Integration Tests.swift",
"Client & Server/RequestContext Tests.swift",
"Client & Server/Round-trip Integration Test.swift",
"Client & Server/Sequential Result Tests.swift",
"Client & Server/Server Concurrency Tests.swift",
"Client & Server/Server Error Handler Test.swift",
"Client & Server/Server Identity Tests.swift",
"Client & Server/XPCServer Creation.swift",
"Encoder & Decoder/Round Trip/Array roundtrip tests.swift",
"Encoder & Decoder/Round Trip/ArrayOptimizedForXPC Tests.swift",
"Encoder & Decoder/Round Trip/Class round trip tests.swift",
"Encoder & Decoder/Round Trip/DataOptimizedForXPC Tests.swift",
"Encoder & Decoder/Round Trip/Dictionary roundtrip tests.swift",
"Encoder & Decoder/Round Trip/Endpoint roundtrip tests.swift",
"Encoder & Decoder/Round Trip/File Descriptor XPC Wrapper Tests.swift",
"Encoder & Decoder/Round Trip/IOSurfaceForXPC Tests.swift",
"Encoder & Decoder/Round Trip/Scalar roundtrip tests.swift",
"Encoder & Decoder/Round Trip/Unkeyed container roundtrip tests.swift",
"Encoder & Decoder/TestHelpers.swift",
"Encoder & Decoder/XPCDecoder/Array decoding tests.swift",
"Encoder & Decoder/XPCDecoder/Dictionary decoding tests.swift",
"Encoder & Decoder/XPCDecoder/Scalar decoding tests.swift",
"Encoder & Decoder/XPCEncoder/Array encoding tests.swift",
"Encoder & Decoder/XPCEncoder/Dictionary encoding tests.swift",
"Encoder & Decoder/XPCEncoder/Scalar encoding tests.swift",
"Multiprocess Client & Server/LaunchAgent Tests.swift",
"Multiprocess Client & Server/LaunchAgent/LaunchAgent.swift",
"Multiprocess Client & Server/LaunchAgent/Shared.swift",
"Multiprocess Client & Server/LaunchAgent/main.swift"
],
"target_dependencies" : [
"SecureXPC"
],
"type" : "test"
},
{
"c99name" : "SecureXPC",
"module_type" : "SwiftTarget",
"name" : "SecureXPC",
"path" : "Sources/SecureXPC",
"product_memberships" : [
"SecureXPC"
],
"sources" : [
"Client/ServerIdentity.swift",
"Client/ServerRequirement.swift",
"Client/XPCClient.swift",
"Client/XPCEndpointClient.swift",
"Client/XPCMachClient.swift",
"Client/XPCServiceClient.swift",
"Codable Types/ArrayOptimizedForXPC.swift",
"Codable Types/DataOptimizedForXPC.swift",
"Codable Types/File Descriptor XPC Wrappers.swift",
"Codable Types/IOSurfaceForXPC.swift",
"HandlerError.swift",
"PackageInternalRoutes.swift",
"Request.swift",
"Response.swift",
"Routes.swift",
"SequentialResult.swift",
"SequentialResultProvider.swift",
"Server/ClientIdentity.swift",
"Server/ClientRequirement.swift",
"Server/MachServiceCriteria.swift",
"Server/XPCAnonymousServer.swift",
"Server/XPCMachServer.swift",
"Server/XPCServer.swift",
"Server/XPCServiceServer.swift",
"Shared Memory/SharedMemory.swift",
"Shared Memory/SharedRawMemory.swift",
"Shared Memory/SharedSemaphore.swift",
"Shared Memory/SharedTrivial.swift",
"Trivial.swift",
"XPC Coders/XPCCoderError.swift",
"XPC Coders/XPCDecoder/Transformation functions.swift",
"XPC Coders/XPCDecoder/XPCDecoder.swift",
"XPC Coders/XPCDecoder/XPCDecoderImpl.swift",
"XPC Coders/XPCDecoder/XPCKeyedDecodingContainer.swift",
"XPC Coders/XPCDecoder/XPCSingleValueDecodingContainer.swift",
"XPC Coders/XPCDecoder/XPCUnkeyedDecodingContainer.swift",
"XPC Coders/XPCEncoder/XPCContainer.swift",
"XPC Coders/XPCEncoder/XPCEncoder.swift",
"XPC Coders/XPCEncoder/XPCEncoderImpl.swift",
"XPC Coders/XPCEncoder/XPCKeyedEncodingContainer.swift",
"XPC Coders/XPCEncoder/XPCSingleValueEncodingContainer.swift",
"XPC Coders/XPCEncoder/XPCUnkeyedEncodingContainer.swift",
"XPC Coders/xpc_type_t+description.swift",
"XPCCommon.swift",
"XPCConnectionDescriptor.swift",
"XPCError.swift",
"XPCServerEndpoint.swift"
],
"type" : "library"
}
],
"tools_version" : "5.5"
}
Done.