Build Information
Successful build of SecureXPC with Swift 6.0 for macOS (SPM).
Swift 6 data race errors: 17
Build Command
env DEVELOPER_DIR=/Applications/Xcode-15.3.0.app xcrun --toolchain org.swift.600202405261a swift build --arch arm64 -Xswiftc -Xfrontend -Xswiftc -stats-output-dir -Xswiftc -Xfrontend -Xswiftc .stats -Xswiftc -strict-concurrency=complete
Build Log
944 | for (key, handler) in filteredEntries {
945 | handler.handleError(error)
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 | }
[24/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:846: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
821 | }
822 |
823 | fileprivate class InternalXPCSequentialResponseHandlerImpl<S: Decodable>: InternalXPCSequentialResponseHandler {
| `- note: generic class 'InternalXPCSequentialResponseHandlerImpl' does not conform to the 'Sendable' protocol
824 | let route: XPCRoute
825 | let connectionHash: Int
:
844 | fileprivate func handleResponse(_ response: Response) {
845 | self.serialQueue.async {
846 | 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
847 | return
848 | }
/Users/admin/builder/spi-builder-workspace/Sources/SecureXPC/Client/XPCClient.swift:851:20: warning: capture of 'response' with non-sendable type 'Response' in a `@Sendable` closure; this is an error in the Swift 6 language mode
849 |
850 | do {
851 | 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
852 | self.handler(.success(try response.decodePayload(asType: S.self)))
853 | } 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:887:13: warning: capture of 'self' with non-sendable type 'InternalXPCSequentialResponseHandlerImpl<S>' in a `@Sendable` closure; this is an error in the Swift 6 language mode
821 | }
822 |
823 | fileprivate class InternalXPCSequentialResponseHandlerImpl<S: Decodable>: InternalXPCSequentialResponseHandler {
| `- note: generic class 'InternalXPCSequentialResponseHandlerImpl' does not conform to the 'Sendable' protocol
824 | let route: XPCRoute
825 | let connectionHash: Int
:
885 | fileprivate func handleError(_ error: XPCError) {
886 | self.serialQueue.async {
887 | self.handler(.failure(error))
| `- warning: capture of 'self' with non-sendable type 'InternalXPCSequentialResponseHandlerImpl<S>' in a `@Sendable` closure; this is an error in the Swift 6 language mode
888 | }
889 | }
/Users/admin/builder/spi-builder-workspace/Sources/SecureXPC/Client/XPCClient.swift:902:13: warning: capture of 'self' with non-sendable type 'InProgressSequentialReplies' in a `@Sendable` closure; this is an error in the Swift 6 language mode
892 | /// 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
893 | /// with their requests in order to become reply sequences.
894 | fileprivate class InProgressSequentialReplies {
| `- note: class 'InProgressSequentialReplies' does not conform to the 'Sendable' protocol
895 | /// Mapping of requestIDs to handlers.
896 | private var handlers = [UUID : InternalXPCSequentialResponseHandler]()
:
900 | func registerHandler(_ handler: InternalXPCSequentialResponseHandler, forRequest request: Request) {
901 | serialQueue.async {
902 | 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
903 | }
904 | }
/Users/admin/builder/spi-builder-workspace/Sources/SecureXPC/Client/XPCClient.swift:902:27: warning: capture of 'request' with non-sendable type 'Request' in a `@Sendable` closure; this is an error in the Swift 6 language mode
900 | func registerHandler(_ handler: InternalXPCSequentialResponseHandler, forRequest request: Request) {
901 | serialQueue.async {
902 | 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
903 | }
904 | }
/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:902: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
813 |
814 | /// This allows for type erasure
815 | fileprivate protocol InternalXPCSequentialResponseHandler {
| `- note: protocol 'InternalXPCSequentialResponseHandler' does not conform to the 'Sendable' protocol
816 | var route: XPCRoute { get }
817 | /// The result of calling `xpc_hash(...)` on the connection that the initiating request was sent over.
:
900 | func registerHandler(_ handler: InternalXPCSequentialResponseHandler, forRequest request: Request) {
901 | serialQueue.async {
902 | 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
903 | }
904 | }
/Users/admin/builder/spi-builder-workspace/Sources/SecureXPC/Client/XPCClient.swift:910: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
908 | let response: Response
909 | do {
910 | 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
911 | guard let route = self.handlers[requestID]?.route else {
912 | 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:911:35: warning: capture of 'self' with non-sendable type 'InProgressSequentialReplies' in a `@Sendable` closure; this is an error in the Swift 6 language mode
892 | /// 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
893 | /// with their requests in order to become reply sequences.
894 | fileprivate class InProgressSequentialReplies {
| `- note: class 'InProgressSequentialReplies' does not conform to the 'Sendable' protocol
895 | /// Mapping of requestIDs to handlers.
896 | private var handlers = [UUID : InternalXPCSequentialResponseHandler]()
:
909 | do {
910 | let requestID = try Response.decodeRequestID(dictionary: message)
911 | 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
912 | return
913 | }
/Users/admin/builder/spi-builder-workspace/Sources/SecureXPC/Client/XPCClient.swift:943:35: warning: capture of 'self' with non-sendable type 'InProgressSequentialReplies' in a `@Sendable` closure; this is an error in the Swift 6 language mode
892 | /// 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
893 | /// with their requests in order to become reply sequences.
894 | fileprivate class InProgressSequentialReplies {
| `- note: class 'InProgressSequentialReplies' does not conform to the 'Sendable' protocol
895 | /// Mapping of requestIDs to handlers.
896 | private var handlers = [UUID : InternalXPCSequentialResponseHandler]()
:
941 | // An error has occurred which means that communication with the server is no longer possible and so all in
942 | // flight handlers for the provided connection need to be finished with an error.
943 | let filteredEntries = self.handlers.filter { $0.value.connectionHash == xpc_hash(connection) }
| `- warning: capture of 'self' with non-sendable type 'InProgressSequentialReplies' in a `@Sendable` closure; this is an error in the Swift 6 language mode
944 | for (key, handler) in filteredEntries {
945 | handler.handleError(error)
/Users/admin/builder/spi-builder-workspace/Sources/SecureXPC/Client/XPCClient.swift:943:94: 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
941 | // An error has occurred which means that communication with the server is no longer possible and so all in
942 | // flight handlers for the provided connection need to be finished with an error.
943 | let filteredEntries = self.handlers.filter { $0.value.connectionHash == xpc_hash(connection) }
| `- 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
944 | for (key, handler) in filteredEntries {
945 | handler.handleError(error)
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:943:94: 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
941 | // An error has occurred which means that communication with the server is no longer possible and so all in
942 | // flight handlers for the provided connection need to be finished with an error.
943 | let filteredEntries = self.handlers.filter { $0.value.connectionHash == xpc_hash(connection) }
| `- 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
944 | for (key, handler) in filteredEntries {
945 | handler.handleError(error)
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 | }
[25/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:846: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
821 | }
822 |
823 | fileprivate class InternalXPCSequentialResponseHandlerImpl<S: Decodable>: InternalXPCSequentialResponseHandler {
| `- note: generic class 'InternalXPCSequentialResponseHandlerImpl' does not conform to the 'Sendable' protocol
824 | let route: XPCRoute
825 | let connectionHash: Int
:
844 | fileprivate func handleResponse(_ response: Response) {
845 | self.serialQueue.async {
846 | 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
847 | return
848 | }
/Users/admin/builder/spi-builder-workspace/Sources/SecureXPC/Client/XPCClient.swift:851:20: warning: capture of 'response' with non-sendable type 'Response' in a `@Sendable` closure; this is an error in the Swift 6 language mode
849 |
850 | do {
851 | 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
852 | self.handler(.success(try response.decodePayload(asType: S.self)))
853 | } 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:887:13: warning: capture of 'self' with non-sendable type 'InternalXPCSequentialResponseHandlerImpl<S>' in a `@Sendable` closure; this is an error in the Swift 6 language mode
821 | }
822 |
823 | fileprivate class InternalXPCSequentialResponseHandlerImpl<S: Decodable>: InternalXPCSequentialResponseHandler {
| `- note: generic class 'InternalXPCSequentialResponseHandlerImpl' does not conform to the 'Sendable' protocol
824 | let route: XPCRoute
825 | let connectionHash: Int
:
885 | fileprivate func handleError(_ error: XPCError) {
886 | self.serialQueue.async {
887 | self.handler(.failure(error))
| `- warning: capture of 'self' with non-sendable type 'InternalXPCSequentialResponseHandlerImpl<S>' in a `@Sendable` closure; this is an error in the Swift 6 language mode
888 | }
889 | }
/Users/admin/builder/spi-builder-workspace/Sources/SecureXPC/Client/XPCClient.swift:902:13: warning: capture of 'self' with non-sendable type 'InProgressSequentialReplies' in a `@Sendable` closure; this is an error in the Swift 6 language mode
892 | /// 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
893 | /// with their requests in order to become reply sequences.
894 | fileprivate class InProgressSequentialReplies {
| `- note: class 'InProgressSequentialReplies' does not conform to the 'Sendable' protocol
895 | /// Mapping of requestIDs to handlers.
896 | private var handlers = [UUID : InternalXPCSequentialResponseHandler]()
:
900 | func registerHandler(_ handler: InternalXPCSequentialResponseHandler, forRequest request: Request) {
901 | serialQueue.async {
902 | 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
903 | }
904 | }
/Users/admin/builder/spi-builder-workspace/Sources/SecureXPC/Client/XPCClient.swift:902:27: warning: capture of 'request' with non-sendable type 'Request' in a `@Sendable` closure; this is an error in the Swift 6 language mode
900 | func registerHandler(_ handler: InternalXPCSequentialResponseHandler, forRequest request: Request) {
901 | serialQueue.async {
902 | 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
903 | }
904 | }
/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:902: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
813 |
814 | /// This allows for type erasure
815 | fileprivate protocol InternalXPCSequentialResponseHandler {
| `- note: protocol 'InternalXPCSequentialResponseHandler' does not conform to the 'Sendable' protocol
816 | var route: XPCRoute { get }
817 | /// The result of calling `xpc_hash(...)` on the connection that the initiating request was sent over.
:
900 | func registerHandler(_ handler: InternalXPCSequentialResponseHandler, forRequest request: Request) {
901 | serialQueue.async {
902 | 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
903 | }
904 | }
/Users/admin/builder/spi-builder-workspace/Sources/SecureXPC/Client/XPCClient.swift:910: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
908 | let response: Response
909 | do {
910 | 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
911 | guard let route = self.handlers[requestID]?.route else {
912 | 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:911:35: warning: capture of 'self' with non-sendable type 'InProgressSequentialReplies' in a `@Sendable` closure; this is an error in the Swift 6 language mode
892 | /// 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
893 | /// with their requests in order to become reply sequences.
894 | fileprivate class InProgressSequentialReplies {
| `- note: class 'InProgressSequentialReplies' does not conform to the 'Sendable' protocol
895 | /// Mapping of requestIDs to handlers.
896 | private var handlers = [UUID : InternalXPCSequentialResponseHandler]()
:
909 | do {
910 | let requestID = try Response.decodeRequestID(dictionary: message)
911 | 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
912 | return
913 | }
/Users/admin/builder/spi-builder-workspace/Sources/SecureXPC/Client/XPCClient.swift:943:35: warning: capture of 'self' with non-sendable type 'InProgressSequentialReplies' in a `@Sendable` closure; this is an error in the Swift 6 language mode
892 | /// 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
893 | /// with their requests in order to become reply sequences.
894 | fileprivate class InProgressSequentialReplies {
| `- note: class 'InProgressSequentialReplies' does not conform to the 'Sendable' protocol
895 | /// Mapping of requestIDs to handlers.
896 | private var handlers = [UUID : InternalXPCSequentialResponseHandler]()
:
941 | // An error has occurred which means that communication with the server is no longer possible and so all in
942 | // flight handlers for the provided connection need to be finished with an error.
943 | let filteredEntries = self.handlers.filter { $0.value.connectionHash == xpc_hash(connection) }
| `- warning: capture of 'self' with non-sendable type 'InProgressSequentialReplies' in a `@Sendable` closure; this is an error in the Swift 6 language mode
944 | for (key, handler) in filteredEntries {
945 | handler.handleError(error)
/Users/admin/builder/spi-builder-workspace/Sources/SecureXPC/Client/XPCClient.swift:943:94: 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
941 | // An error has occurred which means that communication with the server is no longer possible and so all in
942 | // flight handlers for the provided connection need to be finished with an error.
943 | let filteredEntries = self.handlers.filter { $0.value.connectionHash == xpc_hash(connection) }
| `- 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
944 | for (key, handler) in filteredEntries {
945 | handler.handleError(error)
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:943:94: 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
941 | // An error has occurred which means that communication with the server is no longer possible and so all in
942 | // flight handlers for the provided connection need to be finished with an error.
943 | let filteredEntries = self.handlers.filter { $0.value.connectionHash == xpc_hash(connection) }
| `- 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
944 | for (key, handler) in filteredEntries {
945 | handler.handleError(error)
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 | }
[26/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:846: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
821 | }
822 |
823 | fileprivate class InternalXPCSequentialResponseHandlerImpl<S: Decodable>: InternalXPCSequentialResponseHandler {
| `- note: generic class 'InternalXPCSequentialResponseHandlerImpl' does not conform to the 'Sendable' protocol
824 | let route: XPCRoute
825 | let connectionHash: Int
:
844 | fileprivate func handleResponse(_ response: Response) {
845 | self.serialQueue.async {
846 | 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
847 | return
848 | }
/Users/admin/builder/spi-builder-workspace/Sources/SecureXPC/Client/XPCClient.swift:851:20: warning: capture of 'response' with non-sendable type 'Response' in a `@Sendable` closure; this is an error in the Swift 6 language mode
849 |
850 | do {
851 | 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
852 | self.handler(.success(try response.decodePayload(asType: S.self)))
853 | } 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:887:13: warning: capture of 'self' with non-sendable type 'InternalXPCSequentialResponseHandlerImpl<S>' in a `@Sendable` closure; this is an error in the Swift 6 language mode
821 | }
822 |
823 | fileprivate class InternalXPCSequentialResponseHandlerImpl<S: Decodable>: InternalXPCSequentialResponseHandler {
| `- note: generic class 'InternalXPCSequentialResponseHandlerImpl' does not conform to the 'Sendable' protocol
824 | let route: XPCRoute
825 | let connectionHash: Int
:
885 | fileprivate func handleError(_ error: XPCError) {
886 | self.serialQueue.async {
887 | self.handler(.failure(error))
| `- warning: capture of 'self' with non-sendable type 'InternalXPCSequentialResponseHandlerImpl<S>' in a `@Sendable` closure; this is an error in the Swift 6 language mode
888 | }
889 | }
/Users/admin/builder/spi-builder-workspace/Sources/SecureXPC/Client/XPCClient.swift:902:13: warning: capture of 'self' with non-sendable type 'InProgressSequentialReplies' in a `@Sendable` closure; this is an error in the Swift 6 language mode
892 | /// 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
893 | /// with their requests in order to become reply sequences.
894 | fileprivate class InProgressSequentialReplies {
| `- note: class 'InProgressSequentialReplies' does not conform to the 'Sendable' protocol
895 | /// Mapping of requestIDs to handlers.
896 | private var handlers = [UUID : InternalXPCSequentialResponseHandler]()
:
900 | func registerHandler(_ handler: InternalXPCSequentialResponseHandler, forRequest request: Request) {
901 | serialQueue.async {
902 | 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
903 | }
904 | }
/Users/admin/builder/spi-builder-workspace/Sources/SecureXPC/Client/XPCClient.swift:902:27: warning: capture of 'request' with non-sendable type 'Request' in a `@Sendable` closure; this is an error in the Swift 6 language mode
900 | func registerHandler(_ handler: InternalXPCSequentialResponseHandler, forRequest request: Request) {
901 | serialQueue.async {
902 | 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
903 | }
904 | }
/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:902: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
813 |
814 | /// This allows for type erasure
815 | fileprivate protocol InternalXPCSequentialResponseHandler {
| `- note: protocol 'InternalXPCSequentialResponseHandler' does not conform to the 'Sendable' protocol
816 | var route: XPCRoute { get }
817 | /// The result of calling `xpc_hash(...)` on the connection that the initiating request was sent over.
:
900 | func registerHandler(_ handler: InternalXPCSequentialResponseHandler, forRequest request: Request) {
901 | serialQueue.async {
902 | 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
903 | }
904 | }
/Users/admin/builder/spi-builder-workspace/Sources/SecureXPC/Client/XPCClient.swift:910: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
908 | let response: Response
909 | do {
910 | 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
911 | guard let route = self.handlers[requestID]?.route else {
912 | 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:911:35: warning: capture of 'self' with non-sendable type 'InProgressSequentialReplies' in a `@Sendable` closure; this is an error in the Swift 6 language mode
892 | /// 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
893 | /// with their requests in order to become reply sequences.
894 | fileprivate class InProgressSequentialReplies {
| `- note: class 'InProgressSequentialReplies' does not conform to the 'Sendable' protocol
895 | /// Mapping of requestIDs to handlers.
896 | private var handlers = [UUID : InternalXPCSequentialResponseHandler]()
:
909 | do {
910 | let requestID = try Response.decodeRequestID(dictionary: message)
911 | 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
912 | return
913 | }
/Users/admin/builder/spi-builder-workspace/Sources/SecureXPC/Client/XPCClient.swift:943:35: warning: capture of 'self' with non-sendable type 'InProgressSequentialReplies' in a `@Sendable` closure; this is an error in the Swift 6 language mode
892 | /// 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
893 | /// with their requests in order to become reply sequences.
894 | fileprivate class InProgressSequentialReplies {
| `- note: class 'InProgressSequentialReplies' does not conform to the 'Sendable' protocol
895 | /// Mapping of requestIDs to handlers.
896 | private var handlers = [UUID : InternalXPCSequentialResponseHandler]()
:
941 | // An error has occurred which means that communication with the server is no longer possible and so all in
942 | // flight handlers for the provided connection need to be finished with an error.
943 | let filteredEntries = self.handlers.filter { $0.value.connectionHash == xpc_hash(connection) }
| `- warning: capture of 'self' with non-sendable type 'InProgressSequentialReplies' in a `@Sendable` closure; this is an error in the Swift 6 language mode
944 | for (key, handler) in filteredEntries {
945 | handler.handleError(error)
/Users/admin/builder/spi-builder-workspace/Sources/SecureXPC/Client/XPCClient.swift:943:94: 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
941 | // An error has occurred which means that communication with the server is no longer possible and so all in
942 | // flight handlers for the provided connection need to be finished with an error.
943 | let filteredEntries = self.handlers.filter { $0.value.connectionHash == xpc_hash(connection) }
| `- 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
944 | for (key, handler) in filteredEntries {
945 | handler.handleError(error)
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:943:94: 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
941 | // An error has occurred which means that communication with the server is no longer possible and so all in
942 | // flight handlers for the provided connection need to be finished with an error.
943 | let filteredEntries = self.handlers.filter { $0.value.connectionHash == xpc_hash(connection) }
| `- 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
944 | for (key, handler) in filteredEntries {
945 | handler.handleError(error)
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 | }
[27/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:846: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
821 | }
822 |
823 | fileprivate class InternalXPCSequentialResponseHandlerImpl<S: Decodable>: InternalXPCSequentialResponseHandler {
| `- note: generic class 'InternalXPCSequentialResponseHandlerImpl' does not conform to the 'Sendable' protocol
824 | let route: XPCRoute
825 | let connectionHash: Int
:
844 | fileprivate func handleResponse(_ response: Response) {
845 | self.serialQueue.async {
846 | 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
847 | return
848 | }
/Users/admin/builder/spi-builder-workspace/Sources/SecureXPC/Client/XPCClient.swift:851:20: warning: capture of 'response' with non-sendable type 'Response' in a `@Sendable` closure; this is an error in the Swift 6 language mode
849 |
850 | do {
851 | 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
852 | self.handler(.success(try response.decodePayload(asType: S.self)))
853 | } 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:887:13: warning: capture of 'self' with non-sendable type 'InternalXPCSequentialResponseHandlerImpl<S>' in a `@Sendable` closure; this is an error in the Swift 6 language mode
821 | }
822 |
823 | fileprivate class InternalXPCSequentialResponseHandlerImpl<S: Decodable>: InternalXPCSequentialResponseHandler {
| `- note: generic class 'InternalXPCSequentialResponseHandlerImpl' does not conform to the 'Sendable' protocol
824 | let route: XPCRoute
825 | let connectionHash: Int
:
885 | fileprivate func handleError(_ error: XPCError) {
886 | self.serialQueue.async {
887 | self.handler(.failure(error))
| `- warning: capture of 'self' with non-sendable type 'InternalXPCSequentialResponseHandlerImpl<S>' in a `@Sendable` closure; this is an error in the Swift 6 language mode
888 | }
889 | }
/Users/admin/builder/spi-builder-workspace/Sources/SecureXPC/Client/XPCClient.swift:902:13: warning: capture of 'self' with non-sendable type 'InProgressSequentialReplies' in a `@Sendable` closure; this is an error in the Swift 6 language mode
892 | /// 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
893 | /// with their requests in order to become reply sequences.
894 | fileprivate class InProgressSequentialReplies {
| `- note: class 'InProgressSequentialReplies' does not conform to the 'Sendable' protocol
895 | /// Mapping of requestIDs to handlers.
896 | private var handlers = [UUID : InternalXPCSequentialResponseHandler]()
:
900 | func registerHandler(_ handler: InternalXPCSequentialResponseHandler, forRequest request: Request) {
901 | serialQueue.async {
902 | 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
903 | }
904 | }
/Users/admin/builder/spi-builder-workspace/Sources/SecureXPC/Client/XPCClient.swift:902:27: warning: capture of 'request' with non-sendable type 'Request' in a `@Sendable` closure; this is an error in the Swift 6 language mode
900 | func registerHandler(_ handler: InternalXPCSequentialResponseHandler, forRequest request: Request) {
901 | serialQueue.async {
902 | 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
903 | }
904 | }
/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:902: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
813 |
814 | /// This allows for type erasure
815 | fileprivate protocol InternalXPCSequentialResponseHandler {
| `- note: protocol 'InternalXPCSequentialResponseHandler' does not conform to the 'Sendable' protocol
816 | var route: XPCRoute { get }
817 | /// The result of calling `xpc_hash(...)` on the connection that the initiating request was sent over.
:
900 | func registerHandler(_ handler: InternalXPCSequentialResponseHandler, forRequest request: Request) {
901 | serialQueue.async {
902 | 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
903 | }
904 | }
/Users/admin/builder/spi-builder-workspace/Sources/SecureXPC/Client/XPCClient.swift:910: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
908 | let response: Response
909 | do {
910 | 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
911 | guard let route = self.handlers[requestID]?.route else {
912 | 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:911:35: warning: capture of 'self' with non-sendable type 'InProgressSequentialReplies' in a `@Sendable` closure; this is an error in the Swift 6 language mode
892 | /// 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
893 | /// with their requests in order to become reply sequences.
894 | fileprivate class InProgressSequentialReplies {
| `- note: class 'InProgressSequentialReplies' does not conform to the 'Sendable' protocol
895 | /// Mapping of requestIDs to handlers.
896 | private var handlers = [UUID : InternalXPCSequentialResponseHandler]()
:
909 | do {
910 | let requestID = try Response.decodeRequestID(dictionary: message)
911 | 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
912 | return
913 | }
/Users/admin/builder/spi-builder-workspace/Sources/SecureXPC/Client/XPCClient.swift:943:35: warning: capture of 'self' with non-sendable type 'InProgressSequentialReplies' in a `@Sendable` closure; this is an error in the Swift 6 language mode
892 | /// 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
893 | /// with their requests in order to become reply sequences.
894 | fileprivate class InProgressSequentialReplies {
| `- note: class 'InProgressSequentialReplies' does not conform to the 'Sendable' protocol
895 | /// Mapping of requestIDs to handlers.
896 | private var handlers = [UUID : InternalXPCSequentialResponseHandler]()
:
941 | // An error has occurred which means that communication with the server is no longer possible and so all in
942 | // flight handlers for the provided connection need to be finished with an error.
943 | let filteredEntries = self.handlers.filter { $0.value.connectionHash == xpc_hash(connection) }
| `- warning: capture of 'self' with non-sendable type 'InProgressSequentialReplies' in a `@Sendable` closure; this is an error in the Swift 6 language mode
944 | for (key, handler) in filteredEntries {
945 | handler.handleError(error)
/Users/admin/builder/spi-builder-workspace/Sources/SecureXPC/Client/XPCClient.swift:943:94: 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
941 | // An error has occurred which means that communication with the server is no longer possible and so all in
942 | // flight handlers for the provided connection need to be finished with an error.
943 | let filteredEntries = self.handlers.filter { $0.value.connectionHash == xpc_hash(connection) }
| `- 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
944 | for (key, handler) in filteredEntries {
945 | handler.handleError(error)
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:943:94: 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
941 | // An error has occurred which means that communication with the server is no longer possible and so all in
942 | // flight handlers for the provided connection need to be finished with an error.
943 | let filteredEntries = self.handlers.filter { $0.value.connectionHash == xpc_hash(connection) }
| `- 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
944 | for (key, handler) in filteredEntries {
945 | handler.handleError(error)
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 | }
[28/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 non-isolated 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 non-isolated 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:398: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
396 | // concurrent. (Although if an API user sets the target queue to be serial that's supported too.)
397 | self.handlerQueue.async {
398 | 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
399 | var reply = handler.shouldCreateReply ? xpc_dictionary_create_reply(message) : nil
400 | 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:398: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
396 | // concurrent. (Although if an API user sets the target queue to be serial that's supported too.)
397 | self.handlerQueue.async {
398 | 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
399 | var reply = handler.shouldCreateReply ? xpc_dictionary_create_reply(message) : nil
400 | 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:399: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
397 | self.handlerQueue.async {
398 | XPCServer.ClientIdentity.setForCurrentThread(connection: connection, message: message) {
399 | 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
400 | do {
401 | try handler.handle(request: request, server: self, connection: connection, reply: &reply)
:
710 | // MARK: sync handler function wrappers
711 |
712 | fileprivate protocol XPCHandlerSync: XPCHandler {
| `- note: protocol 'XPCHandlerSync' does not conform to the 'Sendable' protocol
713 | func handle(request: Request, server: XPCServer, connection: xpc_connection_t, reply: inout xpc_object_t?) throws
714 | }
/Users/admin/builder/spi-builder-workspace/Sources/SecureXPC/Server/XPCServer.swift:401:53: warning: capture of 'request' with non-sendable type 'Request' in a `@Sendable` closure; this is an error in the Swift 6 language mode
399 | var reply = handler.shouldCreateReply ? xpc_dictionary_create_reply(message) : nil
400 | do {
401 | 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
402 | try self.maybeSendReply(&reply, request: request, connection: connection)
403 | } 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:401:70: warning: capture of 'self' with non-sendable type 'XPCServer' in a `@Sendable` closure; this is an error in the Swift 6 language mode
139 | /// - ``connectionDescriptor``
140 | /// - ``endpoint``
141 | public class XPCServer {
| `- note: class 'XPCServer' does not conform to the 'Sendable' protocol
142 |
143 | /// The queue used to run synchronous handlers associated with registered routes.
:
399 | var reply = handler.shouldCreateReply ? xpc_dictionary_create_reply(message) : nil
400 | do {
401 | 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
402 | try self.maybeSendReply(&reply, request: request, connection: connection)
403 | } catch {
/Users/admin/builder/spi-builder-workspace/Sources/SecureXPC/Server/XPCServer.swift:399: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
397 | self.handlerQueue.async {
398 | XPCServer.ClientIdentity.setForCurrentThread(connection: connection, message: message) {
399 | 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
400 | do {
401 | try handler.handle(request: request, server: self, connection: connection, reply: &reply)
:
710 | // MARK: sync handler function wrappers
711 |
712 | fileprivate protocol XPCHandlerSync: XPCHandler {
| `- note: protocol 'XPCHandlerSync' does not conform to the 'Sendable' protocol
713 | func handle(request: Request, server: XPCServer, connection: xpc_connection_t, reply: inout xpc_object_t?) throws
714 | }
/Users/admin/builder/spi-builder-workspace/Sources/SecureXPC/Server/XPCServer.swift:399: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
397 | self.handlerQueue.async {
398 | XPCServer.ClientIdentity.setForCurrentThread(connection: connection, message: message) {
399 | 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
400 | do {
401 | 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:401:53: warning: capture of 'request' with non-sendable type 'Request' in an isolated closure; this is an error in the Swift 6 language mode
399 | var reply = handler.shouldCreateReply ? xpc_dictionary_create_reply(message) : nil
400 | do {
401 | 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
402 | try self.maybeSendReply(&reply, request: request, connection: connection)
403 | } 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:401:70: warning: capture of 'self' with non-sendable type 'XPCServer' in an isolated closure; this is an error in the Swift 6 language mode
139 | /// - ``connectionDescriptor``
140 | /// - ``endpoint``
141 | public class XPCServer {
| `- note: class 'XPCServer' does not conform to the 'Sendable' protocol
142 |
143 | /// The queue used to run synchronous handlers associated with registered routes.
:
399 | var reply = handler.shouldCreateReply ? xpc_dictionary_create_reply(message) : nil
400 | do {
401 | 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
402 | try self.maybeSendReply(&reply, request: request, connection: connection)
403 | } catch {
/Users/admin/builder/spi-builder-workspace/Sources/SecureXPC/Server/XPCServer.swift:401: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
399 | var reply = handler.shouldCreateReply ? xpc_dictionary_create_reply(message) : nil
400 | do {
401 | 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
402 | try self.maybeSendReply(&reply, request: request, connection: connection)
403 | } 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/XPCServer.swift:424:33: warning: capture of 'handler' with non-sendable type 'any XPCHandlerAsync' in a `@Sendable` closure; this is an error in the Swift 6 language mode
422 | // XPCClient. If an API user wants consistent ordering, that needs to be done at the application layer.
423 | Task {
424 | var reply = handler.shouldCreateReply ? xpc_dictionary_create_reply(message) : nil
| `- warning: capture of 'handler' with non-sendable type 'any XPCHandlerAsync' in a `@Sendable` closure; this is an error in the Swift 6 language mode
425 | do {
426 | try await handler.handle(request: request, server: self, connection: connection, reply: &reply)
:
784 |
785 | @available(macOS 10.15.0, *)
786 | fileprivate protocol XPCHandlerAsync: XPCHandler {
| `- note: protocol 'XPCHandlerAsync' does not conform to the 'Sendable' protocol
787 | func handle(
788 | request: Request,
/Users/admin/builder/spi-builder-workspace/Sources/SecureXPC/Server/XPCServer.swift:424:89: 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
422 | // XPCClient. If an API user wants consistent ordering, that needs to be done at the application layer.
423 | Task {
424 | 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 a `@Sendable` closure; this is an error in the Swift 6 language mode
425 | do {
426 | try await 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:426:59: warning: capture of 'request' with non-sendable type 'Request' in a `@Sendable` closure; this is an error in the Swift 6 language mode
424 | var reply = handler.shouldCreateReply ? xpc_dictionary_create_reply(message) : nil
425 | do {
426 | try await 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
427 | try self.maybeSendReply(&reply, request: request, connection: connection)
428 | } 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:426:76: warning: capture of 'self' with non-sendable type 'XPCServer' in a `@Sendable` closure; this is an error in the Swift 6 language mode
139 | /// - ``connectionDescriptor``
140 | /// - ``endpoint``
141 | public class XPCServer {
| `- note: class 'XPCServer' does not conform to the 'Sendable' protocol
142 |
143 | /// The queue used to run synchronous handlers associated with registered routes.
:
424 | var reply = handler.shouldCreateReply ? xpc_dictionary_create_reply(message) : nil
425 | do {
426 | try await 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
427 | try self.maybeSendReply(&reply, request: request, connection: connection)
428 | } catch {
/Users/admin/builder/spi-builder-workspace/Sources/SecureXPC/Server/XPCServer.swift:426:94: 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
424 | var reply = handler.shouldCreateReply ? xpc_dictionary_create_reply(message) : nil
425 | do {
426 | try await 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 a `@Sendable` closure; this is an error in the Swift 6 language mode
427 | try self.maybeSendReply(&reply, request: request, connection: connection)
428 | } 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/XPCServer.swift:915:31: warning: capture of 'handler' with non-sendable type '(XPCError) async -> Void' in a `@Sendable` closure; this is an error in the Swift 6 language mode
913 | if #available(macOS 10.15, *) {
914 | Task {
915 | await handler(error)
| |- warning: capture of 'handler' with non-sendable type '(XPCError) async -> Void' 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'
916 | }
917 | } else {
/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.
[29/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 non-isolated 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 non-isolated 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:398: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
396 | // concurrent. (Although if an API user sets the target queue to be serial that's supported too.)
397 | self.handlerQueue.async {
398 | 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
399 | var reply = handler.shouldCreateReply ? xpc_dictionary_create_reply(message) : nil
400 | 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:398: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
396 | // concurrent. (Although if an API user sets the target queue to be serial that's supported too.)
397 | self.handlerQueue.async {
398 | 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
399 | var reply = handler.shouldCreateReply ? xpc_dictionary_create_reply(message) : nil
400 | 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:399: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
397 | self.handlerQueue.async {
398 | XPCServer.ClientIdentity.setForCurrentThread(connection: connection, message: message) {
399 | 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
400 | do {
401 | try handler.handle(request: request, server: self, connection: connection, reply: &reply)
:
710 | // MARK: sync handler function wrappers
711 |
712 | fileprivate protocol XPCHandlerSync: XPCHandler {
| `- note: protocol 'XPCHandlerSync' does not conform to the 'Sendable' protocol
713 | func handle(request: Request, server: XPCServer, connection: xpc_connection_t, reply: inout xpc_object_t?) throws
714 | }
/Users/admin/builder/spi-builder-workspace/Sources/SecureXPC/Server/XPCServer.swift:401:53: warning: capture of 'request' with non-sendable type 'Request' in a `@Sendable` closure; this is an error in the Swift 6 language mode
399 | var reply = handler.shouldCreateReply ? xpc_dictionary_create_reply(message) : nil
400 | do {
401 | 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
402 | try self.maybeSendReply(&reply, request: request, connection: connection)
403 | } 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:401:70: warning: capture of 'self' with non-sendable type 'XPCServer' in a `@Sendable` closure; this is an error in the Swift 6 language mode
139 | /// - ``connectionDescriptor``
140 | /// - ``endpoint``
141 | public class XPCServer {
| `- note: class 'XPCServer' does not conform to the 'Sendable' protocol
142 |
143 | /// The queue used to run synchronous handlers associated with registered routes.
:
399 | var reply = handler.shouldCreateReply ? xpc_dictionary_create_reply(message) : nil
400 | do {
401 | 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
402 | try self.maybeSendReply(&reply, request: request, connection: connection)
403 | } catch {
/Users/admin/builder/spi-builder-workspace/Sources/SecureXPC/Server/XPCServer.swift:399: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
397 | self.handlerQueue.async {
398 | XPCServer.ClientIdentity.setForCurrentThread(connection: connection, message: message) {
399 | 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
400 | do {
401 | try handler.handle(request: request, server: self, connection: connection, reply: &reply)
:
710 | // MARK: sync handler function wrappers
711 |
712 | fileprivate protocol XPCHandlerSync: XPCHandler {
| `- note: protocol 'XPCHandlerSync' does not conform to the 'Sendable' protocol
713 | func handle(request: Request, server: XPCServer, connection: xpc_connection_t, reply: inout xpc_object_t?) throws
714 | }
/Users/admin/builder/spi-builder-workspace/Sources/SecureXPC/Server/XPCServer.swift:399: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
397 | self.handlerQueue.async {
398 | XPCServer.ClientIdentity.setForCurrentThread(connection: connection, message: message) {
399 | 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
400 | do {
401 | 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:401:53: warning: capture of 'request' with non-sendable type 'Request' in an isolated closure; this is an error in the Swift 6 language mode
399 | var reply = handler.shouldCreateReply ? xpc_dictionary_create_reply(message) : nil
400 | do {
401 | 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
402 | try self.maybeSendReply(&reply, request: request, connection: connection)
403 | } 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:401:70: warning: capture of 'self' with non-sendable type 'XPCServer' in an isolated closure; this is an error in the Swift 6 language mode
139 | /// - ``connectionDescriptor``
140 | /// - ``endpoint``
141 | public class XPCServer {
| `- note: class 'XPCServer' does not conform to the 'Sendable' protocol
142 |
143 | /// The queue used to run synchronous handlers associated with registered routes.
:
399 | var reply = handler.shouldCreateReply ? xpc_dictionary_create_reply(message) : nil
400 | do {
401 | 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
402 | try self.maybeSendReply(&reply, request: request, connection: connection)
403 | } catch {
/Users/admin/builder/spi-builder-workspace/Sources/SecureXPC/Server/XPCServer.swift:401: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
399 | var reply = handler.shouldCreateReply ? xpc_dictionary_create_reply(message) : nil
400 | do {
401 | 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
402 | try self.maybeSendReply(&reply, request: request, connection: connection)
403 | } 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/XPCServer.swift:424:33: warning: capture of 'handler' with non-sendable type 'any XPCHandlerAsync' in a `@Sendable` closure; this is an error in the Swift 6 language mode
422 | // XPCClient. If an API user wants consistent ordering, that needs to be done at the application layer.
423 | Task {
424 | var reply = handler.shouldCreateReply ? xpc_dictionary_create_reply(message) : nil
| `- warning: capture of 'handler' with non-sendable type 'any XPCHandlerAsync' in a `@Sendable` closure; this is an error in the Swift 6 language mode
425 | do {
426 | try await handler.handle(request: request, server: self, connection: connection, reply: &reply)
:
784 |
785 | @available(macOS 10.15.0, *)
786 | fileprivate protocol XPCHandlerAsync: XPCHandler {
| `- note: protocol 'XPCHandlerAsync' does not conform to the 'Sendable' protocol
787 | func handle(
788 | request: Request,
/Users/admin/builder/spi-builder-workspace/Sources/SecureXPC/Server/XPCServer.swift:424:89: 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
422 | // XPCClient. If an API user wants consistent ordering, that needs to be done at the application layer.
423 | Task {
424 | 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 a `@Sendable` closure; this is an error in the Swift 6 language mode
425 | do {
426 | try await 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:426:59: warning: capture of 'request' with non-sendable type 'Request' in a `@Sendable` closure; this is an error in the Swift 6 language mode
424 | var reply = handler.shouldCreateReply ? xpc_dictionary_create_reply(message) : nil
425 | do {
426 | try await 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
427 | try self.maybeSendReply(&reply, request: request, connection: connection)
428 | } 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:426:76: warning: capture of 'self' with non-sendable type 'XPCServer' in a `@Sendable` closure; this is an error in the Swift 6 language mode
139 | /// - ``connectionDescriptor``
140 | /// - ``endpoint``
141 | public class XPCServer {
| `- note: class 'XPCServer' does not conform to the 'Sendable' protocol
142 |
143 | /// The queue used to run synchronous handlers associated with registered routes.
:
424 | var reply = handler.shouldCreateReply ? xpc_dictionary_create_reply(message) : nil
425 | do {
426 | try await 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
427 | try self.maybeSendReply(&reply, request: request, connection: connection)
428 | } catch {
/Users/admin/builder/spi-builder-workspace/Sources/SecureXPC/Server/XPCServer.swift:426:94: 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
424 | var reply = handler.shouldCreateReply ? xpc_dictionary_create_reply(message) : nil
425 | do {
426 | try await 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 a `@Sendable` closure; this is an error in the Swift 6 language mode
427 | try self.maybeSendReply(&reply, request: request, connection: connection)
428 | } 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/XPCServer.swift:915:31: warning: capture of 'handler' with non-sendable type '(XPCError) async -> Void' in a `@Sendable` closure; this is an error in the Swift 6 language mode
913 | if #available(macOS 10.15, *) {
914 | Task {
915 | await handler(error)
| |- warning: capture of 'handler' with non-sendable type '(XPCError) async -> Void' 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'
916 | }
917 | } else {
/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.
[30/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 non-isolated 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 non-isolated 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:398: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
396 | // concurrent. (Although if an API user sets the target queue to be serial that's supported too.)
397 | self.handlerQueue.async {
398 | 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
399 | var reply = handler.shouldCreateReply ? xpc_dictionary_create_reply(message) : nil
400 | 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:398: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
396 | // concurrent. (Although if an API user sets the target queue to be serial that's supported too.)
397 | self.handlerQueue.async {
398 | 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
399 | var reply = handler.shouldCreateReply ? xpc_dictionary_create_reply(message) : nil
400 | 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:399: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
397 | self.handlerQueue.async {
398 | XPCServer.ClientIdentity.setForCurrentThread(connection: connection, message: message) {
399 | 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
400 | do {
401 | try handler.handle(request: request, server: self, connection: connection, reply: &reply)
:
710 | // MARK: sync handler function wrappers
711 |
712 | fileprivate protocol XPCHandlerSync: XPCHandler {
| `- note: protocol 'XPCHandlerSync' does not conform to the 'Sendable' protocol
713 | func handle(request: Request, server: XPCServer, connection: xpc_connection_t, reply: inout xpc_object_t?) throws
714 | }
/Users/admin/builder/spi-builder-workspace/Sources/SecureXPC/Server/XPCServer.swift:401:53: warning: capture of 'request' with non-sendable type 'Request' in a `@Sendable` closure; this is an error in the Swift 6 language mode
399 | var reply = handler.shouldCreateReply ? xpc_dictionary_create_reply(message) : nil
400 | do {
401 | 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
402 | try self.maybeSendReply(&reply, request: request, connection: connection)
403 | } 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:401:70: warning: capture of 'self' with non-sendable type 'XPCServer' in a `@Sendable` closure; this is an error in the Swift 6 language mode
139 | /// - ``connectionDescriptor``
140 | /// - ``endpoint``
141 | public class XPCServer {
| `- note: class 'XPCServer' does not conform to the 'Sendable' protocol
142 |
143 | /// The queue used to run synchronous handlers associated with registered routes.
:
399 | var reply = handler.shouldCreateReply ? xpc_dictionary_create_reply(message) : nil
400 | do {
401 | 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
402 | try self.maybeSendReply(&reply, request: request, connection: connection)
403 | } catch {
/Users/admin/builder/spi-builder-workspace/Sources/SecureXPC/Server/XPCServer.swift:399: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
397 | self.handlerQueue.async {
398 | XPCServer.ClientIdentity.setForCurrentThread(connection: connection, message: message) {
399 | 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
400 | do {
401 | try handler.handle(request: request, server: self, connection: connection, reply: &reply)
:
710 | // MARK: sync handler function wrappers
711 |
712 | fileprivate protocol XPCHandlerSync: XPCHandler {
| `- note: protocol 'XPCHandlerSync' does not conform to the 'Sendable' protocol
713 | func handle(request: Request, server: XPCServer, connection: xpc_connection_t, reply: inout xpc_object_t?) throws
714 | }
/Users/admin/builder/spi-builder-workspace/Sources/SecureXPC/Server/XPCServer.swift:399: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
397 | self.handlerQueue.async {
398 | XPCServer.ClientIdentity.setForCurrentThread(connection: connection, message: message) {
399 | 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
400 | do {
401 | 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:401:53: warning: capture of 'request' with non-sendable type 'Request' in an isolated closure; this is an error in the Swift 6 language mode
399 | var reply = handler.shouldCreateReply ? xpc_dictionary_create_reply(message) : nil
400 | do {
401 | 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
402 | try self.maybeSendReply(&reply, request: request, connection: connection)
403 | } 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:401:70: warning: capture of 'self' with non-sendable type 'XPCServer' in an isolated closure; this is an error in the Swift 6 language mode
139 | /// - ``connectionDescriptor``
140 | /// - ``endpoint``
141 | public class XPCServer {
| `- note: class 'XPCServer' does not conform to the 'Sendable' protocol
142 |
143 | /// The queue used to run synchronous handlers associated with registered routes.
:
399 | var reply = handler.shouldCreateReply ? xpc_dictionary_create_reply(message) : nil
400 | do {
401 | 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
402 | try self.maybeSendReply(&reply, request: request, connection: connection)
403 | } catch {
/Users/admin/builder/spi-builder-workspace/Sources/SecureXPC/Server/XPCServer.swift:401: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
399 | var reply = handler.shouldCreateReply ? xpc_dictionary_create_reply(message) : nil
400 | do {
401 | 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
402 | try self.maybeSendReply(&reply, request: request, connection: connection)
403 | } 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/XPCServer.swift:424:33: warning: capture of 'handler' with non-sendable type 'any XPCHandlerAsync' in a `@Sendable` closure; this is an error in the Swift 6 language mode
422 | // XPCClient. If an API user wants consistent ordering, that needs to be done at the application layer.
423 | Task {
424 | var reply = handler.shouldCreateReply ? xpc_dictionary_create_reply(message) : nil
| `- warning: capture of 'handler' with non-sendable type 'any XPCHandlerAsync' in a `@Sendable` closure; this is an error in the Swift 6 language mode
425 | do {
426 | try await handler.handle(request: request, server: self, connection: connection, reply: &reply)
:
784 |
785 | @available(macOS 10.15.0, *)
786 | fileprivate protocol XPCHandlerAsync: XPCHandler {
| `- note: protocol 'XPCHandlerAsync' does not conform to the 'Sendable' protocol
787 | func handle(
788 | request: Request,
/Users/admin/builder/spi-builder-workspace/Sources/SecureXPC/Server/XPCServer.swift:424:89: 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
422 | // XPCClient. If an API user wants consistent ordering, that needs to be done at the application layer.
423 | Task {
424 | 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 a `@Sendable` closure; this is an error in the Swift 6 language mode
425 | do {
426 | try await 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:426:59: warning: capture of 'request' with non-sendable type 'Request' in a `@Sendable` closure; this is an error in the Swift 6 language mode
424 | var reply = handler.shouldCreateReply ? xpc_dictionary_create_reply(message) : nil
425 | do {
426 | try await 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
427 | try self.maybeSendReply(&reply, request: request, connection: connection)
428 | } 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:426:76: warning: capture of 'self' with non-sendable type 'XPCServer' in a `@Sendable` closure; this is an error in the Swift 6 language mode
139 | /// - ``connectionDescriptor``
140 | /// - ``endpoint``
141 | public class XPCServer {
| `- note: class 'XPCServer' does not conform to the 'Sendable' protocol
142 |
143 | /// The queue used to run synchronous handlers associated with registered routes.
:
424 | var reply = handler.shouldCreateReply ? xpc_dictionary_create_reply(message) : nil
425 | do {
426 | try await 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
427 | try self.maybeSendReply(&reply, request: request, connection: connection)
428 | } catch {
/Users/admin/builder/spi-builder-workspace/Sources/SecureXPC/Server/XPCServer.swift:426:94: 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
424 | var reply = handler.shouldCreateReply ? xpc_dictionary_create_reply(message) : nil
425 | do {
426 | try await 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 a `@Sendable` closure; this is an error in the Swift 6 language mode
427 | try self.maybeSendReply(&reply, request: request, connection: connection)
428 | } 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/XPCServer.swift:915:31: warning: capture of 'handler' with non-sendable type '(XPCError) async -> Void' in a `@Sendable` closure; this is an error in the Swift 6 language mode
913 | if #available(macOS 10.15, *) {
914 | Task {
915 | await handler(error)
| |- warning: capture of 'handler' with non-sendable type '(XPCError) async -> Void' 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'
916 | }
917 | } else {
/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.
[31/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 non-isolated 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 non-isolated 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:398: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
396 | // concurrent. (Although if an API user sets the target queue to be serial that's supported too.)
397 | self.handlerQueue.async {
398 | 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
399 | var reply = handler.shouldCreateReply ? xpc_dictionary_create_reply(message) : nil
400 | 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:398: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
396 | // concurrent. (Although if an API user sets the target queue to be serial that's supported too.)
397 | self.handlerQueue.async {
398 | 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
399 | var reply = handler.shouldCreateReply ? xpc_dictionary_create_reply(message) : nil
400 | 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:399: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
397 | self.handlerQueue.async {
398 | XPCServer.ClientIdentity.setForCurrentThread(connection: connection, message: message) {
399 | 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
400 | do {
401 | try handler.handle(request: request, server: self, connection: connection, reply: &reply)
:
710 | // MARK: sync handler function wrappers
711 |
712 | fileprivate protocol XPCHandlerSync: XPCHandler {
| `- note: protocol 'XPCHandlerSync' does not conform to the 'Sendable' protocol
713 | func handle(request: Request, server: XPCServer, connection: xpc_connection_t, reply: inout xpc_object_t?) throws
714 | }
/Users/admin/builder/spi-builder-workspace/Sources/SecureXPC/Server/XPCServer.swift:401:53: warning: capture of 'request' with non-sendable type 'Request' in a `@Sendable` closure; this is an error in the Swift 6 language mode
399 | var reply = handler.shouldCreateReply ? xpc_dictionary_create_reply(message) : nil
400 | do {
401 | 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
402 | try self.maybeSendReply(&reply, request: request, connection: connection)
403 | } 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:401:70: warning: capture of 'self' with non-sendable type 'XPCServer' in a `@Sendable` closure; this is an error in the Swift 6 language mode
139 | /// - ``connectionDescriptor``
140 | /// - ``endpoint``
141 | public class XPCServer {
| `- note: class 'XPCServer' does not conform to the 'Sendable' protocol
142 |
143 | /// The queue used to run synchronous handlers associated with registered routes.
:
399 | var reply = handler.shouldCreateReply ? xpc_dictionary_create_reply(message) : nil
400 | do {
401 | 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
402 | try self.maybeSendReply(&reply, request: request, connection: connection)
403 | } catch {
/Users/admin/builder/spi-builder-workspace/Sources/SecureXPC/Server/XPCServer.swift:399: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
397 | self.handlerQueue.async {
398 | XPCServer.ClientIdentity.setForCurrentThread(connection: connection, message: message) {
399 | 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
400 | do {
401 | try handler.handle(request: request, server: self, connection: connection, reply: &reply)
:
710 | // MARK: sync handler function wrappers
711 |
712 | fileprivate protocol XPCHandlerSync: XPCHandler {
| `- note: protocol 'XPCHandlerSync' does not conform to the 'Sendable' protocol
713 | func handle(request: Request, server: XPCServer, connection: xpc_connection_t, reply: inout xpc_object_t?) throws
714 | }
/Users/admin/builder/spi-builder-workspace/Sources/SecureXPC/Server/XPCServer.swift:399: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
397 | self.handlerQueue.async {
398 | XPCServer.ClientIdentity.setForCurrentThread(connection: connection, message: message) {
399 | 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
400 | do {
401 | 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:401:53: warning: capture of 'request' with non-sendable type 'Request' in an isolated closure; this is an error in the Swift 6 language mode
399 | var reply = handler.shouldCreateReply ? xpc_dictionary_create_reply(message) : nil
400 | do {
401 | 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
402 | try self.maybeSendReply(&reply, request: request, connection: connection)
403 | } 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:401:70: warning: capture of 'self' with non-sendable type 'XPCServer' in an isolated closure; this is an error in the Swift 6 language mode
139 | /// - ``connectionDescriptor``
140 | /// - ``endpoint``
141 | public class XPCServer {
| `- note: class 'XPCServer' does not conform to the 'Sendable' protocol
142 |
143 | /// The queue used to run synchronous handlers associated with registered routes.
:
399 | var reply = handler.shouldCreateReply ? xpc_dictionary_create_reply(message) : nil
400 | do {
401 | 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
402 | try self.maybeSendReply(&reply, request: request, connection: connection)
403 | } catch {
/Users/admin/builder/spi-builder-workspace/Sources/SecureXPC/Server/XPCServer.swift:401: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
399 | var reply = handler.shouldCreateReply ? xpc_dictionary_create_reply(message) : nil
400 | do {
401 | 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
402 | try self.maybeSendReply(&reply, request: request, connection: connection)
403 | } 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/XPCServer.swift:424:33: warning: capture of 'handler' with non-sendable type 'any XPCHandlerAsync' in a `@Sendable` closure; this is an error in the Swift 6 language mode
422 | // XPCClient. If an API user wants consistent ordering, that needs to be done at the application layer.
423 | Task {
424 | var reply = handler.shouldCreateReply ? xpc_dictionary_create_reply(message) : nil
| `- warning: capture of 'handler' with non-sendable type 'any XPCHandlerAsync' in a `@Sendable` closure; this is an error in the Swift 6 language mode
425 | do {
426 | try await handler.handle(request: request, server: self, connection: connection, reply: &reply)
:
784 |
785 | @available(macOS 10.15.0, *)
786 | fileprivate protocol XPCHandlerAsync: XPCHandler {
| `- note: protocol 'XPCHandlerAsync' does not conform to the 'Sendable' protocol
787 | func handle(
788 | request: Request,
/Users/admin/builder/spi-builder-workspace/Sources/SecureXPC/Server/XPCServer.swift:424:89: 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
422 | // XPCClient. If an API user wants consistent ordering, that needs to be done at the application layer.
423 | Task {
424 | 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 a `@Sendable` closure; this is an error in the Swift 6 language mode
425 | do {
426 | try await 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:426:59: warning: capture of 'request' with non-sendable type 'Request' in a `@Sendable` closure; this is an error in the Swift 6 language mode
424 | var reply = handler.shouldCreateReply ? xpc_dictionary_create_reply(message) : nil
425 | do {
426 | try await 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
427 | try self.maybeSendReply(&reply, request: request, connection: connection)
428 | } 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:426:76: warning: capture of 'self' with non-sendable type 'XPCServer' in a `@Sendable` closure; this is an error in the Swift 6 language mode
139 | /// - ``connectionDescriptor``
140 | /// - ``endpoint``
141 | public class XPCServer {
| `- note: class 'XPCServer' does not conform to the 'Sendable' protocol
142 |
143 | /// The queue used to run synchronous handlers associated with registered routes.
:
424 | var reply = handler.shouldCreateReply ? xpc_dictionary_create_reply(message) : nil
425 | do {
426 | try await 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
427 | try self.maybeSendReply(&reply, request: request, connection: connection)
428 | } catch {
/Users/admin/builder/spi-builder-workspace/Sources/SecureXPC/Server/XPCServer.swift:426:94: 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
424 | var reply = handler.shouldCreateReply ? xpc_dictionary_create_reply(message) : nil
425 | do {
426 | try await 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 a `@Sendable` closure; this is an error in the Swift 6 language mode
427 | try self.maybeSendReply(&reply, request: request, connection: connection)
428 | } 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/XPCServer.swift:915:31: warning: capture of 'handler' with non-sendable type '(XPCError) async -> Void' in a `@Sendable` closure; this is an error in the Swift 6 language mode
913 | if #available(macOS 10.15, *) {
914 | Task {
915 | await handler(error)
| |- warning: capture of 'handler' with non-sendable type '(XPCError) async -> Void' 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'
916 | }
917 | } else {
/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.
[32/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 non-isolated 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 non-isolated 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:398: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
396 | // concurrent. (Although if an API user sets the target queue to be serial that's supported too.)
397 | self.handlerQueue.async {
398 | 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
399 | var reply = handler.shouldCreateReply ? xpc_dictionary_create_reply(message) : nil
400 | 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:398: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
396 | // concurrent. (Although if an API user sets the target queue to be serial that's supported too.)
397 | self.handlerQueue.async {
398 | 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
399 | var reply = handler.shouldCreateReply ? xpc_dictionary_create_reply(message) : nil
400 | 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:399: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
397 | self.handlerQueue.async {
398 | XPCServer.ClientIdentity.setForCurrentThread(connection: connection, message: message) {
399 | 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
400 | do {
401 | try handler.handle(request: request, server: self, connection: connection, reply: &reply)
:
710 | // MARK: sync handler function wrappers
711 |
712 | fileprivate protocol XPCHandlerSync: XPCHandler {
| `- note: protocol 'XPCHandlerSync' does not conform to the 'Sendable' protocol
713 | func handle(request: Request, server: XPCServer, connection: xpc_connection_t, reply: inout xpc_object_t?) throws
714 | }
/Users/admin/builder/spi-builder-workspace/Sources/SecureXPC/Server/XPCServer.swift:401:53: warning: capture of 'request' with non-sendable type 'Request' in a `@Sendable` closure; this is an error in the Swift 6 language mode
399 | var reply = handler.shouldCreateReply ? xpc_dictionary_create_reply(message) : nil
400 | do {
401 | 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
402 | try self.maybeSendReply(&reply, request: request, connection: connection)
403 | } 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:401:70: warning: capture of 'self' with non-sendable type 'XPCServer' in a `@Sendable` closure; this is an error in the Swift 6 language mode
139 | /// - ``connectionDescriptor``
140 | /// - ``endpoint``
141 | public class XPCServer {
| `- note: class 'XPCServer' does not conform to the 'Sendable' protocol
142 |
143 | /// The queue used to run synchronous handlers associated with registered routes.
:
399 | var reply = handler.shouldCreateReply ? xpc_dictionary_create_reply(message) : nil
400 | do {
401 | 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
402 | try self.maybeSendReply(&reply, request: request, connection: connection)
403 | } catch {
/Users/admin/builder/spi-builder-workspace/Sources/SecureXPC/Server/XPCServer.swift:399: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
397 | self.handlerQueue.async {
398 | XPCServer.ClientIdentity.setForCurrentThread(connection: connection, message: message) {
399 | 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
400 | do {
401 | try handler.handle(request: request, server: self, connection: connection, reply: &reply)
:
710 | // MARK: sync handler function wrappers
711 |
712 | fileprivate protocol XPCHandlerSync: XPCHandler {
| `- note: protocol 'XPCHandlerSync' does not conform to the 'Sendable' protocol
713 | func handle(request: Request, server: XPCServer, connection: xpc_connection_t, reply: inout xpc_object_t?) throws
714 | }
/Users/admin/builder/spi-builder-workspace/Sources/SecureXPC/Server/XPCServer.swift:399: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
397 | self.handlerQueue.async {
398 | XPCServer.ClientIdentity.setForCurrentThread(connection: connection, message: message) {
399 | 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
400 | do {
401 | 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:401:53: warning: capture of 'request' with non-sendable type 'Request' in an isolated closure; this is an error in the Swift 6 language mode
399 | var reply = handler.shouldCreateReply ? xpc_dictionary_create_reply(message) : nil
400 | do {
401 | 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
402 | try self.maybeSendReply(&reply, request: request, connection: connection)
403 | } 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:401:70: warning: capture of 'self' with non-sendable type 'XPCServer' in an isolated closure; this is an error in the Swift 6 language mode
139 | /// - ``connectionDescriptor``
140 | /// - ``endpoint``
141 | public class XPCServer {
| `- note: class 'XPCServer' does not conform to the 'Sendable' protocol
142 |
143 | /// The queue used to run synchronous handlers associated with registered routes.
:
399 | var reply = handler.shouldCreateReply ? xpc_dictionary_create_reply(message) : nil
400 | do {
401 | 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
402 | try self.maybeSendReply(&reply, request: request, connection: connection)
403 | } catch {
/Users/admin/builder/spi-builder-workspace/Sources/SecureXPC/Server/XPCServer.swift:401: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
399 | var reply = handler.shouldCreateReply ? xpc_dictionary_create_reply(message) : nil
400 | do {
401 | 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
402 | try self.maybeSendReply(&reply, request: request, connection: connection)
403 | } 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/XPCServer.swift:424:33: warning: capture of 'handler' with non-sendable type 'any XPCHandlerAsync' in a `@Sendable` closure; this is an error in the Swift 6 language mode
422 | // XPCClient. If an API user wants consistent ordering, that needs to be done at the application layer.
423 | Task {
424 | var reply = handler.shouldCreateReply ? xpc_dictionary_create_reply(message) : nil
| `- warning: capture of 'handler' with non-sendable type 'any XPCHandlerAsync' in a `@Sendable` closure; this is an error in the Swift 6 language mode
425 | do {
426 | try await handler.handle(request: request, server: self, connection: connection, reply: &reply)
:
784 |
785 | @available(macOS 10.15.0, *)
786 | fileprivate protocol XPCHandlerAsync: XPCHandler {
| `- note: protocol 'XPCHandlerAsync' does not conform to the 'Sendable' protocol
787 | func handle(
788 | request: Request,
/Users/admin/builder/spi-builder-workspace/Sources/SecureXPC/Server/XPCServer.swift:424:89: 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
422 | // XPCClient. If an API user wants consistent ordering, that needs to be done at the application layer.
423 | Task {
424 | 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 a `@Sendable` closure; this is an error in the Swift 6 language mode
425 | do {
426 | try await 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:426:59: warning: capture of 'request' with non-sendable type 'Request' in a `@Sendable` closure; this is an error in the Swift 6 language mode
424 | var reply = handler.shouldCreateReply ? xpc_dictionary_create_reply(message) : nil
425 | do {
426 | try await 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
427 | try self.maybeSendReply(&reply, request: request, connection: connection)
428 | } 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:426:76: warning: capture of 'self' with non-sendable type 'XPCServer' in a `@Sendable` closure; this is an error in the Swift 6 language mode
139 | /// - ``connectionDescriptor``
140 | /// - ``endpoint``
141 | public class XPCServer {
| `- note: class 'XPCServer' does not conform to the 'Sendable' protocol
142 |
143 | /// The queue used to run synchronous handlers associated with registered routes.
:
424 | var reply = handler.shouldCreateReply ? xpc_dictionary_create_reply(message) : nil
425 | do {
426 | try await 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
427 | try self.maybeSendReply(&reply, request: request, connection: connection)
428 | } catch {
/Users/admin/builder/spi-builder-workspace/Sources/SecureXPC/Server/XPCServer.swift:426:94: 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
424 | var reply = handler.shouldCreateReply ? xpc_dictionary_create_reply(message) : nil
425 | do {
426 | try await 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 a `@Sendable` closure; this is an error in the Swift 6 language mode
427 | try self.maybeSendReply(&reply, request: request, connection: connection)
428 | } 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/XPCServer.swift:915:31: warning: capture of 'handler' with non-sendable type '(XPCError) async -> Void' in a `@Sendable` closure; this is an error in the Swift 6 language mode
913 | if #available(macOS 10.15, *) {
914 | Task {
915 | await handler(error)
| |- warning: capture of 'handler' with non-sendable type '(XPCError) async -> Void' 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'
916 | }
917 | } else {
/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.
[33/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
[34/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
[35/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
[36/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
[37/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
[38/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
[39/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
[40/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
[41/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
[42/50] Compiling SecureXPC XPCServiceClient.swift
[43/50] Compiling SecureXPC ArrayOptimizedForXPC.swift
[44/50] Compiling SecureXPC DataOptimizedForXPC.swift
[45/50] Compiling SecureXPC File Descriptor XPC Wrappers.swift
[46/50] Compiling SecureXPC IOSurfaceForXPC.swift
[47/50] Compiling SecureXPC XPCCommon.swift
/Users/admin/builder/spi-builder-workspace/Sources/SecureXPC/XPCCommon.swift:147:24: warning: static property 'xpc_connection_get_audit_tokenFunction' is not concurrency-safe because it is non-isolated global shared mutable state; this is an error in the Swift 6 language mode
145 | ///
146 | /// Note that because static variables are implicitly lazy the code to populate this variable is never run unless this variable is accessed.
147 | private static var xpc_connection_get_audit_tokenFunction: get_audit_token = {
| |- warning: static property 'xpc_connection_get_audit_tokenFunction' is not concurrency-safe because it is non-isolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'xpc_connection_get_audit_tokenFunction' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: annotate 'xpc_connection_get_audit_tokenFunction' 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
148 | // From man dlopen 3: If a null pointer is passed in path, dlopen() returns a handle equivalent to RTLD_DEFAULT
149 | guard let handle = dlopen(nil, RTLD_LAZY) else {
[48/50] Compiling SecureXPC XPCConnectionDescriptor.swift
/Users/admin/builder/spi-builder-workspace/Sources/SecureXPC/XPCCommon.swift:147:24: warning: static property 'xpc_connection_get_audit_tokenFunction' is not concurrency-safe because it is non-isolated global shared mutable state; this is an error in the Swift 6 language mode
145 | ///
146 | /// Note that because static variables are implicitly lazy the code to populate this variable is never run unless this variable is accessed.
147 | private static var xpc_connection_get_audit_tokenFunction: get_audit_token = {
| |- warning: static property 'xpc_connection_get_audit_tokenFunction' is not concurrency-safe because it is non-isolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'xpc_connection_get_audit_tokenFunction' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: annotate 'xpc_connection_get_audit_tokenFunction' 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
148 | // From man dlopen 3: If a null pointer is passed in path, dlopen() returns a handle equivalent to RTLD_DEFAULT
149 | guard let handle = dlopen(nil, RTLD_LAZY) else {
[49/50] Compiling SecureXPC XPCError.swift
/Users/admin/builder/spi-builder-workspace/Sources/SecureXPC/XPCCommon.swift:147:24: warning: static property 'xpc_connection_get_audit_tokenFunction' is not concurrency-safe because it is non-isolated global shared mutable state; this is an error in the Swift 6 language mode
145 | ///
146 | /// Note that because static variables are implicitly lazy the code to populate this variable is never run unless this variable is accessed.
147 | private static var xpc_connection_get_audit_tokenFunction: get_audit_token = {
| |- warning: static property 'xpc_connection_get_audit_tokenFunction' is not concurrency-safe because it is non-isolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'xpc_connection_get_audit_tokenFunction' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: annotate 'xpc_connection_get_audit_tokenFunction' 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
148 | // From man dlopen 3: If a null pointer is passed in path, dlopen() returns a handle equivalent to RTLD_DEFAULT
149 | guard let handle = dlopen(nil, RTLD_LAZY) else {
[50/50] Compiling SecureXPC XPCServerEndpoint.swift
/Users/admin/builder/spi-builder-workspace/Sources/SecureXPC/XPCCommon.swift:147:24: warning: static property 'xpc_connection_get_audit_tokenFunction' is not concurrency-safe because it is non-isolated global shared mutable state; this is an error in the Swift 6 language mode
145 | ///
146 | /// Note that because static variables are implicitly lazy the code to populate this variable is never run unless this variable is accessed.
147 | private static var xpc_connection_get_audit_tokenFunction: get_audit_token = {
| |- warning: static property 'xpc_connection_get_audit_tokenFunction' is not concurrency-safe because it is non-isolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'xpc_connection_get_audit_tokenFunction' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: annotate 'xpc_connection_get_audit_tokenFunction' 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
148 | // From man dlopen 3: If a null pointer is passed in path, dlopen() returns a handle equivalent to RTLD_DEFAULT
149 | guard let handle = dlopen(nil, RTLD_LAZY) else {
Build complete! (26.02s)
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.