The Swift Package Index logo.Swift Package Index

Track the adoption of Swift 6 strict concurrency checks for data race safety. How many packages are Ready for Swift 6?

Build Information

Successful build of sXPC, reference 0.3.4 (430bc9), with Swift 6.0 for macOS (SPM) on 4 Nov 2024 06:19:37 UTC.

Swift 6 data race errors: 2

Build Command

env DEVELOPER_DIR=/Applications/Xcode-16.1.0.app xcrun swift build --arch arm64 -Xswiftc -Xfrontend -Xswiftc -stats-output-dir -Xswiftc -Xfrontend -Xswiftc .stats -Xswiftc -strict-concurrency=complete

Build Log

========================================
RunAll
========================================
Builder version: 4.56.0
Interrupt handler set up.
========================================
Checkout
========================================
Clone URL: https://github.com/Alkenso/sXPC.git
Reference: 0.3.4
Initialized empty Git repository in /Users/admin/builder/spi-builder-workspace/.git/
From https://github.com/Alkenso/sXPC
 * tag               0.3.4      -> FETCH_HEAD
HEAD is now at 430bc9c Bump min supported version to 10.15
Cloned https://github.com/Alkenso/sXPC.git
Revision (git rev-parse @):
430bc9c84b4132dbff4fde9ecf6e9bdd43f841df
SUCCESS checkout https://github.com/Alkenso/sXPC.git at 0.3.4
Fetching https://github.com/Alkenso/SwiftSpellbook.git
[1/3082] Fetching swiftspellbook
Fetched https://github.com/Alkenso/SwiftSpellbook.git from cache (1.03s)
Computing version for https://github.com/Alkenso/SwiftSpellbook.git
Computed https://github.com/Alkenso/SwiftSpellbook.git at 0.4.2 (0.64s)
Creating working copy for https://github.com/Alkenso/SwiftSpellbook.git
Working copy of https://github.com/Alkenso/SwiftSpellbook.git resolved at 0.4.2
========================================
ResolveProductDependencies
========================================
Resolving dependencies ...
{
  "identity": ".resolve-product-dependencies",
  "name": "resolve-dependencies",
  "url": "/Users/admin/builder/spi-builder-workspace/.resolve-product-dependencies",
  "version": "unspecified",
  "path": "/Users/admin/builder/spi-builder-workspace/.resolve-product-dependencies",
  "dependencies": [
    {
      "identity": "sxpc",
      "name": "sXPC",
      "url": "https://github.com/Alkenso/sXPC.git",
      "version": "unspecified",
      "path": "/Users/admin/builder/spi-builder-workspace/.resolve-product-dependencies/.build/checkouts/sXPC",
      "dependencies": [
        {
          "identity": "swiftspellbook",
          "name": "SwiftSpellbook",
          "url": "https://github.com/Alkenso/SwiftSpellbook.git",
          "version": "0.4.2",
          "path": "/Users/admin/builder/spi-builder-workspace/.resolve-product-dependencies/.build/checkouts/SwiftSpellbook",
          "dependencies": [
          ]
        }
      ]
    }
  ]
}
Fetching https://github.com/Alkenso/sXPC.git
[1/509] Fetching sxpc
Fetched https://github.com/Alkenso/sXPC.git from cache (0.79s)
Fetching https://github.com/Alkenso/SwiftSpellbook.git from cache
Fetched https://github.com/Alkenso/SwiftSpellbook.git from cache (0.44s)
Computing version for https://github.com/Alkenso/SwiftSpellbook.git
Computed https://github.com/Alkenso/SwiftSpellbook.git at 0.4.2 (0.03s)
Creating working copy for https://github.com/Alkenso/SwiftSpellbook.git
Working copy of https://github.com/Alkenso/SwiftSpellbook.git resolved at 0.4.2
Creating working copy for https://github.com/Alkenso/sXPC.git
Working copy of https://github.com/Alkenso/sXPC.git resolved at 0.3.4 (430bc9c)
warning: '.resolve-product-dependencies': dependency 'sxpc' is not used by any target
Found 1 product dependencies
  - SwiftSpellbook
