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 SwiftSpellbook, reference main (ba9e30), with Swift 6.0 for macOS (SPM) on 5 Mar 2025 02:14:08 UTC.

Swift 6 data race errors: 95

Build Command

env DEVELOPER_DIR=/Applications/Xcode-16.2.0.app xcrun swift build --arch arm64 -Xswiftc -Xfrontend -Xswiftc -stats-output-dir -Xswiftc -Xfrontend -Xswiftc .stats -Xswiftc -strict-concurrency=complete -Xswiftc -enable-upcoming-feature -Xswiftc StrictConcurrency -Xswiftc -enable-upcoming-feature -Xswiftc DisableOutwardActorInference -Xswiftc -enable-upcoming-feature -Xswiftc GlobalActorIsolatedTypesUsability -Xswiftc -enable-upcoming-feature -Xswiftc InferSendableFromCaptures

Build Log

    |                 `- note: parameter 'work' is implicitly non-sendable
 59 |     ) {
 60 |         asyncAfter(deadline: .now() + delay, qos: qos, flags: flags, execute: work)
    |                                                                               `- warning: passing non-sendable parameter 'work' to function expecting a @Sendable closure
 61 |     }
 62 |
/Users/admin/builder/spi-builder-workspace/Sources/SpellbookFoundation/Threading & Concurrency/Extensions - DispatchQueue.swift:76:20: warning: capture of 'execute' with non-sendable type '() -> Bool' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 74 |         func schedule(firstRun: Bool) {
 75 |             asyncAfter(delay: (firstRun && immediately) ? 0 : interval, qos: qos, flags: flags) {
 76 |                 if execute() {
    |                    |- warning: capture of 'execute' with non-sendable type '() -> Bool' 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'
 77 |                     schedule(firstRun: false)
 78 |                 }
/Users/admin/builder/spi-builder-workspace/Sources/SpellbookFoundation/Threading & Concurrency/Extensions - DispatchQueue.swift:77:21: warning: capture of 'schedule(firstRun:)' with non-sendable type '(Bool) -> ()' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 75 |             asyncAfter(delay: (firstRun && immediately) ? 0 : interval, qos: qos, flags: flags) {
 76 |                 if execute() {
 77 |                     schedule(firstRun: false)
    |                     |- warning: capture of 'schedule(firstRun:)' with non-sendable type '(Bool) -> ()' 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'
 78 |                 }
 79 |             }
/Users/admin/builder/spi-builder-workspace/Sources/SpellbookFoundation/Threading & Concurrency/Extensions - DispatchQueue.swift:74:14: warning: concurrently-executed local function 'schedule(firstRun:)' must be marked as '@Sendable'; this is an error in the Swift 6 language mode
 72 |         execute: @escaping () -> Bool
 73 |     ) {
 74 |         func schedule(firstRun: Bool) {
    |              `- warning: concurrently-executed local function 'schedule(firstRun:)' must be marked as '@Sendable'; this is an error in the Swift 6 language mode
 75 |             asyncAfter(delay: (firstRun && immediately) ? 0 : interval, qos: qos, flags: flags) {
 76 |                 if execute() {
/Users/admin/builder/spi-builder-workspace/Sources/SpellbookFoundation/Threading & Concurrency/Extensions - DispatchQueue.swift:93:17: warning: capture of 'execute' with non-sendable type '(@escaping () -> Void) -> Void' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 91 |         func schedule(firstRun: Bool) {
 92 |             asyncAfter(delay: (firstRun && immediately) ? 0 : interval, qos: qos, flags: flags) {
 93 |                 execute {
    |                 |- warning: capture of 'execute' with non-sendable type '(@escaping () -> 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'
 94 |                     schedule(firstRun: false)
 95 |                 }
/Users/admin/builder/spi-builder-workspace/Sources/SpellbookFoundation/Threading & Concurrency/Extensions - DispatchQueue.swift:94:21: warning: capture of 'schedule(firstRun:)' with non-sendable type '(Bool) -> ()' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 92 |             asyncAfter(delay: (firstRun && immediately) ? 0 : interval, qos: qos, flags: flags) {
 93 |                 execute {
 94 |                     schedule(firstRun: false)
    |                     |- warning: capture of 'schedule(firstRun:)' with non-sendable type '(Bool) -> ()' 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'
 95 |                 }
 96 |             }
/Users/admin/builder/spi-builder-workspace/Sources/SpellbookFoundation/Threading & Concurrency/Extensions - DispatchQueue.swift:94:21: warning: capture of 'schedule(firstRun:)' with non-sendable type '(Bool) -> ()' in an isolated closure; this is an error in the Swift 6 language mode
 92 |             asyncAfter(delay: (firstRun && immediately) ? 0 : interval, qos: qos, flags: flags) {
 93 |                 execute {
 94 |                     schedule(firstRun: false)
    |                     |- warning: capture of 'schedule(firstRun:)' with non-sendable type '(Bool) -> ()' in an isolated closure; this is an error in the Swift 6 language mode
    |                     `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
 95 |                 }
 96 |             }
/Users/admin/builder/spi-builder-workspace/Sources/SpellbookFoundation/Threading & Concurrency/Extensions - DispatchQueue.swift:91:14: warning: concurrently-executed local function 'schedule(firstRun:)' must be marked as '@Sendable'; this is an error in the Swift 6 language mode
 89 |         execute: @escaping (@escaping () -> Void) -> Void
 90 |     ) {
 91 |         func schedule(firstRun: Bool) {
    |              `- warning: concurrently-executed local function 'schedule(firstRun:)' must be marked as '@Sendable'; this is an error in the Swift 6 language mode
 92 |             asyncAfter(delay: (firstRun && immediately) ? 0 : interval, qos: qos, flags: flags) {
 93 |                 execute {
/Users/admin/builder/spi-builder-workspace/Sources/SpellbookFoundation/Threading & Concurrency/Synchronized.swift:222:13: warning: type 'R' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
219 | @available(macOS 13.0, iOS 16.0, tvOS 16.0, watchOS 9.0, *)
220 | extension OSAllocatedUnfairLock: SynchronizedLocking where State == Void {
221 |     func withWriteLock<R>(_ body: () throws -> R) rethrows -> R {
    |                        `- note: consider making generic parameter 'R' conform to the 'Sendable' protocol
222 |         try withLock { try body() }
    |             `- warning: type 'R' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
223 |     }
224 | }
/Users/admin/builder/spi-builder-workspace/Sources/SpellbookFoundation/Threading & Concurrency/Synchronized.swift:222:28: warning: capture of 'body' with non-sendable type '() throws -> R' in a `@Sendable` closure; this is an error in the Swift 6 language mode
220 | extension OSAllocatedUnfairLock: SynchronizedLocking where State == Void {
221 |     func withWriteLock<R>(_ body: () throws -> R) rethrows -> R {
222 |         try withLock { try body() }
    |                            |- warning: capture of 'body' with non-sendable type '() throws -> R' 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'
223 |     }
224 | }
/Users/admin/builder/spi-builder-workspace/Sources/SpellbookFoundation/Threading & Concurrency/Synchronized.swift:238:41: warning: passing non-sendable parameter 'body' to function expecting a @Sendable closure
235 |     }
236 |
237 |     func withAsyncWriteLock(_ body: @escaping () -> Void) {
    |                               `- note: parameter 'body' is implicitly non-sendable
238 |         async(flags: .barrier, execute: body)
    |                                         `- warning: passing non-sendable parameter 'body' to function expecting a @Sendable closure
239 |     }
240 | }
/Users/admin/builder/spi-builder-workspace/Sources/SpellbookFoundation/Threading & Concurrency/Extensions - Task.swift:33:27: warning: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure; this is an error in the Swift 6 language mode
31 |         completion: @escaping (Result<R, Error>) -> Void
32 |     ) where Success == Void, Failure == Never {
33 |         Task<Void, Never> {
   |                           `- warning: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure; this is an error in the Swift 6 language mode
34 |             let result: Result<R, Error>
35 |             do {
   :
38 |                 result = .failure(error)
39 |             }
40 |             queue.async { completion(result) }
   |                           `- note: closure captures 'completion' which is accessible to code in the current task
41 |         }
42 |     }
/Users/admin/builder/spi-builder-workspace/Sources/SpellbookFoundation/Threading & Concurrency/Extensions - Task.swift:49:27: warning: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure; this is an error in the Swift 6 language mode
47 |         completion: @escaping (R) -> Void
48 |     ) where Success == Void, Failure == Never {
49 |         Task<Void, Never> {
   |                           `- warning: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure; this is an error in the Swift 6 language mode
50 |             let result = await body()
51 |             queue.async { completion(result) }
   |                           `- note: closure captures 'completion' which is accessible to code in the current task
52 |         }
53 |     }
[56/69] Compiling SpellbookFoundation Synchronized.swift
/Users/admin/builder/spi-builder-workspace/Sources/SpellbookFoundation/Threading & Concurrency/Extensions - DispatchQueue.swift:60:79: warning: passing non-sendable parameter 'work' to function expecting a @Sendable closure
 56 |         qos: DispatchQoS = .unspecified,
 57 |         flags: DispatchWorkItemFlags = [],
 58 |         execute work: @escaping () -> Void
    |                 `- note: parameter 'work' is implicitly non-sendable
 59 |     ) {
 60 |         asyncAfter(deadline: .now() + delay, qos: qos, flags: flags, execute: work)
    |                                                                               `- warning: passing non-sendable parameter 'work' to function expecting a @Sendable closure
 61 |     }
 62 |
/Users/admin/builder/spi-builder-workspace/Sources/SpellbookFoundation/Threading & Concurrency/Extensions - DispatchQueue.swift:76:20: warning: capture of 'execute' with non-sendable type '() -> Bool' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 74 |         func schedule(firstRun: Bool) {
 75 |             asyncAfter(delay: (firstRun && immediately) ? 0 : interval, qos: qos, flags: flags) {
 76 |                 if execute() {
    |                    |- warning: capture of 'execute' with non-sendable type '() -> Bool' 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'
 77 |                     schedule(firstRun: false)
 78 |                 }
/Users/admin/builder/spi-builder-workspace/Sources/SpellbookFoundation/Threading & Concurrency/Extensions - DispatchQueue.swift:77:21: warning: capture of 'schedule(firstRun:)' with non-sendable type '(Bool) -> ()' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 75 |             asyncAfter(delay: (firstRun && immediately) ? 0 : interval, qos: qos, flags: flags) {
 76 |                 if execute() {
 77 |                     schedule(firstRun: false)
    |                     |- warning: capture of 'schedule(firstRun:)' with non-sendable type '(Bool) -> ()' 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'
 78 |                 }
 79 |             }
/Users/admin/builder/spi-builder-workspace/Sources/SpellbookFoundation/Threading & Concurrency/Extensions - DispatchQueue.swift:74:14: warning: concurrently-executed local function 'schedule(firstRun:)' must be marked as '@Sendable'; this is an error in the Swift 6 language mode
 72 |         execute: @escaping () -> Bool
 73 |     ) {
 74 |         func schedule(firstRun: Bool) {
    |              `- warning: concurrently-executed local function 'schedule(firstRun:)' must be marked as '@Sendable'; this is an error in the Swift 6 language mode
 75 |             asyncAfter(delay: (firstRun && immediately) ? 0 : interval, qos: qos, flags: flags) {
 76 |                 if execute() {
/Users/admin/builder/spi-builder-workspace/Sources/SpellbookFoundation/Threading & Concurrency/Extensions - DispatchQueue.swift:93:17: warning: capture of 'execute' with non-sendable type '(@escaping () -> Void) -> Void' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 91 |         func schedule(firstRun: Bool) {
 92 |             asyncAfter(delay: (firstRun && immediately) ? 0 : interval, qos: qos, flags: flags) {
 93 |                 execute {
    |                 |- warning: capture of 'execute' with non-sendable type '(@escaping () -> 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'
 94 |                     schedule(firstRun: false)
 95 |                 }
/Users/admin/builder/spi-builder-workspace/Sources/SpellbookFoundation/Threading & Concurrency/Extensions - DispatchQueue.swift:94:21: warning: capture of 'schedule(firstRun:)' with non-sendable type '(Bool) -> ()' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 92 |             asyncAfter(delay: (firstRun && immediately) ? 0 : interval, qos: qos, flags: flags) {
 93 |                 execute {
 94 |                     schedule(firstRun: false)
    |                     |- warning: capture of 'schedule(firstRun:)' with non-sendable type '(Bool) -> ()' 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'
 95 |                 }
 96 |             }
/Users/admin/builder/spi-builder-workspace/Sources/SpellbookFoundation/Threading & Concurrency/Extensions - DispatchQueue.swift:94:21: warning: capture of 'schedule(firstRun:)' with non-sendable type '(Bool) -> ()' in an isolated closure; this is an error in the Swift 6 language mode
 92 |             asyncAfter(delay: (firstRun && immediately) ? 0 : interval, qos: qos, flags: flags) {
 93 |                 execute {
 94 |                     schedule(firstRun: false)
    |                     |- warning: capture of 'schedule(firstRun:)' with non-sendable type '(Bool) -> ()' in an isolated closure; this is an error in the Swift 6 language mode
    |                     `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
 95 |                 }
 96 |             }
/Users/admin/builder/spi-builder-workspace/Sources/SpellbookFoundation/Threading & Concurrency/Extensions - DispatchQueue.swift:91:14: warning: concurrently-executed local function 'schedule(firstRun:)' must be marked as '@Sendable'; this is an error in the Swift 6 language mode
 89 |         execute: @escaping (@escaping () -> Void) -> Void
 90 |     ) {
 91 |         func schedule(firstRun: Bool) {
    |              `- warning: concurrently-executed local function 'schedule(firstRun:)' must be marked as '@Sendable'; this is an error in the Swift 6 language mode
 92 |             asyncAfter(delay: (firstRun && immediately) ? 0 : interval, qos: qos, flags: flags) {
 93 |                 execute {
/Users/admin/builder/spi-builder-workspace/Sources/SpellbookFoundation/Threading & Concurrency/Synchronized.swift:222:13: warning: type 'R' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
219 | @available(macOS 13.0, iOS 16.0, tvOS 16.0, watchOS 9.0, *)
220 | extension OSAllocatedUnfairLock: SynchronizedLocking where State == Void {
221 |     func withWriteLock<R>(_ body: () throws -> R) rethrows -> R {
    |                        `- note: consider making generic parameter 'R' conform to the 'Sendable' protocol
222 |         try withLock { try body() }
    |             `- warning: type 'R' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
223 |     }
224 | }
/Users/admin/builder/spi-builder-workspace/Sources/SpellbookFoundation/Threading & Concurrency/Synchronized.swift:222:28: warning: capture of 'body' with non-sendable type '() throws -> R' in a `@Sendable` closure; this is an error in the Swift 6 language mode
220 | extension OSAllocatedUnfairLock: SynchronizedLocking where State == Void {
221 |     func withWriteLock<R>(_ body: () throws -> R) rethrows -> R {
222 |         try withLock { try body() }
    |                            |- warning: capture of 'body' with non-sendable type '() throws -> R' 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'
223 |     }
224 | }
/Users/admin/builder/spi-builder-workspace/Sources/SpellbookFoundation/Threading & Concurrency/Synchronized.swift:238:41: warning: passing non-sendable parameter 'body' to function expecting a @Sendable closure
235 |     }
236 |
237 |     func withAsyncWriteLock(_ body: @escaping () -> Void) {
    |                               `- note: parameter 'body' is implicitly non-sendable
238 |         async(flags: .barrier, execute: body)
    |                                         `- warning: passing non-sendable parameter 'body' to function expecting a @Sendable closure
239 |     }
240 | }
/Users/admin/builder/spi-builder-workspace/Sources/SpellbookFoundation/Threading & Concurrency/Extensions - Task.swift:33:27: warning: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure; this is an error in the Swift 6 language mode
31 |         completion: @escaping (Result<R, Error>) -> Void
32 |     ) where Success == Void, Failure == Never {
33 |         Task<Void, Never> {
   |                           `- warning: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure; this is an error in the Swift 6 language mode
34 |             let result: Result<R, Error>
35 |             do {
   :
38 |                 result = .failure(error)
39 |             }
40 |             queue.async { completion(result) }
   |                           `- note: closure captures 'completion' which is accessible to code in the current task
41 |         }
42 |     }
/Users/admin/builder/spi-builder-workspace/Sources/SpellbookFoundation/Threading & Concurrency/Extensions - Task.swift:49:27: warning: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure; this is an error in the Swift 6 language mode
47 |         completion: @escaping (R) -> Void
48 |     ) where Success == Void, Failure == Never {
49 |         Task<Void, Never> {
   |                           `- warning: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure; this is an error in the Swift 6 language mode
50 |             let result = await body()
51 |             queue.async { completion(result) }
   |                           `- note: closure captures 'completion' which is accessible to code in the current task
52 |         }
53 |     }
[57/69] Compiling SpellbookFoundation SynchronizedObjC.swift
/Users/admin/builder/spi-builder-workspace/Sources/SpellbookFoundation/Threading & Concurrency/Extensions - DispatchQueue.swift:60:79: warning: passing non-sendable parameter 'work' to function expecting a @Sendable closure
 56 |         qos: DispatchQoS = .unspecified,
 57 |         flags: DispatchWorkItemFlags = [],
 58 |         execute work: @escaping () -> Void
    |                 `- note: parameter 'work' is implicitly non-sendable
 59 |     ) {
 60 |         asyncAfter(deadline: .now() + delay, qos: qos, flags: flags, execute: work)
    |                                                                               `- warning: passing non-sendable parameter 'work' to function expecting a @Sendable closure
 61 |     }
 62 |
/Users/admin/builder/spi-builder-workspace/Sources/SpellbookFoundation/Threading & Concurrency/Extensions - DispatchQueue.swift:76:20: warning: capture of 'execute' with non-sendable type '() -> Bool' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 74 |         func schedule(firstRun: Bool) {
 75 |             asyncAfter(delay: (firstRun && immediately) ? 0 : interval, qos: qos, flags: flags) {
 76 |                 if execute() {
    |                    |- warning: capture of 'execute' with non-sendable type '() -> Bool' 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'
 77 |                     schedule(firstRun: false)
 78 |                 }
/Users/admin/builder/spi-builder-workspace/Sources/SpellbookFoundation/Threading & Concurrency/Extensions - DispatchQueue.swift:77:21: warning: capture of 'schedule(firstRun:)' with non-sendable type '(Bool) -> ()' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 75 |             asyncAfter(delay: (firstRun && immediately) ? 0 : interval, qos: qos, flags: flags) {
 76 |                 if execute() {
 77 |                     schedule(firstRun: false)
    |                     |- warning: capture of 'schedule(firstRun:)' with non-sendable type '(Bool) -> ()' 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'
 78 |                 }
 79 |             }
/Users/admin/builder/spi-builder-workspace/Sources/SpellbookFoundation/Threading & Concurrency/Extensions - DispatchQueue.swift:74:14: warning: concurrently-executed local function 'schedule(firstRun:)' must be marked as '@Sendable'; this is an error in the Swift 6 language mode
 72 |         execute: @escaping () -> Bool
 73 |     ) {
 74 |         func schedule(firstRun: Bool) {
    |              `- warning: concurrently-executed local function 'schedule(firstRun:)' must be marked as '@Sendable'; this is an error in the Swift 6 language mode
 75 |             asyncAfter(delay: (firstRun && immediately) ? 0 : interval, qos: qos, flags: flags) {
 76 |                 if execute() {
/Users/admin/builder/spi-builder-workspace/Sources/SpellbookFoundation/Threading & Concurrency/Extensions - DispatchQueue.swift:93:17: warning: capture of 'execute' with non-sendable type '(@escaping () -> Void) -> Void' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 91 |         func schedule(firstRun: Bool) {
 92 |             asyncAfter(delay: (firstRun && immediately) ? 0 : interval, qos: qos, flags: flags) {
 93 |                 execute {
    |                 |- warning: capture of 'execute' with non-sendable type '(@escaping () -> 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'
 94 |                     schedule(firstRun: false)
 95 |                 }
/Users/admin/builder/spi-builder-workspace/Sources/SpellbookFoundation/Threading & Concurrency/Extensions - DispatchQueue.swift:94:21: warning: capture of 'schedule(firstRun:)' with non-sendable type '(Bool) -> ()' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 92 |             asyncAfter(delay: (firstRun && immediately) ? 0 : interval, qos: qos, flags: flags) {
 93 |                 execute {
 94 |                     schedule(firstRun: false)
    |                     |- warning: capture of 'schedule(firstRun:)' with non-sendable type '(Bool) -> ()' 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'
 95 |                 }
 96 |             }
/Users/admin/builder/spi-builder-workspace/Sources/SpellbookFoundation/Threading & Concurrency/Extensions - DispatchQueue.swift:94:21: warning: capture of 'schedule(firstRun:)' with non-sendable type '(Bool) -> ()' in an isolated closure; this is an error in the Swift 6 language mode
 92 |             asyncAfter(delay: (firstRun && immediately) ? 0 : interval, qos: qos, flags: flags) {
 93 |                 execute {
 94 |                     schedule(firstRun: false)
    |                     |- warning: capture of 'schedule(firstRun:)' with non-sendable type '(Bool) -> ()' in an isolated closure; this is an error in the Swift 6 language mode
    |                     `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
 95 |                 }
 96 |             }
/Users/admin/builder/spi-builder-workspace/Sources/SpellbookFoundation/Threading & Concurrency/Extensions - DispatchQueue.swift:91:14: warning: concurrently-executed local function 'schedule(firstRun:)' must be marked as '@Sendable'; this is an error in the Swift 6 language mode
 89 |         execute: @escaping (@escaping () -> Void) -> Void
 90 |     ) {
 91 |         func schedule(firstRun: Bool) {
    |              `- warning: concurrently-executed local function 'schedule(firstRun:)' must be marked as '@Sendable'; this is an error in the Swift 6 language mode
 92 |             asyncAfter(delay: (firstRun && immediately) ? 0 : interval, qos: qos, flags: flags) {
 93 |                 execute {
/Users/admin/builder/spi-builder-workspace/Sources/SpellbookFoundation/Threading & Concurrency/Synchronized.swift:222:13: warning: type 'R' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
219 | @available(macOS 13.0, iOS 16.0, tvOS 16.0, watchOS 9.0, *)
220 | extension OSAllocatedUnfairLock: SynchronizedLocking where State == Void {
221 |     func withWriteLock<R>(_ body: () throws -> R) rethrows -> R {
    |                        `- note: consider making generic parameter 'R' conform to the 'Sendable' protocol
222 |         try withLock { try body() }
    |             `- warning: type 'R' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
223 |     }
224 | }
/Users/admin/builder/spi-builder-workspace/Sources/SpellbookFoundation/Threading & Concurrency/Synchronized.swift:222:28: warning: capture of 'body' with non-sendable type '() throws -> R' in a `@Sendable` closure; this is an error in the Swift 6 language mode
220 | extension OSAllocatedUnfairLock: SynchronizedLocking where State == Void {
221 |     func withWriteLock<R>(_ body: () throws -> R) rethrows -> R {
222 |         try withLock { try body() }
    |                            |- warning: capture of 'body' with non-sendable type '() throws -> R' 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'
223 |     }
224 | }
/Users/admin/builder/spi-builder-workspace/Sources/SpellbookFoundation/Threading & Concurrency/Synchronized.swift:238:41: warning: passing non-sendable parameter 'body' to function expecting a @Sendable closure
235 |     }
236 |
237 |     func withAsyncWriteLock(_ body: @escaping () -> Void) {
    |                               `- note: parameter 'body' is implicitly non-sendable
238 |         async(flags: .barrier, execute: body)
    |                                         `- warning: passing non-sendable parameter 'body' to function expecting a @Sendable closure
239 |     }
240 | }
/Users/admin/builder/spi-builder-workspace/Sources/SpellbookFoundation/Threading & Concurrency/Extensions - Task.swift:33:27: warning: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure; this is an error in the Swift 6 language mode
31 |         completion: @escaping (Result<R, Error>) -> Void
32 |     ) where Success == Void, Failure == Never {
33 |         Task<Void, Never> {
   |                           `- warning: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure; this is an error in the Swift 6 language mode
34 |             let result: Result<R, Error>
35 |             do {
   :
38 |                 result = .failure(error)
39 |             }
40 |             queue.async { completion(result) }
   |                           `- note: closure captures 'completion' which is accessible to code in the current task
41 |         }
42 |     }
/Users/admin/builder/spi-builder-workspace/Sources/SpellbookFoundation/Threading & Concurrency/Extensions - Task.swift:49:27: warning: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure; this is an error in the Swift 6 language mode
47 |         completion: @escaping (R) -> Void
48 |     ) where Success == Void, Failure == Never {
49 |         Task<Void, Never> {
   |                           `- warning: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure; this is an error in the Swift 6 language mode
50 |             let result = await body()
51 |             queue.async { completion(result) }
   |                           `- note: closure captures 'completion' which is accessible to code in the current task
52 |         }
53 |     }
[58/69] Compiling SpellbookFoundation EventAsk.swift
/Users/admin/builder/spi-builder-workspace/Sources/SpellbookFoundation/ValueObserving/EventAsk.swift:26:13: warning: let 'log' is not concurrency-safe because non-'Sendable' type 'any SpellbookLog' may have shared mutable state; this is an error in the Swift 6 language mode
 24 | import Foundation
 25 |
 26 | private let log = SpellbookLogger.internal(category: "EventAsk")
    |             |- warning: let 'log' is not concurrency-safe because non-'Sendable' type 'any SpellbookLog' may have shared mutable state; this is an error in the Swift 6 language mode
    |             |- note: annotate 'log' 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
 27 |
 28 | public typealias EventAskCombined<Input, Output> = EventAskEx<Input, Output, Output>
/Users/admin/builder/spi-builder-workspace/Sources/SpellbookFoundation/Common/SpellbookLog.swift:26:17: note: protocol 'SpellbookLog' does not conform to the 'Sendable' protocol
 24 | import os
 25 |
 26 | public protocol SpellbookLog {
    |                 `- note: protocol 'SpellbookLog' does not conform to the 'Sendable' protocol
 27 |     func _custom(
 28 |         level: SpellbookLogLevel,
/Users/admin/builder/spi-builder-workspace/Sources/SpellbookFoundation/ValueObserving/EventAsk.swift:110:24: warning: capture of 'once' with non-sendable type 'AtomicFlag' in a `@Sendable` closure; this is an error in the Swift 6 language mode
108 |         if let timeout {
109 |             queue.asyncAfter(delay: timeout.interval) {
110 |                 guard !once.testAndSet() else { return }
    |                        `- warning: capture of 'once' with non-sendable type 'AtomicFlag' in a `@Sendable` closure; this is an error in the Swift 6 language mode
111 |                 completion(values.get(fallback: timeout.onTimeout(), combine: self.combine))
112 |             }
/Users/admin/builder/spi-builder-workspace/Sources/SpellbookFoundation/Threading & Concurrency/Atomic.swift:58:20: note: class 'AtomicFlag' does not conform to the 'Sendable' protocol
56 | }
57 |
58 | public final class AtomicFlag {
   |                    `- note: class 'AtomicFlag' does not conform to the 'Sendable' protocol
59 |     private let pointer: UnsafeMutablePointer<atomic_flag>
60 |
/Users/admin/builder/spi-builder-workspace/Sources/SpellbookFoundation/ValueObserving/EventAsk.swift:111:17: warning: capture of 'completion' with non-sendable type '(Output) -> Void' in a `@Sendable` closure; this is an error in the Swift 6 language mode
109 |             queue.asyncAfter(delay: timeout.interval) {
110 |                 guard !once.testAndSet() else { return }
111 |                 completion(values.get(fallback: timeout.onTimeout(), combine: self.combine))
    |                 |- warning: capture of 'completion' with non-sendable type '(Output) -> 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'
112 |             }
113 |         }
/Users/admin/builder/spi-builder-workspace/Sources/SpellbookFoundation/ValueObserving/EventAsk.swift:111:28: warning: capture of 'values' with non-sendable type 'EventAskEx<Input, Transformed, Output>.Values' in a `@Sendable` closure; this is an error in the Swift 6 language mode
109 |             queue.asyncAfter(delay: timeout.interval) {
110 |                 guard !once.testAndSet() else { return }
111 |                 completion(values.get(fallback: timeout.onTimeout(), combine: self.combine))
    |                            `- warning: capture of 'values' with non-sendable type 'EventAskEx<Input, Transformed, Output>.Values' in a `@Sendable` closure; this is an error in the Swift 6 language mode
112 |             }
113 |         }
    :
171 |
172 | extension EventAskEx {
173 |     private class Values {
    |                   `- note: class 'Values' does not conform to the 'Sendable' protocol
174 |         private var values: [Transformed?]
175 |         private var lock = UnfairLock()
/Users/admin/builder/spi-builder-workspace/Sources/SpellbookFoundation/ValueObserving/EventAsk.swift:111:49: warning: capture of 'timeout' with non-sendable type 'EventAskEx<Input, Transformed, Output>.Timeout' in a `@Sendable` closure; this is an error in the Swift 6 language mode
109 |             queue.asyncAfter(delay: timeout.interval) {
110 |                 guard !once.testAndSet() else { return }
111 |                 completion(values.get(fallback: timeout.onTimeout(), combine: self.combine))
    |                                                 `- warning: capture of 'timeout' with non-sendable type 'EventAskEx<Input, Transformed, Output>.Timeout' in a `@Sendable` closure; this is an error in the Swift 6 language mode
112 |             }
113 |         }
    :
150 |
151 | extension EventAskEx {
152 |     public struct Timeout {
    |                   `- note: consider making struct 'Timeout' conform to the 'Sendable' protocol
153 |         public var interval: TimeInterval
154 |         public var onTimeout: () -> Fallback? = { nil }
/Users/admin/builder/spi-builder-workspace/Sources/SpellbookFoundation/ValueObserving/EventAsk.swift:111:79: warning: capture of 'self' with non-sendable type 'EventAskEx<Input, Transformed, Output>' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 29 | public typealias EventAsk<Input, Output> = EventAskEx<Input, Output, [Output]>
 30 |
 31 | public class EventAskEx<Input, Transformed, Output> {
    |              `- note: generic class 'EventAskEx' does not conform to the 'Sendable' protocol
 32 |     private typealias Entry<T> = (transform: AsyncTransform, queue: DispatchQueue?)
 33 |     private let transforms = Synchronized<[UUID: Entry<AsyncTransform>]>(.concurrent)
    :
109 |             queue.asyncAfter(delay: timeout.interval) {
110 |                 guard !once.testAndSet() else { return }
111 |                 completion(values.get(fallback: timeout.onTimeout(), combine: self.combine))
    |                                                                               `- warning: capture of 'self' with non-sendable type 'EventAskEx<Input, Transformed, Output>' in a `@Sendable` closure; this is an error in the Swift 6 language mode
112 |             }
113 |         }
/Users/admin/builder/spi-builder-workspace/Sources/SpellbookFoundation/ValueObserving/EventNotify.swift:76:33: warning: capture of 'action' with non-sendable type '(T, Any?) -> Void' in a `@Sendable` closure
74 |     private func notifyOne(_ value: T, _ context: Any?, action: @escaping (T, Any?) -> Void) {
75 |         if let notifyQueue = notifyQueue {
76 |             notifyQueue.async { action(value, context) }
   |                                 |- warning: capture of 'action' with non-sendable type '(T, Any?) -> Void' in a `@Sendable` closure
   |                                 `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
77 |         } else {
78 |             action(value, context)
/Users/admin/builder/spi-builder-workspace/Sources/SpellbookFoundation/ValueObserving/EventNotify.swift:76:40: warning: capture of 'value' with non-sendable type 'T' in a `@Sendable` closure
23 | import Foundation
24 |
25 | public final class EventNotify<T>: ValueObserving {
   |                                `- note: consider making generic parameter 'T' conform to the 'Sendable' protocol
26 |     private typealias Handler = (T, Any?) -> Void
27 |
   :
74 |     private func notifyOne(_ value: T, _ context: Any?, action: @escaping (T, Any?) -> Void) {
75 |         if let notifyQueue = notifyQueue {
76 |             notifyQueue.async { action(value, context) }
   |                                        `- warning: capture of 'value' with non-sendable type 'T' in a `@Sendable` closure
77 |         } else {
78 |             action(value, context)
/Users/admin/builder/spi-builder-workspace/Sources/SpellbookFoundation/ValueObserving/EventNotify.swift:76:47: warning: capture of 'context' with non-sendable type 'Any?' in a `@Sendable` closure
74 |     private func notifyOne(_ value: T, _ context: Any?, action: @escaping (T, Any?) -> Void) {
75 |         if let notifyQueue = notifyQueue {
76 |             notifyQueue.async { action(value, context) }
   |                                               `- warning: capture of 'context' with non-sendable type 'Any?' in a `@Sendable` closure
77 |         } else {
78 |             action(value, context)
/Users/admin/builder/spi-builder-workspace/Sources/SpellbookFoundation/ValueObserving/ValueObserving.swift:75:31: warning: capture of 'receiveValue' with non-sendable type '(Self.Value, Any?) -> Void' in a `@Sendable` closure
 73 |         AnyValueObserving { suppressInitialNotify, receiveValue in
 74 |             self.subscribe(suppressInitialNotify: suppressInitialNotify) { value, context in
 75 |                 queue.async { receiveValue(value, context) }
    |                               |- warning: capture of 'receiveValue' with non-sendable type '(Self.Value, Any?) -> Void' in a `@Sendable` closure
    |                               `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
 76 |             }
 77 |         }
/Users/admin/builder/spi-builder-workspace/Sources/SpellbookFoundation/ValueObserving/ValueObserving.swift:75:44: warning: capture of 'value' with non-sendable type 'Self.Value' in a `@Sendable` closure
 73 |         AnyValueObserving { suppressInitialNotify, receiveValue in
 74 |             self.subscribe(suppressInitialNotify: suppressInitialNotify) { value, context in
 75 |                 queue.async { receiveValue(value, context) }
    |                                            `- warning: capture of 'value' with non-sendable type 'Self.Value' in a `@Sendable` closure
 76 |             }
 77 |         }
/Users/admin/builder/spi-builder-workspace/Sources/SpellbookFoundation/ValueObserving/ValueObserving.swift:75:51: warning: capture of 'context' with non-sendable type 'Any?' in a `@Sendable` closure
 73 |         AnyValueObserving { suppressInitialNotify, receiveValue in
 74 |             self.subscribe(suppressInitialNotify: suppressInitialNotify) { value, context in
 75 |                 queue.async { receiveValue(value, context) }
    |                                                   `- warning: capture of 'context' with non-sendable type 'Any?' in a `@Sendable` closure
 76 |             }
 77 |         }
/Users/admin/builder/spi-builder-workspace/Sources/SpellbookFoundation/ValueObserving/ValueObserving.swift:97:49: warning: capture of 'subscription' with non-sendable type 'AnyCancellable' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 95 |         .init { continuation in
 96 |             let subscription = subscribe(suppressInitialNotify: suppressInitialNotify) { continuation.yield(($0, $1)) }
 97 |             continuation.onTermination = { _ in subscription.cancel() }
    |                                                 `- warning: capture of 'subscription' with non-sendable type 'AnyCancellable' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 98 |         }
 99 |     }
Combine.AnyCancellable:2:20: note: class 'AnyCancellable' does not conform to the 'Sendable' protocol
 1 | @available(macOS 10.15, iOS 13.0, tvOS 13.0, watchOS 6.0, *)
 2 | final public class AnyCancellable : Cancellable, Hashable {
   |                    `- note: class 'AnyCancellable' does not conform to the 'Sendable' protocol
 3 |     public init(_ cancel: @escaping () -> Void)
 4 |     public init<C>(_ canceller: C) where C : Cancellable
/Users/admin/builder/spi-builder-workspace/Sources/SpellbookFoundation/ValueObserving/ValueObserving.swift:23:1: warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'Combine'
 21 | //  SOFTWARE.
 22 |
 23 | import Combine
    | `- warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'Combine'
 24 | import Foundation
 25 |
/Users/admin/builder/spi-builder-workspace/Sources/SpellbookFoundation/ValueObserving/ValueObserving.swift:104:49: warning: capture of 'subscription' with non-sendable type 'AnyCancellable' in a `@Sendable` closure; this is an error in the Swift 6 language mode
102 |         .init { continuation in
103 |             let subscription = subscribe(suppressInitialNotify: suppressInitialNotify) { continuation.yield($0) }
104 |             continuation.onTermination = { _ in subscription.cancel() }
    |                                                 `- warning: capture of 'subscription' with non-sendable type 'AnyCancellable' in a `@Sendable` closure; this is an error in the Swift 6 language mode
105 |         }
106 |     }
Combine.AnyCancellable:2:20: note: class 'AnyCancellable' does not conform to the 'Sendable' protocol
 1 | @available(macOS 10.15, iOS 13.0, tvOS 13.0, watchOS 6.0, *)
 2 | final public class AnyCancellable : Cancellable, Hashable {
   |                    `- note: class 'AnyCancellable' does not conform to the 'Sendable' protocol
 3 |     public init(_ cancel: @escaping () -> Void)
 4 |     public init<C>(_ canceller: C) where C : Cancellable
/Users/admin/builder/spi-builder-workspace/Sources/SpellbookFoundation/ValueObserving/EventAsk.swift:62:62: warning: sending '$0' risks causing data races; this is an error in the Swift 6 language mode
 60 |     public func ask(_ value: Input, timeout: Timeout? = nil) async -> Output {
 61 |         await withCheckedContinuation { continuation in
 62 |             askAsync(value, timeout: timeout) { continuation.resume(returning: $0) }
    |                                                              |- warning: sending '$0' risks causing data races; this is an error in the Swift 6 language mode
    |                                                              `- note: task-isolated '$0' is passed as a 'sending' parameter; Uses in callee may race with later task-isolated uses
 63 |         }
 64 |     }
/Users/admin/builder/spi-builder-workspace/Sources/SpellbookFoundation/ValueObserving/EventAsk.swift:144:18: warning: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure; this is an error in the Swift 6 language mode
142 |     public func subscribe(transform: @escaping ConcurrentTransform) -> SubscriptionToken {
143 |         subscribe(on: nil) { input, reply in
144 |             Task {
    |                  `- warning: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure; this is an error in the Swift 6 language mode
145 |                 reply(await transform(input))
    |                             `- note: closure captures 'transform' which is accessible to code in the current task
146 |             }
147 |         }
/Users/admin/builder/spi-builder-workspace/Sources/SpellbookFoundation/ValueObserving/ValueObserving.swift:96:103: warning: task-isolated value of type '(Self.Value, Any?)' passed as a strongly transferred parameter; later accesses could race; this is an error in the Swift 6 language mode
 94 |     public func stream(suppressInitialNotify: Bool = false) -> AsyncStream<(Value, Any?)> {
 95 |         .init { continuation in
 96 |             let subscription = subscribe(suppressInitialNotify: suppressInitialNotify) { continuation.yield(($0, $1)) }
    |                                                                                                       `- warning: task-isolated value of type '(Self.Value, Any?)' passed as a strongly transferred parameter; later accesses could race; this is an error in the Swift 6 language mode
 97 |             continuation.onTermination = { _ in subscription.cancel() }
 98 |         }
/Users/admin/builder/spi-builder-workspace/Sources/SpellbookFoundation/ValueObserving/ValueObserving.swift:103:103: warning: sending '$0' risks causing data races; this is an error in the Swift 6 language mode
101 |     public func valueStream(suppressInitialNotify: Bool = false) -> AsyncStream<Value> {
102 |         .init { continuation in
103 |             let subscription = subscribe(suppressInitialNotify: suppressInitialNotify) { continuation.yield($0) }
    |                                                                                                       |- warning: sending '$0' risks causing data races; this is an error in the Swift 6 language mode
    |                                                                                                       `- note: task-isolated '$0' is passed as a 'sending' parameter; Uses in callee may race with later task-isolated uses
104 |             continuation.onTermination = { _ in subscription.cancel() }
105 |         }
[59/69] Compiling SpellbookFoundation EventNotify.swift
/Users/admin/builder/spi-builder-workspace/Sources/SpellbookFoundation/ValueObserving/EventAsk.swift:26:13: warning: let 'log' is not concurrency-safe because non-'Sendable' type 'any SpellbookLog' may have shared mutable state; this is an error in the Swift 6 language mode
 24 | import Foundation
 25 |
 26 | private let log = SpellbookLogger.internal(category: "EventAsk")
    |             |- warning: let 'log' is not concurrency-safe because non-'Sendable' type 'any SpellbookLog' may have shared mutable state; this is an error in the Swift 6 language mode
    |             |- note: annotate 'log' 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
 27 |
 28 | public typealias EventAskCombined<Input, Output> = EventAskEx<Input, Output, Output>
/Users/admin/builder/spi-builder-workspace/Sources/SpellbookFoundation/Common/SpellbookLog.swift:26:17: note: protocol 'SpellbookLog' does not conform to the 'Sendable' protocol
 24 | import os
 25 |
 26 | public protocol SpellbookLog {
    |                 `- note: protocol 'SpellbookLog' does not conform to the 'Sendable' protocol
 27 |     func _custom(
 28 |         level: SpellbookLogLevel,
/Users/admin/builder/spi-builder-workspace/Sources/SpellbookFoundation/ValueObserving/EventAsk.swift:110:24: warning: capture of 'once' with non-sendable type 'AtomicFlag' in a `@Sendable` closure; this is an error in the Swift 6 language mode
108 |         if let timeout {
109 |             queue.asyncAfter(delay: timeout.interval) {
110 |                 guard !once.testAndSet() else { return }
    |                        `- warning: capture of 'once' with non-sendable type 'AtomicFlag' in a `@Sendable` closure; this is an error in the Swift 6 language mode
111 |                 completion(values.get(fallback: timeout.onTimeout(), combine: self.combine))
112 |             }
/Users/admin/builder/spi-builder-workspace/Sources/SpellbookFoundation/Threading & Concurrency/Atomic.swift:58:20: note: class 'AtomicFlag' does not conform to the 'Sendable' protocol
56 | }
57 |
58 | public final class AtomicFlag {
   |                    `- note: class 'AtomicFlag' does not conform to the 'Sendable' protocol
59 |     private let pointer: UnsafeMutablePointer<atomic_flag>
60 |
/Users/admin/builder/spi-builder-workspace/Sources/SpellbookFoundation/ValueObserving/EventAsk.swift:111:17: warning: capture of 'completion' with non-sendable type '(Output) -> Void' in a `@Sendable` closure; this is an error in the Swift 6 language mode
109 |             queue.asyncAfter(delay: timeout.interval) {
110 |                 guard !once.testAndSet() else { return }
111 |                 completion(values.get(fallback: timeout.onTimeout(), combine: self.combine))
    |                 |- warning: capture of 'completion' with non-sendable type '(Output) -> 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'
112 |             }
113 |         }
/Users/admin/builder/spi-builder-workspace/Sources/SpellbookFoundation/ValueObserving/EventAsk.swift:111:28: warning: capture of 'values' with non-sendable type 'EventAskEx<Input, Transformed, Output>.Values' in a `@Sendable` closure; this is an error in the Swift 6 language mode
109 |             queue.asyncAfter(delay: timeout.interval) {
110 |                 guard !once.testAndSet() else { return }
111 |                 completion(values.get(fallback: timeout.onTimeout(), combine: self.combine))
    |                            `- warning: capture of 'values' with non-sendable type 'EventAskEx<Input, Transformed, Output>.Values' in a `@Sendable` closure; this is an error in the Swift 6 language mode
112 |             }
113 |         }
    :
171 |
172 | extension EventAskEx {
173 |     private class Values {
    |                   `- note: class 'Values' does not conform to the 'Sendable' protocol
174 |         private var values: [Transformed?]
175 |         private var lock = UnfairLock()
/Users/admin/builder/spi-builder-workspace/Sources/SpellbookFoundation/ValueObserving/EventAsk.swift:111:49: warning: capture of 'timeout' with non-sendable type 'EventAskEx<Input, Transformed, Output>.Timeout' in a `@Sendable` closure; this is an error in the Swift 6 language mode
109 |             queue.asyncAfter(delay: timeout.interval) {
110 |                 guard !once.testAndSet() else { return }
111 |                 completion(values.get(fallback: timeout.onTimeout(), combine: self.combine))
    |                                                 `- warning: capture of 'timeout' with non-sendable type 'EventAskEx<Input, Transformed, Output>.Timeout' in a `@Sendable` closure; this is an error in the Swift 6 language mode
112 |             }
113 |         }
    :
150 |
151 | extension EventAskEx {
152 |     public struct Timeout {
    |                   `- note: consider making struct 'Timeout' conform to the 'Sendable' protocol
153 |         public var interval: TimeInterval
154 |         public var onTimeout: () -> Fallback? = { nil }
/Users/admin/builder/spi-builder-workspace/Sources/SpellbookFoundation/ValueObserving/EventAsk.swift:111:79: warning: capture of 'self' with non-sendable type 'EventAskEx<Input, Transformed, Output>' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 29 | public typealias EventAsk<Input, Output> = EventAskEx<Input, Output, [Output]>
 30 |
 31 | public class EventAskEx<Input, Transformed, Output> {
    |              `- note: generic class 'EventAskEx' does not conform to the 'Sendable' protocol
 32 |     private typealias Entry<T> = (transform: AsyncTransform, queue: DispatchQueue?)
 33 |     private let transforms = Synchronized<[UUID: Entry<AsyncTransform>]>(.concurrent)
    :
109 |             queue.asyncAfter(delay: timeout.interval) {
110 |                 guard !once.testAndSet() else { return }
111 |                 completion(values.get(fallback: timeout.onTimeout(), combine: self.combine))
    |                                                                               `- warning: capture of 'self' with non-sendable type 'EventAskEx<Input, Transformed, Output>' in a `@Sendable` closure; this is an error in the Swift 6 language mode
112 |             }
113 |         }
/Users/admin/builder/spi-builder-workspace/Sources/SpellbookFoundation/ValueObserving/EventNotify.swift:76:33: warning: capture of 'action' with non-sendable type '(T, Any?) -> Void' in a `@Sendable` closure
74 |     private func notifyOne(_ value: T, _ context: Any?, action: @escaping (T, Any?) -> Void) {
75 |         if let notifyQueue = notifyQueue {
76 |             notifyQueue.async { action(value, context) }
   |                                 |- warning: capture of 'action' with non-sendable type '(T, Any?) -> Void' in a `@Sendable` closure
   |                                 `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
77 |         } else {
78 |             action(value, context)
/Users/admin/builder/spi-builder-workspace/Sources/SpellbookFoundation/ValueObserving/EventNotify.swift:76:40: warning: capture of 'value' with non-sendable type 'T' in a `@Sendable` closure
23 | import Foundation
24 |
25 | public final class EventNotify<T>: ValueObserving {
   |                                `- note: consider making generic parameter 'T' conform to the 'Sendable' protocol
26 |     private typealias Handler = (T, Any?) -> Void
27 |
   :
74 |     private func notifyOne(_ value: T, _ context: Any?, action: @escaping (T, Any?) -> Void) {
75 |         if let notifyQueue = notifyQueue {
76 |             notifyQueue.async { action(value, context) }
   |                                        `- warning: capture of 'value' with non-sendable type 'T' in a `@Sendable` closure
77 |         } else {
78 |             action(value, context)
/Users/admin/builder/spi-builder-workspace/Sources/SpellbookFoundation/ValueObserving/EventNotify.swift:76:47: warning: capture of 'context' with non-sendable type 'Any?' in a `@Sendable` closure
74 |     private func notifyOne(_ value: T, _ context: Any?, action: @escaping (T, Any?) -> Void) {
75 |         if let notifyQueue = notifyQueue {
76 |             notifyQueue.async { action(value, context) }
   |                                               `- warning: capture of 'context' with non-sendable type 'Any?' in a `@Sendable` closure
77 |         } else {
78 |             action(value, context)
/Users/admin/builder/spi-builder-workspace/Sources/SpellbookFoundation/ValueObserving/ValueObserving.swift:75:31: warning: capture of 'receiveValue' with non-sendable type '(Self.Value, Any?) -> Void' in a `@Sendable` closure
 73 |         AnyValueObserving { suppressInitialNotify, receiveValue in
 74 |             self.subscribe(suppressInitialNotify: suppressInitialNotify) { value, context in
 75 |                 queue.async { receiveValue(value, context) }
    |                               |- warning: capture of 'receiveValue' with non-sendable type '(Self.Value, Any?) -> Void' in a `@Sendable` closure
    |                               `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
 76 |             }
 77 |         }
/Users/admin/builder/spi-builder-workspace/Sources/SpellbookFoundation/ValueObserving/ValueObserving.swift:75:44: warning: capture of 'value' with non-sendable type 'Self.Value' in a `@Sendable` closure
 73 |         AnyValueObserving { suppressInitialNotify, receiveValue in
 74 |             self.subscribe(suppressInitialNotify: suppressInitialNotify) { value, context in
 75 |                 queue.async { receiveValue(value, context) }
    |                                            `- warning: capture of 'value' with non-sendable type 'Self.Value' in a `@Sendable` closure
 76 |             }
 77 |         }
/Users/admin/builder/spi-builder-workspace/Sources/SpellbookFoundation/ValueObserving/ValueObserving.swift:75:51: warning: capture of 'context' with non-sendable type 'Any?' in a `@Sendable` closure
 73 |         AnyValueObserving { suppressInitialNotify, receiveValue in
 74 |             self.subscribe(suppressInitialNotify: suppressInitialNotify) { value, context in
 75 |                 queue.async { receiveValue(value, context) }
    |                                                   `- warning: capture of 'context' with non-sendable type 'Any?' in a `@Sendable` closure
 76 |             }
 77 |         }
/Users/admin/builder/spi-builder-workspace/Sources/SpellbookFoundation/ValueObserving/ValueObserving.swift:97:49: warning: capture of 'subscription' with non-sendable type 'AnyCancellable' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 95 |         .init { continuation in
 96 |             let subscription = subscribe(suppressInitialNotify: suppressInitialNotify) { continuation.yield(($0, $1)) }
 97 |             continuation.onTermination = { _ in subscription.cancel() }
    |                                                 `- warning: capture of 'subscription' with non-sendable type 'AnyCancellable' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 98 |         }
 99 |     }
Combine.AnyCancellable:2:20: note: class 'AnyCancellable' does not conform to the 'Sendable' protocol
 1 | @available(macOS 10.15, iOS 13.0, tvOS 13.0, watchOS 6.0, *)
 2 | final public class AnyCancellable : Cancellable, Hashable {
   |                    `- note: class 'AnyCancellable' does not conform to the 'Sendable' protocol
 3 |     public init(_ cancel: @escaping () -> Void)
 4 |     public init<C>(_ canceller: C) where C : Cancellable
/Users/admin/builder/spi-builder-workspace/Sources/SpellbookFoundation/ValueObserving/ValueObserving.swift:23:1: warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'Combine'
 21 | //  SOFTWARE.
 22 |
 23 | import Combine
    | `- warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'Combine'
 24 | import Foundation
 25 |
/Users/admin/builder/spi-builder-workspace/Sources/SpellbookFoundation/ValueObserving/ValueObserving.swift:104:49: warning: capture of 'subscription' with non-sendable type 'AnyCancellable' in a `@Sendable` closure; this is an error in the Swift 6 language mode
102 |         .init { continuation in
103 |             let subscription = subscribe(suppressInitialNotify: suppressInitialNotify) { continuation.yield($0) }
104 |             continuation.onTermination = { _ in subscription.cancel() }
    |                                                 `- warning: capture of 'subscription' with non-sendable type 'AnyCancellable' in a `@Sendable` closure; this is an error in the Swift 6 language mode
105 |         }
106 |     }
Combine.AnyCancellable:2:20: note: class 'AnyCancellable' does not conform to the 'Sendable' protocol
 1 | @available(macOS 10.15, iOS 13.0, tvOS 13.0, watchOS 6.0, *)
 2 | final public class AnyCancellable : Cancellable, Hashable {
   |                    `- note: class 'AnyCancellable' does not conform to the 'Sendable' protocol
 3 |     public init(_ cancel: @escaping () -> Void)
 4 |     public init<C>(_ canceller: C) where C : Cancellable
/Users/admin/builder/spi-builder-workspace/Sources/SpellbookFoundation/ValueObserving/EventAsk.swift:62:62: warning: sending '$0' risks causing data races; this is an error in the Swift 6 language mode
 60 |     public func ask(_ value: Input, timeout: Timeout? = nil) async -> Output {
 61 |         await withCheckedContinuation { continuation in
 62 |             askAsync(value, timeout: timeout) { continuation.resume(returning: $0) }
    |                                                              |- warning: sending '$0' risks causing data races; this is an error in the Swift 6 language mode
    |                                                              `- note: task-isolated '$0' is passed as a 'sending' parameter; Uses in callee may race with later task-isolated uses
 63 |         }
 64 |     }
/Users/admin/builder/spi-builder-workspace/Sources/SpellbookFoundation/ValueObserving/EventAsk.swift:144:18: warning: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure; this is an error in the Swift 6 language mode
142 |     public func subscribe(transform: @escaping ConcurrentTransform) -> SubscriptionToken {
143 |         subscribe(on: nil) { input, reply in
144 |             Task {
    |                  `- warning: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure; this is an error in the Swift 6 language mode
145 |                 reply(await transform(input))
    |                             `- note: closure captures 'transform' which is accessible to code in the current task
146 |             }
147 |         }
/Users/admin/builder/spi-builder-workspace/Sources/SpellbookFoundation/ValueObserving/ValueObserving.swift:96:103: warning: task-isolated value of type '(Self.Value, Any?)' passed as a strongly transferred parameter; later accesses could race; this is an error in the Swift 6 language mode
 94 |     public func stream(suppressInitialNotify: Bool = false) -> AsyncStream<(Value, Any?)> {
 95 |         .init { continuation in
 96 |             let subscription = subscribe(suppressInitialNotify: suppressInitialNotify) { continuation.yield(($0, $1)) }
    |                                                                                                       `- warning: task-isolated value of type '(Self.Value, Any?)' passed as a strongly transferred parameter; later accesses could race; this is an error in the Swift 6 language mode
 97 |             continuation.onTermination = { _ in subscription.cancel() }
 98 |         }
/Users/admin/builder/spi-builder-workspace/Sources/SpellbookFoundation/ValueObserving/ValueObserving.swift:103:103: warning: sending '$0' risks causing data races; this is an error in the Swift 6 language mode
101 |     public func valueStream(suppressInitialNotify: Bool = false) -> AsyncStream<Value> {
102 |         .init { continuation in
103 |             let subscription = subscribe(suppressInitialNotify: suppressInitialNotify) { continuation.yield($0) }
    |                                                                                                       |- warning: sending '$0' risks causing data races; this is an error in the Swift 6 language mode
    |                                                                                                       `- note: task-isolated '$0' is passed as a 'sending' parameter; Uses in callee may race with later task-isolated uses
104 |             continuation.onTermination = { _ in subscription.cancel() }
105 |         }
[60/69] Compiling SpellbookFoundation ValueObservable.swift
/Users/admin/builder/spi-builder-workspace/Sources/SpellbookFoundation/ValueObserving/EventAsk.swift:26:13: warning: let 'log' is not concurrency-safe because non-'Sendable' type 'any SpellbookLog' may have shared mutable state; this is an error in the Swift 6 language mode
 24 | import Foundation
 25 |
 26 | private let log = SpellbookLogger.internal(category: "EventAsk")
    |             |- warning: let 'log' is not concurrency-safe because non-'Sendable' type 'any SpellbookLog' may have shared mutable state; this is an error in the Swift 6 language mode
    |             |- note: annotate 'log' 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
 27 |
 28 | public typealias EventAskCombined<Input, Output> = EventAskEx<Input, Output, Output>
/Users/admin/builder/spi-builder-workspace/Sources/SpellbookFoundation/Common/SpellbookLog.swift:26:17: note: protocol 'SpellbookLog' does not conform to the 'Sendable' protocol
 24 | import os
 25 |
 26 | public protocol SpellbookLog {
    |                 `- note: protocol 'SpellbookLog' does not conform to the 'Sendable' protocol
 27 |     func _custom(
 28 |         level: SpellbookLogLevel,
/Users/admin/builder/spi-builder-workspace/Sources/SpellbookFoundation/ValueObserving/EventAsk.swift:110:24: warning: capture of 'once' with non-sendable type 'AtomicFlag' in a `@Sendable` closure; this is an error in the Swift 6 language mode
108 |         if let timeout {
109 |             queue.asyncAfter(delay: timeout.interval) {
110 |                 guard !once.testAndSet() else { return }
    |                        `- warning: capture of 'once' with non-sendable type 'AtomicFlag' in a `@Sendable` closure; this is an error in the Swift 6 language mode
111 |                 completion(values.get(fallback: timeout.onTimeout(), combine: self.combine))
112 |             }
/Users/admin/builder/spi-builder-workspace/Sources/SpellbookFoundation/Threading & Concurrency/Atomic.swift:58:20: note: class 'AtomicFlag' does not conform to the 'Sendable' protocol
56 | }
57 |
58 | public final class AtomicFlag {
   |                    `- note: class 'AtomicFlag' does not conform to the 'Sendable' protocol
59 |     private let pointer: UnsafeMutablePointer<atomic_flag>
60 |
/Users/admin/builder/spi-builder-workspace/Sources/SpellbookFoundation/ValueObserving/EventAsk.swift:111:17: warning: capture of 'completion' with non-sendable type '(Output) -> Void' in a `@Sendable` closure; this is an error in the Swift 6 language mode
109 |             queue.asyncAfter(delay: timeout.interval) {
110 |                 guard !once.testAndSet() else { return }
111 |                 completion(values.get(fallback: timeout.onTimeout(), combine: self.combine))
    |                 |- warning: capture of 'completion' with non-sendable type '(Output) -> 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'
112 |             }
113 |         }
/Users/admin/builder/spi-builder-workspace/Sources/SpellbookFoundation/ValueObserving/EventAsk.swift:111:28: warning: capture of 'values' with non-sendable type 'EventAskEx<Input, Transformed, Output>.Values' in a `@Sendable` closure; this is an error in the Swift 6 language mode
109 |             queue.asyncAfter(delay: timeout.interval) {
110 |                 guard !once.testAndSet() else { return }
111 |                 completion(values.get(fallback: timeout.onTimeout(), combine: self.combine))
    |                            `- warning: capture of 'values' with non-sendable type 'EventAskEx<Input, Transformed, Output>.Values' in a `@Sendable` closure; this is an error in the Swift 6 language mode
112 |             }
113 |         }
    :
171 |
172 | extension EventAskEx {
173 |     private class Values {
    |                   `- note: class 'Values' does not conform to the 'Sendable' protocol
174 |         private var values: [Transformed?]
175 |         private var lock = UnfairLock()
/Users/admin/builder/spi-builder-workspace/Sources/SpellbookFoundation/ValueObserving/EventAsk.swift:111:49: warning: capture of 'timeout' with non-sendable type 'EventAskEx<Input, Transformed, Output>.Timeout' in a `@Sendable` closure; this is an error in the Swift 6 language mode
109 |             queue.asyncAfter(delay: timeout.interval) {
110 |                 guard !once.testAndSet() else { return }
111 |                 completion(values.get(fallback: timeout.onTimeout(), combine: self.combine))
    |                                                 `- warning: capture of 'timeout' with non-sendable type 'EventAskEx<Input, Transformed, Output>.Timeout' in a `@Sendable` closure; this is an error in the Swift 6 language mode
112 |             }
113 |         }
    :
150 |
151 | extension EventAskEx {
152 |     public struct Timeout {
    |                   `- note: consider making struct 'Timeout' conform to the 'Sendable' protocol
153 |         public var interval: TimeInterval
154 |         public var onTimeout: () -> Fallback? = { nil }
/Users/admin/builder/spi-builder-workspace/Sources/SpellbookFoundation/ValueObserving/EventAsk.swift:111:79: warning: capture of 'self' with non-sendable type 'EventAskEx<Input, Transformed, Output>' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 29 | public typealias EventAsk<Input, Output> = EventAskEx<Input, Output, [Output]>
 30 |
 31 | public class EventAskEx<Input, Transformed, Output> {
    |              `- note: generic class 'EventAskEx' does not conform to the 'Sendable' protocol
 32 |     private typealias Entry<T> = (transform: AsyncTransform, queue: DispatchQueue?)
 33 |     private let transforms = Synchronized<[UUID: Entry<AsyncTransform>]>(.concurrent)
    :
109 |             queue.asyncAfter(delay: timeout.interval) {
110 |                 guard !once.testAndSet() else { return }
111 |                 completion(values.get(fallback: timeout.onTimeout(), combine: self.combine))
    |                                                                               `- warning: capture of 'self' with non-sendable type 'EventAskEx<Input, Transformed, Output>' in a `@Sendable` closure; this is an error in the Swift 6 language mode
112 |             }
113 |         }
/Users/admin/builder/spi-builder-workspace/Sources/SpellbookFoundation/ValueObserving/EventNotify.swift:76:33: warning: capture of 'action' with non-sendable type '(T, Any?) -> Void' in a `@Sendable` closure
74 |     private func notifyOne(_ value: T, _ context: Any?, action: @escaping (T, Any?) -> Void) {
75 |         if let notifyQueue = notifyQueue {
76 |             notifyQueue.async { action(value, context) }
   |                                 |- warning: capture of 'action' with non-sendable type '(T, Any?) -> Void' in a `@Sendable` closure
   |                                 `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
77 |         } else {
78 |             action(value, context)
/Users/admin/builder/spi-builder-workspace/Sources/SpellbookFoundation/ValueObserving/EventNotify.swift:76:40: warning: capture of 'value' with non-sendable type 'T' in a `@Sendable` closure
23 | import Foundation
24 |
25 | public final class EventNotify<T>: ValueObserving {
   |                                `- note: consider making generic parameter 'T' conform to the 'Sendable' protocol
26 |     private typealias Handler = (T, Any?) -> Void
27 |
   :
74 |     private func notifyOne(_ value: T, _ context: Any?, action: @escaping (T, Any?) -> Void) {
75 |         if let notifyQueue = notifyQueue {
76 |             notifyQueue.async { action(value, context) }
   |                                        `- warning: capture of 'value' with non-sendable type 'T' in a `@Sendable` closure
77 |         } else {
78 |             action(value, context)
/Users/admin/builder/spi-builder-workspace/Sources/SpellbookFoundation/ValueObserving/EventNotify.swift:76:47: warning: capture of 'context' with non-sendable type 'Any?' in a `@Sendable` closure
74 |     private func notifyOne(_ value: T, _ context: Any?, action: @escaping (T, Any?) -> Void) {
75 |         if let notifyQueue = notifyQueue {
76 |             notifyQueue.async { action(value, context) }
   |                                               `- warning: capture of 'context' with non-sendable type 'Any?' in a `@Sendable` closure
77 |         } else {
78 |             action(value, context)
/Users/admin/builder/spi-builder-workspace/Sources/SpellbookFoundation/ValueObserving/ValueObserving.swift:75:31: warning: capture of 'receiveValue' with non-sendable type '(Self.Value, Any?) -> Void' in a `@Sendable` closure
 73 |         AnyValueObserving { suppressInitialNotify, receiveValue in
 74 |             self.subscribe(suppressInitialNotify: suppressInitialNotify) { value, context in
 75 |                 queue.async { receiveValue(value, context) }
    |                               |- warning: capture of 'receiveValue' with non-sendable type '(Self.Value, Any?) -> Void' in a `@Sendable` closure
    |                               `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
 76 |             }
 77 |         }
/Users/admin/builder/spi-builder-workspace/Sources/SpellbookFoundation/ValueObserving/ValueObserving.swift:75:44: warning: capture of 'value' with non-sendable type 'Self.Value' in a `@Sendable` closure
 73 |         AnyValueObserving { suppressInitialNotify, receiveValue in
 74 |             self.subscribe(suppressInitialNotify: suppressInitialNotify) { value, context in
 75 |                 queue.async { receiveValue(value, context) }
    |                                            `- warning: capture of 'value' with non-sendable type 'Self.Value' in a `@Sendable` closure
 76 |             }
 77 |         }
/Users/admin/builder/spi-builder-workspace/Sources/SpellbookFoundation/ValueObserving/ValueObserving.swift:75:51: warning: capture of 'context' with non-sendable type 'Any?' in a `@Sendable` closure
 73 |         AnyValueObserving { suppressInitialNotify, receiveValue in
 74 |             self.subscribe(suppressInitialNotify: suppressInitialNotify) { value, context in
 75 |                 queue.async { receiveValue(value, context) }
    |                                                   `- warning: capture of 'context' with non-sendable type 'Any?' in a `@Sendable` closure
 76 |             }
 77 |         }
/Users/admin/builder/spi-builder-workspace/Sources/SpellbookFoundation/ValueObserving/ValueObserving.swift:97:49: warning: capture of 'subscription' with non-sendable type 'AnyCancellable' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 95 |         .init { continuation in
 96 |             let subscription = subscribe(suppressInitialNotify: suppressInitialNotify) { continuation.yield(($0, $1)) }
 97 |             continuation.onTermination = { _ in subscription.cancel() }
    |                                                 `- warning: capture of 'subscription' with non-sendable type 'AnyCancellable' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 98 |         }
 99 |     }
Combine.AnyCancellable:2:20: note: class 'AnyCancellable' does not conform to the 'Sendable' protocol
 1 | @available(macOS 10.15, iOS 13.0, tvOS 13.0, watchOS 6.0, *)
 2 | final public class AnyCancellable : Cancellable, Hashable {
   |                    `- note: class 'AnyCancellable' does not conform to the 'Sendable' protocol
 3 |     public init(_ cancel: @escaping () -> Void)
 4 |     public init<C>(_ canceller: C) where C : Cancellable
/Users/admin/builder/spi-builder-workspace/Sources/SpellbookFoundation/ValueObserving/ValueObserving.swift:23:1: warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'Combine'
 21 | //  SOFTWARE.
 22 |
 23 | import Combine
    | `- warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'Combine'
 24 | import Foundation
 25 |
/Users/admin/builder/spi-builder-workspace/Sources/SpellbookFoundation/ValueObserving/ValueObserving.swift:104:49: warning: capture of 'subscription' with non-sendable type 'AnyCancellable' in a `@Sendable` closure; this is an error in the Swift 6 language mode
102 |         .init { continuation in
103 |             let subscription = subscribe(suppressInitialNotify: suppressInitialNotify) { continuation.yield($0) }
104 |             continuation.onTermination = { _ in subscription.cancel() }
    |                                                 `- warning: capture of 'subscription' with non-sendable type 'AnyCancellable' in a `@Sendable` closure; this is an error in the Swift 6 language mode
105 |         }
106 |     }
Combine.AnyCancellable:2:20: note: class 'AnyCancellable' does not conform to the 'Sendable' protocol
 1 | @available(macOS 10.15, iOS 13.0, tvOS 13.0, watchOS 6.0, *)
 2 | final public class AnyCancellable : Cancellable, Hashable {
   |                    `- note: class 'AnyCancellable' does not conform to the 'Sendable' protocol
 3 |     public init(_ cancel: @escaping () -> Void)
 4 |     public init<C>(_ canceller: C) where C : Cancellable
/Users/admin/builder/spi-builder-workspace/Sources/SpellbookFoundation/ValueObserving/EventAsk.swift:62:62: warning: sending '$0' risks causing data races; this is an error in the Swift 6 language mode
 60 |     public func ask(_ value: Input, timeout: Timeout? = nil) async -> Output {
 61 |         await withCheckedContinuation { continuation in
 62 |             askAsync(value, timeout: timeout) { continuation.resume(returning: $0) }
    |                                                              |- warning: sending '$0' risks causing data races; this is an error in the Swift 6 language mode
    |                                                              `- note: task-isolated '$0' is passed as a 'sending' parameter; Uses in callee may race with later task-isolated uses
 63 |         }
 64 |     }
/Users/admin/builder/spi-builder-workspace/Sources/SpellbookFoundation/ValueObserving/EventAsk.swift:144:18: warning: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure; this is an error in the Swift 6 language mode
142 |     public func subscribe(transform: @escaping ConcurrentTransform) -> SubscriptionToken {
143 |         subscribe(on: nil) { input, reply in
144 |             Task {
    |                  `- warning: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure; this is an error in the Swift 6 language mode
145 |                 reply(await transform(input))
    |                             `- note: closure captures 'transform' which is accessible to code in the current task
146 |             }
147 |         }
/Users/admin/builder/spi-builder-workspace/Sources/SpellbookFoundation/ValueObserving/ValueObserving.swift:96:103: warning: task-isolated value of type '(Self.Value, Any?)' passed as a strongly transferred parameter; later accesses could race; this is an error in the Swift 6 language mode
 94 |     public func stream(suppressInitialNotify: Bool = false) -> AsyncStream<(Value, Any?)> {
 95 |         .init { continuation in
 96 |             let subscription = subscribe(suppressInitialNotify: suppressInitialNotify) { continuation.yield(($0, $1)) }
    |                                                                                                       `- warning: task-isolated value of type '(Self.Value, Any?)' passed as a strongly transferred parameter; later accesses could race; this is an error in the Swift 6 language mode
 97 |             continuation.onTermination = { _ in subscription.cancel() }
 98 |         }
/Users/admin/builder/spi-builder-workspace/Sources/SpellbookFoundation/ValueObserving/ValueObserving.swift:103:103: warning: sending '$0' risks causing data races; this is an error in the Swift 6 language mode
101 |     public func valueStream(suppressInitialNotify: Bool = false) -> AsyncStream<Value> {
102 |         .init { continuation in
103 |             let subscription = subscribe(suppressInitialNotify: suppressInitialNotify) { continuation.yield($0) }
    |                                                                                                       |- warning: sending '$0' risks causing data races; this is an error in the Swift 6 language mode
    |                                                                                                       `- note: task-isolated '$0' is passed as a 'sending' parameter; Uses in callee may race with later task-isolated uses
104 |             continuation.onTermination = { _ in subscription.cancel() }
105 |         }
[61/69] Compiling SpellbookFoundation ValueObserving.swift
/Users/admin/builder/spi-builder-workspace/Sources/SpellbookFoundation/ValueObserving/EventAsk.swift:26:13: warning: let 'log' is not concurrency-safe because non-'Sendable' type 'any SpellbookLog' may have shared mutable state; this is an error in the Swift 6 language mode
 24 | import Foundation
 25 |
 26 | private let log = SpellbookLogger.internal(category: "EventAsk")
    |             |- warning: let 'log' is not concurrency-safe because non-'Sendable' type 'any SpellbookLog' may have shared mutable state; this is an error in the Swift 6 language mode
    |             |- note: annotate 'log' 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
 27 |
 28 | public typealias EventAskCombined<Input, Output> = EventAskEx<Input, Output, Output>
/Users/admin/builder/spi-builder-workspace/Sources/SpellbookFoundation/Common/SpellbookLog.swift:26:17: note: protocol 'SpellbookLog' does not conform to the 'Sendable' protocol
 24 | import os
 25 |
 26 | public protocol SpellbookLog {
    |                 `- note: protocol 'SpellbookLog' does not conform to the 'Sendable' protocol
 27 |     func _custom(
 28 |         level: SpellbookLogLevel,
/Users/admin/builder/spi-builder-workspace/Sources/SpellbookFoundation/ValueObserving/EventAsk.swift:110:24: warning: capture of 'once' with non-sendable type 'AtomicFlag' in a `@Sendable` closure; this is an error in the Swift 6 language mode
108 |         if let timeout {
109 |             queue.asyncAfter(delay: timeout.interval) {
110 |                 guard !once.testAndSet() else { return }
    |                        `- warning: capture of 'once' with non-sendable type 'AtomicFlag' in a `@Sendable` closure; this is an error in the Swift 6 language mode
111 |                 completion(values.get(fallback: timeout.onTimeout(), combine: self.combine))
112 |             }
/Users/admin/builder/spi-builder-workspace/Sources/SpellbookFoundation/Threading & Concurrency/Atomic.swift:58:20: note: class 'AtomicFlag' does not conform to the 'Sendable' protocol
56 | }
57 |
58 | public final class AtomicFlag {
   |                    `- note: class 'AtomicFlag' does not conform to the 'Sendable' protocol
59 |     private let pointer: UnsafeMutablePointer<atomic_flag>
60 |
/Users/admin/builder/spi-builder-workspace/Sources/SpellbookFoundation/ValueObserving/EventAsk.swift:111:17: warning: capture of 'completion' with non-sendable type '(Output) -> Void' in a `@Sendable` closure; this is an error in the Swift 6 language mode
109 |             queue.asyncAfter(delay: timeout.interval) {
110 |                 guard !once.testAndSet() else { return }
111 |                 completion(values.get(fallback: timeout.onTimeout(), combine: self.combine))
    |                 |- warning: capture of 'completion' with non-sendable type '(Output) -> 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'
112 |             }
113 |         }
/Users/admin/builder/spi-builder-workspace/Sources/SpellbookFoundation/ValueObserving/EventAsk.swift:111:28: warning: capture of 'values' with non-sendable type 'EventAskEx<Input, Transformed, Output>.Values' in a `@Sendable` closure; this is an error in the Swift 6 language mode
109 |             queue.asyncAfter(delay: timeout.interval) {
110 |                 guard !once.testAndSet() else { return }
111 |                 completion(values.get(fallback: timeout.onTimeout(), combine: self.combine))
    |                            `- warning: capture of 'values' with non-sendable type 'EventAskEx<Input, Transformed, Output>.Values' in a `@Sendable` closure; this is an error in the Swift 6 language mode
112 |             }
113 |         }
    :
171 |
172 | extension EventAskEx {
173 |     private class Values {
    |                   `- note: class 'Values' does not conform to the 'Sendable' protocol
174 |         private var values: [Transformed?]
175 |         private var lock = UnfairLock()
/Users/admin/builder/spi-builder-workspace/Sources/SpellbookFoundation/ValueObserving/EventAsk.swift:111:49: warning: capture of 'timeout' with non-sendable type 'EventAskEx<Input, Transformed, Output>.Timeout' in a `@Sendable` closure; this is an error in the Swift 6 language mode
109 |             queue.asyncAfter(delay: timeout.interval) {
110 |                 guard !once.testAndSet() else { return }
111 |                 completion(values.get(fallback: timeout.onTimeout(), combine: self.combine))
    |                                                 `- warning: capture of 'timeout' with non-sendable type 'EventAskEx<Input, Transformed, Output>.Timeout' in a `@Sendable` closure; this is an error in the Swift 6 language mode
112 |             }
113 |         }
    :
150 |
151 | extension EventAskEx {
152 |     public struct Timeout {
    |                   `- note: consider making struct 'Timeout' conform to the 'Sendable' protocol
153 |         public var interval: TimeInterval
154 |         public var onTimeout: () -> Fallback? = { nil }
/Users/admin/builder/spi-builder-workspace/Sources/SpellbookFoundation/ValueObserving/EventAsk.swift:111:79: warning: capture of 'self' with non-sendable type 'EventAskEx<Input, Transformed, Output>' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 29 | public typealias EventAsk<Input, Output> = EventAskEx<Input, Output, [Output]>
 30 |
 31 | public class EventAskEx<Input, Transformed, Output> {
    |              `- note: generic class 'EventAskEx' does not conform to the 'Sendable' protocol
 32 |     private typealias Entry<T> = (transform: AsyncTransform, queue: DispatchQueue?)
 33 |     private let transforms = Synchronized<[UUID: Entry<AsyncTransform>]>(.concurrent)
    :
109 |             queue.asyncAfter(delay: timeout.interval) {
110 |                 guard !once.testAndSet() else { return }
111 |                 completion(values.get(fallback: timeout.onTimeout(), combine: self.combine))
    |                                                                               `- warning: capture of 'self' with non-sendable type 'EventAskEx<Input, Transformed, Output>' in a `@Sendable` closure; this is an error in the Swift 6 language mode
112 |             }
113 |         }
/Users/admin/builder/spi-builder-workspace/Sources/SpellbookFoundation/ValueObserving/EventNotify.swift:76:33: warning: capture of 'action' with non-sendable type '(T, Any?) -> Void' in a `@Sendable` closure
74 |     private func notifyOne(_ value: T, _ context: Any?, action: @escaping (T, Any?) -> Void) {
75 |         if let notifyQueue = notifyQueue {
76 |             notifyQueue.async { action(value, context) }
   |                                 |- warning: capture of 'action' with non-sendable type '(T, Any?) -> Void' in a `@Sendable` closure
   |                                 `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
77 |         } else {
78 |             action(value, context)
/Users/admin/builder/spi-builder-workspace/Sources/SpellbookFoundation/ValueObserving/EventNotify.swift:76:40: warning: capture of 'value' with non-sendable type 'T' in a `@Sendable` closure
23 | import Foundation
24 |
25 | public final class EventNotify<T>: ValueObserving {
   |                                `- note: consider making generic parameter 'T' conform to the 'Sendable' protocol
26 |     private typealias Handler = (T, Any?) -> Void
27 |
   :
74 |     private func notifyOne(_ value: T, _ context: Any?, action: @escaping (T, Any?) -> Void) {
75 |         if let notifyQueue = notifyQueue {
76 |             notifyQueue.async { action(value, context) }
   |                                        `- warning: capture of 'value' with non-sendable type 'T' in a `@Sendable` closure
77 |         } else {
78 |             action(value, context)
/Users/admin/builder/spi-builder-workspace/Sources/SpellbookFoundation/ValueObserving/EventNotify.swift:76:47: warning: capture of 'context' with non-sendable type 'Any?' in a `@Sendable` closure
74 |     private func notifyOne(_ value: T, _ context: Any?, action: @escaping (T, Any?) -> Void) {
75 |         if let notifyQueue = notifyQueue {
76 |             notifyQueue.async { action(value, context) }
   |                                               `- warning: capture of 'context' with non-sendable type 'Any?' in a `@Sendable` closure
77 |         } else {
78 |             action(value, context)
/Users/admin/builder/spi-builder-workspace/Sources/SpellbookFoundation/ValueObserving/ValueObserving.swift:75:31: warning: capture of 'receiveValue' with non-sendable type '(Self.Value, Any?) -> Void' in a `@Sendable` closure
 73 |         AnyValueObserving { suppressInitialNotify, receiveValue in
 74 |             self.subscribe(suppressInitialNotify: suppressInitialNotify) { value, context in
 75 |                 queue.async { receiveValue(value, context) }
    |                               |- warning: capture of 'receiveValue' with non-sendable type '(Self.Value, Any?) -> Void' in a `@Sendable` closure
    |                               `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
 76 |             }
 77 |         }
/Users/admin/builder/spi-builder-workspace/Sources/SpellbookFoundation/ValueObserving/ValueObserving.swift:75:44: warning: capture of 'value' with non-sendable type 'Self.Value' in a `@Sendable` closure
 73 |         AnyValueObserving { suppressInitialNotify, receiveValue in
 74 |             self.subscribe(suppressInitialNotify: suppressInitialNotify) { value, context in
 75 |                 queue.async { receiveValue(value, context) }
    |                                            `- warning: capture of 'value' with non-sendable type 'Self.Value' in a `@Sendable` closure
 76 |             }
 77 |         }
/Users/admin/builder/spi-builder-workspace/Sources/SpellbookFoundation/ValueObserving/ValueObserving.swift:75:51: warning: capture of 'context' with non-sendable type 'Any?' in a `@Sendable` closure
 73 |         AnyValueObserving { suppressInitialNotify, receiveValue in
 74 |             self.subscribe(suppressInitialNotify: suppressInitialNotify) { value, context in
 75 |                 queue.async { receiveValue(value, context) }
    |                                                   `- warning: capture of 'context' with non-sendable type 'Any?' in a `@Sendable` closure
 76 |             }
 77 |         }
/Users/admin/builder/spi-builder-workspace/Sources/SpellbookFoundation/ValueObserving/ValueObserving.swift:97:49: warning: capture of 'subscription' with non-sendable type 'AnyCancellable' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 95 |         .init { continuation in
 96 |             let subscription = subscribe(suppressInitialNotify: suppressInitialNotify) { continuation.yield(($0, $1)) }
 97 |             continuation.onTermination = { _ in subscription.cancel() }
    |                                                 `- warning: capture of 'subscription' with non-sendable type 'AnyCancellable' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 98 |         }
 99 |     }
Combine.AnyCancellable:2:20: note: class 'AnyCancellable' does not conform to the 'Sendable' protocol
 1 | @available(macOS 10.15, iOS 13.0, tvOS 13.0, watchOS 6.0, *)
 2 | final public class AnyCancellable : Cancellable, Hashable {
   |                    `- note: class 'AnyCancellable' does not conform to the 'Sendable' protocol
 3 |     public init(_ cancel: @escaping () -> Void)
 4 |     public init<C>(_ canceller: C) where C : Cancellable
/Users/admin/builder/spi-builder-workspace/Sources/SpellbookFoundation/ValueObserving/ValueObserving.swift:23:1: warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'Combine'
 21 | //  SOFTWARE.
 22 |
 23 | import Combine
    | `- warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'Combine'
 24 | import Foundation
 25 |
/Users/admin/builder/spi-builder-workspace/Sources/SpellbookFoundation/ValueObserving/ValueObserving.swift:104:49: warning: capture of 'subscription' with non-sendable type 'AnyCancellable' in a `@Sendable` closure; this is an error in the Swift 6 language mode
102 |         .init { continuation in
103 |             let subscription = subscribe(suppressInitialNotify: suppressInitialNotify) { continuation.yield($0) }
104 |             continuation.onTermination = { _ in subscription.cancel() }
    |                                                 `- warning: capture of 'subscription' with non-sendable type 'AnyCancellable' in a `@Sendable` closure; this is an error in the Swift 6 language mode
105 |         }
106 |     }
Combine.AnyCancellable:2:20: note: class 'AnyCancellable' does not conform to the 'Sendable' protocol
 1 | @available(macOS 10.15, iOS 13.0, tvOS 13.0, watchOS 6.0, *)
 2 | final public class AnyCancellable : Cancellable, Hashable {
   |                    `- note: class 'AnyCancellable' does not conform to the 'Sendable' protocol
 3 |     public init(_ cancel: @escaping () -> Void)
 4 |     public init<C>(_ canceller: C) where C : Cancellable
/Users/admin/builder/spi-builder-workspace/Sources/SpellbookFoundation/ValueObserving/EventAsk.swift:62:62: warning: sending '$0' risks causing data races; this is an error in the Swift 6 language mode
 60 |     public func ask(_ value: Input, timeout: Timeout? = nil) async -> Output {
 61 |         await withCheckedContinuation { continuation in
 62 |             askAsync(value, timeout: timeout) { continuation.resume(returning: $0) }
    |                                                              |- warning: sending '$0' risks causing data races; this is an error in the Swift 6 language mode
    |                                                              `- note: task-isolated '$0' is passed as a 'sending' parameter; Uses in callee may race with later task-isolated uses
 63 |         }
 64 |     }
/Users/admin/builder/spi-builder-workspace/Sources/SpellbookFoundation/ValueObserving/EventAsk.swift:144:18: warning: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure; this is an error in the Swift 6 language mode
142 |     public func subscribe(transform: @escaping ConcurrentTransform) -> SubscriptionToken {
143 |         subscribe(on: nil) { input, reply in
144 |             Task {
    |                  `- warning: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure; this is an error in the Swift 6 language mode
145 |                 reply(await transform(input))
    |                             `- note: closure captures 'transform' which is accessible to code in the current task
146 |             }
147 |         }
/Users/admin/builder/spi-builder-workspace/Sources/SpellbookFoundation/ValueObserving/ValueObserving.swift:96:103: warning: task-isolated value of type '(Self.Value, Any?)' passed as a strongly transferred parameter; later accesses could race; this is an error in the Swift 6 language mode
 94 |     public func stream(suppressInitialNotify: Bool = false) -> AsyncStream<(Value, Any?)> {
 95 |         .init { continuation in
 96 |             let subscription = subscribe(suppressInitialNotify: suppressInitialNotify) { continuation.yield(($0, $1)) }
    |                                                                                                       `- warning: task-isolated value of type '(Self.Value, Any?)' passed as a strongly transferred parameter; later accesses could race; this is an error in the Swift 6 language mode
 97 |             continuation.onTermination = { _ in subscription.cancel() }
 98 |         }
/Users/admin/builder/spi-builder-workspace/Sources/SpellbookFoundation/ValueObserving/ValueObserving.swift:103:103: warning: sending '$0' risks causing data races; this is an error in the Swift 6 language mode
101 |     public func valueStream(suppressInitialNotify: Bool = false) -> AsyncStream<Value> {
102 |         .init { continuation in
103 |             let subscription = subscribe(suppressInitialNotify: suppressInitialNotify) { continuation.yield($0) }
    |                                                                                                       |- warning: sending '$0' risks causing data races; this is an error in the Swift 6 language mode
    |                                                                                                       `- note: task-isolated '$0' is passed as a 'sending' parameter; Uses in callee may race with later task-isolated uses
104 |             continuation.onTermination = { _ in subscription.cancel() }
105 |         }
[62/69] Compiling SpellbookFoundation ValueStore.swift
/Users/admin/builder/spi-builder-workspace/Sources/SpellbookFoundation/ValueObserving/EventAsk.swift:26:13: warning: let 'log' is not concurrency-safe because non-'Sendable' type 'any SpellbookLog' may have shared mutable state; this is an error in the Swift 6 language mode
 24 | import Foundation
 25 |
 26 | private let log = SpellbookLogger.internal(category: "EventAsk")
    |             |- warning: let 'log' is not concurrency-safe because non-'Sendable' type 'any SpellbookLog' may have shared mutable state; this is an error in the Swift 6 language mode
    |             |- note: annotate 'log' 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
 27 |
 28 | public typealias EventAskCombined<Input, Output> = EventAskEx<Input, Output, Output>
/Users/admin/builder/spi-builder-workspace/Sources/SpellbookFoundation/Common/SpellbookLog.swift:26:17: note: protocol 'SpellbookLog' does not conform to the 'Sendable' protocol
 24 | import os
 25 |
 26 | public protocol SpellbookLog {
    |                 `- note: protocol 'SpellbookLog' does not conform to the 'Sendable' protocol
 27 |     func _custom(
 28 |         level: SpellbookLogLevel,
/Users/admin/builder/spi-builder-workspace/Sources/SpellbookFoundation/ValueObserving/EventAsk.swift:110:24: warning: capture of 'once' with non-sendable type 'AtomicFlag' in a `@Sendable` closure; this is an error in the Swift 6 language mode
108 |         if let timeout {
109 |             queue.asyncAfter(delay: timeout.interval) {
110 |                 guard !once.testAndSet() else { return }
    |                        `- warning: capture of 'once' with non-sendable type 'AtomicFlag' in a `@Sendable` closure; this is an error in the Swift 6 language mode
111 |                 completion(values.get(fallback: timeout.onTimeout(), combine: self.combine))
112 |             }
/Users/admin/builder/spi-builder-workspace/Sources/SpellbookFoundation/Threading & Concurrency/Atomic.swift:58:20: note: class 'AtomicFlag' does not conform to the 'Sendable' protocol
56 | }
57 |
58 | public final class AtomicFlag {
   |                    `- note: class 'AtomicFlag' does not conform to the 'Sendable' protocol
59 |     private let pointer: UnsafeMutablePointer<atomic_flag>
60 |
/Users/admin/builder/spi-builder-workspace/Sources/SpellbookFoundation/ValueObserving/EventAsk.swift:111:17: warning: capture of 'completion' with non-sendable type '(Output) -> Void' in a `@Sendable` closure; this is an error in the Swift 6 language mode
109 |             queue.asyncAfter(delay: timeout.interval) {
110 |                 guard !once.testAndSet() else { return }
111 |                 completion(values.get(fallback: timeout.onTimeout(), combine: self.combine))
    |                 |- warning: capture of 'completion' with non-sendable type '(Output) -> 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'
112 |             }
113 |         }
/Users/admin/builder/spi-builder-workspace/Sources/SpellbookFoundation/ValueObserving/EventAsk.swift:111:28: warning: capture of 'values' with non-sendable type 'EventAskEx<Input, Transformed, Output>.Values' in a `@Sendable` closure; this is an error in the Swift 6 language mode
109 |             queue.asyncAfter(delay: timeout.interval) {
110 |                 guard !once.testAndSet() else { return }
111 |                 completion(values.get(fallback: timeout.onTimeout(), combine: self.combine))
    |                            `- warning: capture of 'values' with non-sendable type 'EventAskEx<Input, Transformed, Output>.Values' in a `@Sendable` closure; this is an error in the Swift 6 language mode
112 |             }
113 |         }
    :
171 |
172 | extension EventAskEx {
173 |     private class Values {
    |                   `- note: class 'Values' does not conform to the 'Sendable' protocol
174 |         private var values: [Transformed?]
175 |         private var lock = UnfairLock()
/Users/admin/builder/spi-builder-workspace/Sources/SpellbookFoundation/ValueObserving/EventAsk.swift:111:49: warning: capture of 'timeout' with non-sendable type 'EventAskEx<Input, Transformed, Output>.Timeout' in a `@Sendable` closure; this is an error in the Swift 6 language mode
109 |             queue.asyncAfter(delay: timeout.interval) {
110 |                 guard !once.testAndSet() else { return }
111 |                 completion(values.get(fallback: timeout.onTimeout(), combine: self.combine))
    |                                                 `- warning: capture of 'timeout' with non-sendable type 'EventAskEx<Input, Transformed, Output>.Timeout' in a `@Sendable` closure; this is an error in the Swift 6 language mode
112 |             }
113 |         }
    :
150 |
151 | extension EventAskEx {
152 |     public struct Timeout {
    |                   `- note: consider making struct 'Timeout' conform to the 'Sendable' protocol
153 |         public var interval: TimeInterval
154 |         public var onTimeout: () -> Fallback? = { nil }
/Users/admin/builder/spi-builder-workspace/Sources/SpellbookFoundation/ValueObserving/EventAsk.swift:111:79: warning: capture of 'self' with non-sendable type 'EventAskEx<Input, Transformed, Output>' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 29 | public typealias EventAsk<Input, Output> = EventAskEx<Input, Output, [Output]>
 30 |
 31 | public class EventAskEx<Input, Transformed, Output> {
    |              `- note: generic class 'EventAskEx' does not conform to the 'Sendable' protocol
 32 |     private typealias Entry<T> = (transform: AsyncTransform, queue: DispatchQueue?)
 33 |     private let transforms = Synchronized<[UUID: Entry<AsyncTransform>]>(.concurrent)
    :
109 |             queue.asyncAfter(delay: timeout.interval) {
110 |                 guard !once.testAndSet() else { return }
111 |                 completion(values.get(fallback: timeout.onTimeout(), combine: self.combine))
    |                                                                               `- warning: capture of 'self' with non-sendable type 'EventAskEx<Input, Transformed, Output>' in a `@Sendable` closure; this is an error in the Swift 6 language mode
112 |             }
113 |         }
/Users/admin/builder/spi-builder-workspace/Sources/SpellbookFoundation/ValueObserving/EventNotify.swift:76:33: warning: capture of 'action' with non-sendable type '(T, Any?) -> Void' in a `@Sendable` closure
74 |     private func notifyOne(_ value: T, _ context: Any?, action: @escaping (T, Any?) -> Void) {
75 |         if let notifyQueue = notifyQueue {
76 |             notifyQueue.async { action(value, context) }
   |                                 |- warning: capture of 'action' with non-sendable type '(T, Any?) -> Void' in a `@Sendable` closure
   |                                 `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
77 |         } else {
78 |             action(value, context)
/Users/admin/builder/spi-builder-workspace/Sources/SpellbookFoundation/ValueObserving/EventNotify.swift:76:40: warning: capture of 'value' with non-sendable type 'T' in a `@Sendable` closure
23 | import Foundation
24 |
25 | public final class EventNotify<T>: ValueObserving {
   |                                `- note: consider making generic parameter 'T' conform to the 'Sendable' protocol
26 |     private typealias Handler = (T, Any?) -> Void
27 |
   :
74 |     private func notifyOne(_ value: T, _ context: Any?, action: @escaping (T, Any?) -> Void) {
75 |         if let notifyQueue = notifyQueue {
76 |             notifyQueue.async { action(value, context) }
   |                                        `- warning: capture of 'value' with non-sendable type 'T' in a `@Sendable` closure
77 |         } else {
78 |             action(value, context)
/Users/admin/builder/spi-builder-workspace/Sources/SpellbookFoundation/ValueObserving/EventNotify.swift:76:47: warning: capture of 'context' with non-sendable type 'Any?' in a `@Sendable` closure
74 |     private func notifyOne(_ value: T, _ context: Any?, action: @escaping (T, Any?) -> Void) {
75 |         if let notifyQueue = notifyQueue {
76 |             notifyQueue.async { action(value, context) }
   |                                               `- warning: capture of 'context' with non-sendable type 'Any?' in a `@Sendable` closure
77 |         } else {
78 |             action(value, context)
/Users/admin/builder/spi-builder-workspace/Sources/SpellbookFoundation/ValueObserving/ValueObserving.swift:75:31: warning: capture of 'receiveValue' with non-sendable type '(Self.Value, Any?) -> Void' in a `@Sendable` closure
 73 |         AnyValueObserving { suppressInitialNotify, receiveValue in
 74 |             self.subscribe(suppressInitialNotify: suppressInitialNotify) { value, context in
 75 |                 queue.async { receiveValue(value, context) }
    |                               |- warning: capture of 'receiveValue' with non-sendable type '(Self.Value, Any?) -> Void' in a `@Sendable` closure
    |                               `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
 76 |             }
 77 |         }
/Users/admin/builder/spi-builder-workspace/Sources/SpellbookFoundation/ValueObserving/ValueObserving.swift:75:44: warning: capture of 'value' with non-sendable type 'Self.Value' in a `@Sendable` closure
 73 |         AnyValueObserving { suppressInitialNotify, receiveValue in
 74 |             self.subscribe(suppressInitialNotify: suppressInitialNotify) { value, context in
 75 |                 queue.async { receiveValue(value, context) }
    |                                            `- warning: capture of 'value' with non-sendable type 'Self.Value' in a `@Sendable` closure
 76 |             }
 77 |         }
/Users/admin/builder/spi-builder-workspace/Sources/SpellbookFoundation/ValueObserving/ValueObserving.swift:75:51: warning: capture of 'context' with non-sendable type 'Any?' in a `@Sendable` closure
 73 |         AnyValueObserving { suppressInitialNotify, receiveValue in
 74 |             self.subscribe(suppressInitialNotify: suppressInitialNotify) { value, context in
 75 |                 queue.async { receiveValue(value, context) }
    |                                                   `- warning: capture of 'context' with non-sendable type 'Any?' in a `@Sendable` closure
 76 |             }
 77 |         }
/Users/admin/builder/spi-builder-workspace/Sources/SpellbookFoundation/ValueObserving/ValueObserving.swift:97:49: warning: capture of 'subscription' with non-sendable type 'AnyCancellable' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 95 |         .init { continuation in
 96 |             let subscription = subscribe(suppressInitialNotify: suppressInitialNotify) { continuation.yield(($0, $1)) }
 97 |             continuation.onTermination = { _ in subscription.cancel() }
    |                                                 `- warning: capture of 'subscription' with non-sendable type 'AnyCancellable' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 98 |         }
 99 |     }
Combine.AnyCancellable:2:20: note: class 'AnyCancellable' does not conform to the 'Sendable' protocol
 1 | @available(macOS 10.15, iOS 13.0, tvOS 13.0, watchOS 6.0, *)
 2 | final public class AnyCancellable : Cancellable, Hashable {
   |                    `- note: class 'AnyCancellable' does not conform to the 'Sendable' protocol
 3 |     public init(_ cancel: @escaping () -> Void)
 4 |     public init<C>(_ canceller: C) where C : Cancellable
/Users/admin/builder/spi-builder-workspace/Sources/SpellbookFoundation/ValueObserving/ValueObserving.swift:23:1: warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'Combine'
 21 | //  SOFTWARE.
 22 |
 23 | import Combine
    | `- warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'Combine'
 24 | import Foundation
 25 |
/Users/admin/builder/spi-builder-workspace/Sources/SpellbookFoundation/ValueObserving/ValueObserving.swift:104:49: warning: capture of 'subscription' with non-sendable type 'AnyCancellable' in a `@Sendable` closure; this is an error in the Swift 6 language mode
102 |         .init { continuation in
103 |             let subscription = subscribe(suppressInitialNotify: suppressInitialNotify) { continuation.yield($0) }
104 |             continuation.onTermination = { _ in subscription.cancel() }
    |                                                 `- warning: capture of 'subscription' with non-sendable type 'AnyCancellable' in a `@Sendable` closure; this is an error in the Swift 6 language mode
105 |         }
106 |     }
Combine.AnyCancellable:2:20: note: class 'AnyCancellable' does not conform to the 'Sendable' protocol
 1 | @available(macOS 10.15, iOS 13.0, tvOS 13.0, watchOS 6.0, *)
 2 | final public class AnyCancellable : Cancellable, Hashable {
   |                    `- note: class 'AnyCancellable' does not conform to the 'Sendable' protocol
 3 |     public init(_ cancel: @escaping () -> Void)
 4 |     public init<C>(_ canceller: C) where C : Cancellable
/Users/admin/builder/spi-builder-workspace/Sources/SpellbookFoundation/ValueObserving/EventAsk.swift:62:62: warning: sending '$0' risks causing data races; this is an error in the Swift 6 language mode
 60 |     public func ask(_ value: Input, timeout: Timeout? = nil) async -> Output {
 61 |         await withCheckedContinuation { continuation in
 62 |             askAsync(value, timeout: timeout) { continuation.resume(returning: $0) }
    |                                                              |- warning: sending '$0' risks causing data races; this is an error in the Swift 6 language mode
    |                                                              `- note: task-isolated '$0' is passed as a 'sending' parameter; Uses in callee may race with later task-isolated uses
 63 |         }
 64 |     }
/Users/admin/builder/spi-builder-workspace/Sources/SpellbookFoundation/ValueObserving/EventAsk.swift:144:18: warning: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure; this is an error in the Swift 6 language mode
142 |     public func subscribe(transform: @escaping ConcurrentTransform) -> SubscriptionToken {
143 |         subscribe(on: nil) { input, reply in
144 |             Task {
    |                  `- warning: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure; this is an error in the Swift 6 language mode
145 |                 reply(await transform(input))
    |                             `- note: closure captures 'transform' which is accessible to code in the current task
146 |             }
147 |         }
/Users/admin/builder/spi-builder-workspace/Sources/SpellbookFoundation/ValueObserving/ValueObserving.swift:96:103: warning: task-isolated value of type '(Self.Value, Any?)' passed as a strongly transferred parameter; later accesses could race; this is an error in the Swift 6 language mode
 94 |     public func stream(suppressInitialNotify: Bool = false) -> AsyncStream<(Value, Any?)> {
 95 |         .init { continuation in
 96 |             let subscription = subscribe(suppressInitialNotify: suppressInitialNotify) { continuation.yield(($0, $1)) }
    |                                                                                                       `- warning: task-isolated value of type '(Self.Value, Any?)' passed as a strongly transferred parameter; later accesses could race; this is an error in the Swift 6 language mode
 97 |             continuation.onTermination = { _ in subscription.cancel() }
 98 |         }
/Users/admin/builder/spi-builder-workspace/Sources/SpellbookFoundation/ValueObserving/ValueObserving.swift:103:103: warning: sending '$0' risks causing data races; this is an error in the Swift 6 language mode
101 |     public func valueStream(suppressInitialNotify: Bool = false) -> AsyncStream<Value> {
102 |         .init { continuation in
103 |             let subscription = subscribe(suppressInitialNotify: suppressInitialNotify) { continuation.yield($0) }
    |                                                                                                       |- warning: sending '$0' risks causing data races; this is an error in the Swift 6 language mode
    |                                                                                                       `- note: task-isolated '$0' is passed as a 'sending' parameter; Uses in callee may race with later task-isolated uses
104 |             continuation.onTermination = { _ in subscription.cancel() }
105 |         }
[63/69] Compiling SpellbookFoundation ValueView.swift
/Users/admin/builder/spi-builder-workspace/Sources/SpellbookFoundation/ValueObserving/EventAsk.swift:26:13: warning: let 'log' is not concurrency-safe because non-'Sendable' type 'any SpellbookLog' may have shared mutable state; this is an error in the Swift 6 language mode
 24 | import Foundation
 25 |
 26 | private let log = SpellbookLogger.internal(category: "EventAsk")
    |             |- warning: let 'log' is not concurrency-safe because non-'Sendable' type 'any SpellbookLog' may have shared mutable state; this is an error in the Swift 6 language mode
    |             |- note: annotate 'log' 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
 27 |
 28 | public typealias EventAskCombined<Input, Output> = EventAskEx<Input, Output, Output>
/Users/admin/builder/spi-builder-workspace/Sources/SpellbookFoundation/Common/SpellbookLog.swift:26:17: note: protocol 'SpellbookLog' does not conform to the 'Sendable' protocol
 24 | import os
 25 |
 26 | public protocol SpellbookLog {
    |                 `- note: protocol 'SpellbookLog' does not conform to the 'Sendable' protocol
 27 |     func _custom(
 28 |         level: SpellbookLogLevel,
/Users/admin/builder/spi-builder-workspace/Sources/SpellbookFoundation/ValueObserving/EventAsk.swift:110:24: warning: capture of 'once' with non-sendable type 'AtomicFlag' in a `@Sendable` closure; this is an error in the Swift 6 language mode
108 |         if let timeout {
109 |             queue.asyncAfter(delay: timeout.interval) {
110 |                 guard !once.testAndSet() else { return }
    |                        `- warning: capture of 'once' with non-sendable type 'AtomicFlag' in a `@Sendable` closure; this is an error in the Swift 6 language mode
111 |                 completion(values.get(fallback: timeout.onTimeout(), combine: self.combine))
112 |             }
/Users/admin/builder/spi-builder-workspace/Sources/SpellbookFoundation/Threading & Concurrency/Atomic.swift:58:20: note: class 'AtomicFlag' does not conform to the 'Sendable' protocol
56 | }
57 |
58 | public final class AtomicFlag {
   |                    `- note: class 'AtomicFlag' does not conform to the 'Sendable' protocol
59 |     private let pointer: UnsafeMutablePointer<atomic_flag>
60 |
/Users/admin/builder/spi-builder-workspace/Sources/SpellbookFoundation/ValueObserving/EventAsk.swift:111:17: warning: capture of 'completion' with non-sendable type '(Output) -> Void' in a `@Sendable` closure; this is an error in the Swift 6 language mode
109 |             queue.asyncAfter(delay: timeout.interval) {
110 |                 guard !once.testAndSet() else { return }
111 |                 completion(values.get(fallback: timeout.onTimeout(), combine: self.combine))
    |                 |- warning: capture of 'completion' with non-sendable type '(Output) -> 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'
112 |             }
113 |         }
/Users/admin/builder/spi-builder-workspace/Sources/SpellbookFoundation/ValueObserving/EventAsk.swift:111:28: warning: capture of 'values' with non-sendable type 'EventAskEx<Input, Transformed, Output>.Values' in a `@Sendable` closure; this is an error in the Swift 6 language mode
109 |             queue.asyncAfter(delay: timeout.interval) {
110 |                 guard !once.testAndSet() else { return }
111 |                 completion(values.get(fallback: timeout.onTimeout(), combine: self.combine))
    |                            `- warning: capture of 'values' with non-sendable type 'EventAskEx<Input, Transformed, Output>.Values' in a `@Sendable` closure; this is an error in the Swift 6 language mode
112 |             }
113 |         }
    :
171 |
172 | extension EventAskEx {
173 |     private class Values {
    |                   `- note: class 'Values' does not conform to the 'Sendable' protocol
174 |         private var values: [Transformed?]
175 |         private var lock = UnfairLock()
/Users/admin/builder/spi-builder-workspace/Sources/SpellbookFoundation/ValueObserving/EventAsk.swift:111:49: warning: capture of 'timeout' with non-sendable type 'EventAskEx<Input, Transformed, Output>.Timeout' in a `@Sendable` closure; this is an error in the Swift 6 language mode
109 |             queue.asyncAfter(delay: timeout.interval) {
110 |                 guard !once.testAndSet() else { return }
111 |                 completion(values.get(fallback: timeout.onTimeout(), combine: self.combine))
    |                                                 `- warning: capture of 'timeout' with non-sendable type 'EventAskEx<Input, Transformed, Output>.Timeout' in a `@Sendable` closure; this is an error in the Swift 6 language mode
112 |             }
113 |         }
    :
150 |
151 | extension EventAskEx {
152 |     public struct Timeout {
    |                   `- note: consider making struct 'Timeout' conform to the 'Sendable' protocol
153 |         public var interval: TimeInterval
154 |         public var onTimeout: () -> Fallback? = { nil }
/Users/admin/builder/spi-builder-workspace/Sources/SpellbookFoundation/ValueObserving/EventAsk.swift:111:79: warning: capture of 'self' with non-sendable type 'EventAskEx<Input, Transformed, Output>' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 29 | public typealias EventAsk<Input, Output> = EventAskEx<Input, Output, [Output]>
 30 |
 31 | public class EventAskEx<Input, Transformed, Output> {
    |              `- note: generic class 'EventAskEx' does not conform to the 'Sendable' protocol
 32 |     private typealias Entry<T> = (transform: AsyncTransform, queue: DispatchQueue?)
 33 |     private let transforms = Synchronized<[UUID: Entry<AsyncTransform>]>(.concurrent)
    :
109 |             queue.asyncAfter(delay: timeout.interval) {
110 |                 guard !once.testAndSet() else { return }
111 |                 completion(values.get(fallback: timeout.onTimeout(), combine: self.combine))
    |                                                                               `- warning: capture of 'self' with non-sendable type 'EventAskEx<Input, Transformed, Output>' in a `@Sendable` closure; this is an error in the Swift 6 language mode
112 |             }
113 |         }
/Users/admin/builder/spi-builder-workspace/Sources/SpellbookFoundation/ValueObserving/EventNotify.swift:76:33: warning: capture of 'action' with non-sendable type '(T, Any?) -> Void' in a `@Sendable` closure
74 |     private func notifyOne(_ value: T, _ context: Any?, action: @escaping (T, Any?) -> Void) {
75 |         if let notifyQueue = notifyQueue {
76 |             notifyQueue.async { action(value, context) }
   |                                 |- warning: capture of 'action' with non-sendable type '(T, Any?) -> Void' in a `@Sendable` closure
   |                                 `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
77 |         } else {
78 |             action(value, context)
/Users/admin/builder/spi-builder-workspace/Sources/SpellbookFoundation/ValueObserving/EventNotify.swift:76:40: warning: capture of 'value' with non-sendable type 'T' in a `@Sendable` closure
23 | import Foundation
24 |
25 | public final class EventNotify<T>: ValueObserving {
   |                                `- note: consider making generic parameter 'T' conform to the 'Sendable' protocol
26 |     private typealias Handler = (T, Any?) -> Void
27 |
   :
74 |     private func notifyOne(_ value: T, _ context: Any?, action: @escaping (T, Any?) -> Void) {
75 |         if let notifyQueue = notifyQueue {
76 |             notifyQueue.async { action(value, context) }
   |                                        `- warning: capture of 'value' with non-sendable type 'T' in a `@Sendable` closure
77 |         } else {
78 |             action(value, context)
/Users/admin/builder/spi-builder-workspace/Sources/SpellbookFoundation/ValueObserving/EventNotify.swift:76:47: warning: capture of 'context' with non-sendable type 'Any?' in a `@Sendable` closure
74 |     private func notifyOne(_ value: T, _ context: Any?, action: @escaping (T, Any?) -> Void) {
75 |         if let notifyQueue = notifyQueue {
76 |             notifyQueue.async { action(value, context) }
   |                                               `- warning: capture of 'context' with non-sendable type 'Any?' in a `@Sendable` closure
77 |         } else {
78 |             action(value, context)
/Users/admin/builder/spi-builder-workspace/Sources/SpellbookFoundation/ValueObserving/ValueObserving.swift:75:31: warning: capture of 'receiveValue' with non-sendable type '(Self.Value, Any?) -> Void' in a `@Sendable` closure
 73 |         AnyValueObserving { suppressInitialNotify, receiveValue in
 74 |             self.subscribe(suppressInitialNotify: suppressInitialNotify) { value, context in
 75 |                 queue.async { receiveValue(value, context) }
    |                               |- warning: capture of 'receiveValue' with non-sendable type '(Self.Value, Any?) -> Void' in a `@Sendable` closure
    |                               `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
 76 |             }
 77 |         }
/Users/admin/builder/spi-builder-workspace/Sources/SpellbookFoundation/ValueObserving/ValueObserving.swift:75:44: warning: capture of 'value' with non-sendable type 'Self.Value' in a `@Sendable` closure
 73 |         AnyValueObserving { suppressInitialNotify, receiveValue in
 74 |             self.subscribe(suppressInitialNotify: suppressInitialNotify) { value, context in
 75 |                 queue.async { receiveValue(value, context) }
    |                                            `- warning: capture of 'value' with non-sendable type 'Self.Value' in a `@Sendable` closure
 76 |             }
 77 |         }
/Users/admin/builder/spi-builder-workspace/Sources/SpellbookFoundation/ValueObserving/ValueObserving.swift:75:51: warning: capture of 'context' with non-sendable type 'Any?' in a `@Sendable` closure
 73 |         AnyValueObserving { suppressInitialNotify, receiveValue in
 74 |             self.subscribe(suppressInitialNotify: suppressInitialNotify) { value, context in
 75 |                 queue.async { receiveValue(value, context) }
    |                                                   `- warning: capture of 'context' with non-sendable type 'Any?' in a `@Sendable` closure
 76 |             }
 77 |         }
/Users/admin/builder/spi-builder-workspace/Sources/SpellbookFoundation/ValueObserving/ValueObserving.swift:97:49: warning: capture of 'subscription' with non-sendable type 'AnyCancellable' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 95 |         .init { continuation in
 96 |             let subscription = subscribe(suppressInitialNotify: suppressInitialNotify) { continuation.yield(($0, $1)) }
 97 |             continuation.onTermination = { _ in subscription.cancel() }
    |                                                 `- warning: capture of 'subscription' with non-sendable type 'AnyCancellable' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 98 |         }
 99 |     }
Combine.AnyCancellable:2:20: note: class 'AnyCancellable' does not conform to the 'Sendable' protocol
 1 | @available(macOS 10.15, iOS 13.0, tvOS 13.0, watchOS 6.0, *)
 2 | final public class AnyCancellable : Cancellable, Hashable {
   |                    `- note: class 'AnyCancellable' does not conform to the 'Sendable' protocol
 3 |     public init(_ cancel: @escaping () -> Void)
 4 |     public init<C>(_ canceller: C) where C : Cancellable
/Users/admin/builder/spi-builder-workspace/Sources/SpellbookFoundation/ValueObserving/ValueObserving.swift:23:1: warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'Combine'
 21 | //  SOFTWARE.
 22 |
 23 | import Combine
    | `- warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'Combine'
 24 | import Foundation
 25 |
/Users/admin/builder/spi-builder-workspace/Sources/SpellbookFoundation/ValueObserving/ValueObserving.swift:104:49: warning: capture of 'subscription' with non-sendable type 'AnyCancellable' in a `@Sendable` closure; this is an error in the Swift 6 language mode
102 |         .init { continuation in
103 |             let subscription = subscribe(suppressInitialNotify: suppressInitialNotify) { continuation.yield($0) }
104 |             continuation.onTermination = { _ in subscription.cancel() }
    |                                                 `- warning: capture of 'subscription' with non-sendable type 'AnyCancellable' in a `@Sendable` closure; this is an error in the Swift 6 language mode
105 |         }
106 |     }
Combine.AnyCancellable:2:20: note: class 'AnyCancellable' does not conform to the 'Sendable' protocol
 1 | @available(macOS 10.15, iOS 13.0, tvOS 13.0, watchOS 6.0, *)
 2 | final public class AnyCancellable : Cancellable, Hashable {
   |                    `- note: class 'AnyCancellable' does not conform to the 'Sendable' protocol
 3 |     public init(_ cancel: @escaping () -> Void)
 4 |     public init<C>(_ canceller: C) where C : Cancellable
/Users/admin/builder/spi-builder-workspace/Sources/SpellbookFoundation/ValueObserving/EventAsk.swift:62:62: warning: sending '$0' risks causing data races; this is an error in the Swift 6 language mode
 60 |     public func ask(_ value: Input, timeout: Timeout? = nil) async -> Output {
 61 |         await withCheckedContinuation { continuation in
 62 |             askAsync(value, timeout: timeout) { continuation.resume(returning: $0) }
    |                                                              |- warning: sending '$0' risks causing data races; this is an error in the Swift 6 language mode
    |                                                              `- note: task-isolated '$0' is passed as a 'sending' parameter; Uses in callee may race with later task-isolated uses
 63 |         }
 64 |     }
/Users/admin/builder/spi-builder-workspace/Sources/SpellbookFoundation/ValueObserving/EventAsk.swift:144:18: warning: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure; this is an error in the Swift 6 language mode
142 |     public func subscribe(transform: @escaping ConcurrentTransform) -> SubscriptionToken {
143 |         subscribe(on: nil) { input, reply in
144 |             Task {
    |                  `- warning: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure; this is an error in the Swift 6 language mode
145 |                 reply(await transform(input))
    |                             `- note: closure captures 'transform' which is accessible to code in the current task
146 |             }
147 |         }
/Users/admin/builder/spi-builder-workspace/Sources/SpellbookFoundation/ValueObserving/ValueObserving.swift:96:103: warning: task-isolated value of type '(Self.Value, Any?)' passed as a strongly transferred parameter; later accesses could race; this is an error in the Swift 6 language mode
 94 |     public func stream(suppressInitialNotify: Bool = false) -> AsyncStream<(Value, Any?)> {
 95 |         .init { continuation in
 96 |             let subscription = subscribe(suppressInitialNotify: suppressInitialNotify) { continuation.yield(($0, $1)) }
    |                                                                                                       `- warning: task-isolated value of type '(Self.Value, Any?)' passed as a strongly transferred parameter; later accesses could race; this is an error in the Swift 6 language mode
 97 |             continuation.onTermination = { _ in subscription.cancel() }
 98 |         }
/Users/admin/builder/spi-builder-workspace/Sources/SpellbookFoundation/ValueObserving/ValueObserving.swift:103:103: warning: sending '$0' risks causing data races; this is an error in the Swift 6 language mode
101 |     public func valueStream(suppressInitialNotify: Bool = false) -> AsyncStream<Value> {
102 |         .init { continuation in
103 |             let subscription = subscribe(suppressInitialNotify: suppressInitialNotify) { continuation.yield($0) }
    |                                                                                                       |- warning: sending '$0' risks causing data races; this is an error in the Swift 6 language mode
    |                                                                                                       `- note: task-isolated '$0' is passed as a 'sending' parameter; Uses in callee may race with later task-isolated uses
104 |             continuation.onTermination = { _ in subscription.cancel() }
105 |         }
[64/69] Compiling SpellbookFoundation Internal.swift
/Users/admin/builder/spi-builder-workspace/Sources/SpellbookFoundation/Internal.swift:29:47: warning: passing non-sendable parameter 'work' to function expecting a @Sendable closure
25 | extension Optional where Wrapped == DispatchQueue {
26 |     @inline(__always)
27 |     package func async(flags: DispatchWorkItemFlags = [], execute work: @escaping () -> Void) {
   |                                                                   `- note: parameter 'work' is implicitly non-sendable
28 |         if let self {
29 |             self.async(flags: flags, execute: work)
   |                                               `- warning: passing non-sendable parameter 'work' to function expecting a @Sendable closure
30 |         } else {
31 |             work()
/Users/admin/builder/spi-builder-workspace/Sources/SpellbookFoundation/Low Level/AuditToken.swift:31:33: warning: reference to var 'mach_task_self_' is not concurrency-safe because it involves shared mutable state; this is an error in the Swift 6 language mode
29 |     /// Returns current task audit token.
30 |     public static func current() throws -> audit_token_t {
31 |         try audit_token_t(task: mach_task_self_)
   |                                 `- warning: reference to var 'mach_task_self_' is not concurrency-safe because it involves shared mutable state; this is an error in the Swift 6 language mode
32 |     }
33 |
Darwin.mach_task_self_:1:12: note: var declared here
1 | public var mach_task_self_: mach_port_t
  |            `- note: var declared here
/Users/admin/builder/spi-builder-workspace/Sources/SpellbookFoundation/Low Level/AuditToken.swift:36:65: warning: reference to var 'mach_task_self_' is not concurrency-safe because it involves shared mutable state; this is an error in the Swift 6 language mode
34 |     /// Returns task for pid.
35 |     public init(pid: pid_t) throws {
36 |         let taskName = try NSError.mach.try { task_name_for_pid(mach_task_self_, pid, $0) }
   |                                                                 `- warning: reference to var 'mach_task_self_' is not concurrency-safe because it involves shared mutable state; this is an error in the Swift 6 language mode
37 |         try self.init(task: taskName)
38 |     }
Darwin.mach_task_self_:1:12: note: var declared here
1 | public var mach_task_self_: mach_port_t
  |            `- note: var declared here
[65/69] Compiling SpellbookFoundation AuditToken.swift
/Users/admin/builder/spi-builder-workspace/Sources/SpellbookFoundation/Internal.swift:29:47: warning: passing non-sendable parameter 'work' to function expecting a @Sendable closure
25 | extension Optional where Wrapped == DispatchQueue {
26 |     @inline(__always)
27 |     package func async(flags: DispatchWorkItemFlags = [], execute work: @escaping () -> Void) {
   |                                                                   `- note: parameter 'work' is implicitly non-sendable
28 |         if let self {
29 |             self.async(flags: flags, execute: work)
   |                                               `- warning: passing non-sendable parameter 'work' to function expecting a @Sendable closure
30 |         } else {
31 |             work()
/Users/admin/builder/spi-builder-workspace/Sources/SpellbookFoundation/Low Level/AuditToken.swift:31:33: warning: reference to var 'mach_task_self_' is not concurrency-safe because it involves shared mutable state; this is an error in the Swift 6 language mode
29 |     /// Returns current task audit token.
30 |     public static func current() throws -> audit_token_t {
31 |         try audit_token_t(task: mach_task_self_)
   |                                 `- warning: reference to var 'mach_task_self_' is not concurrency-safe because it involves shared mutable state; this is an error in the Swift 6 language mode
32 |     }
33 |
Darwin.mach_task_self_:1:12: note: var declared here
1 | public var mach_task_self_: mach_port_t
  |            `- note: var declared here
/Users/admin/builder/spi-builder-workspace/Sources/SpellbookFoundation/Low Level/AuditToken.swift:36:65: warning: reference to var 'mach_task_self_' is not concurrency-safe because it involves shared mutable state; this is an error in the Swift 6 language mode
34 |     /// Returns task for pid.
35 |     public init(pid: pid_t) throws {
36 |         let taskName = try NSError.mach.try { task_name_for_pid(mach_task_self_, pid, $0) }
   |                                                                 `- warning: reference to var 'mach_task_self_' is not concurrency-safe because it involves shared mutable state; this is an error in the Swift 6 language mode
37 |         try self.init(task: taskName)
38 |     }
Darwin.mach_task_self_:1:12: note: var declared here
1 | public var mach_task_self_: mach_port_t
  |            `- note: var declared here
[66/69] Compiling SpellbookFoundation BridgedCEnum.swift
/Users/admin/builder/spi-builder-workspace/Sources/SpellbookFoundation/Internal.swift:29:47: warning: passing non-sendable parameter 'work' to function expecting a @Sendable closure
25 | extension Optional where Wrapped == DispatchQueue {
26 |     @inline(__always)
27 |     package func async(flags: DispatchWorkItemFlags = [], execute work: @escaping () -> Void) {
   |                                                                   `- note: parameter 'work' is implicitly non-sendable
28 |         if let self {
29 |             self.async(flags: flags, execute: work)
   |                                               `- warning: passing non-sendable parameter 'work' to function expecting a @Sendable closure
30 |         } else {
31 |             work()
/Users/admin/builder/spi-builder-workspace/Sources/SpellbookFoundation/Low Level/AuditToken.swift:31:33: warning: reference to var 'mach_task_self_' is not concurrency-safe because it involves shared mutable state; this is an error in the Swift 6 language mode
29 |     /// Returns current task audit token.
30 |     public static func current() throws -> audit_token_t {
31 |         try audit_token_t(task: mach_task_self_)
   |                                 `- warning: reference to var 'mach_task_self_' is not concurrency-safe because it involves shared mutable state; this is an error in the Swift 6 language mode
32 |     }
33 |
Darwin.mach_task_self_:1:12: note: var declared here
1 | public var mach_task_self_: mach_port_t
  |            `- note: var declared here
/Users/admin/builder/spi-builder-workspace/Sources/SpellbookFoundation/Low Level/AuditToken.swift:36:65: warning: reference to var 'mach_task_self_' is not concurrency-safe because it involves shared mutable state; this is an error in the Swift 6 language mode
34 |     /// Returns task for pid.
35 |     public init(pid: pid_t) throws {
36 |         let taskName = try NSError.mach.try { task_name_for_pid(mach_task_self_, pid, $0) }
   |                                                                 `- warning: reference to var 'mach_task_self_' is not concurrency-safe because it involves shared mutable state; this is an error in the Swift 6 language mode
37 |         try self.init(task: taskName)
38 |     }
Darwin.mach_task_self_:1:12: note: var declared here
1 | public var mach_task_self_: mach_port_t
  |            `- note: var declared here
[67/69] Compiling SpellbookFoundation MachTime.swift
/Users/admin/builder/spi-builder-workspace/Sources/SpellbookFoundation/Internal.swift:29:47: warning: passing non-sendable parameter 'work' to function expecting a @Sendable closure
25 | extension Optional where Wrapped == DispatchQueue {
26 |     @inline(__always)
27 |     package func async(flags: DispatchWorkItemFlags = [], execute work: @escaping () -> Void) {
   |                                                                   `- note: parameter 'work' is implicitly non-sendable
28 |         if let self {
29 |             self.async(flags: flags, execute: work)
   |                                               `- warning: passing non-sendable parameter 'work' to function expecting a @Sendable closure
30 |         } else {
31 |             work()
/Users/admin/builder/spi-builder-workspace/Sources/SpellbookFoundation/Low Level/AuditToken.swift:31:33: warning: reference to var 'mach_task_self_' is not concurrency-safe because it involves shared mutable state; this is an error in the Swift 6 language mode
29 |     /// Returns current task audit token.
30 |     public static func current() throws -> audit_token_t {
31 |         try audit_token_t(task: mach_task_self_)
   |                                 `- warning: reference to var 'mach_task_self_' is not concurrency-safe because it involves shared mutable state; this is an error in the Swift 6 language mode
32 |     }
33 |
Darwin.mach_task_self_:1:12: note: var declared here
1 | public var mach_task_self_: mach_port_t
  |            `- note: var declared here
/Users/admin/builder/spi-builder-workspace/Sources/SpellbookFoundation/Low Level/AuditToken.swift:36:65: warning: reference to var 'mach_task_self_' is not concurrency-safe because it involves shared mutable state; this is an error in the Swift 6 language mode
34 |     /// Returns task for pid.
35 |     public init(pid: pid_t) throws {
36 |         let taskName = try NSError.mach.try { task_name_for_pid(mach_task_self_, pid, $0) }
   |                                                                 `- warning: reference to var 'mach_task_self_' is not concurrency-safe because it involves shared mutable state; this is an error in the Swift 6 language mode
37 |         try self.init(task: taskName)
38 |     }
Darwin.mach_task_self_:1:12: note: var declared here
1 | public var mach_task_self_: mach_port_t
  |            `- note: var declared here
[68/69] Compiling SpellbookFoundation POD+Swift.swift
/Users/admin/builder/spi-builder-workspace/Sources/SpellbookFoundation/Internal.swift:29:47: warning: passing non-sendable parameter 'work' to function expecting a @Sendable closure
25 | extension Optional where Wrapped == DispatchQueue {
26 |     @inline(__always)
27 |     package func async(flags: DispatchWorkItemFlags = [], execute work: @escaping () -> Void) {
   |                                                                   `- note: parameter 'work' is implicitly non-sendable
28 |         if let self {
29 |             self.async(flags: flags, execute: work)
   |                                               `- warning: passing non-sendable parameter 'work' to function expecting a @Sendable closure
30 |         } else {
31 |             work()
/Users/admin/builder/spi-builder-workspace/Sources/SpellbookFoundation/Low Level/AuditToken.swift:31:33: warning: reference to var 'mach_task_self_' is not concurrency-safe because it involves shared mutable state; this is an error in the Swift 6 language mode
29 |     /// Returns current task audit token.
30 |     public static func current() throws -> audit_token_t {
31 |         try audit_token_t(task: mach_task_self_)
   |                                 `- warning: reference to var 'mach_task_self_' is not concurrency-safe because it involves shared mutable state; this is an error in the Swift 6 language mode
32 |     }
33 |
Darwin.mach_task_self_:1:12: note: var declared here
1 | public var mach_task_self_: mach_port_t
  |            `- note: var declared here
/Users/admin/builder/spi-builder-workspace/Sources/SpellbookFoundation/Low Level/AuditToken.swift:36:65: warning: reference to var 'mach_task_self_' is not concurrency-safe because it involves shared mutable state; this is an error in the Swift 6 language mode
34 |     /// Returns task for pid.
35 |     public init(pid: pid_t) throws {
36 |         let taskName = try NSError.mach.try { task_name_for_pid(mach_task_self_, pid, $0) }
   |                                                                 `- warning: reference to var 'mach_task_self_' is not concurrency-safe because it involves shared mutable state; this is an error in the Swift 6 language mode
37 |         try self.init(task: taskName)
38 |     }
Darwin.mach_task_self_:1:12: note: var declared here
1 | public var mach_task_self_: mach_port_t
  |            `- note: var declared here
[69/69] Compiling SpellbookFoundation Unsafe.swift
/Users/admin/builder/spi-builder-workspace/Sources/SpellbookFoundation/Internal.swift:29:47: warning: passing non-sendable parameter 'work' to function expecting a @Sendable closure
25 | extension Optional where Wrapped == DispatchQueue {
26 |     @inline(__always)
27 |     package func async(flags: DispatchWorkItemFlags = [], execute work: @escaping () -> Void) {
   |                                                                   `- note: parameter 'work' is implicitly non-sendable
28 |         if let self {
29 |             self.async(flags: flags, execute: work)
   |                                               `- warning: passing non-sendable parameter 'work' to function expecting a @Sendable closure
30 |         } else {
31 |             work()
/Users/admin/builder/spi-builder-workspace/Sources/SpellbookFoundation/Low Level/AuditToken.swift:31:33: warning: reference to var 'mach_task_self_' is not concurrency-safe because it involves shared mutable state; this is an error in the Swift 6 language mode
29 |     /// Returns current task audit token.
30 |     public static func current() throws -> audit_token_t {
31 |         try audit_token_t(task: mach_task_self_)
   |                                 `- warning: reference to var 'mach_task_self_' is not concurrency-safe because it involves shared mutable state; this is an error in the Swift 6 language mode
32 |     }
33 |
Darwin.mach_task_self_:1:12: note: var declared here
1 | public var mach_task_self_: mach_port_t
  |            `- note: var declared here
/Users/admin/builder/spi-builder-workspace/Sources/SpellbookFoundation/Low Level/AuditToken.swift:36:65: warning: reference to var 'mach_task_self_' is not concurrency-safe because it involves shared mutable state; this is an error in the Swift 6 language mode
34 |     /// Returns task for pid.
35 |     public init(pid: pid_t) throws {
36 |         let taskName = try NSError.mach.try { task_name_for_pid(mach_task_self_, pid, $0) }
   |                                                                 `- warning: reference to var 'mach_task_self_' is not concurrency-safe because it involves shared mutable state; this is an error in the Swift 6 language mode
37 |         try self.init(task: taskName)
38 |     }
Darwin.mach_task_self_:1:12: note: var declared here
1 | public var mach_task_self_: mach_port_t
  |            `- note: var declared here
[70/84] Compiling SpellbookHTTP HTTPResult.swift
[71/84] Compiling SpellbookHTTP HTTPTypes.swift
/Users/admin/builder/spi-builder-workspace/Sources/SpellbookHTTP/HTTPTypes.swift:33:23: warning: static property 'get' is not concurrency-safe because non-'Sendable' type 'HTTPMethod' may have shared mutable state; this is an error in the Swift 6 language mode
 25 | import Foundation
 26 |
 27 | public struct HTTPMethod: RawRepresentable, Hashable {
    |               `- note: consider making struct 'HTTPMethod' conform to the 'Sendable' protocol
 28 |     public var rawValue: String
 29 |     public init(rawValue: String) { self.rawValue = rawValue }
    :
 31 |
 32 | extension HTTPMethod {
 33 |     public static let get = Self(rawValue: "GET")
    |                       |- warning: static property 'get' is not concurrency-safe because non-'Sendable' type 'HTTPMethod' may have shared mutable state; this is an error in the Swift 6 language mode
    |                       |- note: annotate 'get' 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
 34 |     public static let post = Self(rawValue: "POST")
 35 |     public static let patch = Self(rawValue: "PATCH")
/Users/admin/builder/spi-builder-workspace/Sources/SpellbookHTTP/HTTPTypes.swift:34:23: warning: static property 'post' is not concurrency-safe because non-'Sendable' type 'HTTPMethod' may have shared mutable state; this is an error in the Swift 6 language mode
 25 | import Foundation
 26 |
 27 | public struct HTTPMethod: RawRepresentable, Hashable {
    |               `- note: consider making struct 'HTTPMethod' conform to the 'Sendable' protocol
 28 |     public var rawValue: String
 29 |     public init(rawValue: String) { self.rawValue = rawValue }
    :
 32 | extension HTTPMethod {
 33 |     public static let get = Self(rawValue: "GET")
 34 |     public static let post = Self(rawValue: "POST")
    |                       |- warning: static property 'post' is not concurrency-safe because non-'Sendable' type 'HTTPMethod' may have shared mutable state; this is an error in the Swift 6 language mode
    |                       |- note: annotate 'post' with '@MainActor' if property should only be accessed from the main actor
    |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 35 |     public static let patch = Self(rawValue: "PATCH")
 36 |     public static let delete = Self(rawValue: "DELETE")
/Users/admin/builder/spi-builder-workspace/Sources/SpellbookHTTP/HTTPTypes.swift:35:23: warning: static property 'patch' is not concurrency-safe because non-'Sendable' type 'HTTPMethod' may have shared mutable state; this is an error in the Swift 6 language mode
 25 | import Foundation
 26 |
 27 | public struct HTTPMethod: RawRepresentable, Hashable {
    |               `- note: consider making struct 'HTTPMethod' conform to the 'Sendable' protocol
 28 |     public var rawValue: String
 29 |     public init(rawValue: String) { self.rawValue = rawValue }
    :
 33 |     public static let get = Self(rawValue: "GET")
 34 |     public static let post = Self(rawValue: "POST")
 35 |     public static let patch = Self(rawValue: "PATCH")
    |                       |- warning: static property 'patch' is not concurrency-safe because non-'Sendable' type 'HTTPMethod' may have shared mutable state; this is an error in the Swift 6 language mode
    |                       |- note: annotate 'patch' 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
 36 |     public static let delete = Self(rawValue: "DELETE")
 37 |     public static let put = Self(rawValue: "PUT")
/Users/admin/builder/spi-builder-workspace/Sources/SpellbookHTTP/HTTPTypes.swift:36:23: warning: static property 'delete' is not concurrency-safe because non-'Sendable' type 'HTTPMethod' may have shared mutable state; this is an error in the Swift 6 language mode
 25 | import Foundation
 26 |
 27 | public struct HTTPMethod: RawRepresentable, Hashable {
    |               `- note: consider making struct 'HTTPMethod' conform to the 'Sendable' protocol
 28 |     public var rawValue: String
 29 |     public init(rawValue: String) { self.rawValue = rawValue }
    :
 34 |     public static let post = Self(rawValue: "POST")
 35 |     public static let patch = Self(rawValue: "PATCH")
 36 |     public static let delete = Self(rawValue: "DELETE")
    |                       |- warning: static property 'delete' is not concurrency-safe because non-'Sendable' type 'HTTPMethod' may have shared mutable state; this is an error in the Swift 6 language mode
    |                       |- note: annotate 'delete' 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
 37 |     public static let put = Self(rawValue: "PUT")
 38 |     public static let options = Self(rawValue: "OPTIONS")
/Users/admin/builder/spi-builder-workspace/Sources/SpellbookHTTP/HTTPTypes.swift:37:23: warning: static property 'put' is not concurrency-safe because non-'Sendable' type 'HTTPMethod' may have shared mutable state; this is an error in the Swift 6 language mode
 25 | import Foundation
 26 |
 27 | public struct HTTPMethod: RawRepresentable, Hashable {
    |               `- note: consider making struct 'HTTPMethod' conform to the 'Sendable' protocol
 28 |     public var rawValue: String
 29 |     public init(rawValue: String) { self.rawValue = rawValue }
    :
 35 |     public static let patch = Self(rawValue: "PATCH")
 36 |     public static let delete = Self(rawValue: "DELETE")
 37 |     public static let put = Self(rawValue: "PUT")
    |                       |- warning: static property 'put' is not concurrency-safe because non-'Sendable' type 'HTTPMethod' may have shared mutable state; this is an error in the Swift 6 language mode
    |                       |- note: annotate 'put' 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
 38 |     public static let options = Self(rawValue: "OPTIONS")
 39 |     public static let head = Self(rawValue: "HEAD")
/Users/admin/builder/spi-builder-workspace/Sources/SpellbookHTTP/HTTPTypes.swift:38:23: warning: static property 'options' is not concurrency-safe because non-'Sendable' type 'HTTPMethod' may have shared mutable state; this is an error in the Swift 6 language mode
 25 | import Foundation
 26 |
 27 | public struct HTTPMethod: RawRepresentable, Hashable {
    |               `- note: consider making struct 'HTTPMethod' conform to the 'Sendable' protocol
 28 |     public var rawValue: String
 29 |     public init(rawValue: String) { self.rawValue = rawValue }
    :
 36 |     public static let delete = Self(rawValue: "DELETE")
 37 |     public static let put = Self(rawValue: "PUT")
 38 |     public static let options = Self(rawValue: "OPTIONS")
    |                       |- warning: static property 'options' is not concurrency-safe because non-'Sendable' type 'HTTPMethod' may have shared mutable state; this is an error in the Swift 6 language mode
    |                       |- note: annotate 'options' 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
 39 |     public static let head = Self(rawValue: "HEAD")
 40 |     public static let trace = Self(rawValue: "TRACE")
/Users/admin/builder/spi-builder-workspace/Sources/SpellbookHTTP/HTTPTypes.swift:39:23: warning: static property 'head' is not concurrency-safe because non-'Sendable' type 'HTTPMethod' may have shared mutable state; this is an error in the Swift 6 language mode
 25 | import Foundation
 26 |
 27 | public struct HTTPMethod: RawRepresentable, Hashable {
    |               `- note: consider making struct 'HTTPMethod' conform to the 'Sendable' protocol
 28 |     public var rawValue: String
 29 |     public init(rawValue: String) { self.rawValue = rawValue }
    :
 37 |     public static let put = Self(rawValue: "PUT")
 38 |     public static let options = Self(rawValue: "OPTIONS")
 39 |     public static let head = Self(rawValue: "HEAD")
    |                       |- warning: static property 'head' is not concurrency-safe because non-'Sendable' type 'HTTPMethod' may have shared mutable state; this is an error in the Swift 6 language mode
    |                       |- note: annotate 'head' 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
 40 |     public static let trace = Self(rawValue: "TRACE")
 41 |     public static let connect = Self(rawValue: "CONNECT")
/Users/admin/builder/spi-builder-workspace/Sources/SpellbookHTTP/HTTPTypes.swift:40:23: warning: static property 'trace' is not concurrency-safe because non-'Sendable' type 'HTTPMethod' may have shared mutable state; this is an error in the Swift 6 language mode
 25 | import Foundation
 26 |
 27 | public struct HTTPMethod: RawRepresentable, Hashable {
    |               `- note: consider making struct 'HTTPMethod' conform to the 'Sendable' protocol
 28 |     public var rawValue: String
 29 |     public init(rawValue: String) { self.rawValue = rawValue }
    :
 38 |     public static let options = Self(rawValue: "OPTIONS")
 39 |     public static let head = Self(rawValue: "HEAD")
 40 |     public static let trace = Self(rawValue: "TRACE")
    |                       |- warning: static property 'trace' is not concurrency-safe because non-'Sendable' type 'HTTPMethod' may have shared mutable state; this is an error in the Swift 6 language mode
    |                       |- note: annotate 'trace' 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
 41 |     public static let connect = Self(rawValue: "CONNECT")
 42 | }
/Users/admin/builder/spi-builder-workspace/Sources/SpellbookHTTP/HTTPTypes.swift:41:23: warning: static property 'connect' is not concurrency-safe because non-'Sendable' type 'HTTPMethod' may have shared mutable state; this is an error in the Swift 6 language mode
 25 | import Foundation
 26 |
 27 | public struct HTTPMethod: RawRepresentable, Hashable {
    |               `- note: consider making struct 'HTTPMethod' conform to the 'Sendable' protocol
 28 |     public var rawValue: String
 29 |     public init(rawValue: String) { self.rawValue = rawValue }
    :
 39 |     public static let head = Self(rawValue: "HEAD")
 40 |     public static let trace = Self(rawValue: "TRACE")
 41 |     public static let connect = Self(rawValue: "CONNECT")
    |                       |- warning: static property 'connect' is not concurrency-safe because non-'Sendable' type 'HTTPMethod' may have shared mutable state; this is an error in the Swift 6 language mode
    |                       |- note: annotate 'connect' 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
 42 | }
 43 |
/Users/admin/builder/spi-builder-workspace/Sources/SpellbookHTTP/HTTPTypes.swift:57:23: warning: static property 'userAgent' is not concurrency-safe because non-'Sendable' type 'HTTPHeader' may have shared mutable state; this is an error in the Swift 6 language mode
 48 | }
 49 |
 50 | public struct HTTPHeader: RawRepresentable, Hashable {
    |               `- note: consider making struct 'HTTPHeader' conform to the 'Sendable' protocol
 51 |     public var rawValue: String
 52 |     public init(rawValue: String) { self.rawValue = rawValue }
    :
 55 |
 56 | extension HTTPHeader {
 57 |     public static let userAgent = HTTPHeader(rawValue: "user-agent")
    |                       |- warning: static property 'userAgent' is not concurrency-safe because non-'Sendable' type 'HTTPHeader' may have shared mutable state; this is an error in the Swift 6 language mode
    |                       |- note: annotate 'userAgent' 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
 58 |     public static let authorization = HTTPHeader(rawValue: "authorization")
 59 | }
/Users/admin/builder/spi-builder-workspace/Sources/SpellbookHTTP/HTTPTypes.swift:58:23: warning: static property 'authorization' is not concurrency-safe because non-'Sendable' type 'HTTPHeader' may have shared mutable state; this is an error in the Swift 6 language mode
 48 | }
 49 |
 50 | public struct HTTPHeader: RawRepresentable, Hashable {
    |               `- note: consider making struct 'HTTPHeader' conform to the 'Sendable' protocol
 51 |     public var rawValue: String
 52 |     public init(rawValue: String) { self.rawValue = rawValue }
    :
 56 | extension HTTPHeader {
 57 |     public static let userAgent = HTTPHeader(rawValue: "user-agent")
 58 |     public static let authorization = HTTPHeader(rawValue: "authorization")
    |                       |- warning: static property 'authorization' is not concurrency-safe because non-'Sendable' type 'HTTPHeader' may have shared mutable state; this is an error in the Swift 6 language mode
    |                       |- note: annotate 'authorization' 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
 59 | }
 60 |
/Users/admin/builder/spi-builder-workspace/Sources/SpellbookHTTP/HTTPTypes.swift:85:23: warning: static property 'basic' is not concurrency-safe because non-'Sendable' type 'HTTPAuthorizationType' may have shared mutable state; this is an error in the Swift 6 language mode
 63 | }
 64 |
 65 | public struct HTTPAuthorizationType: RawRepresentable, Hashable {
    |               `- note: consider making struct 'HTTPAuthorizationType' conform to the 'Sendable' protocol
 66 |     public var rawValue: String
 67 |     public init(rawValue: String) { self.rawValue = rawValue }
    :
 83 |
 84 | extension HTTPAuthorizationType {
 85 |     public static let basic = HTTPAuthorizationType(rawValue: "Basic")
    |                       |- warning: static property 'basic' is not concurrency-safe because non-'Sendable' type 'HTTPAuthorizationType' may have shared mutable state; this is an error in the Swift 6 language mode
    |                       |- note: annotate 'basic' 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
 86 |     public static let bearer = HTTPAuthorizationType(rawValue: "Bearer")
 87 | }
/Users/admin/builder/spi-builder-workspace/Sources/SpellbookHTTP/HTTPTypes.swift:86:23: warning: static property 'bearer' is not concurrency-safe because non-'Sendable' type 'HTTPAuthorizationType' may have shared mutable state; this is an error in the Swift 6 language mode
 63 | }
 64 |
 65 | public struct HTTPAuthorizationType: RawRepresentable, Hashable {
    |               `- note: consider making struct 'HTTPAuthorizationType' conform to the 'Sendable' protocol
 66 |     public var rawValue: String
 67 |     public init(rawValue: String) { self.rawValue = rawValue }
    :
 84 | extension HTTPAuthorizationType {
 85 |     public static let basic = HTTPAuthorizationType(rawValue: "Basic")
 86 |     public static let bearer = HTTPAuthorizationType(rawValue: "Bearer")
    |                       |- warning: static property 'bearer' is not concurrency-safe because non-'Sendable' type 'HTTPAuthorizationType' may have shared mutable state; this is an error in the Swift 6 language mode
    |                       |- note: annotate 'bearer' 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
 87 | }
 88 |
[72/84] Compiling SpellbookBinaryParsing BinaryWriterOutput.swift
[73/84] Compiling SpellbookBinaryParsing BinaryWriter.swift
[74/84] Compiling SpellbookBinaryParsing BinaryParsingError.swift
[75/84] Compiling SpellbookBinaryParsing BinaryReaderInput.swift
[76/84] Compiling SpellbookBinaryParsing BinaryReader.swift
[77/84] Emitting module SpellbookBinaryParsing
[78/84] Compiling SpellbookHTTP HTTPRequest.swift
[79/84] Compiling SpellbookHTTP HTTPClient.swift
/Users/admin/builder/spi-builder-workspace/Sources/SpellbookHTTP/HTTPClient.swift:80:17: warning: capture of 'completion' with non-sendable type '(Result<HTTPResult<Data>, any Error>) -> Void' in a `@Sendable` closure
 78 |         session.dataTask(with: urlRequest) { data, response, error in
 79 |             if let error {
 80 |                 completion(.failure(error))
    |                 |- warning: capture of 'completion' with non-sendable type '(Result<HTTPResult<Data>, any Error>) -> Void' in a `@Sendable` closure
    |                 `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
 81 |                 return
 82 |             }
/Users/admin/builder/spi-builder-workspace/Sources/SpellbookHTTP/HTTPClient.swift:38:14: warning: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure; this is an error in the Swift 6 language mode
 36 |     public func data(for request: () throws -> URLRequest, completion: @escaping (Result<HTTPResult<Data>, any Error>) -> Void) {
 37 |         let request = Result(catching: request)
 38 |         Task {
    |              `- warning: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure; this is an error in the Swift 6 language mode
 39 |             do {
 40 |                 let result = try await data(for: request.get, delegate: nil)
    |                                        `- note: closure captures non-Sendable 'self'
 41 |                 completion(.success(result))
    |                 `- note: closure captures non-Sendable 'completion'
 42 |             } catch {
 43 |                 completion(.failure(error))
[80/84] Emitting module SpellbookHTTP
/Users/admin/builder/spi-builder-workspace/Sources/SpellbookHTTP/HTTPTypes.swift:33:23: warning: static property 'get' is not concurrency-safe because non-'Sendable' type 'HTTPMethod' may have shared mutable state; this is an error in the Swift 6 language mode
 25 | import Foundation
 26 |
 27 | public struct HTTPMethod: RawRepresentable, Hashable {
    |               `- note: consider making struct 'HTTPMethod' conform to the 'Sendable' protocol
 28 |     public var rawValue: String
 29 |     public init(rawValue: String) { self.rawValue = rawValue }
    :
 31 |
 32 | extension HTTPMethod {
 33 |     public static let get = Self(rawValue: "GET")
    |                       |- warning: static property 'get' is not concurrency-safe because non-'Sendable' type 'HTTPMethod' may have shared mutable state; this is an error in the Swift 6 language mode
    |                       |- note: annotate 'get' 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
 34 |     public static let post = Self(rawValue: "POST")
 35 |     public static let patch = Self(rawValue: "PATCH")
/Users/admin/builder/spi-builder-workspace/Sources/SpellbookHTTP/HTTPTypes.swift:34:23: warning: static property 'post' is not concurrency-safe because non-'Sendable' type 'HTTPMethod' may have shared mutable state; this is an error in the Swift 6 language mode
 25 | import Foundation
 26 |
 27 | public struct HTTPMethod: RawRepresentable, Hashable {
    |               `- note: consider making struct 'HTTPMethod' conform to the 'Sendable' protocol
 28 |     public var rawValue: String
 29 |     public init(rawValue: String) { self.rawValue = rawValue }
    :
 32 | extension HTTPMethod {
 33 |     public static let get = Self(rawValue: "GET")
 34 |     public static let post = Self(rawValue: "POST")
    |                       |- warning: static property 'post' is not concurrency-safe because non-'Sendable' type 'HTTPMethod' may have shared mutable state; this is an error in the Swift 6 language mode
    |                       |- note: annotate 'post' with '@MainActor' if property should only be accessed from the main actor
    |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 35 |     public static let patch = Self(rawValue: "PATCH")
 36 |     public static let delete = Self(rawValue: "DELETE")
/Users/admin/builder/spi-builder-workspace/Sources/SpellbookHTTP/HTTPTypes.swift:35:23: warning: static property 'patch' is not concurrency-safe because non-'Sendable' type 'HTTPMethod' may have shared mutable state; this is an error in the Swift 6 language mode
 25 | import Foundation
 26 |
 27 | public struct HTTPMethod: RawRepresentable, Hashable {
    |               `- note: consider making struct 'HTTPMethod' conform to the 'Sendable' protocol
 28 |     public var rawValue: String
 29 |     public init(rawValue: String) { self.rawValue = rawValue }
    :
 33 |     public static let get = Self(rawValue: "GET")
 34 |     public static let post = Self(rawValue: "POST")
 35 |     public static let patch = Self(rawValue: "PATCH")
    |                       |- warning: static property 'patch' is not concurrency-safe because non-'Sendable' type 'HTTPMethod' may have shared mutable state; this is an error in the Swift 6 language mode
    |                       |- note: annotate 'patch' 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
 36 |     public static let delete = Self(rawValue: "DELETE")
 37 |     public static let put = Self(rawValue: "PUT")
/Users/admin/builder/spi-builder-workspace/Sources/SpellbookHTTP/HTTPTypes.swift:36:23: warning: static property 'delete' is not concurrency-safe because non-'Sendable' type 'HTTPMethod' may have shared mutable state; this is an error in the Swift 6 language mode
 25 | import Foundation
 26 |
 27 | public struct HTTPMethod: RawRepresentable, Hashable {
    |               `- note: consider making struct 'HTTPMethod' conform to the 'Sendable' protocol
 28 |     public var rawValue: String
 29 |     public init(rawValue: String) { self.rawValue = rawValue }
    :
 34 |     public static let post = Self(rawValue: "POST")
 35 |     public static let patch = Self(rawValue: "PATCH")
 36 |     public static let delete = Self(rawValue: "DELETE")
    |                       |- warning: static property 'delete' is not concurrency-safe because non-'Sendable' type 'HTTPMethod' may have shared mutable state; this is an error in the Swift 6 language mode
    |                       |- note: annotate 'delete' 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
 37 |     public static let put = Self(rawValue: "PUT")
 38 |     public static let options = Self(rawValue: "OPTIONS")
/Users/admin/builder/spi-builder-workspace/Sources/SpellbookHTTP/HTTPTypes.swift:37:23: warning: static property 'put' is not concurrency-safe because non-'Sendable' type 'HTTPMethod' may have shared mutable state; this is an error in the Swift 6 language mode
 25 | import Foundation
 26 |
 27 | public struct HTTPMethod: RawRepresentable, Hashable {
    |               `- note: consider making struct 'HTTPMethod' conform to the 'Sendable' protocol
 28 |     public var rawValue: String
 29 |     public init(rawValue: String) { self.rawValue = rawValue }
    :
 35 |     public static let patch = Self(rawValue: "PATCH")
 36 |     public static let delete = Self(rawValue: "DELETE")
 37 |     public static let put = Self(rawValue: "PUT")
    |                       |- warning: static property 'put' is not concurrency-safe because non-'Sendable' type 'HTTPMethod' may have shared mutable state; this is an error in the Swift 6 language mode
    |                       |- note: annotate 'put' 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
 38 |     public static let options = Self(rawValue: "OPTIONS")
 39 |     public static let head = Self(rawValue: "HEAD")
/Users/admin/builder/spi-builder-workspace/Sources/SpellbookHTTP/HTTPTypes.swift:38:23: warning: static property 'options' is not concurrency-safe because non-'Sendable' type 'HTTPMethod' may have shared mutable state; this is an error in the Swift 6 language mode
 25 | import Foundation
 26 |
 27 | public struct HTTPMethod: RawRepresentable, Hashable {
    |               `- note: consider making struct 'HTTPMethod' conform to the 'Sendable' protocol
 28 |     public var rawValue: String
 29 |     public init(rawValue: String) { self.rawValue = rawValue }
    :
 36 |     public static let delete = Self(rawValue: "DELETE")
 37 |     public static let put = Self(rawValue: "PUT")
 38 |     public static let options = Self(rawValue: "OPTIONS")
    |                       |- warning: static property 'options' is not concurrency-safe because non-'Sendable' type 'HTTPMethod' may have shared mutable state; this is an error in the Swift 6 language mode
    |                       |- note: annotate 'options' 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
 39 |     public static let head = Self(rawValue: "HEAD")
 40 |     public static let trace = Self(rawValue: "TRACE")
/Users/admin/builder/spi-builder-workspace/Sources/SpellbookHTTP/HTTPTypes.swift:39:23: warning: static property 'head' is not concurrency-safe because non-'Sendable' type 'HTTPMethod' may have shared mutable state; this is an error in the Swift 6 language mode
 25 | import Foundation
 26 |
 27 | public struct HTTPMethod: RawRepresentable, Hashable {
    |               `- note: consider making struct 'HTTPMethod' conform to the 'Sendable' protocol
 28 |     public var rawValue: String
 29 |     public init(rawValue: String) { self.rawValue = rawValue }
    :
 37 |     public static let put = Self(rawValue: "PUT")
 38 |     public static let options = Self(rawValue: "OPTIONS")
 39 |     public static let head = Self(rawValue: "HEAD")
    |                       |- warning: static property 'head' is not concurrency-safe because non-'Sendable' type 'HTTPMethod' may have shared mutable state; this is an error in the Swift 6 language mode
    |                       |- note: annotate 'head' 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
 40 |     public static let trace = Self(rawValue: "TRACE")
 41 |     public static let connect = Self(rawValue: "CONNECT")
/Users/admin/builder/spi-builder-workspace/Sources/SpellbookHTTP/HTTPTypes.swift:40:23: warning: static property 'trace' is not concurrency-safe because non-'Sendable' type 'HTTPMethod' may have shared mutable state; this is an error in the Swift 6 language mode
 25 | import Foundation
 26 |
 27 | public struct HTTPMethod: RawRepresentable, Hashable {
    |               `- note: consider making struct 'HTTPMethod' conform to the 'Sendable' protocol
 28 |     public var rawValue: String
 29 |     public init(rawValue: String) { self.rawValue = rawValue }
    :
 38 |     public static let options = Self(rawValue: "OPTIONS")
 39 |     public static let head = Self(rawValue: "HEAD")
 40 |     public static let trace = Self(rawValue: "TRACE")
    |                       |- warning: static property 'trace' is not concurrency-safe because non-'Sendable' type 'HTTPMethod' may have shared mutable state; this is an error in the Swift 6 language mode
    |                       |- note: annotate 'trace' 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
 41 |     public static let connect = Self(rawValue: "CONNECT")
 42 | }
/Users/admin/builder/spi-builder-workspace/Sources/SpellbookHTTP/HTTPTypes.swift:41:23: warning: static property 'connect' is not concurrency-safe because non-'Sendable' type 'HTTPMethod' may have shared mutable state; this is an error in the Swift 6 language mode
 25 | import Foundation
 26 |
 27 | public struct HTTPMethod: RawRepresentable, Hashable {
    |               `- note: consider making struct 'HTTPMethod' conform to the 'Sendable' protocol
 28 |     public var rawValue: String
 29 |     public init(rawValue: String) { self.rawValue = rawValue }
    :
 39 |     public static let head = Self(rawValue: "HEAD")
 40 |     public static let trace = Self(rawValue: "TRACE")
 41 |     public static let connect = Self(rawValue: "CONNECT")
    |                       |- warning: static property 'connect' is not concurrency-safe because non-'Sendable' type 'HTTPMethod' may have shared mutable state; this is an error in the Swift 6 language mode
    |                       |- note: annotate 'connect' 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
 42 | }
 43 |
/Users/admin/builder/spi-builder-workspace/Sources/SpellbookHTTP/HTTPTypes.swift:57:23: warning: static property 'userAgent' is not concurrency-safe because non-'Sendable' type 'HTTPHeader' may have shared mutable state; this is an error in the Swift 6 language mode
 48 | }
 49 |
 50 | public struct HTTPHeader: RawRepresentable, Hashable {
    |               `- note: consider making struct 'HTTPHeader' conform to the 'Sendable' protocol
 51 |     public var rawValue: String
 52 |     public init(rawValue: String) { self.rawValue = rawValue }
    :
 55 |
 56 | extension HTTPHeader {
 57 |     public static let userAgent = HTTPHeader(rawValue: "user-agent")
    |                       |- warning: static property 'userAgent' is not concurrency-safe because non-'Sendable' type 'HTTPHeader' may have shared mutable state; this is an error in the Swift 6 language mode
    |                       |- note: annotate 'userAgent' 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
 58 |     public static let authorization = HTTPHeader(rawValue: "authorization")
 59 | }
/Users/admin/builder/spi-builder-workspace/Sources/SpellbookHTTP/HTTPTypes.swift:58:23: warning: static property 'authorization' is not concurrency-safe because non-'Sendable' type 'HTTPHeader' may have shared mutable state; this is an error in the Swift 6 language mode
 48 | }
 49 |
 50 | public struct HTTPHeader: RawRepresentable, Hashable {
    |               `- note: consider making struct 'HTTPHeader' conform to the 'Sendable' protocol
 51 |     public var rawValue: String
 52 |     public init(rawValue: String) { self.rawValue = rawValue }
    :
 56 | extension HTTPHeader {
 57 |     public static let userAgent = HTTPHeader(rawValue: "user-agent")
 58 |     public static let authorization = HTTPHeader(rawValue: "authorization")
    |                       |- warning: static property 'authorization' is not concurrency-safe because non-'Sendable' type 'HTTPHeader' may have shared mutable state; this is an error in the Swift 6 language mode
    |                       |- note: annotate 'authorization' 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
 59 | }
 60 |
/Users/admin/builder/spi-builder-workspace/Sources/SpellbookHTTP/HTTPTypes.swift:85:23: warning: static property 'basic' is not concurrency-safe because non-'Sendable' type 'HTTPAuthorizationType' may have shared mutable state; this is an error in the Swift 6 language mode
 63 | }
 64 |
 65 | public struct HTTPAuthorizationType: RawRepresentable, Hashable {
    |               `- note: consider making struct 'HTTPAuthorizationType' conform to the 'Sendable' protocol
 66 |     public var rawValue: String
 67 |     public init(rawValue: String) { self.rawValue = rawValue }
    :
 83 |
 84 | extension HTTPAuthorizationType {
 85 |     public static let basic = HTTPAuthorizationType(rawValue: "Basic")
    |                       |- warning: static property 'basic' is not concurrency-safe because non-'Sendable' type 'HTTPAuthorizationType' may have shared mutable state; this is an error in the Swift 6 language mode
    |                       |- note: annotate 'basic' 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
 86 |     public static let bearer = HTTPAuthorizationType(rawValue: "Bearer")
 87 | }
/Users/admin/builder/spi-builder-workspace/Sources/SpellbookHTTP/HTTPTypes.swift:86:23: warning: static property 'bearer' is not concurrency-safe because non-'Sendable' type 'HTTPAuthorizationType' may have shared mutable state; this is an error in the Swift 6 language mode
 63 | }
 64 |
 65 | public struct HTTPAuthorizationType: RawRepresentable, Hashable {
    |               `- note: consider making struct 'HTTPAuthorizationType' conform to the 'Sendable' protocol
 66 |     public var rawValue: String
 67 |     public init(rawValue: String) { self.rawValue = rawValue }
    :
 84 | extension HTTPAuthorizationType {
 85 |     public static let basic = HTTPAuthorizationType(rawValue: "Basic")
 86 |     public static let bearer = HTTPAuthorizationType(rawValue: "Bearer")
    |                       |- warning: static property 'bearer' is not concurrency-safe because non-'Sendable' type 'HTTPAuthorizationType' may have shared mutable state; this is an error in the Swift 6 language mode
    |                       |- note: annotate 'bearer' 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
 87 | }
 88 |
[81/84] Compiling SpellbookTestUtils Testing.swift
[82/84] Compiling SpellbookTestUtils TestError.swift
[83/84] Compiling SpellbookTestUtils Extensions - XCTestCase.swift
/Users/admin/builder/spi-builder-workspace/Sources/SpellbookTestUtils/Extensions - XCTestCase.swift:38:23: warning: static property 'waitRate' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
36 |     public static var waitRate = 100.0
37 | #else
38 |     public static var waitRate = 1.0
   |                       |- warning: static property 'waitRate' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
   |                       |- note: convert 'waitRate' to a 'let' constant to make 'Sendable' shared state immutable
   |                       |- note: annotate 'waitRate' 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
39 | #endif
40 |
/Users/admin/builder/spi-builder-workspace/Sources/SpellbookTestUtils/Extensions - XCTestCase.swift:41:23: warning: static property 'waitTimeout' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
39 | #endif
40 |
41 |     public static var waitTimeout: TimeInterval = 0.5
   |                       |- warning: static property 'waitTimeout' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
   |                       |- note: convert 'waitTimeout' to a 'let' constant to make 'Sendable' shared state immutable
   |                       |- note: annotate 'waitTimeout' 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
42 |
43 |     public static var testBundle: Bundle {
/Users/admin/builder/spi-builder-workspace/Sources/SpellbookTestUtils/Extensions - XCTestCase.swift:67:9: warning: call to main actor-isolated instance method 'waitForExpectations(timeout:handler:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
63 |
64 |     @discardableResult
65 |     public func waitForExpectations(timeout: TimeInterval = XCTestCase.waitTimeout, ignoreWaitRate: Bool) -> Error? {
   |                 `- note: add '@MainActor' to make instance method 'waitForExpectations(timeout:ignoreWaitRate:)' part of global actor 'MainActor'
66 |         var error: Error?
67 |         waitForExpectations(timeout: timeout * Self.waitRate) {
   |         `- warning: call to main actor-isolated instance method 'waitForExpectations(timeout:handler:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
68 |             error = $0
69 |         }
XCTest.XCTestCase:5:26: note: calls to instance method 'waitForExpectations(timeout:handler:)' from outside of its actor context are implicitly asynchronous
 3 |     @available(swift, obsoleted: 3, renamed: "expectation(description:)")
 4 |     open func expectationWithDescription(_ description: String) -> XCTestExpectation
 5 |     @MainActor open func waitForExpectations(timeout: TimeInterval, handler: (@Sendable ((any Error)?) -> Void)? = nil)
   |                          `- note: calls to instance method 'waitForExpectations(timeout:handler:)' from outside of its actor context are implicitly asynchronous
 6 |     @available(swift, obsoleted: 3, renamed: "waitForExpectations(timeout:handler:)")
 7 |     @MainActor open func waitForExpectationsWithTimeout(_ timeout: TimeInterval, handler: (@Sendable ((any Error)?) -> Void)? = nil)
/Users/admin/builder/spi-builder-workspace/Sources/SpellbookTestUtils/Extensions - XCTestCase.swift:68:13: warning: mutation of captured var 'error' in concurrently-executing code
66 |         var error: Error?
67 |         waitForExpectations(timeout: timeout * Self.waitRate) {
68 |             error = $0
   |             `- warning: mutation of captured var 'error' in concurrently-executing code
69 |         }
70 |
/Users/admin/builder/spi-builder-workspace/Sources/SpellbookTestUtils/Extensions - XCTestCase.swift:67:9: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
65 |     public func waitForExpectations(timeout: TimeInterval = XCTestCase.waitTimeout, ignoreWaitRate: Bool) -> Error? {
66 |         var error: Error?
67 |         waitForExpectations(timeout: timeout * Self.waitRate) {
   |         |- warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
   |         `- note: sending task-isolated 'self' to main actor-isolated instance method 'waitForExpectations(timeout:handler:)' risks causing data races between main actor-isolated and task-isolated uses
68 |             error = $0
69 |         }
[84/84] Emitting module SpellbookTestUtils
/Users/admin/builder/spi-builder-workspace/Sources/SpellbookTestUtils/Extensions - XCTestCase.swift:38:23: warning: static property 'waitRate' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
36 |     public static var waitRate = 100.0
37 | #else
38 |     public static var waitRate = 1.0
   |                       |- warning: static property 'waitRate' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
   |                       |- note: convert 'waitRate' to a 'let' constant to make 'Sendable' shared state immutable
   |                       |- note: annotate 'waitRate' 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
39 | #endif
40 |
/Users/admin/builder/spi-builder-workspace/Sources/SpellbookTestUtils/Extensions - XCTestCase.swift:41:23: warning: static property 'waitTimeout' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
39 | #endif
40 |
41 |     public static var waitTimeout: TimeInterval = 0.5
   |                       |- warning: static property 'waitTimeout' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
   |                       |- note: convert 'waitTimeout' to a 'let' constant to make 'Sendable' shared state immutable
   |                       |- note: annotate 'waitTimeout' 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
42 |
43 |     public static var testBundle: Bundle {
Build complete! (29.46s)
Build complete.
{
  "dependencies" : [
  ],
  "manifest_display_name" : "SwiftSpellbook",
  "name" : "SwiftSpellbook",
  "path" : "/Users/admin/builder/spi-builder-workspace",
  "platforms" : [
    {
      "name" : "macos",
      "version" : "10.15"
    },
    {
      "name" : "ios",
      "version" : "13.0"
    },
    {
      "name" : "tvos",
      "version" : "13.0"
    },
    {
      "name" : "watchos",
      "version" : "6.0"
    }
  ],
  "products" : [
    {
      "name" : "SpellbookFoundation",
      "targets" : [
        "SpellbookFoundation"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    },
    {
      "name" : "SpellbookHTTP",
      "targets" : [
        "SpellbookHTTP"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    },
    {
      "name" : "SpellbookBinaryParsing",
      "targets" : [
        "SpellbookBinaryParsing"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    },
    {
      "name" : "SpellbookTestUtils",
      "targets" : [
        "SpellbookTestUtils"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    }
  ],
  "targets" : [
    {
      "c99name" : "_SpellbookFoundationObjC",
      "module_type" : "ClangTarget",
      "name" : "_SpellbookFoundationObjC",
      "path" : "Sources/SpellbookFoundationObjC",
      "product_memberships" : [
        "SpellbookFoundation",
        "SpellbookHTTP",
        "SpellbookBinaryParsing",
        "SpellbookTestUtils"
      ],
      "sources" : [
        "SpellbookObjC.mm"
      ],
      "type" : "library"
    },
    {
      "c99name" : "SpellbookTests",
      "module_type" : "SwiftTarget",
      "name" : "SpellbookTests",
      "path" : "Tests/SpellbookTests",
      "sources" : [
        "BinaryParsing/BinaryParsingTests.swift",
        "Common/BlockingQueueTests.swift",
        "Common/CancellationTokenTests.swift",
        "Common/CollectionDiffTests.swift",
        "Common/ObjectBuilderTests.swift",
        "Common/OtherCommonTests.swift",
        "Common/SBLogTests.swift",
        "Common/SBUnitTests.swift",
        "Common/UtilsTests.swift",
        "Common/WildcardExpressionTests.swift",
        "DictionaryParsing/DictionaryParsingTests.swift",
        "Errors/CommonErrorTests.swift",
        "Errors/ErrorExtensionsTests.swift",
        "Errors/NSErrorTests.swift",
        "Extensions Tests/CodableTests.swift",
        "Extensions Tests/CollectionsTests.swift",
        "Extensions Tests/StandardTypesTests.swift",
        "Filesystem & Bundle/FileEnumeratorTests.swift",
        "Filesystem & Bundle/FileManagerTests.swift",
        "Filesystem & Bundle/FileStoreTests.swift",
        "Filesystem & Bundle/TemporaryDirectoryTests.swift",
        "GUITests/GUITests.swift",
        "LowLevel/AuditTokenTests.swift",
        "LowLevel/MachTests.swift",
        "LowLevel/UnsafeTests.swift",
        "Observing/EventAskTests.swift",
        "Observing/EventNotifyTests.swift",
        "Observing/ObservableTests.swift",
        "Observing/ValueObservingTests.swift",
        "Observing/ValueStoreTests.swift",
        "Other/ObjCTests.swift",
        "Threading & Concurrency/ConcurrentBlockOperationTests.swift",
        "Threading & Concurrency/DispatchQueueExtensionsTests.swift",
        "Threading & Concurrency/SynchronousExecutorTests.swift",
        "Types & PropertyWrappers/PropertyWrapperTests.swift",
        "Types & PropertyWrappers/RefreshableTests.swift",
        "Types & PropertyWrappers/ResourceTests.swift",
        "Types & PropertyWrappers/TypesTests.swift"
      ],
      "target_dependencies" : [
        "SpellbookFoundation",
        "SpellbookBinaryParsing",
        "SpellbookTestUtils"
      ],
      "type" : "test"
    },
    {
      "c99name" : "SpellbookTestUtilsTests",
      "module_type" : "SwiftTarget",
      "name" : "SpellbookTestUtilsTests",
      "path" : "Tests/SpellbookTestUtilsTests",
      "sources" : [
        "TestingTests.swift"
      ],
      "target_dependencies" : [
        "SpellbookFoundation",
        "SpellbookTestUtils"
      ],
      "type" : "test"
    },
    {
      "c99name" : "SpellbookTestUtils",
      "module_type" : "SwiftTarget",
      "name" : "SpellbookTestUtils",
      "path" : "Sources/SpellbookTestUtils",
      "product_memberships" : [
        "SpellbookTestUtils"
      ],
      "sources" : [
        "Extensions - XCTestCase.swift",
        "TestError.swift",
        "Testing.swift"
      ],
      "target_dependencies" : [
        "SpellbookFoundation"
      ],
      "type" : "library"
    },
    {
      "c99name" : "SpellbookHTTP",
      "module_type" : "SwiftTarget",
      "name" : "SpellbookHTTP",
      "path" : "Sources/SpellbookHTTP",
      "product_memberships" : [
        "SpellbookHTTP"
      ],
      "sources" : [
        "HTTPClient.swift",
        "HTTPRequest.swift",
        "HTTPResult.swift",
        "HTTPTypes.swift"
      ],
      "target_dependencies" : [
        "SpellbookFoundation"
      ],
      "type" : "library"
    },
    {
      "c99name" : "SpellbookFoundation",
      "module_type" : "SwiftTarget",
      "name" : "SpellbookFoundation",
      "path" : "Sources/SpellbookFoundation",
      "product_memberships" : [
        "SpellbookFoundation",
        "SpellbookHTTP",
        "SpellbookBinaryParsing",
        "SpellbookTestUtils"
      ],
      "sources" : [
        "Combine/Extensions - Combine.swift",
        "Combine/Proxies - Combine.swift",
        "Common/Benchmark.swift",
        "Common/CancellationToken.swift",
        "Common/CollectionDiff.swift",
        "Common/Environment.swift",
        "Common/Exceptions.swift",
        "Common/Extensions - Codable.swift",
        "Common/Extensions - Collections.swift",
        "Common/Extensions - Comparable.swift",
        "Common/Extensions - Formatters.swift",
        "Common/Extensions - StandardTypes.swift",
        "Common/SBUnit.swift",
        "Common/SpellbookLog.swift",
        "Common/Utils.swift",
        "Common/ValueBuilder.swift",
        "Common/WildcardExpression.swift",
        "DictionaryParsing/DictionaryCodingKey.swift",
        "DictionaryParsing/DictionaryReader.swift",
        "DictionaryParsing/DictionaryWriter.swift",
        "Errors/CommonError.swift",
        "Errors/CustomErrorUpdating.swift",
        "Errors/Extensions - Error.swift",
        "Errors/Extensions - NSError.swift",
        "Errors/IOKitError.swift",
        "Filesystem & Bundle/Extensions - Bundle.swift",
        "Filesystem & Bundle/Extensions - FileManager.swift",
        "Filesystem & Bundle/FileEnumerator.swift",
        "Filesystem & Bundle/FileStore.swift",
        "Filesystem & Bundle/TemporaryDirectory.swift",
        "GUI/Extensions - CoreGraphics.swift",
        "GUI/RGBColor.swift",
        "Internal.swift",
        "Low Level/AuditToken.swift",
        "Low Level/BridgedCEnum.swift",
        "Low Level/MachTime.swift",
        "Low Level/POD+Swift.swift",
        "Low Level/Unsafe.swift",
        "Private/_ValueUpdateWrapping.swift",
        "System & Hardware/DeviceInfo.swift",
        "System & Hardware/Extensions - ProcessInfo.swift",
        "Threading & Concurrency/Atomic.swift",
        "Threading & Concurrency/BlockingQueue.swift",
        "Threading & Concurrency/ConcurrentBlockOperation.swift",
        "Threading & Concurrency/Extensions - DispatchQueue.swift",
        "Threading & Concurrency/Extensions - Locks.swift",
        "Threading & Concurrency/Extensions - Task.swift",
        "Threading & Concurrency/PosixLocks.swift",
        "Threading & Concurrency/Synchronized.swift",
        "Threading & Concurrency/SynchronizedObjC.swift",
        "Threading & Concurrency/SynchronousExecutor.swift",
        "Types & PropertyWrappers/Boxing.swift",
        "Types & PropertyWrappers/Closure.swift",
        "Types & PropertyWrappers/Refreshable.swift",
        "Types & PropertyWrappers/Resource (RAII).swift",
        "Types & PropertyWrappers/Types.swift",
        "ValueObserving/EventAsk.swift",
        "ValueObserving/EventNotify.swift",
        "ValueObserving/ValueObservable.swift",
        "ValueObserving/ValueObserving.swift",
        "ValueObserving/ValueStore.swift",
        "ValueObserving/ValueView.swift"
      ],
      "target_dependencies" : [
        "_SpellbookFoundationObjC"
      ],
      "type" : "library"
    },
    {
      "c99name" : "SpellbookBinaryParsing",
      "module_type" : "SwiftTarget",
      "name" : "SpellbookBinaryParsing",
      "path" : "Sources/SpellbookBinaryParsing",
      "product_memberships" : [
        "SpellbookBinaryParsing"
      ],
      "sources" : [
        "BinaryParsingError.swift",
        "BinaryReader.swift",
        "BinaryReaderInput.swift",
        "BinaryWriter.swift",
        "BinaryWriterOutput.swift"
      ],
      "target_dependencies" : [
        "SpellbookFoundation"
      ],
      "type" : "library"
    }
  ],
  "tools_version" : "5.9"
}
Done.