========================================
Build
========================================
Selected platform:         macosSpm
Swift version:             6.0
Building package at path:  $PWD
https://github.com/Alkenso/sXPC.git
Running build ...
env DEVELOPER_DIR=/Applications/Xcode-16.1.0.app xcrun swift build --arch arm64 -Xswiftc -Xfrontend -Xswiftc -stats-output-dir -Xswiftc -Xfrontend -Xswiftc .stats -Xswiftc -strict-concurrency=complete
Building for debugging...
[0/4] Write sources
[2/4] Write swift-version--7754E27361AE5C74.txt
[3/4] Compiling SpellbookFoundationObjC SpellbookObjC.mm
[5/59] Emitting module SpellbookFoundation
[6/65] Compiling SpellbookFoundation Unsafe.swift
[7/65] Compiling SpellbookFoundation Exceptions.swift
[8/65] Compiling SpellbookFoundation DeviceInfo.swift
[9/65] Compiling SpellbookFoundation Atomic.swift
[10/65] Compiling SpellbookFoundation BlockingQueue.swift
[11/65] Compiling SpellbookFoundation ConcurrentBlockOperation.swift
[12/65] Compiling SpellbookFoundation Extensions - DispatchQueue.swift
[13/65] Compiling SpellbookFoundation Extensions - Locks.swift
[14/65] Compiling SpellbookFoundation Extensions - Task.swift
[15/65] Compiling SpellbookFoundation PosixLocks.swift
[16/65] Compiling SpellbookFoundation SynchronizationUtils.swift
[17/65] Compiling SpellbookFoundation Synchronized.swift
[18/65] Compiling SpellbookFoundation DictionaryWriter.swift
[19/65] Compiling SpellbookFoundation Extensions - Bundle.swift
[20/65] Compiling SpellbookFoundation Extensions - FileManager.swift
[21/65] Compiling SpellbookFoundation FileEnumerator.swift
[22/65] Compiling SpellbookFoundation FileStore.swift
[23/65] Compiling SpellbookFoundation TemporaryDirectory.swift
[24/65] Compiling SpellbookFoundation SBUnit.swift
[25/65] Compiling SpellbookFoundation SpellbookLog.swift
[26/65] Compiling SpellbookFoundation Utils.swift
[27/65] Compiling SpellbookFoundation WildcardExpression.swift
[28/65] Compiling SpellbookFoundation DictionaryCodingKey.swift
[29/65] Compiling SpellbookFoundation DictionaryReader.swift
[30/65] Compiling SpellbookFoundation Extensions - CoreGraphics.swift
[31/65] Compiling SpellbookFoundation AuditToken.swift
[32/65] Compiling SpellbookFoundation BridgedCEnum.swift
[33/65] Compiling SpellbookFoundation IOKitError.swift
[34/65] Compiling SpellbookFoundation Mach.swift
[35/65] Compiling SpellbookFoundation POD+Swift.swift
[36/65] Compiling SpellbookFoundation Extensions - Comparable.swift
[37/65] Compiling SpellbookFoundation Extensions - Formatters.swift
[38/65] Compiling SpellbookFoundation Extensions - NSError.swift
[39/65] Compiling SpellbookFoundation Extensions - Other.swift
[40/65] Compiling SpellbookFoundation Extensions - StandardTypes.swift
[41/65] Compiling SpellbookFoundation ObjectBuilder.swift
[42/65] Compiling SpellbookFoundation BinaryParsingError.swift
[43/65] Compiling SpellbookFoundation BinaryReader.swift
[44/65] Compiling SpellbookFoundation BinaryReaderInput.swift
[45/65] Compiling SpellbookFoundation BinaryWriter.swift
[46/65] Compiling SpellbookFoundation BinaryWriterOutput.swift
[47/65] Compiling SpellbookFoundation Extensions - Publisher.swift
[48/65] Compiling SpellbookFoundation Proxies.swift
[49/65] Compiling SpellbookFoundation Benchmark.swift
[50/65] Compiling SpellbookFoundation CancellationToken.swift
[51/65] Compiling SpellbookFoundation Environment.swift
[52/65] Compiling SpellbookFoundation Extensions - Codable.swift
[53/65] Compiling SpellbookFoundation Extensions - Collections.swift
[54/65] Compiling SpellbookFoundation SynchronousExecutor.swift
[55/65] Compiling SpellbookFoundation Boxing.swift
[56/65] Compiling SpellbookFoundation Closure.swift
[57/65] Compiling SpellbookFoundation CommonError.swift
[58/65] Compiling SpellbookFoundation Refreshable.swift
[59/65] Compiling SpellbookFoundation Resource (RAII).swift
[60/65] Compiling SpellbookFoundation Types.swift
[61/65] Compiling SpellbookFoundation EventAsk.swift
[62/65] Compiling SpellbookFoundation EventNotify.swift
[63/65] Compiling SpellbookFoundation Observable.swift
[64/65] Compiling SpellbookFoundation ValueObserving.swift
[65/65] Compiling SpellbookFoundation ValueStore.swift
[66/75] Compiling sXPC XPCListener.swift
[67/75] Compiling sXPC Utils.swift
/Users/admin/builder/spi-builder-workspace/Sources/sXPC/XPCConnection/Utils.swift:56:24: warning: static property 'defaultClasses' is not concurrency-safe because non-'Sendable' type 'Set<NSObject>' may have shared mutable state; this is an error in the Swift 6 language mode
 54 |
 55 | extension NSXPCInterface {
 56 |     private static let defaultClasses = NSSet(array: [
    |                        `- warning: static property 'defaultClasses' is not concurrency-safe because non-'Sendable' type 'Set<NSObject>' may have shared mutable state; this is an error in the Swift 6 language mode
 57 |         NSArray.self,
 58 |         NSString.self,
ObjectiveC.NSObject:2:12: note: class 'NSObject' does not conform to the 'Sendable' protocol
  1 | @available(macOS 10.0, *)
  2 | open class NSObject : NSObjectProtocol {
    |            `- note: class 'NSObject' does not conform to the 'Sendable' protocol
  3 |     open class func load()
  4 |     open class func initialize()
/Users/admin/builder/spi-builder-workspace/Sources/sXPC/XPCConnection/Utils.swift:25:1: warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'ObjectiveC'
 23 |  */
 24 |
 25 | import Foundation
    | `- warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'ObjectiveC'
 26 |
 27 | extension NSCoder {
    :
 54 |
 55 | extension NSXPCInterface {
 56 |     private static let defaultClasses = NSSet(array: [
    |                        |- note: annotate 'defaultClasses' 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
 57 |         NSArray.self,
 58 |         NSString.self,
[68/75] Compiling sXPC XPCConnection.swift
/Users/admin/builder/spi-builder-workspace/Sources/sXPC/XPCConnection/XPCConnection.swift:186:13: warning: let '_currentConnectionStorage' is not concurrency-safe because non-'Sendable' type 'Synchronized<[ObjectIdentifier : Weak<AnyObject>]>' may have shared mutable state; this is an error in the Swift 6 language mode
184 | }
185 |
186 | private let _currentConnectionStorage = Synchronized<[ObjectIdentifier: Weak<AnyObject>]>(.serial)
    |             `- warning: let '_currentConnectionStorage' is not concurrency-safe because non-'Sendable' type 'Synchronized<[ObjectIdentifier : Weak<AnyObject>]>' may have shared mutable state; this is an error in the Swift 6 language mode
187 |
188 | extension XPCConnection {
/Users/admin/builder/spi-builder-workspace/.build/checkouts/SwiftSpellbook/Sources/SpellbookFoundation/Threading & Concurrency/Synchronized.swift:35:20: note: generic class 'Synchronized' does not conform to the 'Sendable' protocol
 33 |
 34 | /// Wrapper around DispatchQueue for convenient and safe multithreaded access to any value.
 35 | public final class Synchronized<Value> {
    |                    `- note: generic class 'Synchronized' does not conform to the 'Sendable' protocol
 36 |     private let _queue: DispatchQueue
 37 |     private var _value: Value
/Users/admin/builder/spi-builder-workspace/Sources/sXPC/XPCConnection/XPCConnection.swift:26:1: warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'SpellbookFoundation'
 24 |
 25 | import Foundation
 26 | import SpellbookFoundation
    | `- warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'SpellbookFoundation'
 27 |
 28 | /// Bidirectional XPC Connection
    :
184 | }
185 |
186 | private let _currentConnectionStorage = Synchronized<[ObjectIdentifier: Weak<AnyObject>]>(.serial)
    |             |- note: annotate '_currentConnectionStorage' 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
187 |
188 | extension XPCConnection {
[69/75] Compiling sXPC XPCInterface.swift
[70/75] Compiling sXPC XPCTransportUtils.swift
/Users/admin/builder/spi-builder-workspace/Sources/sXPC/XPC Transport/XPCTransportUtils.swift:51:36: warning: capture of 'reply' with non-sendable type '(Result<T, any Error>) -> Void' in a `@Sendable` closure; this is an error in the Swift 6 language mode
49 |                     return value
50 |                 }
51 |                 finalQueue.async { reply(decodedResult) }
   |                                    |- warning: capture of 'reply' with non-sendable type '(Result<T, any Error>) -> 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'
52 |             }
53 |         }
/Users/admin/builder/spi-builder-workspace/Sources/sXPC/XPC Transport/XPCTransportUtils.swift:51:36: warning: capture of 'reply' with non-sendable type '(Result<T, any Error>) -> Void' in a `@Sendable` closure; this is an error in the Swift 6 language mode
49 |                     return value
50 |                 }
51 |                 finalQueue.async { reply(decodedResult) }
   |                                    |- warning: capture of 'reply' with non-sendable type '(Result<T, any Error>) -> 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'
52 |             }
53 |         }
/Users/admin/builder/spi-builder-workspace/Sources/sXPC/XPC Transport/XPCTransportUtils.swift:51:42: warning: capture of 'decodedResult' with non-sendable type 'Result<T, any Error>' in a `@Sendable` closure; this is an error in the Swift 6 language mode
41 |
42 | extension XPCReply {
43 |     static func decode<T: Decodable>(_ type: T.Type, reply: @escaping (Result<T, Error>) -> Void) -> XPCReply {
   |                        `- note: consider making generic parameter 'T' conform to the 'Sendable' protocol
44 |         self.init { processingQueue, finalQueue, rawResult in
45 |             processingQueue.async {
   :
49 |                     return value
50 |                 }
51 |                 finalQueue.async { reply(decodedResult) }
   |                                          `- warning: capture of 'decodedResult' with non-sendable type 'Result<T, any Error>' in a `@Sendable` closure; this is an error in the Swift 6 language mode
52 |             }
53 |         }
[71/75] Compiling sXPC XPCTransportMessage.swift
[72/75] Compiling sXPC XPCTransportListener.swift
[73/75] Compiling sXPC XPCClient.swift
/Users/admin/builder/spi-builder-workspace/Sources/sXPC/XPCConnection/XPCClient.swift:96:13: warning: capture of 'self' with non-sendable type 'XPCClient<RemoteInterface, ExportedInterface, ConnectedState>' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 27 |
 28 | /// XPCClient is a wrapper around XPCConnection that provide KeepAlive ability for the connection.
 29 | public class XPCClient<RemoteInterface, ExportedInterface, ConnectedState> {
    |              `- note: generic class 'XPCClient' does not conform to the 'Sendable' protocol
 30 |     private typealias Connection = XPCConnection<RemoteInterface, ExportedInterface>
 31 |
    :
 94 |     public func invalidate() {
 95 |         queue.async { [self] in
 96 |             requestEndpointHandler = nil
    |             `- warning: capture of 'self' with non-sendable type 'XPCClient<RemoteInterface, ExportedInterface, ConnectedState>' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 97 |             connection.invalidate()
 98 |         }
/Users/admin/builder/spi-builder-workspace/Sources/sXPC/XPCConnection/XPCClient.swift:157:17: warning: capture of 'self' with non-sendable type 'XPCClient<RemoteInterface, ExportedInterface, ConnectedState>' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 27 |
 28 | /// XPCClient is a wrapper around XPCConnection that provide KeepAlive ability for the connection.
 29 | public class XPCClient<RemoteInterface, ExportedInterface, ConnectedState> {
    |              `- note: generic class 'XPCClient' does not conform to the 'Sendable' protocol
 30 |     private typealias Connection = XPCConnection<RemoteInterface, ExportedInterface>
 31 |
    :
155 |         queue.async { [self] in
156 |             if dropState {
157 |                 connectedStateStore.update(nil)
    |                 `- warning: capture of 'self' with non-sendable type 'XPCClient<RemoteInterface, ExportedInterface, ConnectedState>' in a `@Sendable` closure; this is an error in the Swift 6 language mode
158 |             }
159 |
/Users/admin/builder/spi-builder-workspace/Sources/sXPC/XPCConnection/XPCClient.swift:163:17: warning: capture of 'requestEndpointHandler' with non-sendable type '(@escaping (XPCConnectionInit?) -> Void) -> Void' in a `@Sendable` closure; this is an error in the Swift 6 language mode
161 |
162 |             queue.asyncAfter(deadline: .now() + (immediately ? 0 : reconnectDelay)) {
163 |                 requestEndpointHandler { [weak self] endpoint in
    |                 |- warning: capture of 'requestEndpointHandler' with non-sendable type '(@escaping (XPCConnectionInit?) -> Void) -> 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'
164 |                     guard let self = self else { return }
165 |                     if let endpoint {
/Users/admin/builder/spi-builder-workspace/Sources/sXPC/XPCConnection/XPCClient.swift:163:48: warning: capture of 'self' with non-sendable type 'XPCClient<RemoteInterface, ExportedInterface, ConnectedState>' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 27 |
 28 | /// XPCClient is a wrapper around XPCConnection that provide KeepAlive ability for the connection.
 29 | public class XPCClient<RemoteInterface, ExportedInterface, ConnectedState> {
    |              `- note: generic class 'XPCClient' does not conform to the 'Sendable' protocol
 30 |     private typealias Connection = XPCConnection<RemoteInterface, ExportedInterface>
 31 |
    :
161 |
162 |             queue.asyncAfter(deadline: .now() + (immediately ? 0 : reconnectDelay)) {
163 |                 requestEndpointHandler { [weak self] endpoint in
    |                                                `- warning: capture of 'self' with non-sendable type 'XPCClient<RemoteInterface, ExportedInterface, ConnectedState>' in a `@Sendable` closure; this is an error in the Swift 6 language mode
164 |                     guard let self = self else { return }
165 |                     if let endpoint {
[74/75] Emitting module sXPC
/Users/admin/builder/spi-builder-workspace/Sources/sXPC/XPCConnection/Utils.swift:56:24: warning: static property 'defaultClasses' is not concurrency-safe because non-'Sendable' type 'Set<NSObject>' may have shared mutable state; this is an error in the Swift 6 language mode
 54 |
 55 | extension NSXPCInterface {
 56 |     private static let defaultClasses = NSSet(array: [
    |                        `- warning: static property 'defaultClasses' is not concurrency-safe because non-'Sendable' type 'Set<NSObject>' may have shared mutable state; this is an error in the Swift 6 language mode
 57 |         NSArray.self,
 58 |         NSString.self,
ObjectiveC.NSObject:2:12: note: class 'NSObject' does not conform to the 'Sendable' protocol
  1 | @available(macOS 10.0, *)
  2 | open class NSObject : NSObjectProtocol {
    |            `- note: class 'NSObject' does not conform to the 'Sendable' protocol
  3 |     open class func load()
  4 |     open class func initialize()
/Users/admin/builder/spi-builder-workspace/Sources/sXPC/XPCConnection/Utils.swift:25:1: warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'ObjectiveC'
 23 |  */
 24 |
 25 | import Foundation
    | `- warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'ObjectiveC'
 26 |
 27 | extension NSCoder {
    :
 54 |
 55 | extension NSXPCInterface {
 56 |     private static let defaultClasses = NSSet(array: [
    |                        |- note: annotate 'defaultClasses' 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
 57 |         NSArray.self,
 58 |         NSString.self,
/Users/admin/builder/spi-builder-workspace/Sources/sXPC/XPCConnection/XPCConnection.swift:186:13: warning: let '_currentConnectionStorage' is not concurrency-safe because non-'Sendable' type 'Synchronized<[ObjectIdentifier : Weak<AnyObject>]>' may have shared mutable state; this is an error in the Swift 6 language mode
184 | }
185 |
186 | private let _currentConnectionStorage = Synchronized<[ObjectIdentifier: Weak<AnyObject>]>(.serial)
    |             `- warning: let '_currentConnectionStorage' is not concurrency-safe because non-'Sendable' type 'Synchronized<[ObjectIdentifier : Weak<AnyObject>]>' may have shared mutable state; this is an error in the Swift 6 language mode
187 |
188 | extension XPCConnection {
/Users/admin/builder/spi-builder-workspace/.build/checkouts/SwiftSpellbook/Sources/SpellbookFoundation/Threading & Concurrency/Synchronized.swift:35:20: note: generic class 'Synchronized' does not conform to the 'Sendable' protocol
 33 |
 34 | /// Wrapper around DispatchQueue for convenient and safe multithreaded access to any value.
 35 | public final class Synchronized<Value> {
    |                    `- note: generic class 'Synchronized' does not conform to the 'Sendable' protocol
 36 |     private let _queue: DispatchQueue
 37 |     private var _value: Value
/Users/admin/builder/spi-builder-workspace/Sources/sXPC/XPCConnection/XPCConnection.swift:26:1: warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'SpellbookFoundation'
 24 |
 25 | import Foundation
 26 | import SpellbookFoundation
    | `- warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'SpellbookFoundation'
 27 |
 28 | /// Bidirectional XPC Connection
    :
184 | }
185 |
186 | private let _currentConnectionStorage = Synchronized<[ObjectIdentifier: Weak<AnyObject>]>(.serial)
    |             |- note: annotate '_currentConnectionStorage' 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
187 |
188 | extension XPCConnection {
[75/75] Compiling sXPC XPCTransportConnection.swift
/Users/admin/builder/spi-builder-workspace/Sources/sXPC/XPC Transport/XPCTransportConnection.swift:100:27: warning: capture of 'handler' with non-sendable type '(Message) -> Void' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 98 |         receiveDataHandler = { [queue] in
 99 |             let value = try decoder.decode(Message.self, from: $0)
100 |             queue.async { handler(value) }
    |                           |- warning: capture of 'handler' with non-sendable type '(Message) -> 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'
101 |         }
102 |     }
/Users/admin/builder/spi-builder-workspace/Sources/sXPC/XPC Transport/XPCTransportConnection.swift:100:35: warning: capture of 'value' with non-sendable type 'Message' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 92 |     public var stateHandler: ((XPCTransportConnectionState) -> Void)?
 93 |
 94 |     public func setReceiveMessageHandler<Message: Decodable>(_ type: Message.Type = Message.self, handler: @escaping (Message) -> Void) {
    |                                          `- note: consider making generic parameter 'Message' conform to the 'Sendable' protocol
 95 |         let decoder = JSONDecoder()
 96 |         decoder.userInfo[.replySender] = { [weak self] in self?.sendReply(id: $0, response: $1) } as XPCTransportMessageReplySender
    :
 98 |         receiveDataHandler = { [queue] in
 99 |             let value = try decoder.decode(Message.self, from: $0)
100 |             queue.async { handler(value) }
    |                                   `- warning: capture of 'value' with non-sendable type 'Message' in a `@Sendable` closure; this is an error in the Swift 6 language mode
101 |         }
102 |     }
/Users/admin/builder/spi-builder-workspace/Sources/sXPC/XPC Transport/XPCTransportConnection.swift:140:13: warning: capture of 'self' with non-sendable type 'XPCTransportConnection' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 56 | }
 57 |
 58 | public class XPCTransportConnection {
    |              `- note: class 'XPCTransportConnection' does not conform to the 'Sendable' protocol
 59 |     private let connectionQueue = DispatchQueue(label: "XPCTransportConnection.connection.queue")
 60 |     private var messageQueue = DispatchQueue(label: "XPCTransportConnection.message.queue")
    :
138 |     public func invalidate() {
139 |         queue.async {
140 |             self.xpc = nil
    |             `- warning: capture of 'self' with non-sendable type 'XPCTransportConnection' in a `@Sendable` closure; this is an error in the Swift 6 language mode
141 |             self.connection.invalidate()
142 |         }
/Users/admin/builder/spi-builder-workspace/Sources/sXPC/XPC Transport/XPCTransportConnection.swift:171:26: warning: capture of 'response' with non-sendable type 'Result<XPCPayload, any Error>' in a `@Sendable` closure; this is an error in the Swift 6 language mode
169 |     private func sendReply(id: UUID, response: Result<XPCPayload, Error>) {
170 |         messageQueue.async {
171 |             let result = response.flatMap { value in Result { try value.data() } }
    |                          `- warning: capture of 'response' with non-sendable type 'Result<XPCPayload, any Error>' in a `@Sendable` closure; this is an error in the Swift 6 language mode
172 |             self.connectionQueue.async {
173 |                 self.connection
/Users/admin/builder/spi-builder-workspace/Sources/sXPC/XPC Transport/XPCTransportUtils.swift:27:8: note: consider making struct 'XPCPayload' conform to the 'Sendable' protocol
25 | import Foundation
26 |
27 | struct XPCPayload {
   |        `- note: consider making struct 'XPCPayload' conform to the 'Sendable' protocol
28 |     let data: () throws -> Data
29 | }
/Users/admin/builder/spi-builder-workspace/Sources/sXPC/XPC Transport/XPCTransportConnection.swift:172:13: warning: capture of 'self' with non-sendable type 'XPCTransportConnection' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 56 | }
 57 |
 58 | public class XPCTransportConnection {
    |              `- note: class 'XPCTransportConnection' does not conform to the 'Sendable' protocol
 59 |     private let connectionQueue = DispatchQueue(label: "XPCTransportConnection.connection.queue")
 60 |     private var messageQueue = DispatchQueue(label: "XPCTransportConnection.message.queue")
    :
170 |         messageQueue.async {
171 |             let result = response.flatMap { value in Result { try value.data() } }
172 |             self.connectionQueue.async {
    |             `- warning: capture of 'self' with non-sendable type 'XPCTransportConnection' in a `@Sendable` closure; this is an error in the Swift 6 language mode
173 |                 self.connection
174 |                     .remoteObjectProxy()
/Users/admin/builder/spi-builder-workspace/Sources/sXPC/XPC Transport/XPCTransportConnection.swift:173:17: warning: capture of 'self' with non-sendable type 'XPCTransportConnection' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 56 | }
 57 |
 58 | public class XPCTransportConnection {
    |              `- note: class 'XPCTransportConnection' does not conform to the 'Sendable' protocol
 59 |     private let connectionQueue = DispatchQueue(label: "XPCTransportConnection.connection.queue")
 60 |     private var messageQueue = DispatchQueue(label: "XPCTransportConnection.message.queue")
    :
171 |             let result = response.flatMap { value in Result { try value.data() } }
172 |             self.connectionQueue.async {
173 |                 self.connection
    |                 `- warning: capture of 'self' with non-sendable type 'XPCTransportConnection' in a `@Sendable` closure; this is an error in the Swift 6 language mode
174 |                     .remoteObjectProxy()
175 |                     .sendReply(id: id, data: result.success, error: result.failure)
/Users/admin/builder/spi-builder-workspace/Sources/sXPC/XPC Transport/XPCTransportConnection.swift:184:44: warning: capture of 'self' with non-sendable type 'XPCTransportConnection' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 56 | }
 57 |
 58 | public class XPCTransportConnection {
    |              `- note: class 'XPCTransportConnection' does not conform to the 'Sendable' protocol
 59 |     private let connectionQueue = DispatchQueue(label: "XPCTransportConnection.connection.queue")
 60 |     private var messageQueue = DispatchQueue(label: "XPCTransportConnection.message.queue")
    :
182 |
183 |         messageQueue.async {
184 |             guard let receiveDataHandler = self.receiveDataHandler else {
    |                                            `- warning: capture of 'self' with non-sendable type 'XPCTransportConnection' in a `@Sendable` closure; this is an error in the Swift 6 language mode
185 |                 confirmation(nil, CommonError.fatal("Receiving is not implemented"))
186 |                 return
/Users/admin/builder/spi-builder-workspace/Sources/sXPC/XPC Transport/XPCTransportConnection.swift:185:17: warning: capture of 'confirmation' with non-sendable type '(Data?, (any Error)?) -> Void' in a `@Sendable` closure; this is an error in the Swift 6 language mode
183 |         messageQueue.async {
184 |             guard let receiveDataHandler = self.receiveDataHandler else {
185 |                 confirmation(nil, CommonError.fatal("Receiving is not implemented"))
    |                 |- warning: capture of 'confirmation' with non-sendable type '(Data?, (any Error)?) -> 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'
186 |                 return
187 |             }
/Users/admin/builder/spi-builder-workspace/Sources/sXPC/XPC Transport/XPCTransportConnection.swift:204:43: warning: capture of 'self' with non-sendable type 'XPCTransportConnection' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 56 | }
 57 |
 58 | public class XPCTransportConnection {
    |              `- note: class 'XPCTransportConnection' does not conform to the 'Sendable' protocol
 59 |     private let connectionQueue = DispatchQueue(label: "XPCTransportConnection.connection.queue")
 60 |     private var messageQueue = DispatchQueue(label: "XPCTransportConnection.message.queue")
    :
202 |     private func fulfillPendingReply(to ids: [UUID], with response: Result<Data, Error>) {
203 |         connectionQueue.async {
204 |             let replys = ids.compactMap { self.pendingReplies.removeValue(forKey: $0) }
    |                                           `- warning: capture of 'self' with non-sendable type 'XPCTransportConnection' in a `@Sendable` closure; this is an error in the Swift 6 language mode
205 |             replys.forEach { $0.reply(self.messageQueue, self.queue, response) }
206 |         }
/Users/admin/builder/spi-builder-workspace/Sources/sXPC/XPC Transport/XPCTransportConnection.swift:204:43: warning: capture of 'self' with non-sendable type 'XPCTransportConnection' in an isolated closure; this is an error in the Swift 6 language mode
 56 | }
 57 |
 58 | public class XPCTransportConnection {
    |              `- note: class 'XPCTransportConnection' does not conform to the 'Sendable' protocol
 59 |     private let connectionQueue = DispatchQueue(label: "XPCTransportConnection.connection.queue")
 60 |     private var messageQueue = DispatchQueue(label: "XPCTransportConnection.message.queue")
    :
202 |     private func fulfillPendingReply(to ids: [UUID], with response: Result<Data, Error>) {
203 |         connectionQueue.async {
204 |             let replys = ids.compactMap { self.pendingReplies.removeValue(forKey: $0) }
    |                                           `- warning: capture of 'self' with non-sendable type 'XPCTransportConnection' in an isolated closure; this is an error in the Swift 6 language mode
205 |             replys.forEach { $0.reply(self.messageQueue, self.queue, response) }
206 |         }
/Users/admin/builder/spi-builder-workspace/Sources/sXPC/XPC Transport/XPCTransportConnection.swift:205:39: warning: capture of 'self' with non-sendable type 'XPCTransportConnection' in an isolated closure; this is an error in the Swift 6 language mode
 56 | }
 57 |
 58 | public class XPCTransportConnection {
    |              `- note: class 'XPCTransportConnection' does not conform to the 'Sendable' protocol
 59 |     private let connectionQueue = DispatchQueue(label: "XPCTransportConnection.connection.queue")
 60 |     private var messageQueue = DispatchQueue(label: "XPCTransportConnection.message.queue")
    :
203 |         connectionQueue.async {
204 |             let replys = ids.compactMap { self.pendingReplies.removeValue(forKey: $0) }
205 |             replys.forEach { $0.reply(self.messageQueue, self.queue, response) }
    |                                       `- warning: capture of 'self' with non-sendable type 'XPCTransportConnection' in an isolated closure; this is an error in the Swift 6 language mode
206 |         }
207 |     }
/Users/admin/builder/spi-builder-workspace/Sources/sXPC/XPC Transport/XPCTransportConnection.swift:214:21: warning: capture of 'self' with non-sendable type 'XPCTransportConnection' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 56 | }
 57 |
 58 | public class XPCTransportConnection {
    |              `- note: class 'XPCTransportConnection' does not conform to the 'Sendable' protocol
 59 |     private let connectionQueue = DispatchQueue(label: "XPCTransportConnection.connection.queue")
 60 |     private var messageQueue = DispatchQueue(label: "XPCTransportConnection.message.queue")
    :
212 |             self.connectionQueue.async {
213 |                 if response == serverHello {
214 |                     self.updateState(.connected)
    |                     `- warning: capture of 'self' with non-sendable type 'XPCTransportConnection' in a `@Sendable` closure; this is an error in the Swift 6 language mode
215 |                 } else if error != nil {
216 |                     self.connection.invalidate()
/Users/admin/builder/spi-builder-workspace/Sources/sXPC/XPC Transport/XPCTransportConnection.swift:258:13: warning: capture of 'self' with non-sendable type 'XPCTransportConnection' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 56 | }
 57 |
 58 | public class XPCTransportConnection {
    |              `- note: class 'XPCTransportConnection' does not conform to the 'Sendable' protocol
 59 |     private let connectionQueue = DispatchQueue(label: "XPCTransportConnection.connection.queue")
 60 |     private var messageQueue = DispatchQueue(label: "XPCTransportConnection.message.queue")
    :
256 |         self.state = state
257 |         queue.async {
258 |             self.stateHandler?(state)
    |             `- warning: capture of 'self' with non-sendable type 'XPCTransportConnection' in a `@Sendable` closure; this is an error in the Swift 6 language mode
259 |         }
260 |     }
/Users/admin/builder/spi-builder-workspace/Sources/sXPC/XPC Transport/XPCTransportConnection.swift:258:32: warning: capture of 'state' with non-sendable type 'XPCTransportConnectionState' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 41 | }
 42 |
 43 | public enum XPCTransportConnectionState: String, Hashable, CaseIterable {
    |             `- note: consider making enum 'XPCTransportConnectionState' conform to the 'Sendable' protocol
 44 |     /// Connection is performing initial handshake (initial connect or reconnect).
 45 |     /// Usually a good point to prepare/reset related program state
    :
256 |         self.state = state
257 |         queue.async {
258 |             self.stateHandler?(state)
    |                                `- warning: capture of 'state' with non-sendable type 'XPCTransportConnectionState' in a `@Sendable` closure; this is an error in the Swift 6 language mode
259 |         }
260 |     }
/Users/admin/builder/spi-builder-workspace/Sources/sXPC/XPC Transport/XPCTransportConnection.swift:264:29: warning: capture of 'self' with non-sendable type 'XPCTransportConnection' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 56 | }
 57 |
 58 | public class XPCTransportConnection {
    |              `- note: class 'XPCTransportConnection' does not conform to the 'Sendable' protocol
 59 |     private let connectionQueue = DispatchQueue(label: "XPCTransportConnection.connection.queue")
 60 |     private var messageQueue = DispatchQueue(label: "XPCTransportConnection.message.queue")
    :
262 |     private func reconnect() {
263 |         connectionQueue.async {
264 |             guard let xpc = self.xpc, let reconnectDelay = self.reconnectDelay else {
    |                             `- warning: capture of 'self' with non-sendable type 'XPCTransportConnection' in a `@Sendable` closure; this is an error in the Swift 6 language mode
265 |                 self.updateState(.invalidated)
266 |                 return
/Users/admin/builder/spi-builder-workspace/Sources/sXPC/XPC Transport/XPCTransportConnection.swift:269:17: warning: capture of 'self' with non-sendable type 'XPCTransportConnection' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 56 | }
 57 |
 58 | public class XPCTransportConnection {
    |              `- note: class 'XPCTransportConnection' does not conform to the 'Sendable' protocol
 59 |     private let connectionQueue = DispatchQueue(label: "XPCTransportConnection.connection.queue")
 60 |     private var messageQueue = DispatchQueue(label: "XPCTransportConnection.message.queue")
    :
267 |             }
268 |             self.connectionQueue.asyncAfter(deadline: .now() + reconnectDelay) {
269 |                 self.connection = XPCConnection(xpc, remoteInterface: .transport, exportedInterface: .transport)
    |                 `- warning: capture of 'self' with non-sendable type 'XPCTransportConnection' in a `@Sendable` closure; this is an error in the Swift 6 language mode
270 |                 self.prepareAndResume(connection: self.connection)
271 |             }
/Users/admin/builder/spi-builder-workspace/Sources/sXPC/XPC Transport/XPCTransportConnection.swift:269:49: warning: capture of 'xpc' with non-sendable type 'XPCConnectionInit' in a `@Sendable` closure; this is an error in the Swift 6 language mode
267 |             }
268 |             self.connectionQueue.asyncAfter(deadline: .now() + reconnectDelay) {
269 |                 self.connection = XPCConnection(xpc, remoteInterface: .transport, exportedInterface: .transport)
    |                                                 `- warning: capture of 'xpc' with non-sendable type 'XPCConnectionInit' in a `@Sendable` closure; this is an error in the Swift 6 language mode
270 |                 self.prepareAndResume(connection: self.connection)
271 |             }
/Users/admin/builder/spi-builder-workspace/Sources/sXPC/XPCConnection/XPCConnection.swift:215:13: note: consider making enum 'XPCConnectionInit' conform to the 'Sendable' protocol
213 | // MARK: - XPCConnection Auxiliary
214 |
215 | public enum XPCConnectionInit {
    |             `- note: consider making enum 'XPCConnectionInit' conform to the 'Sendable' protocol
216 |     case service(_ name: String)
217 |     case machService(_ name: String, options: NSXPCConnection.Options)
Build complete! (22.56s)
Build complete.
{
  "dependencies" : [
    {
      "identity" : "swiftspellbook",
      "requirement" : {
        "range" : [
          {
            "lower_bound" : "0.3.3",
            "upper_bound" : "1.0.0"
          }
        ]
      },
      "type" : "sourceControl",
      "url" : "https://github.com/Alkenso/SwiftSpellbook.git"
    }
  ],
  "manifest_display_name" : "sXPC",
  "name" : "sXPC",
  "path" : "/Users/admin/builder/spi-builder-workspace",
  "platforms" : [
    {
      "name" : "macos",
      "version" : "10.15"
    }
  ],
  "products" : [
    {
      "name" : "sXPC",
      "targets" : [
        "sXPC"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    }
  ],
  "targets" : [
    {
      "c99name" : "sXPCTests",
      "module_type" : "SwiftTarget",
      "name" : "sXPCTests",
      "path" : "Tests/sXPCTests",
      "product_dependencies" : [
        "SpellbookFoundation",
        "SpellbookTestUtils"
      ],
      "sources" : [
        "XPCClientTests.swift",
        "XPCTransportTests.swift"
      ],
      "target_dependencies" : [
        "sXPC"
      ],
      "type" : "test"
    },
    {
      "c99name" : "sXPC",
      "module_type" : "SwiftTarget",
      "name" : "sXPC",
      "path" : "Sources/sXPC",
      "product_dependencies" : [
        "SpellbookFoundation"
      ],
      "product_memberships" : [
        "sXPC"
      ],
      "sources" : [
        "XPC Transport/XPCTransportConnection.swift",
        "XPC Transport/XPCTransportListener.swift",
        "XPC Transport/XPCTransportMessage.swift",
        "XPC Transport/XPCTransportUtils.swift",
        "XPCConnection/Utils.swift",
        "XPCConnection/XPCClient.swift",
        "XPCConnection/XPCConnection.swift",
        "XPCConnection/XPCInterface.swift",
        "XPCConnection/XPCListener.swift"
      ],
      "type" : "library"
    }
  ],
  "tools_version" : "5.7"
}
Done.