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 swift-tools-support-async, reference 0.14.1 (8fcd85), with Swift 6.0 for macOS (SPM) on 24 Jan 2025 13:01:34 UTC.

Swift 6 data race errors: 20

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

128 |             switch promise.state {
129 |             case .inProgress:
130 |                 return operation(value)
    |                        |- warning: capture of 'operation' with non-sendable type '(Value) -> LLBFuture<O>' (aka '(Value) -> EventLoopFuture<O>') in a `@Sendable` closure
    |                        `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
131 |             case .fulfilled:
132 |                 return self.eventLoop.makeFailedFuture(LLBCancellablePromiseError.promiseFulfilled)
/Users/admin/builder/spi-builder-workspace/Sources/TSFFutures/CancellablePromise.swift:132:24: warning: capture of 'self' with non-sendable type 'EventLoopFuture<Value>' in a `@Sendable` closure
130 |                 return operation(value)
131 |             case .fulfilled:
132 |                 return self.eventLoop.makeFailedFuture(LLBCancellablePromiseError.promiseFulfilled)
    |                        `- warning: capture of 'self' with non-sendable type 'EventLoopFuture<Value>' in a `@Sendable` closure
133 |             case .cancelled:
134 |                 return self.eventLoop.makeFailedFuture(LLBCancellablePromiseError.promiseCancelled)
/Users/admin/builder/spi-builder-workspace/Sources/TSFFutures/CancellablePromise.swift:146:24: warning: capture of 'operation' with non-sendable type '(Value) -> O' in a `@Sendable` closure
144 |             switch promise.state {
145 |             case .inProgress:
146 |                 return operation(value)
    |                        |- warning: capture of 'operation' with non-sendable type '(Value) -> O' in a `@Sendable` closure
    |                        `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
147 |             case .fulfilled:
148 |                 throw LLBCancellablePromiseError.promiseFulfilled
/Users/admin/builder/spi-builder-workspace/Sources/TSFFutures/FutureDeduplicator.swift:126:13: warning: capture of 'self' with non-sendable type 'LLBFutureDeduplicator<Key, Value>' in a `@Sendable` closure
 16 | ///
 17 | /// This cache coalesces requests and avoids re-obtaining values multiple times.
 18 | public class LLBFutureDeduplicator<Key: Hashable, Value> {
    |              `- note: generic class 'LLBFutureDeduplicator' does not conform to the 'Sendable' protocol
 19 |     /// The futures group.
 20 |     @usableFromInline
    :
124 |
125 |         resolver(key).map { result in
126 |             self.lock.withLockVoid {
    |             `- warning: capture of 'self' with non-sendable type 'LLBFutureDeduplicator<Key, Value>' in a `@Sendable` closure
127 |                 guard self.inFlightRequests[key]?.result.futureResult === future else {
128 |                     return
/Users/admin/builder/spi-builder-workspace/Sources/TSFFutures/FutureDeduplicator.swift:127:45: warning: capture of 'key' with non-sendable type 'Key' in a `@Sendable` closure
 16 | ///
 17 | /// This cache coalesces requests and avoids re-obtaining values multiple times.
 18 | public class LLBFutureDeduplicator<Key: Hashable, Value> {
    |                                    `- note: consider making generic parameter 'Key' conform to the 'Sendable' protocol
 19 |     /// The futures group.
 20 |     @usableFromInline
    :
125 |         resolver(key).map { result in
126 |             self.lock.withLockVoid {
127 |                 guard self.inFlightRequests[key]?.result.futureResult === future else {
    |                                             `- warning: capture of 'key' with non-sendable type 'Key' in a `@Sendable` closure
128 |                     return
129 |                 }
/Users/admin/builder/spi-builder-workspace/Sources/TSFFutures/FutureDeduplicator.swift:127:75: warning: capture of 'future' with non-sendable type 'LLBFuture<Value>' (aka 'EventLoopFuture<Value>') in a `@Sendable` closure
 16 | ///
 17 | /// This cache coalesces requests and avoids re-obtaining values multiple times.
 18 | public class LLBFutureDeduplicator<Key: Hashable, Value> {
    |                                                   `- note: consider making generic parameter 'Value' conform to the 'Sendable' protocol
 19 |     /// The futures group.
 20 |     @usableFromInline
    :
125 |         resolver(key).map { result in
126 |             self.lock.withLockVoid {
127 |                 guard self.inFlightRequests[key]?.result.futureResult === future else {
    |                                                                           `- warning: capture of 'future' with non-sendable type 'LLBFuture<Value>' (aka 'EventLoopFuture<Value>') in a `@Sendable` closure
128 |                     return
129 |                 }
/Users/admin/builder/spi-builder-workspace/Sources/TSFFutures/FutureDeduplicator.swift:127:23: warning: capture of 'self' with non-sendable type 'LLBFutureDeduplicator<Key, Value>' in an isolated closure; this is an error in the Swift 6 language mode
 16 | ///
 17 | /// This cache coalesces requests and avoids re-obtaining values multiple times.
 18 | public class LLBFutureDeduplicator<Key: Hashable, Value> {
    |              `- note: generic class 'LLBFutureDeduplicator' does not conform to the 'Sendable' protocol
 19 |     /// The futures group.
 20 |     @usableFromInline
    :
125 |         resolver(key).map { result in
126 |             self.lock.withLockVoid {
127 |                 guard self.inFlightRequests[key]?.result.futureResult === future else {
    |                       `- warning: capture of 'self' with non-sendable type 'LLBFutureDeduplicator<Key, Value>' in an isolated closure; this is an error in the Swift 6 language mode
128 |                     return
129 |                 }
/Users/admin/builder/spi-builder-workspace/Sources/TSFFutures/FutureDeduplicator.swift:127:45: warning: capture of 'key' with non-sendable type 'Key' in an isolated closure; this is an error in the Swift 6 language mode
 16 | ///
 17 | /// This cache coalesces requests and avoids re-obtaining values multiple times.
 18 | public class LLBFutureDeduplicator<Key: Hashable, Value> {
    |                                    `- note: consider making generic parameter 'Key' conform to the 'Sendable' protocol
 19 |     /// The futures group.
 20 |     @usableFromInline
    :
125 |         resolver(key).map { result in
126 |             self.lock.withLockVoid {
127 |                 guard self.inFlightRequests[key]?.result.futureResult === future else {
    |                                             `- warning: capture of 'key' with non-sendable type 'Key' in an isolated closure; this is an error in the Swift 6 language mode
128 |                     return
129 |                 }
/Users/admin/builder/spi-builder-workspace/Sources/TSFFutures/FutureDeduplicator.swift:127:75: warning: capture of 'future' with non-sendable type 'LLBFuture<Value>' (aka 'EventLoopFuture<Value>') in an isolated closure; this is an error in the Swift 6 language mode
 16 | ///
 17 | /// This cache coalesces requests and avoids re-obtaining values multiple times.
 18 | public class LLBFutureDeduplicator<Key: Hashable, Value> {
    |                                                   `- note: consider making generic parameter 'Value' conform to the 'Sendable' protocol
 19 |     /// The futures group.
 20 |     @usableFromInline
    :
125 |         resolver(key).map { result in
126 |             self.lock.withLockVoid {
127 |                 guard self.inFlightRequests[key]?.result.futureResult === future else {
    |                                                                           `- warning: capture of 'future' with non-sendable type 'LLBFuture<Value>' (aka 'EventLoopFuture<Value>') in an isolated closure; this is an error in the Swift 6 language mode
128 |                     return
129 |                 }
/Users/admin/builder/spi-builder-workspace/Sources/TSFFutures/FutureDeduplicator.swift:136:50: warning: capture of 'self' with non-sendable type 'LLBFutureDeduplicator<Key, Value>' in a `@Sendable` closure
 16 | ///
 17 | /// This cache coalesces requests and avoids re-obtaining values multiple times.
 18 | public class LLBFutureDeduplicator<Key: Hashable, Value> {
    |              `- note: generic class 'LLBFutureDeduplicator' does not conform to the 'Sendable' protocol
 19 |     /// The futures group.
 20 |     @usableFromInline
    :
134 |             return result
135 |         }.flatMapErrorThrowing { error in
136 |             let expires: DispatchTimeInterval? = self.expirationInterval(error)
    |                                                  `- warning: capture of 'self' with non-sendable type 'LLBFutureDeduplicator<Key, Value>' in a `@Sendable` closure
137 |             self.lock.withLockVoid {
138 |                 guard self.inFlightRequests[key]?.result.futureResult === future else {
/Users/admin/builder/spi-builder-workspace/Sources/TSFFutures/FutureDeduplicator.swift:138:45: warning: capture of 'key' with non-sendable type 'Key' in a `@Sendable` closure
 16 | ///
 17 | /// This cache coalesces requests and avoids re-obtaining values multiple times.
 18 | public class LLBFutureDeduplicator<Key: Hashable, Value> {
    |                                    `- note: consider making generic parameter 'Key' conform to the 'Sendable' protocol
 19 |     /// The futures group.
 20 |     @usableFromInline
    :
136 |             let expires: DispatchTimeInterval? = self.expirationInterval(error)
137 |             self.lock.withLockVoid {
138 |                 guard self.inFlightRequests[key]?.result.futureResult === future else {
    |                                             `- warning: capture of 'key' with non-sendable type 'Key' in a `@Sendable` closure
139 |                     return
140 |                 }
/Users/admin/builder/spi-builder-workspace/Sources/TSFFutures/FutureDeduplicator.swift:138:75: warning: capture of 'future' with non-sendable type 'LLBFuture<Value>' (aka 'EventLoopFuture<Value>') in a `@Sendable` closure
 16 | ///
 17 | /// This cache coalesces requests and avoids re-obtaining values multiple times.
 18 | public class LLBFutureDeduplicator<Key: Hashable, Value> {
    |                                                   `- note: consider making generic parameter 'Value' conform to the 'Sendable' protocol
 19 |     /// The futures group.
 20 |     @usableFromInline
    :
136 |             let expires: DispatchTimeInterval? = self.expirationInterval(error)
137 |             self.lock.withLockVoid {
138 |                 guard self.inFlightRequests[key]?.result.futureResult === future else {
    |                                                                           `- warning: capture of 'future' with non-sendable type 'LLBFuture<Value>' (aka 'EventLoopFuture<Value>') in a `@Sendable` closure
139 |                     return
140 |                 }
/Users/admin/builder/spi-builder-workspace/Sources/TSFFutures/FutureDeduplicator.swift:142:51: warning: capture of 'promise' with non-sendable type 'LLBPromise<Value>' (aka 'EventLoopPromise<Value>') in a `@Sendable` closure
 16 | ///
 17 | /// This cache coalesces requests and avoids re-obtaining values multiple times.
 18 | public class LLBFutureDeduplicator<Key: Hashable, Value> {
    |                                                   `- note: consider making generic parameter 'Value' conform to the 'Sendable' protocol
 19 |     /// The futures group.
 20 |     @usableFromInline
    :
140 |                 }
141 |                 if let interval = expires {
142 |                     self.inFlightRequests[key] = (promise, now + interval)
    |                                                   `- warning: capture of 'promise' with non-sendable type 'LLBPromise<Value>' (aka 'EventLoopPromise<Value>') in a `@Sendable` closure
143 |                 } else {
144 |                     self.inFlightRequests[key] = nil
/Users/admin/builder/spi-builder-workspace/Sources/TSFFutures/FutureDeduplicator.swift:138:23: warning: capture of 'self' with non-sendable type 'LLBFutureDeduplicator<Key, Value>' in an isolated closure; this is an error in the Swift 6 language mode
 16 | ///
 17 | /// This cache coalesces requests and avoids re-obtaining values multiple times.
 18 | public class LLBFutureDeduplicator<Key: Hashable, Value> {
    |              `- note: generic class 'LLBFutureDeduplicator' does not conform to the 'Sendable' protocol
 19 |     /// The futures group.
 20 |     @usableFromInline
    :
136 |             let expires: DispatchTimeInterval? = self.expirationInterval(error)
137 |             self.lock.withLockVoid {
138 |                 guard self.inFlightRequests[key]?.result.futureResult === future else {
    |                       `- warning: capture of 'self' with non-sendable type 'LLBFutureDeduplicator<Key, Value>' in an isolated closure; this is an error in the Swift 6 language mode
139 |                     return
140 |                 }
/Users/admin/builder/spi-builder-workspace/Sources/TSFFutures/FutureDeduplicator.swift:138:45: warning: capture of 'key' with non-sendable type 'Key' in an isolated closure; this is an error in the Swift 6 language mode
 16 | ///
 17 | /// This cache coalesces requests and avoids re-obtaining values multiple times.
 18 | public class LLBFutureDeduplicator<Key: Hashable, Value> {
    |                                    `- note: consider making generic parameter 'Key' conform to the 'Sendable' protocol
 19 |     /// The futures group.
 20 |     @usableFromInline
    :
136 |             let expires: DispatchTimeInterval? = self.expirationInterval(error)
137 |             self.lock.withLockVoid {
138 |                 guard self.inFlightRequests[key]?.result.futureResult === future else {
    |                                             `- warning: capture of 'key' with non-sendable type 'Key' in an isolated closure; this is an error in the Swift 6 language mode
139 |                     return
140 |                 }
/Users/admin/builder/spi-builder-workspace/Sources/TSFFutures/FutureDeduplicator.swift:138:75: warning: capture of 'future' with non-sendable type 'LLBFuture<Value>' (aka 'EventLoopFuture<Value>') in an isolated closure; this is an error in the Swift 6 language mode
 16 | ///
 17 | /// This cache coalesces requests and avoids re-obtaining values multiple times.
 18 | public class LLBFutureDeduplicator<Key: Hashable, Value> {
    |                                                   `- note: consider making generic parameter 'Value' conform to the 'Sendable' protocol
 19 |     /// The futures group.
 20 |     @usableFromInline
    :
136 |             let expires: DispatchTimeInterval? = self.expirationInterval(error)
137 |             self.lock.withLockVoid {
138 |                 guard self.inFlightRequests[key]?.result.futureResult === future else {
    |                                                                           `- warning: capture of 'future' with non-sendable type 'LLBFuture<Value>' (aka 'EventLoopFuture<Value>') in an isolated closure; this is an error in the Swift 6 language mode
139 |                     return
140 |                 }
/Users/admin/builder/spi-builder-workspace/Sources/TSFFutures/FutureDeduplicator.swift:142:51: warning: capture of 'promise' with non-sendable type 'LLBPromise<Value>' (aka 'EventLoopPromise<Value>') in an isolated closure; this is an error in the Swift 6 language mode
 16 | ///
 17 | /// This cache coalesces requests and avoids re-obtaining values multiple times.
 18 | public class LLBFutureDeduplicator<Key: Hashable, Value> {
    |                                                   `- note: consider making generic parameter 'Value' conform to the 'Sendable' protocol
 19 |     /// The futures group.
 20 |     @usableFromInline
    :
140 |                 }
141 |                 if let interval = expires {
142 |                     self.inFlightRequests[key] = (promise, now + interval)
    |                                                   `- warning: capture of 'promise' with non-sendable type 'LLBPromise<Value>' (aka 'EventLoopPromise<Value>') in an isolated closure; this is an error in the Swift 6 language mode
143 |                 } else {
144 |                     self.inFlightRequests[key] = nil
/Users/admin/builder/spi-builder-workspace/Sources/TSFFutures/FutureDeduplicator.swift:200:13: warning: capture of 'self' with non-sendable type 'LLBFutureDeduplicator<Key, Value>' in a `@Sendable` closure
 16 | ///
 17 | /// This cache coalesces requests and avoids re-obtaining values multiple times.
 18 | public class LLBFutureDeduplicator<Key: Hashable, Value> {
    |              `- note: generic class 'LLBFutureDeduplicator' does not conform to the 'Sendable' protocol
 19 |     /// The futures group.
 20 |     @usableFromInline
    :
198 |
199 |         resolver(created).map { results in
200 |             self.lock.withLockVoid {
    |             `- warning: capture of 'self' with non-sendable type 'LLBFutureDeduplicator<Key, Value>' in a `@Sendable` closure
201 |                 for idx in 0..<created.count {
202 |                     let key = created[idx]
/Users/admin/builder/spi-builder-workspace/Sources/TSFFutures/FutureDeduplicator.swift:201:32: warning: capture of 'created' with non-sendable type '[Key]' in a `@Sendable` closure
 16 | ///
 17 | /// This cache coalesces requests and avoids re-obtaining values multiple times.
 18 | public class LLBFutureDeduplicator<Key: Hashable, Value> {
    |                                    `- note: consider making generic parameter 'Key' conform to the 'Sendable' protocol
 19 |     /// The futures group.
 20 |     @usableFromInline
    :
199 |         resolver(created).map { results in
200 |             self.lock.withLockVoid {
201 |                 for idx in 0..<created.count {
    |                                `- warning: capture of 'created' with non-sendable type '[Key]' in a `@Sendable` closure
202 |                     let key = created[idx]
203 |                     let promise = promises[idx]
/Users/admin/builder/spi-builder-workspace/Sources/TSFFutures/FutureDeduplicator.swift:203:35: warning: capture of 'promises' with non-sendable type '[LLBPromise<Value>]' (aka 'Array<EventLoopPromise<Value>>') in a `@Sendable` closure
 16 | ///
 17 | /// This cache coalesces requests and avoids re-obtaining values multiple times.
 18 | public class LLBFutureDeduplicator<Key: Hashable, Value> {
    |                                                   `- note: consider making generic parameter 'Value' conform to the 'Sendable' protocol
 19 |     /// The futures group.
 20 |     @usableFromInline
    :
201 |                 for idx in 0..<created.count {
202 |                     let key = created[idx]
203 |                     let promise = promises[idx]
    |                                   `- warning: capture of 'promises' with non-sendable type '[LLBPromise<Value>]' (aka 'Array<EventLoopPromise<Value>>') in a `@Sendable` closure
204 |                     guard self.inFlightRequests[key]?.result.futureResult === promise.futureResult else {
205 |                         continue
/Users/admin/builder/spi-builder-workspace/Sources/TSFFutures/FutureDeduplicator.swift:201:32: warning: capture of 'created' with non-sendable type '[Key]' in an isolated closure; this is an error in the Swift 6 language mode
 16 | ///
 17 | /// This cache coalesces requests and avoids re-obtaining values multiple times.
 18 | public class LLBFutureDeduplicator<Key: Hashable, Value> {
    |                                    `- note: consider making generic parameter 'Key' conform to the 'Sendable' protocol
 19 |     /// The futures group.
 20 |     @usableFromInline
    :
199 |         resolver(created).map { results in
200 |             self.lock.withLockVoid {
201 |                 for idx in 0..<created.count {
    |                                `- warning: capture of 'created' with non-sendable type '[Key]' in an isolated closure; this is an error in the Swift 6 language mode
202 |                     let key = created[idx]
203 |                     let promise = promises[idx]
/Users/admin/builder/spi-builder-workspace/Sources/TSFFutures/FutureDeduplicator.swift:203:35: warning: capture of 'promises' with non-sendable type '[LLBPromise<Value>]' (aka 'Array<EventLoopPromise<Value>>') in an isolated closure; this is an error in the Swift 6 language mode
 16 | ///
 17 | /// This cache coalesces requests and avoids re-obtaining values multiple times.
 18 | public class LLBFutureDeduplicator<Key: Hashable, Value> {
    |                                                   `- note: consider making generic parameter 'Value' conform to the 'Sendable' protocol
 19 |     /// The futures group.
 20 |     @usableFromInline
    :
201 |                 for idx in 0..<created.count {
202 |                     let key = created[idx]
203 |                     let promise = promises[idx]
    |                                   `- warning: capture of 'promises' with non-sendable type '[LLBPromise<Value>]' (aka 'Array<EventLoopPromise<Value>>') in an isolated closure; this is an error in the Swift 6 language mode
204 |                     guard self.inFlightRequests[key]?.result.futureResult === promise.futureResult else {
205 |                         continue
/Users/admin/builder/spi-builder-workspace/Sources/TSFFutures/FutureDeduplicator.swift:204:27: warning: capture of 'self' with non-sendable type 'LLBFutureDeduplicator<Key, Value>' in an isolated closure; this is an error in the Swift 6 language mode
 16 | ///
 17 | /// This cache coalesces requests and avoids re-obtaining values multiple times.
 18 | public class LLBFutureDeduplicator<Key: Hashable, Value> {
    |              `- note: generic class 'LLBFutureDeduplicator' does not conform to the 'Sendable' protocol
 19 |     /// The futures group.
 20 |     @usableFromInline
    :
202 |                     let key = created[idx]
203 |                     let promise = promises[idx]
204 |                     guard self.inFlightRequests[key]?.result.futureResult === promise.futureResult else {
    |                           `- warning: capture of 'self' with non-sendable type 'LLBFutureDeduplicator<Key, Value>' in an isolated closure; this is an error in the Swift 6 language mode
205 |                         continue
206 |                     }
/Users/admin/builder/spi-builder-workspace/Sources/TSFFutures/FutureDeduplicator.swift:219:50: warning: capture of 'self' with non-sendable type 'LLBFutureDeduplicator<Key, Value>' in a `@Sendable` closure
 16 | ///
 17 | /// This cache coalesces requests and avoids re-obtaining values multiple times.
 18 | public class LLBFutureDeduplicator<Key: Hashable, Value> {
    |              `- note: generic class 'LLBFutureDeduplicator' does not conform to the 'Sendable' protocol
 19 |     /// The futures group.
 20 |     @usableFromInline
    :
217 |         }.whenFailure { error in
218 |             let now = DispatchTime.now()
219 |             let expires: DispatchTimeInterval? = self.expirationInterval(error)
    |                                                  `- warning: capture of 'self' with non-sendable type 'LLBFutureDeduplicator<Key, Value>' in a `@Sendable` closure
220 |             self.lock.withLockVoid {
221 |                 for (key, promise) in zip(created, promises) {
/Users/admin/builder/spi-builder-workspace/Sources/TSFFutures/FutureDeduplicator.swift:221:43: warning: capture of 'created' with non-sendable type '[Key]' in a `@Sendable` closure
 16 | ///
 17 | /// This cache coalesces requests and avoids re-obtaining values multiple times.
 18 | public class LLBFutureDeduplicator<Key: Hashable, Value> {
    |                                    `- note: consider making generic parameter 'Key' conform to the 'Sendable' protocol
 19 |     /// The futures group.
 20 |     @usableFromInline
    :
219 |             let expires: DispatchTimeInterval? = self.expirationInterval(error)
220 |             self.lock.withLockVoid {
221 |                 for (key, promise) in zip(created, promises) {
    |                                           `- warning: capture of 'created' with non-sendable type '[Key]' in a `@Sendable` closure
222 |                     guard self.inFlightRequests[key]?.result.futureResult === promise.futureResult else {
223 |                         continue
/Users/admin/builder/spi-builder-workspace/Sources/TSFFutures/FutureDeduplicator.swift:221:52: warning: capture of 'promises' with non-sendable type '[LLBPromise<Value>]' (aka 'Array<EventLoopPromise<Value>>') in a `@Sendable` closure
 16 | ///
 17 | /// This cache coalesces requests and avoids re-obtaining values multiple times.
 18 | public class LLBFutureDeduplicator<Key: Hashable, Value> {
    |                                                   `- note: consider making generic parameter 'Value' conform to the 'Sendable' protocol
 19 |     /// The futures group.
 20 |     @usableFromInline
    :
219 |             let expires: DispatchTimeInterval? = self.expirationInterval(error)
220 |             self.lock.withLockVoid {
221 |                 for (key, promise) in zip(created, promises) {
    |                                                    `- warning: capture of 'promises' with non-sendable type '[LLBPromise<Value>]' (aka 'Array<EventLoopPromise<Value>>') in a `@Sendable` closure
222 |                     guard self.inFlightRequests[key]?.result.futureResult === promise.futureResult else {
223 |                         continue
/Users/admin/builder/spi-builder-workspace/Sources/TSFFutures/FutureDeduplicator.swift:221:43: warning: capture of 'created' with non-sendable type '[Key]' in an isolated closure; this is an error in the Swift 6 language mode
 16 | ///
 17 | /// This cache coalesces requests and avoids re-obtaining values multiple times.
 18 | public class LLBFutureDeduplicator<Key: Hashable, Value> {
    |                                    `- note: consider making generic parameter 'Key' conform to the 'Sendable' protocol
 19 |     /// The futures group.
 20 |     @usableFromInline
    :
219 |             let expires: DispatchTimeInterval? = self.expirationInterval(error)
220 |             self.lock.withLockVoid {
221 |                 for (key, promise) in zip(created, promises) {
    |                                           `- warning: capture of 'created' with non-sendable type '[Key]' in an isolated closure; this is an error in the Swift 6 language mode
222 |                     guard self.inFlightRequests[key]?.result.futureResult === promise.futureResult else {
223 |                         continue
/Users/admin/builder/spi-builder-workspace/Sources/TSFFutures/FutureDeduplicator.swift:221:52: warning: capture of 'promises' with non-sendable type '[LLBPromise<Value>]' (aka 'Array<EventLoopPromise<Value>>') in an isolated closure; this is an error in the Swift 6 language mode
 16 | ///
 17 | /// This cache coalesces requests and avoids re-obtaining values multiple times.
 18 | public class LLBFutureDeduplicator<Key: Hashable, Value> {
    |                                                   `- note: consider making generic parameter 'Value' conform to the 'Sendable' protocol
 19 |     /// The futures group.
 20 |     @usableFromInline
    :
219 |             let expires: DispatchTimeInterval? = self.expirationInterval(error)
220 |             self.lock.withLockVoid {
221 |                 for (key, promise) in zip(created, promises) {
    |                                                    `- warning: capture of 'promises' with non-sendable type '[LLBPromise<Value>]' (aka 'Array<EventLoopPromise<Value>>') in an isolated closure; this is an error in the Swift 6 language mode
222 |                     guard self.inFlightRequests[key]?.result.futureResult === promise.futureResult else {
223 |                         continue
/Users/admin/builder/spi-builder-workspace/Sources/TSFFutures/FutureDeduplicator.swift:222:27: warning: capture of 'self' with non-sendable type 'LLBFutureDeduplicator<Key, Value>' in an isolated closure; this is an error in the Swift 6 language mode
 16 | ///
 17 | /// This cache coalesces requests and avoids re-obtaining values multiple times.
 18 | public class LLBFutureDeduplicator<Key: Hashable, Value> {
    |              `- note: generic class 'LLBFutureDeduplicator' does not conform to the 'Sendable' protocol
 19 |     /// The futures group.
 20 |     @usableFromInline
    :
220 |             self.lock.withLockVoid {
221 |                 for (key, promise) in zip(created, promises) {
222 |                     guard self.inFlightRequests[key]?.result.futureResult === promise.futureResult else {
    |                           `- warning: capture of 'self' with non-sendable type 'LLBFutureDeduplicator<Key, Value>' in an isolated closure; this is an error in the Swift 6 language mode
223 |                         continue
224 |                     }
/Users/admin/builder/spi-builder-workspace/Sources/TSFFutures/FutureOperationQueue.swift:29:13: warning: stored property 'workQueue' of 'Sendable'-conforming struct 'State' has non-sendable type 'CircularBuffer<LLBFutureOperationQueue.WorkItem>'; this is an error in the Swift 6 language mode
 27 |
 28 |         /// The queue of operations to run.
 29 |         var workQueue = NIO.CircularBuffer<WorkItem>()
    |             `- warning: stored property 'workQueue' of 'Sendable'-conforming struct 'State' has non-sendable type 'CircularBuffer<LLBFutureOperationQueue.WorkItem>'; this is an error in the Swift 6 language mode
 30 |     }
 31 |
 32 |     struct WorkItem {
    |            `- note: consider making struct 'WorkItem' conform to the 'Sendable' protocol
 33 |         let loop: LLBFuturesDispatchLoop
 34 |         let share: Int
/Users/admin/builder/spi-builder-workspace/Sources/TSFFutures/FutureOperationQueue.swift:146:17: warning: capture of 'run' with non-sendable type '() -> Void' in a `@Sendable` closure
144 |             loop.execute {
145 |                 notify?.succeed(())
146 |                 run()
    |                 |- warning: capture of 'run' with non-sendable type '() -> Void' in a `@Sendable` closure
    |                 `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
147 |             }
148 |         }
[432/432] Compiling TSFFutures OrderManager.swift
/Users/admin/builder/spi-builder-workspace/Sources/TSFFutures/OrderManager.swift:100:17: warning: capture of 'callback' with non-sendable type '() throws -> T' in a `@Sendable` closure
 98 |
 99 |         let future = promise.futureResult.flatMapThrowing {
100 |             try callback()
    |                 |- warning: capture of 'callback' with non-sendable type '() throws -> T' in a `@Sendable` closure
    |                 `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
101 |         }
102 |
/Users/admin/builder/spi-builder-workspace/Sources/TSFFutures/OrderManager.swift:104:13: warning: capture of 'self' with non-sendable type 'LLBOrderManager' in a `@Sendable` closure
 39 | ///
 40 |
 41 | public class LLBOrderManager {
    |              `- note: class 'LLBOrderManager' does not conform to the 'Sendable' protocol
 42 |
 43 |     // A safety timer, not to be exceeded.
    :
102 |
103 |         future.whenComplete { _ in
104 |             self.lock.withLockVoid {
    |             `- warning: capture of 'self' with non-sendable type 'LLBOrderManager' in a `@Sendable` closure
105 |                 if n == self.nextToRun {
106 |                     self.nextToRun += 1
/Users/admin/builder/spi-builder-workspace/Sources/TSFFutures/OrderManager.swift:105:25: warning: capture of 'self' with non-sendable type 'LLBOrderManager' in an isolated closure; this is an error in the Swift 6 language mode
 39 | ///
 40 |
 41 | public class LLBOrderManager {
    |              `- note: class 'LLBOrderManager' does not conform to the 'Sendable' protocol
 42 |
 43 |     // A safety timer, not to be exceeded.
    :
103 |         future.whenComplete { _ in
104 |             self.lock.withLockVoid {
105 |                 if n == self.nextToRun {
    |                         `- warning: capture of 'self' with non-sendable type 'LLBOrderManager' in an isolated closure; this is an error in the Swift 6 language mode
106 |                     self.nextToRun += 1
107 |                 }
/Users/admin/builder/spi-builder-workspace/Sources/TSFFutures/OrderManager.swift:141:30: warning: capture of 'self' with non-sendable type 'LLBOrderManager?' in a `@Sendable` closure
 39 | ///
 40 |
 41 | public class LLBOrderManager {
    |              `- note: class 'LLBOrderManager' does not conform to the 'Sendable' protocol
 42 |
 43 |     // A safety timer, not to be exceeded.
    :
139 |
140 |         return EventLoopFuture.whenAllSucceed(futures, on: eventLoop).map { [weak self] _ in
141 |             guard let self = self else { return }
    |                              `- warning: capture of 'self' with non-sendable type 'LLBOrderManager?' in a `@Sendable` closure
142 |             lock.withLockVoid {
143 |                 assert(self.waitlist.isEmpty)
[433/437] Compiling TSFUtility Serializable.swift
[434/437] Compiling TSFUtility FastData.swift
[435/437] Compiling TSFUtility ByteBuffer.swift
[436/437] Compiling TSFUtility FutureFileSystem.swift
[437/437] Emitting module TSFUtility
[438/447] Compiling TSFCAS Object.swift
[439/447] Compiling TSFCAS cas_object.pb.swift
[440/447] Compiling TSFCAS InMemoryCASDatabase.swift
[441/447] Compiling TSFCAS Blake3DataID.swift
[442/447] Compiling TSFCAS DatabaseSpec.swift
/Users/admin/builder/spi-builder-workspace/Sources/TSFCAS/DatabaseSpec.swift:35:24: warning: static property 'registeredSchemes' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
33 | public struct LLBCASDatabaseSpec {
34 |     /// The map of registered schemes.
35 |     private static var registeredSchemes: [String: LLBCASDatabaseScheme.Type] = [
   |                        |- warning: static property 'registeredSchemes' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
   |                        |- note: convert 'registeredSchemes' to a 'let' constant to make 'Sendable' shared state immutable
   |                        |- note: annotate 'registeredSchemes' 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 |         "mem": LLBInMemoryCASDatabaseScheme.self,
37 |         "file": LLBFileBackedCASDatabaseScheme.self,
[443/447] Compiling TSFCAS data_id.pb.swift
[444/447] Compiling TSFCAS Database.swift
/Users/admin/builder/spi-builder-workspace/Sources/TSFCAS/Database.swift:150:83: warning: type 'Any' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
148 | public extension Context {
149 |     static func with(_ db: LLBCASDatabase) -> Context {
150 |         return Context(dictionaryLiteral: (ObjectIdentifier(LLBCASDatabase.self), db as Any))
    |                                                                                   `- warning: type 'Any' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
151 |     }
152 |
[445/447] Compiling TSFCAS DataID.swift
[446/447] Compiling TSFCAS FileBackedCASDatabase.swift
[447/447] Emitting module TSFCAS
/Users/admin/builder/spi-builder-workspace/Sources/TSFCAS/DatabaseSpec.swift:35:24: warning: static property 'registeredSchemes' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
33 | public struct LLBCASDatabaseSpec {
34 |     /// The map of registered schemes.
35 |     private static var registeredSchemes: [String: LLBCASDatabaseScheme.Type] = [
   |                        |- warning: static property 'registeredSchemes' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
   |                        |- note: convert 'registeredSchemes' to a 'let' constant to make 'Sendable' shared state immutable
   |                        |- note: annotate 'registeredSchemes' 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 |         "mem": LLBInMemoryCASDatabaseScheme.self,
37 |         "file": LLBFileBackedCASDatabaseScheme.self,
[448/466] Compiling TSFCASFileTree file_tree.pb.swift
/Users/admin/builder/spi-builder-workspace/Sources/TSFCASFileTree/Generated/CASFileTreeProtocol/file_tree.pb.swift:77:21: warning: static property 'allCases' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
 75 | extension LLBFileType: CaseIterable {
 76 |   // The compiler won't synthesize support with the UNRECOGNIZED case.
 77 |   public static var allCases: [LLBFileType] = [
    |                     |- warning: static property 'allCases' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
    |                     |- note: convert 'allCases' to a 'let' constant to make 'Sendable' shared state immutable
    |                     |- note: annotate 'allCases' 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
 78 |     .plainFile,
 79 |     .executable,
/Users/admin/builder/spi-builder-workspace/Sources/TSFCASFileTree/Generated/CASFileTreeProtocol/file_tree.pb.swift:118:21: warning: static property 'allCases' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
116 | extension LLBFileDataCompressionMethod: CaseIterable {
117 |   // The compiler won't synthesize support with the UNRECOGNIZED case.
118 |   public static var allCases: [LLBFileDataCompressionMethod] = [
    |                     |- warning: static property 'allCases' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
    |                     |- note: convert 'allCases' to a 'let' constant to make 'Sendable' shared state immutable
    |                     |- note: annotate 'allCases' 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
119 |     .none,
120 |   ]
[449/466] Compiling TSFCASFileTree ConcurrentFilesystemScanner.swift
/Users/admin/builder/spi-builder-workspace/Sources/TSFCASFileTree/Generated/CASFileTreeProtocol/file_tree.pb.swift:77:21: warning: static property 'allCases' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
 75 | extension LLBFileType: CaseIterable {
 76 |   // The compiler won't synthesize support with the UNRECOGNIZED case.
 77 |   public static var allCases: [LLBFileType] = [
    |                     |- warning: static property 'allCases' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
    |                     |- note: convert 'allCases' to a 'let' constant to make 'Sendable' shared state immutable
    |                     |- note: annotate 'allCases' 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
 78 |     .plainFile,
 79 |     .executable,
/Users/admin/builder/spi-builder-workspace/Sources/TSFCASFileTree/Generated/CASFileTreeProtocol/file_tree.pb.swift:118:21: warning: static property 'allCases' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
116 | extension LLBFileDataCompressionMethod: CaseIterable {
117 |   // The compiler won't synthesize support with the UNRECOGNIZED case.
118 |   public static var allCases: [LLBFileDataCompressionMethod] = [
    |                     |- warning: static property 'allCases' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
    |                     |- note: convert 'allCases' to a 'let' constant to make 'Sendable' shared state immutable
    |                     |- note: annotate 'allCases' 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
119 |     .none,
120 |   ]
[450/467] Compiling TSFCASFileTree TSCCASFileSystem.swift
/Users/admin/builder/spi-builder-workspace/Sources/TSFCASFileTree/TSCCASFileSystem.swift:19:9: warning: stored property 'rootTree' of 'Sendable'-conforming class 'TSCCASFileSystem' has non-sendable type 'LLBCASFileTree'; this is an error in the Swift 6 language mode
 17 | public final class TSCCASFileSystem: FileSystem {
 18 |
 19 |     let rootTree: LLBCASFileTree
    |         `- warning: stored property 'rootTree' of 'Sendable'-conforming class 'TSCCASFileSystem' has non-sendable type 'LLBCASFileTree'; this is an error in the Swift 6 language mode
 20 |     let db: LLBCASDatabase
 21 |     let client: LLBCASFSClient
/Users/admin/builder/spi-builder-workspace/Sources/TSFCASFileTree/FileTree.swift:47:20: note: class 'LLBCASFileTree' does not conform to the 'Sendable' protocol
 45 | /// rearrange this implementation to support higher-performance derivative
 46 | /// operations (for example, tree union).
 47 | public final class LLBCASFileTree {
    |                    `- note: class 'LLBCASFileTree' does not conform to the 'Sendable' protocol
 48 |     /// The id of this tree.
 49 |     //
/Users/admin/builder/spi-builder-workspace/Sources/TSFCASFileTree/TSCCASFileSystem.swift:21:9: warning: stored property 'client' of 'Sendable'-conforming class 'TSCCASFileSystem' has non-sendable type 'LLBCASFSClient'; this is an error in the Swift 6 language mode
 19 |     let rootTree: LLBCASFileTree
 20 |     let db: LLBCASDatabase
 21 |     let client: LLBCASFSClient
    |         `- warning: stored property 'client' of 'Sendable'-conforming class 'TSCCASFileSystem' has non-sendable type 'LLBCASFSClient'; this is an error in the Swift 6 language mode
 22 |     let ctx: Context
 23 |
/Users/admin/builder/spi-builder-workspace/Sources/TSFCASFileTree/CASFSClient.swift:18:15: note: consider making struct 'LLBCASFSClient' conform to the 'Sendable' protocol
 16 |
 17 | /// A main API struct
 18 | public struct LLBCASFSClient {
    |               `- note: consider making struct 'LLBCASFSClient' conform to the 'Sendable' protocol
 19 |     public let db: LLBCASDatabase
 20 |
/Users/admin/builder/spi-builder-workspace/Sources/TSFCASFileTree/TSCCASFileSystem.swift:55:76: warning: 'init(_:)' is deprecated: use throwing variant instead
 53 |         if result.info.type == .symlink, isDirectory(path) {
 54 |             let symlinkContents = try readFileContents(path).cString
 55 |             return try getDirectoryContents(path.parentDirectory.appending(RelativePath(symlinkContents)))
    |                                                                            `- warning: 'init(_:)' is deprecated: use throwing variant instead
 56 |         }
 57 |
/Users/admin/builder/spi-builder-workspace/Sources/TSFCASFileTree/TSCCASFileSystem.swift:75:63: warning: 'init(_:)' is deprecated: use throwing variant instead
 73 |                 return false
 74 |             }
 75 |             return isDirectory(path.parentDirectory.appending(RelativePath(symlinkContents)))
    |                                                               `- warning: 'init(_:)' is deprecated: use throwing variant instead
 76 |         }
 77 |
[451/467] Emitting module TSFCASFileTree
/Users/admin/builder/spi-builder-workspace/Sources/TSFCASFileTree/Context.swift:35:24: warning: static property 'fileTreeExportStorageBatcherKey' is not concurrency-safe because non-'Sendable' type 'ContextKey' may have shared mutable state; this is an error in the Swift 6 language mode
 9 | import TSCUtility
10 |
11 | private final class ContextKey {}
   |                     `- note: class 'ContextKey' does not conform to the 'Sendable' protocol
12 |
13 | /// Support storing and retrieving file tree import options from a context
   :
33 | /// Support storing and retrieving file tree export storage batcher from a context
34 | public extension Context {
35 |     private static let fileTreeExportStorageBatcherKey = ContextKey()
   |                        |- warning: static property 'fileTreeExportStorageBatcherKey' is not concurrency-safe because non-'Sendable' type 'ContextKey' may have shared mutable state; this is an error in the Swift 6 language mode
   |                        |- note: annotate 'fileTreeExportStorageBatcherKey' 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 |
37 |     var fileTreeExportStorageBatcher: LLBBatchingFutureOperationQueue? {
/Users/admin/builder/spi-builder-workspace/Sources/TSFCASFileTree/Generated/CASFileTreeProtocol/file_tree.pb.swift:77:21: warning: static property 'allCases' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
 75 | extension LLBFileType: CaseIterable {
 76 |   // The compiler won't synthesize support with the UNRECOGNIZED case.
 77 |   public static var allCases: [LLBFileType] = [
    |                     |- warning: static property 'allCases' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
    |                     |- note: convert 'allCases' to a 'let' constant to make 'Sendable' shared state immutable
    |                     |- note: annotate 'allCases' 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
 78 |     .plainFile,
 79 |     .executable,
/Users/admin/builder/spi-builder-workspace/Sources/TSFCASFileTree/Generated/CASFileTreeProtocol/file_tree.pb.swift:118:21: warning: static property 'allCases' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
116 | extension LLBFileDataCompressionMethod: CaseIterable {
117 |   // The compiler won't synthesize support with the UNRECOGNIZED case.
118 |   public static var allCases: [LLBFileDataCompressionMethod] = [
    |                     |- warning: static property 'allCases' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
    |                     |- note: convert 'allCases' to a 'let' constant to make 'Sendable' shared state immutable
    |                     |- note: annotate 'allCases' 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
119 |     .none,
120 |   ]
/Users/admin/builder/spi-builder-workspace/Sources/TSFCASFileTree/TSCCASFileSystem.swift:19:9: warning: stored property 'rootTree' of 'Sendable'-conforming class 'TSCCASFileSystem' has non-sendable type 'LLBCASFileTree'; this is an error in the Swift 6 language mode
 17 | public final class TSCCASFileSystem: FileSystem {
 18 |
 19 |     let rootTree: LLBCASFileTree
    |         `- warning: stored property 'rootTree' of 'Sendable'-conforming class 'TSCCASFileSystem' has non-sendable type 'LLBCASFileTree'; this is an error in the Swift 6 language mode
 20 |     let db: LLBCASDatabase
 21 |     let client: LLBCASFSClient
/Users/admin/builder/spi-builder-workspace/Sources/TSFCASFileTree/FileTree.swift:47:20: note: class 'LLBCASFileTree' does not conform to the 'Sendable' protocol
 45 | /// rearrange this implementation to support higher-performance derivative
 46 | /// operations (for example, tree union).
 47 | public final class LLBCASFileTree {
    |                    `- note: class 'LLBCASFileTree' does not conform to the 'Sendable' protocol
 48 |     /// The id of this tree.
 49 |     //
/Users/admin/builder/spi-builder-workspace/Sources/TSFCASFileTree/TSCCASFileSystem.swift:21:9: warning: stored property 'client' of 'Sendable'-conforming class 'TSCCASFileSystem' has non-sendable type 'LLBCASFSClient'; this is an error in the Swift 6 language mode
 19 |     let rootTree: LLBCASFileTree
 20 |     let db: LLBCASDatabase
 21 |     let client: LLBCASFSClient
    |         `- warning: stored property 'client' of 'Sendable'-conforming class 'TSCCASFileSystem' has non-sendable type 'LLBCASFSClient'; this is an error in the Swift 6 language mode
 22 |     let ctx: Context
 23 |
/Users/admin/builder/spi-builder-workspace/Sources/TSFCASFileTree/CASFSClient.swift:18:15: note: consider making struct 'LLBCASFSClient' conform to the 'Sendable' protocol
 16 |
 17 | /// A main API struct
 18 | public struct LLBCASFSClient {
    |               `- note: consider making struct 'LLBCASFSClient' conform to the 'Sendable' protocol
 19 |     public let db: LLBCASDatabase
 20 |
[452/467] Compiling TSFCASFileTree FileSegmenter.swift
[453/467] Compiling TSFCASFileTree FileTreeParser.swift
[454/467] Compiling TSFCASFileTree DeclFileTree.swift
/Users/admin/builder/spi-builder-workspace/Sources/TSFCASFileTree/DeclFileTree.swift:52:81: warning: capture of 'self' with non-sendable type 'LLBCASFSClient' in a `@Sendable` closure
 50 |         switch declTree {
 51 |             case .directory:
 52 |                 return storeDir(declTree, ctx).map { LLBCASFSNode(tree: $0, db: self.db) }
    |                                                                                 `- warning: capture of 'self' with non-sendable type 'LLBCASFSClient' in a `@Sendable` closure
 53 |             case .file:
 54 |                 return storeFile(declTree, ctx).map { LLBCASFSNode(blob: $0, db: self.db) }
/Users/admin/builder/spi-builder-workspace/Sources/TSFCASFileTree/CASFSClient.swift:18:15: note: consider making struct 'LLBCASFSClient' conform to the 'Sendable' protocol
 16 |
 17 | /// A main API struct
 18 | public struct LLBCASFSClient {
    |               `- note: consider making struct 'LLBCASFSClient' conform to the 'Sendable' protocol
 19 |     public let db: LLBCASDatabase
 20 |
/Users/admin/builder/spi-builder-workspace/Sources/TSFCASFileTree/DeclFileTree.swift:54:82: warning: capture of 'self' with non-sendable type 'LLBCASFSClient' in a `@Sendable` closure
 52 |                 return storeDir(declTree, ctx).map { LLBCASFSNode(tree: $0, db: self.db) }
 53 |             case .file:
 54 |                 return storeFile(declTree, ctx).map { LLBCASFSNode(blob: $0, db: self.db) }
    |                                                                                  `- warning: capture of 'self' with non-sendable type 'LLBCASFSClient' in a `@Sendable` closure
 55 |         }
 56 |     }
/Users/admin/builder/spi-builder-workspace/Sources/TSFCASFileTree/CASFSClient.swift:18:15: note: consider making struct 'LLBCASFSClient' conform to the 'Sendable' protocol
 16 |
 17 | /// A main API struct
 18 | public struct LLBCASFSClient {
    |               `- note: consider making struct 'LLBCASFSClient' conform to the 'Sendable' protocol
 19 |     public let db: LLBCASDatabase
 20 |
/Users/admin/builder/spi-builder-workspace/Sources/TSFCASFileTree/DeclFileTree.swift:78:60: warning: capture of 'self' with non-sendable type 'LLBCASFSClient' in a `@Sendable` closure
 76 |         }
 77 |         return LLBFuture.whenAllSucceed(infosFutures, on: loop).flatMap { infos in
 78 |             return LLBCASFileTree.create(files: infos, in: self.db, ctx)
    |                                                            `- warning: capture of 'self' with non-sendable type 'LLBCASFSClient' in a `@Sendable` closure
 79 |         }
 80 |     }
/Users/admin/builder/spi-builder-workspace/Sources/TSFCASFileTree/CASFSClient.swift:18:15: note: consider making struct 'LLBCASFSClient' conform to the 'Sendable' protocol
 16 |
 17 | /// A main API struct
 18 | public struct LLBCASFSClient {
    |               `- note: consider making struct 'LLBCASFSClient' conform to the 'Sendable' protocol
 19 |     public let db: LLBCASDatabase
 20 |
[455/467] Compiling TSFCASFileTree DirectoryEntry.swift
/Users/admin/builder/spi-builder-workspace/Sources/TSFCASFileTree/DeclFileTree.swift:52:81: warning: capture of 'self' with non-sendable type 'LLBCASFSClient' in a `@Sendable` closure
 50 |         switch declTree {
 51 |             case .directory:
 52 |                 return storeDir(declTree, ctx).map { LLBCASFSNode(tree: $0, db: self.db) }
    |                                                                                 `- warning: capture of 'self' with non-sendable type 'LLBCASFSClient' in a `@Sendable` closure
 53 |             case .file:
 54 |                 return storeFile(declTree, ctx).map { LLBCASFSNode(blob: $0, db: self.db) }
/Users/admin/builder/spi-builder-workspace/Sources/TSFCASFileTree/CASFSClient.swift:18:15: note: consider making struct 'LLBCASFSClient' conform to the 'Sendable' protocol
 16 |
 17 | /// A main API struct
 18 | public struct LLBCASFSClient {
    |               `- note: consider making struct 'LLBCASFSClient' conform to the 'Sendable' protocol
 19 |     public let db: LLBCASDatabase
 20 |
/Users/admin/builder/spi-builder-workspace/Sources/TSFCASFileTree/DeclFileTree.swift:54:82: warning: capture of 'self' with non-sendable type 'LLBCASFSClient' in a `@Sendable` closure
 52 |                 return storeDir(declTree, ctx).map { LLBCASFSNode(tree: $0, db: self.db) }
 53 |             case .file:
 54 |                 return storeFile(declTree, ctx).map { LLBCASFSNode(blob: $0, db: self.db) }
    |                                                                                  `- warning: capture of 'self' with non-sendable type 'LLBCASFSClient' in a `@Sendable` closure
 55 |         }
 56 |     }
/Users/admin/builder/spi-builder-workspace/Sources/TSFCASFileTree/CASFSClient.swift:18:15: note: consider making struct 'LLBCASFSClient' conform to the 'Sendable' protocol
 16 |
 17 | /// A main API struct
 18 | public struct LLBCASFSClient {
    |               `- note: consider making struct 'LLBCASFSClient' conform to the 'Sendable' protocol
 19 |     public let db: LLBCASDatabase
 20 |
/Users/admin/builder/spi-builder-workspace/Sources/TSFCASFileTree/DeclFileTree.swift:78:60: warning: capture of 'self' with non-sendable type 'LLBCASFSClient' in a `@Sendable` closure
 76 |         }
 77 |         return LLBFuture.whenAllSucceed(infosFutures, on: loop).flatMap { infos in
 78 |             return LLBCASFileTree.create(files: infos, in: self.db, ctx)
    |                                                            `- warning: capture of 'self' with non-sendable type 'LLBCASFSClient' in a `@Sendable` closure
 79 |         }
 80 |     }
/Users/admin/builder/spi-builder-workspace/Sources/TSFCASFileTree/CASFSClient.swift:18:15: note: consider making struct 'LLBCASFSClient' conform to the 'Sendable' protocol
 16 |
 17 | /// A main API struct
 18 | public struct LLBCASFSClient {
    |               `- note: consider making struct 'LLBCASFSClient' conform to the 'Sendable' protocol
 19 |     public let db: LLBCASDatabase
 20 |
[456/467] Compiling TSFCASFileTree Errors.swift
[457/467] Compiling TSFCASFileTree FileInfo.swift
[458/467] Compiling TSFCASFileTree BinarySearch.swift
/Users/admin/builder/spi-builder-workspace/Sources/TSFCASFileTree/CASBlob.swift:199:24: warning: capture of 'self' with non-sendable type 'LLBCASBlob' in a `@Sendable` closure
 23 |
 24 | /// A wrapper for accessing CASTree file contents.
 25 | public struct LLBCASBlob {
    |               `- note: consider making struct 'LLBCASBlob' conform to the 'Sendable' protocol
 26 |     // FIXME: The logic in this clase is intimately tied to `CASTreeParser`, it
 27 |     // should be unified.
    :
197 |         return db.get(id, ctx).flatMap { object in
198 |             guard let object = object else {
199 |                 return self.db.group.next().makeFailedFuture(LLBCASBlobError.missingObject)
    |                        `- warning: capture of 'self' with non-sendable type 'LLBCASBlob' in a `@Sendable` closure
200 |             }
201 |
/Users/admin/builder/spi-builder-workspace/Sources/TSFCASFileTree/CASBlob.swift:258:35: warning: reference to captured var 'fileInfo' in concurrently-executing code
256 |                 LLBCASBlob(db: db, receivedId: .inner(id),
257 |                     type: .plainFile,
258 |                     posixDetails: fileInfo.hasPosixDetails ? fileInfo.posixDetails : nil,
    |                                   `- warning: reference to captured var 'fileInfo' in concurrently-executing code
259 |                     size: data.readableBytes,
260 |                     contents: .flat(innerID: id, db.group.next().makeSucceededFuture(data)))
/Users/admin/builder/spi-builder-workspace/Sources/TSFCASFileTree/CASBlob.swift:258:62: warning: reference to captured var 'fileInfo' in concurrently-executing code
256 |                 LLBCASBlob(db: db, receivedId: .inner(id),
257 |                     type: .plainFile,
258 |                     posixDetails: fileInfo.hasPosixDetails ? fileInfo.posixDetails : nil,
    |                                                              `- warning: reference to captured var 'fileInfo' in concurrently-executing code
259 |                     size: data.readableBytes,
260 |                     contents: .flat(innerID: id, db.group.next().makeSucceededFuture(data)))
/Users/admin/builder/spi-builder-workspace/Sources/TSFCASFileTree/CASBlob.swift:268:57: warning: reference to captured var 'fileInfo' in concurrently-executing code
266 |         }.flatMap { blobId in
267 |             do {
268 |                 return db.put(refs: [blobId], data: try fileInfo.toBytes(), ctx).map { outerId in
    |                                                         `- warning: reference to captured var 'fileInfo' in concurrently-executing code
269 |                     LLBCASBlob(db: db, receivedId: .outer(outerId),
270 |                         type: fileInfo.type,
/Users/admin/builder/spi-builder-workspace/Sources/TSFCASFileTree/CASBlob.swift:270:31: warning: reference to captured var 'fileInfo' in concurrently-executing code
268 |                 return db.put(refs: [blobId], data: try fileInfo.toBytes(), ctx).map { outerId in
269 |                     LLBCASBlob(db: db, receivedId: .outer(outerId),
270 |                         type: fileInfo.type,
    |                               `- warning: reference to captured var 'fileInfo' in concurrently-executing code
271 |                         posixDetails: fileInfo.hasPosixDetails ? fileInfo.posixDetails : nil,
272 |                         size: data.readableBytes,
/Users/admin/builder/spi-builder-workspace/Sources/TSFCASFileTree/CASBlob.swift:271:39: warning: reference to captured var 'fileInfo' in concurrently-executing code
269 |                     LLBCASBlob(db: db, receivedId: .outer(outerId),
270 |                         type: fileInfo.type,
271 |                         posixDetails: fileInfo.hasPosixDetails ? fileInfo.posixDetails : nil,
    |                                       `- warning: reference to captured var 'fileInfo' in concurrently-executing code
272 |                         size: data.readableBytes,
273 |                         contents: .chunked(chunks: [blobId], chunkSize: Int(fileInfo.fixedChunkSize)))
/Users/admin/builder/spi-builder-workspace/Sources/TSFCASFileTree/CASBlob.swift:271:66: warning: reference to captured var 'fileInfo' in concurrently-executing code
269 |                     LLBCASBlob(db: db, receivedId: .outer(outerId),
270 |                         type: fileInfo.type,
271 |                         posixDetails: fileInfo.hasPosixDetails ? fileInfo.posixDetails : nil,
    |                                                                  `- warning: reference to captured var 'fileInfo' in concurrently-executing code
272 |                         size: data.readableBytes,
273 |                         contents: .chunked(chunks: [blobId], chunkSize: Int(fileInfo.fixedChunkSize)))
/Users/admin/builder/spi-builder-workspace/Sources/TSFCASFileTree/CASBlob.swift:273:77: warning: reference to captured var 'fileInfo' in concurrently-executing code
271 |                         posixDetails: fileInfo.hasPosixDetails ? fileInfo.posixDetails : nil,
272 |                         size: data.readableBytes,
273 |                         contents: .chunked(chunks: [blobId], chunkSize: Int(fileInfo.fixedChunkSize)))
    |                                                                             `- warning: reference to captured var 'fileInfo' in concurrently-executing code
274 |                 }
275 |             } catch {
[459/467] Compiling TSFCASFileTree CASBlob.swift
/Users/admin/builder/spi-builder-workspace/Sources/TSFCASFileTree/CASBlob.swift:199:24: warning: capture of 'self' with non-sendable type 'LLBCASBlob' in a `@Sendable` closure
 23 |
 24 | /// A wrapper for accessing CASTree file contents.
 25 | public struct LLBCASBlob {
    |               `- note: consider making struct 'LLBCASBlob' conform to the 'Sendable' protocol
 26 |     // FIXME: The logic in this clase is intimately tied to `CASTreeParser`, it
 27 |     // should be unified.
    :
197 |         return db.get(id, ctx).flatMap { object in
198 |             guard let object = object else {
199 |                 return self.db.group.next().makeFailedFuture(LLBCASBlobError.missingObject)
    |                        `- warning: capture of 'self' with non-sendable type 'LLBCASBlob' in a `@Sendable` closure
200 |             }
201 |
/Users/admin/builder/spi-builder-workspace/Sources/TSFCASFileTree/CASBlob.swift:258:35: warning: reference to captured var 'fileInfo' in concurrently-executing code
256 |                 LLBCASBlob(db: db, receivedId: .inner(id),
257 |                     type: .plainFile,
258 |                     posixDetails: fileInfo.hasPosixDetails ? fileInfo.posixDetails : nil,
    |                                   `- warning: reference to captured var 'fileInfo' in concurrently-executing code
259 |                     size: data.readableBytes,
260 |                     contents: .flat(innerID: id, db.group.next().makeSucceededFuture(data)))
/Users/admin/builder/spi-builder-workspace/Sources/TSFCASFileTree/CASBlob.swift:258:62: warning: reference to captured var 'fileInfo' in concurrently-executing code
256 |                 LLBCASBlob(db: db, receivedId: .inner(id),
257 |                     type: .plainFile,
258 |                     posixDetails: fileInfo.hasPosixDetails ? fileInfo.posixDetails : nil,
    |                                                              `- warning: reference to captured var 'fileInfo' in concurrently-executing code
259 |                     size: data.readableBytes,
260 |                     contents: .flat(innerID: id, db.group.next().makeSucceededFuture(data)))
/Users/admin/builder/spi-builder-workspace/Sources/TSFCASFileTree/CASBlob.swift:268:57: warning: reference to captured var 'fileInfo' in concurrently-executing code
266 |         }.flatMap { blobId in
267 |             do {
268 |                 return db.put(refs: [blobId], data: try fileInfo.toBytes(), ctx).map { outerId in
    |                                                         `- warning: reference to captured var 'fileInfo' in concurrently-executing code
269 |                     LLBCASBlob(db: db, receivedId: .outer(outerId),
270 |                         type: fileInfo.type,
/Users/admin/builder/spi-builder-workspace/Sources/TSFCASFileTree/CASBlob.swift:270:31: warning: reference to captured var 'fileInfo' in concurrently-executing code
268 |                 return db.put(refs: [blobId], data: try fileInfo.toBytes(), ctx).map { outerId in
269 |                     LLBCASBlob(db: db, receivedId: .outer(outerId),
270 |                         type: fileInfo.type,
    |                               `- warning: reference to captured var 'fileInfo' in concurrently-executing code
271 |                         posixDetails: fileInfo.hasPosixDetails ? fileInfo.posixDetails : nil,
272 |                         size: data.readableBytes,
/Users/admin/builder/spi-builder-workspace/Sources/TSFCASFileTree/CASBlob.swift:271:39: warning: reference to captured var 'fileInfo' in concurrently-executing code
269 |                     LLBCASBlob(db: db, receivedId: .outer(outerId),
270 |                         type: fileInfo.type,
271 |                         posixDetails: fileInfo.hasPosixDetails ? fileInfo.posixDetails : nil,
    |                                       `- warning: reference to captured var 'fileInfo' in concurrently-executing code
272 |                         size: data.readableBytes,
273 |                         contents: .chunked(chunks: [blobId], chunkSize: Int(fileInfo.fixedChunkSize)))
/Users/admin/builder/spi-builder-workspace/Sources/TSFCASFileTree/CASBlob.swift:271:66: warning: reference to captured var 'fileInfo' in concurrently-executing code
269 |                     LLBCASBlob(db: db, receivedId: .outer(outerId),
270 |                         type: fileInfo.type,
271 |                         posixDetails: fileInfo.hasPosixDetails ? fileInfo.posixDetails : nil,
    |                                                                  `- warning: reference to captured var 'fileInfo' in concurrently-executing code
272 |                         size: data.readableBytes,
273 |                         contents: .chunked(chunks: [blobId], chunkSize: Int(fileInfo.fixedChunkSize)))
/Users/admin/builder/spi-builder-workspace/Sources/TSFCASFileTree/CASBlob.swift:273:77: warning: reference to captured var 'fileInfo' in concurrently-executing code
271 |                         posixDetails: fileInfo.hasPosixDetails ? fileInfo.posixDetails : nil,
272 |                         size: data.readableBytes,
273 |                         contents: .chunked(chunks: [blobId], chunkSize: Int(fileInfo.fixedChunkSize)))
    |                                                                             `- warning: reference to captured var 'fileInfo' in concurrently-executing code
274 |                 }
275 |             } catch {
[460/467] Compiling TSFCASFileTree FileTree.swift
/Users/admin/builder/spi-builder-workspace/Sources/TSFCASFileTree/FileTree.swift:147:73: warning: reference to captured var 'refs' in concurrently-executing code
145 |                 // API should be fixed. One option would be to change this class so
146 |                 // it can directly operate on the encoded representation.
147 |                 return try self.init(id: id, object: LLBCASObject(refs: refs, data: dirBytes))
    |                                                                         `- warning: reference to captured var 'refs' in concurrently-executing code
148 |             }
149 |         } catch {
/Users/admin/builder/spi-builder-workspace/Sources/TSFCASFileTree/FileTree.swift:147:85: warning: reference to captured var 'dirBytes' in concurrently-executing code
145 |                 // API should be fixed. One option would be to change this class so
146 |                 // it can directly operate on the encoded representation.
147 |                 return try self.init(id: id, object: LLBCASObject(refs: refs, data: dirBytes))
    |                                                                                     `- warning: reference to captured var 'dirBytes' in concurrently-executing code
148 |             }
149 |         } catch {
/Users/admin/builder/spi-builder-workspace/Sources/TSFCASFileTree/FileTree.swift:262:17: warning: capture of 'files' with non-sendable type '[LLBDirectoryEntryID]' in a `@Sendable` closure
 25 | }
 26 |
 27 | public struct LLBDirectoryEntryID {
    |               `- note: consider making struct 'LLBDirectoryEntryID' conform to the 'Sendable' protocol
 28 |     public let info: LLBDirectoryEntry
 29 |     public let id: LLBDataID
    :
260 |         return LLBFuture.whenAllSucceed(futures, on: db.group.next()).flatMap { mergedEntries in
261 |             for (idx, name, result, posixDetails) in mergedEntries {
262 |                 files[idx] = .init(info: LLBDirectoryEntry(name: name, type: .directory, size: result.aggregateSize, posixDetails: posixDetails), id: result.id)
    |                 `- warning: capture of 'files' with non-sendable type '[LLBDirectoryEntryID]' in a `@Sendable` closure
263 |             }
264 |             return LLBCASFileTree.create(files: files, in: db, posixDetails: self.posixDetails, ctx)
/Users/admin/builder/spi-builder-workspace/Sources/TSFCASFileTree/FileTree.swift:264:78: warning: capture of 'self' with non-sendable type 'LLBCASFileTree' in a `@Sendable` closure
 45 | /// rearrange this implementation to support higher-performance derivative
 46 | /// operations (for example, tree union).
 47 | public final class LLBCASFileTree {
    |                    `- note: class 'LLBCASFileTree' does not conform to the 'Sendable' protocol
 48 |     /// The id of this tree.
 49 |     //
    :
262 |                 files[idx] = .init(info: LLBDirectoryEntry(name: name, type: .directory, size: result.aggregateSize, posixDetails: posixDetails), id: result.id)
263 |             }
264 |             return LLBCASFileTree.create(files: files, in: db, posixDetails: self.posixDetails, ctx)
    |                                                                              `- warning: capture of 'self' with non-sendable type 'LLBCASFileTree' in a `@Sendable` closure
265 |         }
266 |     }
/Users/admin/builder/spi-builder-workspace/Sources/TSFCASFileTree/FileTree.swift:262:17: warning: mutation of captured var 'files' in concurrently-executing code
260 |         return LLBFuture.whenAllSucceed(futures, on: db.group.next()).flatMap { mergedEntries in
261 |             for (idx, name, result, posixDetails) in mergedEntries {
262 |                 files[idx] = .init(info: LLBDirectoryEntry(name: name, type: .directory, size: result.aggregateSize, posixDetails: posixDetails), id: result.id)
    |                 `- warning: mutation of captured var 'files' in concurrently-executing code
263 |             }
264 |             return LLBCASFileTree.create(files: files, in: db, posixDetails: self.posixDetails, ctx)
/Users/admin/builder/spi-builder-workspace/Sources/TSFCASFileTree/FileTree.swift:264:49: warning: reference to captured var 'files' in concurrently-executing code
262 |                 files[idx] = .init(info: LLBDirectoryEntry(name: name, type: .directory, size: result.aggregateSize, posixDetails: posixDetails), id: result.id)
263 |             }
264 |             return LLBCASFileTree.create(files: files, in: db, posixDetails: self.posixDetails, ctx)
    |                                                 `- warning: reference to captured var 'files' in concurrently-executing code
265 |         }
266 |     }
/Users/admin/builder/spi-builder-workspace/Sources/TSFCASFileTree/FileTree.swift:358:17: warning: capture of 'files' with non-sendable type '[LLBDirectoryEntryID]' in a `@Sendable` closure
 25 | }
 26 |
 27 | public struct LLBDirectoryEntryID {
    |               `- note: consider making struct 'LLBDirectoryEntryID' conform to the 'Sendable' protocol
 28 |     public let info: LLBDirectoryEntry
 29 |     public let id: LLBDataID
    :
356 |         return LLBFuture.whenAllSucceed(futures, on: db.group.next()).flatMap { mergedEntries in
357 |             for (idx, name, result, posixDetails) in mergedEntries {
358 |                 files[idx] = .init(info: LLBDirectoryEntry(name: name, type: .directory, size: result.aggregateSize, posixDetails: posixDetails), id: result.id)
    |                 `- warning: capture of 'files' with non-sendable type '[LLBDirectoryEntryID]' in a `@Sendable` closure
359 |             }
360 |             return LLBCASFileTree.create(files: files, in: db, posixDetails: reversedTrees.first!.posixDetails, ctx)
/Users/admin/builder/spi-builder-workspace/Sources/TSFCASFileTree/FileTree.swift:360:78: warning: capture of 'reversedTrees' with non-sendable type '[LLBCASFileTree]' in a `@Sendable` closure
 45 | /// rearrange this implementation to support higher-performance derivative
 46 | /// operations (for example, tree union).
 47 | public final class LLBCASFileTree {
    |                    `- note: class 'LLBCASFileTree' does not conform to the 'Sendable' protocol
 48 |     /// The id of this tree.
 49 |     //
    :
358 |                 files[idx] = .init(info: LLBDirectoryEntry(name: name, type: .directory, size: result.aggregateSize, posixDetails: posixDetails), id: result.id)
359 |             }
360 |             return LLBCASFileTree.create(files: files, in: db, posixDetails: reversedTrees.first!.posixDetails, ctx)
    |                                                                              `- warning: capture of 'reversedTrees' with non-sendable type '[LLBCASFileTree]' in a `@Sendable` closure
361 |         }
362 |     }
/Users/admin/builder/spi-builder-workspace/Sources/TSFCASFileTree/FileTree.swift:358:17: warning: mutation of captured var 'files' in concurrently-executing code
356 |         return LLBFuture.whenAllSucceed(futures, on: db.group.next()).flatMap { mergedEntries in
357 |             for (idx, name, result, posixDetails) in mergedEntries {
358 |                 files[idx] = .init(info: LLBDirectoryEntry(name: name, type: .directory, size: result.aggregateSize, posixDetails: posixDetails), id: result.id)
    |                 `- warning: mutation of captured var 'files' in concurrently-executing code
359 |             }
360 |             return LLBCASFileTree.create(files: files, in: db, posixDetails: reversedTrees.first!.posixDetails, ctx)
/Users/admin/builder/spi-builder-workspace/Sources/TSFCASFileTree/FileTree.swift:360:49: warning: reference to captured var 'files' in concurrently-executing code
358 |                 files[idx] = .init(info: LLBDirectoryEntry(name: name, type: .directory, size: result.aggregateSize, posixDetails: posixDetails), id: result.id)
359 |             }
360 |             return LLBCASFileTree.create(files: files, in: db, posixDetails: reversedTrees.first!.posixDetails, ctx)
    |                                                 `- warning: reference to captured var 'files' in concurrently-executing code
361 |         }
362 |     }
/Users/admin/builder/spi-builder-workspace/Sources/TSFCASFileTree/FileTree.swift:421:64: warning: capture of 'self' with non-sendable type 'LLBCASFileTree' in a `@Sendable` closure
 45 | /// rearrange this implementation to support higher-performance derivative
 46 | /// operations (for example, tree union).
 47 | public final class LLBCASFileTree {
    |                    `- note: class 'LLBCASFileTree' does not conform to the 'Sendable' protocol
 48 |     /// The id of this tree.
 49 |     //
    :
419 |                     .init(info: LLBDirectoryEntry(name: component, type: .directory, size: tree.aggregateSize,
420 |                                                   posixDetails: tree.posixDetails),
421 |                           id: tree.id)], in: db, posixDetails: self.posixDetails, ctx)
    |                                                                `- warning: capture of 'self' with non-sendable type 'LLBCASFileTree' in a `@Sendable` closure
422 |             }
423 |         }
/Users/admin/builder/spi-builder-workspace/Sources/TSFCASFileTree/FileTree.swift:426:13: warning: capture of 'self' with non-sendable type 'LLBCASFileTree' in a `@Sendable` closure
 45 | /// rearrange this implementation to support higher-performance derivative
 46 | /// operations (for example, tree union).
 47 | public final class LLBCASFileTree {
    |                    `- note: class 'LLBCASFileTree' does not conform to the 'Sendable' protocol
 48 |     /// The id of this tree.
 49 |     //
    :
424 |
425 |         return rerootedTree.flatMap { tree in
426 |             self.merge(with: tree, in: db, ctx)
    |             `- warning: capture of 'self' with non-sendable type 'LLBCASFileTree' in a `@Sendable` closure
427 |         }
428 |     }
/Users/admin/builder/spi-builder-workspace/Sources/TSFCASFileTree/FileTree.swift:458:32: warning: capture of 'self' with non-sendable type 'LLBCASFileTree' in a `@Sendable` closure
 45 | /// rearrange this implementation to support higher-performance derivative
 46 | /// operations (for example, tree union).
 47 | public final class LLBCASFileTree {
    |                    `- note: class 'LLBCASFileTree' does not conform to the 'Sendable' protocol
 48 |     /// The id of this tree.
 49 |     //
    :
456 |             }
457 |             return subtree.remove(components: components.dropFirst(), in: db, ctx).flatMap { newSubtree in
458 |                 var newFiles = self.files
    |                                `- warning: capture of 'self' with non-sendable type 'LLBCASFileTree' in a `@Sendable` closure
459 |                 var newRefs = self.object.refs
460 |                 newFiles[index].size = .init(clamping: newSubtree.aggregateSize)
/Users/admin/builder/spi-builder-workspace/Sources/TSFCASFileTree/FileTree.swift:458:32: warning: capture of 'self' with non-sendable type 'LLBCASFileTree' in a `@Sendable` closure
 45 | /// rearrange this implementation to support higher-performance derivative
 46 | /// operations (for example, tree union).
 47 | public final class LLBCASFileTree {
    |                    `- note: class 'LLBCASFileTree' does not conform to the 'Sendable' protocol
 48 |     /// The id of this tree.
 49 |     //
    :
456 |             }
457 |             return subtree.remove(components: components.dropFirst(), in: db, ctx).flatMap { newSubtree in
458 |                 var newFiles = self.files
    |                                `- warning: capture of 'self' with non-sendable type 'LLBCASFileTree' in a `@Sendable` closure
459 |                 var newRefs = self.object.refs
460 |                 newFiles[index].size = .init(clamping: newSubtree.aggregateSize)
/Users/admin/builder/spi-builder-workspace/Sources/TSFCASFileTree/FileTreeExport.swift:211:13: warning: capture of 'self' with non-sendable type 'CASFileTreeWalkerDelegate' in a `@Sendable` closure
180 |
181 |
182 | private final class CASFileTreeWalkerDelegate: RetrieveChildrenProtocol {
    |                     `- note: class 'CASFileTreeWalkerDelegate' does not conform to the 'Sendable' protocol
183 |     let db: LLBCASDatabase
184 |     let exportPathPrefix: AbsolutePath
    :
209 |
210 |         let casObjectFuture: LLBFuture<LLBCASObject> = db.get(item.id, ctx).flatMapThrowing { casObject in
211 |             self.stats.downloadsInProgressObjects_.wrappingDecrement(ordering: .relaxed)
    |             `- warning: capture of 'self' with non-sendable type 'CASFileTreeWalkerDelegate' in a `@Sendable` closure
212 |
213 |             guard let casObject = casObject else {
/Users/admin/builder/spi-builder-workspace/Sources/TSFCASFileTree/FileTreeExport.swift:226:21: warning: capture of 'self' with non-sendable type 'CASFileTreeWalkerDelegate' in a `@Sendable` closure
180 |
181 |
182 | private final class CASFileTreeWalkerDelegate: RetrieveChildrenProtocol {
    |                     `- note: class 'CASFileTreeWalkerDelegate' does not conform to the 'Sendable' protocol
183 |     let db: LLBCASDatabase
184 |     let exportPathPrefix: AbsolutePath
    :
224 |             // Unblock the current NIO thread.
225 |             batcher.execute {
226 |                 try self.parseAndMaterialize(casObject, item).map {
    |                     `- warning: capture of 'self' with non-sendable type 'CASFileTreeWalkerDelegate' in a `@Sendable` closure
227 |                     Item(id: $0.id, exportPath: $0.path, kindHint: $0.kind)
228 |                 }
/Users/admin/builder/spi-builder-workspace/Sources/TSFCASFileTree/FileTreeExport.swift:226:21: warning: capture of 'self' with non-sendable type 'CASFileTreeWalkerDelegate' in an isolated closure; this is an error in the Swift 6 language mode
180 |
181 |
182 | private final class CASFileTreeWalkerDelegate: RetrieveChildrenProtocol {
    |                     `- note: class 'CASFileTreeWalkerDelegate' does not conform to the 'Sendable' protocol
183 |     let db: LLBCASDatabase
184 |     let exportPathPrefix: AbsolutePath
    :
224 |             // Unblock the current NIO thread.
225 |             batcher.execute {
226 |                 try self.parseAndMaterialize(casObject, item).map {
    |                     `- warning: capture of 'self' with non-sendable type 'CASFileTreeWalkerDelegate' in an isolated closure; this is an error in the Swift 6 language mode
227 |                     Item(id: $0.id, exportPath: $0.path, kindHint: $0.kind)
228 |                 }
/Users/admin/builder/spi-builder-workspace/Sources/TSFCASFileTree/FileTreeExport.swift:233:17: warning: capture of 'self' with non-sendable type 'CASFileTreeWalkerDelegate' in a `@Sendable` closure
180 |
181 |
182 | private final class CASFileTreeWalkerDelegate: RetrieveChildrenProtocol {
    |                     `- note: class 'CASFileTreeWalkerDelegate' does not conform to the 'Sendable' protocol
183 |     let db: LLBCASDatabase
184 |     let exportPathPrefix: AbsolutePath
    :
231 |         } else {
232 |           return casObjectFuture.flatMapThrowing { casObject in
233 |             try self.parseAndMaterialize(casObject, item).map {
    |                 `- warning: capture of 'self' with non-sendable type 'CASFileTreeWalkerDelegate' in a `@Sendable` closure
234 |                 Item(id: $0.id, exportPath: $0.path, kindHint: $0.kind)
235 |             }
[461/467] Compiling TSFCASFileTree FileTreeExport.swift
/Users/admin/builder/spi-builder-workspace/Sources/TSFCASFileTree/FileTree.swift:147:73: warning: reference to captured var 'refs' in concurrently-executing code
145 |                 // API should be fixed. One option would be to change this class so
146 |                 // it can directly operate on the encoded representation.
147 |                 return try self.init(id: id, object: LLBCASObject(refs: refs, data: dirBytes))
    |                                                                         `- warning: reference to captured var 'refs' in concurrently-executing code
148 |             }
149 |         } catch {
/Users/admin/builder/spi-builder-workspace/Sources/TSFCASFileTree/FileTree.swift:147:85: warning: reference to captured var 'dirBytes' in concurrently-executing code
145 |                 // API should be fixed. One option would be to change this class so
146 |                 // it can directly operate on the encoded representation.
147 |                 return try self.init(id: id, object: LLBCASObject(refs: refs, data: dirBytes))
    |                                                                                     `- warning: reference to captured var 'dirBytes' in concurrently-executing code
148 |             }
149 |         } catch {
/Users/admin/builder/spi-builder-workspace/Sources/TSFCASFileTree/FileTree.swift:262:17: warning: capture of 'files' with non-sendable type '[LLBDirectoryEntryID]' in a `@Sendable` closure
 25 | }
 26 |
 27 | public struct LLBDirectoryEntryID {
    |               `- note: consider making struct 'LLBDirectoryEntryID' conform to the 'Sendable' protocol
 28 |     public let info: LLBDirectoryEntry
 29 |     public let id: LLBDataID
    :
260 |         return LLBFuture.whenAllSucceed(futures, on: db.group.next()).flatMap { mergedEntries in
261 |             for (idx, name, result, posixDetails) in mergedEntries {
262 |                 files[idx] = .init(info: LLBDirectoryEntry(name: name, type: .directory, size: result.aggregateSize, posixDetails: posixDetails), id: result.id)
    |                 `- warning: capture of 'files' with non-sendable type '[LLBDirectoryEntryID]' in a `@Sendable` closure
263 |             }
264 |             return LLBCASFileTree.create(files: files, in: db, posixDetails: self.posixDetails, ctx)
/Users/admin/builder/spi-builder-workspace/Sources/TSFCASFileTree/FileTree.swift:264:78: warning: capture of 'self' with non-sendable type 'LLBCASFileTree' in a `@Sendable` closure
 45 | /// rearrange this implementation to support higher-performance derivative
 46 | /// operations (for example, tree union).
 47 | public final class LLBCASFileTree {
    |                    `- note: class 'LLBCASFileTree' does not conform to the 'Sendable' protocol
 48 |     /// The id of this tree.
 49 |     //
    :
262 |                 files[idx] = .init(info: LLBDirectoryEntry(name: name, type: .directory, size: result.aggregateSize, posixDetails: posixDetails), id: result.id)
263 |             }
264 |             return LLBCASFileTree.create(files: files, in: db, posixDetails: self.posixDetails, ctx)
    |                                                                              `- warning: capture of 'self' with non-sendable type 'LLBCASFileTree' in a `@Sendable` closure
265 |         }
266 |     }
/Users/admin/builder/spi-builder-workspace/Sources/TSFCASFileTree/FileTree.swift:262:17: warning: mutation of captured var 'files' in concurrently-executing code
260 |         return LLBFuture.whenAllSucceed(futures, on: db.group.next()).flatMap { mergedEntries in
261 |             for (idx, name, result, posixDetails) in mergedEntries {
262 |                 files[idx] = .init(info: LLBDirectoryEntry(name: name, type: .directory, size: result.aggregateSize, posixDetails: posixDetails), id: result.id)
    |                 `- warning: mutation of captured var 'files' in concurrently-executing code
263 |             }
264 |             return LLBCASFileTree.create(files: files, in: db, posixDetails: self.posixDetails, ctx)
/Users/admin/builder/spi-builder-workspace/Sources/TSFCASFileTree/FileTree.swift:264:49: warning: reference to captured var 'files' in concurrently-executing code
262 |                 files[idx] = .init(info: LLBDirectoryEntry(name: name, type: .directory, size: result.aggregateSize, posixDetails: posixDetails), id: result.id)
263 |             }
264 |             return LLBCASFileTree.create(files: files, in: db, posixDetails: self.posixDetails, ctx)
    |                                                 `- warning: reference to captured var 'files' in concurrently-executing code
265 |         }
266 |     }
/Users/admin/builder/spi-builder-workspace/Sources/TSFCASFileTree/FileTree.swift:358:17: warning: capture of 'files' with non-sendable type '[LLBDirectoryEntryID]' in a `@Sendable` closure
 25 | }
 26 |
 27 | public struct LLBDirectoryEntryID {
    |               `- note: consider making struct 'LLBDirectoryEntryID' conform to the 'Sendable' protocol
 28 |     public let info: LLBDirectoryEntry
 29 |     public let id: LLBDataID
    :
356 |         return LLBFuture.whenAllSucceed(futures, on: db.group.next()).flatMap { mergedEntries in
357 |             for (idx, name, result, posixDetails) in mergedEntries {
358 |                 files[idx] = .init(info: LLBDirectoryEntry(name: name, type: .directory, size: result.aggregateSize, posixDetails: posixDetails), id: result.id)
    |                 `- warning: capture of 'files' with non-sendable type '[LLBDirectoryEntryID]' in a `@Sendable` closure
359 |             }
360 |             return LLBCASFileTree.create(files: files, in: db, posixDetails: reversedTrees.first!.posixDetails, ctx)
/Users/admin/builder/spi-builder-workspace/Sources/TSFCASFileTree/FileTree.swift:360:78: warning: capture of 'reversedTrees' with non-sendable type '[LLBCASFileTree]' in a `@Sendable` closure
 45 | /// rearrange this implementation to support higher-performance derivative
 46 | /// operations (for example, tree union).
 47 | public final class LLBCASFileTree {
    |                    `- note: class 'LLBCASFileTree' does not conform to the 'Sendable' protocol
 48 |     /// The id of this tree.
 49 |     //
    :
358 |                 files[idx] = .init(info: LLBDirectoryEntry(name: name, type: .directory, size: result.aggregateSize, posixDetails: posixDetails), id: result.id)
359 |             }
360 |             return LLBCASFileTree.create(files: files, in: db, posixDetails: reversedTrees.first!.posixDetails, ctx)
    |                                                                              `- warning: capture of 'reversedTrees' with non-sendable type '[LLBCASFileTree]' in a `@Sendable` closure
361 |         }
362 |     }
/Users/admin/builder/spi-builder-workspace/Sources/TSFCASFileTree/FileTree.swift:358:17: warning: mutation of captured var 'files' in concurrently-executing code
356 |         return LLBFuture.whenAllSucceed(futures, on: db.group.next()).flatMap { mergedEntries in
357 |             for (idx, name, result, posixDetails) in mergedEntries {
358 |                 files[idx] = .init(info: LLBDirectoryEntry(name: name, type: .directory, size: result.aggregateSize, posixDetails: posixDetails), id: result.id)
    |                 `- warning: mutation of captured var 'files' in concurrently-executing code
359 |             }
360 |             return LLBCASFileTree.create(files: files, in: db, posixDetails: reversedTrees.first!.posixDetails, ctx)
/Users/admin/builder/spi-builder-workspace/Sources/TSFCASFileTree/FileTree.swift:360:49: warning: reference to captured var 'files' in concurrently-executing code
358 |                 files[idx] = .init(info: LLBDirectoryEntry(name: name, type: .directory, size: result.aggregateSize, posixDetails: posixDetails), id: result.id)
359 |             }
360 |             return LLBCASFileTree.create(files: files, in: db, posixDetails: reversedTrees.first!.posixDetails, ctx)
    |                                                 `- warning: reference to captured var 'files' in concurrently-executing code
361 |         }
362 |     }
/Users/admin/builder/spi-builder-workspace/Sources/TSFCASFileTree/FileTree.swift:421:64: warning: capture of 'self' with non-sendable type 'LLBCASFileTree' in a `@Sendable` closure
 45 | /// rearrange this implementation to support higher-performance derivative
 46 | /// operations (for example, tree union).
 47 | public final class LLBCASFileTree {
    |                    `- note: class 'LLBCASFileTree' does not conform to the 'Sendable' protocol
 48 |     /// The id of this tree.
 49 |     //
    :
419 |                     .init(info: LLBDirectoryEntry(name: component, type: .directory, size: tree.aggregateSize,
420 |                                                   posixDetails: tree.posixDetails),
421 |                           id: tree.id)], in: db, posixDetails: self.posixDetails, ctx)
    |                                                                `- warning: capture of 'self' with non-sendable type 'LLBCASFileTree' in a `@Sendable` closure
422 |             }
423 |         }
/Users/admin/builder/spi-builder-workspace/Sources/TSFCASFileTree/FileTree.swift:426:13: warning: capture of 'self' with non-sendable type 'LLBCASFileTree' in a `@Sendable` closure
 45 | /// rearrange this implementation to support higher-performance derivative
 46 | /// operations (for example, tree union).
 47 | public final class LLBCASFileTree {
    |                    `- note: class 'LLBCASFileTree' does not conform to the 'Sendable' protocol
 48 |     /// The id of this tree.
 49 |     //
    :
424 |
425 |         return rerootedTree.flatMap { tree in
426 |             self.merge(with: tree, in: db, ctx)
    |             `- warning: capture of 'self' with non-sendable type 'LLBCASFileTree' in a `@Sendable` closure
427 |         }
428 |     }
/Users/admin/builder/spi-builder-workspace/Sources/TSFCASFileTree/FileTree.swift:458:32: warning: capture of 'self' with non-sendable type 'LLBCASFileTree' in a `@Sendable` closure
 45 | /// rearrange this implementation to support higher-performance derivative
 46 | /// operations (for example, tree union).
 47 | public final class LLBCASFileTree {
    |                    `- note: class 'LLBCASFileTree' does not conform to the 'Sendable' protocol
 48 |     /// The id of this tree.
 49 |     //
    :
456 |             }
457 |             return subtree.remove(components: components.dropFirst(), in: db, ctx).flatMap { newSubtree in
458 |                 var newFiles = self.files
    |                                `- warning: capture of 'self' with non-sendable type 'LLBCASFileTree' in a `@Sendable` closure
459 |                 var newRefs = self.object.refs
460 |                 newFiles[index].size = .init(clamping: newSubtree.aggregateSize)
/Users/admin/builder/spi-builder-workspace/Sources/TSFCASFileTree/FileTree.swift:458:32: warning: capture of 'self' with non-sendable type 'LLBCASFileTree' in a `@Sendable` closure
 45 | /// rearrange this implementation to support higher-performance derivative
 46 | /// operations (for example, tree union).
 47 | public final class LLBCASFileTree {
    |                    `- note: class 'LLBCASFileTree' does not conform to the 'Sendable' protocol
 48 |     /// The id of this tree.
 49 |     //
    :
456 |             }
457 |             return subtree.remove(components: components.dropFirst(), in: db, ctx).flatMap { newSubtree in
458 |                 var newFiles = self.files
    |                                `- warning: capture of 'self' with non-sendable type 'LLBCASFileTree' in a `@Sendable` closure
459 |                 var newRefs = self.object.refs
460 |                 newFiles[index].size = .init(clamping: newSubtree.aggregateSize)
/Users/admin/builder/spi-builder-workspace/Sources/TSFCASFileTree/FileTreeExport.swift:211:13: warning: capture of 'self' with non-sendable type 'CASFileTreeWalkerDelegate' in a `@Sendable` closure
180 |
181 |
182 | private final class CASFileTreeWalkerDelegate: RetrieveChildrenProtocol {
    |                     `- note: class 'CASFileTreeWalkerDelegate' does not conform to the 'Sendable' protocol
183 |     let db: LLBCASDatabase
184 |     let exportPathPrefix: AbsolutePath
    :
209 |
210 |         let casObjectFuture: LLBFuture<LLBCASObject> = db.get(item.id, ctx).flatMapThrowing { casObject in
211 |             self.stats.downloadsInProgressObjects_.wrappingDecrement(ordering: .relaxed)
    |             `- warning: capture of 'self' with non-sendable type 'CASFileTreeWalkerDelegate' in a `@Sendable` closure
212 |
213 |             guard let casObject = casObject else {
/Users/admin/builder/spi-builder-workspace/Sources/TSFCASFileTree/FileTreeExport.swift:226:21: warning: capture of 'self' with non-sendable type 'CASFileTreeWalkerDelegate' in a `@Sendable` closure
180 |
181 |
182 | private final class CASFileTreeWalkerDelegate: RetrieveChildrenProtocol {
    |                     `- note: class 'CASFileTreeWalkerDelegate' does not conform to the 'Sendable' protocol
183 |     let db: LLBCASDatabase
184 |     let exportPathPrefix: AbsolutePath
    :
224 |             // Unblock the current NIO thread.
225 |             batcher.execute {
226 |                 try self.parseAndMaterialize(casObject, item).map {
    |                     `- warning: capture of 'self' with non-sendable type 'CASFileTreeWalkerDelegate' in a `@Sendable` closure
227 |                     Item(id: $0.id, exportPath: $0.path, kindHint: $0.kind)
228 |                 }
/Users/admin/builder/spi-builder-workspace/Sources/TSFCASFileTree/FileTreeExport.swift:226:21: warning: capture of 'self' with non-sendable type 'CASFileTreeWalkerDelegate' in an isolated closure; this is an error in the Swift 6 language mode
180 |
181 |
182 | private final class CASFileTreeWalkerDelegate: RetrieveChildrenProtocol {
    |                     `- note: class 'CASFileTreeWalkerDelegate' does not conform to the 'Sendable' protocol
183 |     let db: LLBCASDatabase
184 |     let exportPathPrefix: AbsolutePath
    :
224 |             // Unblock the current NIO thread.
225 |             batcher.execute {
226 |                 try self.parseAndMaterialize(casObject, item).map {
    |                     `- warning: capture of 'self' with non-sendable type 'CASFileTreeWalkerDelegate' in an isolated closure; this is an error in the Swift 6 language mode
227 |                     Item(id: $0.id, exportPath: $0.path, kindHint: $0.kind)
228 |                 }
/Users/admin/builder/spi-builder-workspace/Sources/TSFCASFileTree/FileTreeExport.swift:233:17: warning: capture of 'self' with non-sendable type 'CASFileTreeWalkerDelegate' in a `@Sendable` closure
180 |
181 |
182 | private final class CASFileTreeWalkerDelegate: RetrieveChildrenProtocol {
    |                     `- note: class 'CASFileTreeWalkerDelegate' does not conform to the 'Sendable' protocol
183 |     let db: LLBCASDatabase
184 |     let exportPathPrefix: AbsolutePath
    :
231 |         } else {
232 |           return casObjectFuture.flatMapThrowing { casObject in
233 |             try self.parseAndMaterialize(casObject, item).map {
    |                 `- warning: capture of 'self' with non-sendable type 'CASFileTreeWalkerDelegate' in a `@Sendable` closure
234 |                 Item(id: $0.id, exportPath: $0.path, kindHint: $0.kind)
235 |             }
[462/467] Compiling TSFCASFileTree ConcurrentFileTreeWalker.swift
/Users/admin/builder/spi-builder-workspace/Sources/TSFCASFileTree/ConcurrentFileTreeWalker.swift:45:38: warning: capture of 'self' with non-sendable type 'ConcurrentHierarchyWalker<Item>' in a `@Sendable` closure
 25 |
 26 | /// Walk the hierarchy with bounded concurrency.
 27 | final class ConcurrentHierarchyWalker<Item> {
    |             `- note: generic class 'ConcurrentHierarchyWalker' does not conform to the 'Sendable' protocol
 28 |
 29 |     private let group: LLBFuturesDispatchGroup
    :
 43 |             self.getChildren(item, ctx)
 44 |         }.flatMap { more in
 45 |             let futures = more.map { self.walk($0, ctx) }
    |                                      `- warning: capture of 'self' with non-sendable type 'ConcurrentHierarchyWalker<Item>' in a `@Sendable` closure
 46 |             return LLBFuture.whenAllSucceed(futures, on: self.group.next()).map { _ in () }
 47 |         }
/Users/admin/builder/spi-builder-workspace/Sources/TSFCASFileTree/ConcurrentFileTreeWalker.swift:45:38: warning: capture of 'self' with non-sendable type 'ConcurrentHierarchyWalker<Item>' in an isolated closure; this is an error in the Swift 6 language mode
 25 |
 26 | /// Walk the hierarchy with bounded concurrency.
 27 | final class ConcurrentHierarchyWalker<Item> {
    |             `- note: generic class 'ConcurrentHierarchyWalker' does not conform to the 'Sendable' protocol
 28 |
 29 |     private let group: LLBFuturesDispatchGroup
    :
 43 |             self.getChildren(item, ctx)
 44 |         }.flatMap { more in
 45 |             let futures = more.map { self.walk($0, ctx) }
    |                                      `- warning: capture of 'self' with non-sendable type 'ConcurrentHierarchyWalker<Item>' in an isolated closure; this is an error in the Swift 6 language mode
 46 |             return LLBFuture.whenAllSucceed(futures, on: self.group.next()).map { _ in () }
 47 |         }
/Users/admin/builder/spi-builder-workspace/Sources/TSFCASFileTree/ConcurrentFileTreeWalker.swift:100:13: warning: capture of 'root' with non-sendable type 'LLBConcurrentFileTreeWalker.Item' in a `@Sendable` closure
 60 |     }
 61 |
 62 |     public struct Item {
    |                   `- note: consider making struct 'Item' conform to the 'Sendable' protocol
 63 |         /// The description of the current CAS filesystem entry.
 64 |         let arg: FilterArgument
    :
 98 |         let walker = ConcurrentHierarchyWalker(group: db.group, delegate: self)
 99 |         return walker.walk(root, ctx).map { () in
100 |             root.scanResult.reapResult()
    |             `- warning: capture of 'root' with non-sendable type 'LLBConcurrentFileTreeWalker.Item' in a `@Sendable` closure
101 |         }
102 |     }
/Users/admin/builder/spi-builder-workspace/Sources/TSFCASFileTree/ConcurrentFileTreeWalker.swift:115:33: warning: capture of 'item' with non-sendable type 'LLBConcurrentFileTreeWalker.Item' in a `@Sendable` closure
 60 |     }
 61 |
 62 |     public struct Item {
    |                   `- note: consider making struct 'Item' conform to the 'Sendable' protocol
 63 |         /// The description of the current CAS filesystem entry.
 64 |         let arg: FilterArgument
    :
113 |
114 |         return client.load(item.id, type: typeHint, ctx).map { node in
115 |             if typeHint == nil, item.arg.path == .root, item.arg.size == 0 {
    |                                 `- warning: capture of 'item' with non-sendable type 'LLBConcurrentFileTreeWalker.Item' in a `@Sendable` closure
116 |                 // This is our root. Check if we're allowed to go past it.
117 |                 let dirEntry = node.asDirectoryEntry(filename: "-")
/Users/admin/builder/spi-builder-workspace/Sources/TSFCASFileTree/ConcurrentFileTreeWalker.swift:119:23: warning: capture of 'self' with non-sendable type 'LLBConcurrentFileTreeWalker' in a `@Sendable` closure
 49 | }
 50 |
 51 | public class LLBConcurrentFileTreeWalker: RetrieveChildrenProtocol {
    |              `- note: class 'LLBConcurrentFileTreeWalker' does not conform to the 'Sendable' protocol
 52 |     let db: LLBCASDatabase
 53 |     let client: LLBCASFSClient
    :
117 |                 let dirEntry = node.asDirectoryEntry(filename: "-")
118 |                 let rootItem = Item(arg: FilterArgument(path: node.tree != nil ? .root : nil, type: dirEntry.info.type, size: Int(clamping: dirEntry.info.size)), id: dirEntry.id, scanResult: item.scanResult)
119 |                 guard self.filter(rootItem) else {
    |                       `- warning: capture of 'self' with non-sendable type 'LLBConcurrentFileTreeWalker' in a `@Sendable` closure
120 |                     return []
121 |                 }
/Users/admin/builder/spi-builder-workspace/Sources/TSFCASFileTree/Context.swift:35:24: warning: static property 'fileTreeExportStorageBatcherKey' is not concurrency-safe because non-'Sendable' type 'ContextKey' may have shared mutable state; this is an error in the Swift 6 language mode
 9 | import TSCUtility
10 |
11 | private final class ContextKey {}
   |                     `- note: class 'ContextKey' does not conform to the 'Sendable' protocol
12 |
13 | /// Support storing and retrieving file tree import options from a context
   :
33 | /// Support storing and retrieving file tree export storage batcher from a context
34 | public extension Context {
35 |     private static let fileTreeExportStorageBatcherKey = ContextKey()
   |                        |- warning: static property 'fileTreeExportStorageBatcherKey' is not concurrency-safe because non-'Sendable' type 'ContextKey' may have shared mutable state; this is an error in the Swift 6 language mode
   |                        |- note: annotate 'fileTreeExportStorageBatcherKey' 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 |
37 |     var fileTreeExportStorageBatcher: LLBBatchingFutureOperationQueue? {
/Users/admin/builder/spi-builder-workspace/Sources/TSFCASFileTree/Context.swift:16:97: warning: type 'Any' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
14 | public extension Context {
15 |     static func with(_ options: LLBCASFileTree.ImportOptions) -> Context {
16 |         return Context(dictionaryLiteral: (ObjectIdentifier(LLBCASFileTree.ImportOptions.self), options as Any))
   |                                                                                                 `- warning: type 'Any' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
17 |     }
18 |
[463/467] Compiling TSFCASFileTree Context.swift
/Users/admin/builder/spi-builder-workspace/Sources/TSFCASFileTree/ConcurrentFileTreeWalker.swift:45:38: warning: capture of 'self' with non-sendable type 'ConcurrentHierarchyWalker<Item>' in a `@Sendable` closure
 25 |
 26 | /// Walk the hierarchy with bounded concurrency.
 27 | final class ConcurrentHierarchyWalker<Item> {
    |             `- note: generic class 'ConcurrentHierarchyWalker' does not conform to the 'Sendable' protocol
 28 |
 29 |     private let group: LLBFuturesDispatchGroup
    :
 43 |             self.getChildren(item, ctx)
 44 |         }.flatMap { more in
 45 |             let futures = more.map { self.walk($0, ctx) }
    |                                      `- warning: capture of 'self' with non-sendable type 'ConcurrentHierarchyWalker<Item>' in a `@Sendable` closure
 46 |             return LLBFuture.whenAllSucceed(futures, on: self.group.next()).map { _ in () }
 47 |         }
/Users/admin/builder/spi-builder-workspace/Sources/TSFCASFileTree/ConcurrentFileTreeWalker.swift:45:38: warning: capture of 'self' with non-sendable type 'ConcurrentHierarchyWalker<Item>' in an isolated closure; this is an error in the Swift 6 language mode
 25 |
 26 | /// Walk the hierarchy with bounded concurrency.
 27 | final class ConcurrentHierarchyWalker<Item> {
    |             `- note: generic class 'ConcurrentHierarchyWalker' does not conform to the 'Sendable' protocol
 28 |
 29 |     private let group: LLBFuturesDispatchGroup
    :
 43 |             self.getChildren(item, ctx)
 44 |         }.flatMap { more in
 45 |             let futures = more.map { self.walk($0, ctx) }
    |                                      `- warning: capture of 'self' with non-sendable type 'ConcurrentHierarchyWalker<Item>' in an isolated closure; this is an error in the Swift 6 language mode
 46 |             return LLBFuture.whenAllSucceed(futures, on: self.group.next()).map { _ in () }
 47 |         }
/Users/admin/builder/spi-builder-workspace/Sources/TSFCASFileTree/ConcurrentFileTreeWalker.swift:100:13: warning: capture of 'root' with non-sendable type 'LLBConcurrentFileTreeWalker.Item' in a `@Sendable` closure
 60 |     }
 61 |
 62 |     public struct Item {
    |                   `- note: consider making struct 'Item' conform to the 'Sendable' protocol
 63 |         /// The description of the current CAS filesystem entry.
 64 |         let arg: FilterArgument
    :
 98 |         let walker = ConcurrentHierarchyWalker(group: db.group, delegate: self)
 99 |         return walker.walk(root, ctx).map { () in
100 |             root.scanResult.reapResult()
    |             `- warning: capture of 'root' with non-sendable type 'LLBConcurrentFileTreeWalker.Item' in a `@Sendable` closure
101 |         }
102 |     }
/Users/admin/builder/spi-builder-workspace/Sources/TSFCASFileTree/ConcurrentFileTreeWalker.swift:115:33: warning: capture of 'item' with non-sendable type 'LLBConcurrentFileTreeWalker.Item' in a `@Sendable` closure
 60 |     }
 61 |
 62 |     public struct Item {
    |                   `- note: consider making struct 'Item' conform to the 'Sendable' protocol
 63 |         /// The description of the current CAS filesystem entry.
 64 |         let arg: FilterArgument
    :
113 |
114 |         return client.load(item.id, type: typeHint, ctx).map { node in
115 |             if typeHint == nil, item.arg.path == .root, item.arg.size == 0 {
    |                                 `- warning: capture of 'item' with non-sendable type 'LLBConcurrentFileTreeWalker.Item' in a `@Sendable` closure
116 |                 // This is our root. Check if we're allowed to go past it.
117 |                 let dirEntry = node.asDirectoryEntry(filename: "-")
/Users/admin/builder/spi-builder-workspace/Sources/TSFCASFileTree/ConcurrentFileTreeWalker.swift:119:23: warning: capture of 'self' with non-sendable type 'LLBConcurrentFileTreeWalker' in a `@Sendable` closure
 49 | }
 50 |
 51 | public class LLBConcurrentFileTreeWalker: RetrieveChildrenProtocol {
    |              `- note: class 'LLBConcurrentFileTreeWalker' does not conform to the 'Sendable' protocol
 52 |     let db: LLBCASDatabase
 53 |     let client: LLBCASFSClient
    :
117 |                 let dirEntry = node.asDirectoryEntry(filename: "-")
118 |                 let rootItem = Item(arg: FilterArgument(path: node.tree != nil ? .root : nil, type: dirEntry.info.type, size: Int(clamping: dirEntry.info.size)), id: dirEntry.id, scanResult: item.scanResult)
119 |                 guard self.filter(rootItem) else {
    |                       `- warning: capture of 'self' with non-sendable type 'LLBConcurrentFileTreeWalker' in a `@Sendable` closure
120 |                     return []
121 |                 }
/Users/admin/builder/spi-builder-workspace/Sources/TSFCASFileTree/Context.swift:35:24: warning: static property 'fileTreeExportStorageBatcherKey' is not concurrency-safe because non-'Sendable' type 'ContextKey' may have shared mutable state; this is an error in the Swift 6 language mode
 9 | import TSCUtility
10 |
11 | private final class ContextKey {}
   |                     `- note: class 'ContextKey' does not conform to the 'Sendable' protocol
12 |
13 | /// Support storing and retrieving file tree import options from a context
   :
33 | /// Support storing and retrieving file tree export storage batcher from a context
34 | public extension Context {
35 |     private static let fileTreeExportStorageBatcherKey = ContextKey()
   |                        |- warning: static property 'fileTreeExportStorageBatcherKey' is not concurrency-safe because non-'Sendable' type 'ContextKey' may have shared mutable state; this is an error in the Swift 6 language mode
   |                        |- note: annotate 'fileTreeExportStorageBatcherKey' 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 |
37 |     var fileTreeExportStorageBatcher: LLBBatchingFutureOperationQueue? {
/Users/admin/builder/spi-builder-workspace/Sources/TSFCASFileTree/Context.swift:16:97: warning: type 'Any' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
14 | public extension Context {
15 |     static func with(_ options: LLBCASFileTree.ImportOptions) -> Context {
16 |         return Context(dictionaryLiteral: (ObjectIdentifier(LLBCASFileTree.ImportOptions.self), options as Any))
   |                                                                                                 `- warning: type 'Any' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
17 |     }
18 |
[464/467] Compiling TSFCASFileTree CASFSClient.swift
/Users/admin/builder/spi-builder-workspace/Sources/TSFCASFileTree/CASFSClient.swift:50:53: warning: capture of 'self' with non-sendable type 'LLBCASFSClient' in a `@Sendable` closure
 16 |
 17 | /// A main API struct
 18 | public struct LLBCASFSClient {
    |               `- note: consider making struct 'LLBCASFSClient' conform to the 'Sendable' protocol
 19 |     public let db: LLBCASDatabase
 20 |
    :
 48 |             case .directory?:
 49 |                 let tree = try LLBCASFileTree(id: id, object: object)
 50 |                 return LLBCASFSNode(tree: tree, db: self.db)
    |                                                     `- warning: capture of 'self' with non-sendable type 'LLBCASFSClient' in a `@Sendable` closure
 51 |             case .plainFile?, .executable?:
 52 |                 let blob = try LLBCASBlob(db: self.db, id: id, type: hint!, object: object, ctx)
/Users/admin/builder/spi-builder-workspace/Sources/TSFCASFileTree/CASFSClient.swift:72:120: warning: capture of 'self' with non-sendable type 'LLBCASFSClient' in a `@Sendable` closure
 16 |
 17 | /// A main API struct
 18 | public struct LLBCASFSClient {
    |               `- note: consider making struct 'LLBCASFSClient' conform to the 'Sendable' protocol
 19 |     public let db: LLBCASDatabase
 20 |
    :
 70 |     /// Save ByteBuffer to CAS
 71 |     public func store(_ data: LLBByteBuffer, type: LLBFileType = .plainFile, _ ctx: Context) -> LLBFuture<LLBCASFSNode> {
 72 |         LLBCASBlob.import(data: data, isExecutable: type == .executable, in: db, ctx).map { LLBCASFSNode(blob: $0, db: self.db) }
    |                                                                                                                        `- warning: capture of 'self' with non-sendable type 'LLBCASFSClient' in a `@Sendable` closure
 73 |     }
 74 |
/Users/admin/builder/spi-builder-workspace/Sources/TSFCASFileTree/CASFSClient.swift:77:145: warning: capture of 'self' with non-sendable type 'LLBCASFSClient' in a `@Sendable` closure
 16 |
 17 | /// A main API struct
 18 | public struct LLBCASFSClient {
    |               `- note: consider making struct 'LLBCASFSClient' conform to the 'Sendable' protocol
 19 |     public let db: LLBCASDatabase
 20 |
    :
 75 |     /// Save ArraySlice to CAS
 76 |     public func store(_ data: ArraySlice<UInt8>, type: LLBFileType = .plainFile, _ ctx: Context) -> LLBFuture<LLBCASFSNode> {
 77 |         LLBCASBlob.import(data: LLBByteBuffer.withBytes(data), isExecutable: type == .executable, in: db, ctx).map { LLBCASFSNode(blob: $0, db: self.db) }
    |                                                                                                                                                 `- warning: capture of 'self' with non-sendable type 'LLBCASFSClient' in a `@Sendable` closure
 78 |     }
 79 |
/Users/admin/builder/spi-builder-workspace/Sources/TSFCASFileTree/CASFSClient.swift:82:145: warning: capture of 'self' with non-sendable type 'LLBCASFSClient' in a `@Sendable` closure
 16 |
 17 | /// A main API struct
 18 | public struct LLBCASFSClient {
    |               `- note: consider making struct 'LLBCASFSClient' conform to the 'Sendable' protocol
 19 |     public let db: LLBCASDatabase
 20 |
    :
 80 |     /// Save Data to CAS
 81 |     public func store(_ data: Data, type: LLBFileType = .plainFile, _ ctx: Context) -> LLBFuture<LLBCASFSNode> {
 82 |         LLBCASBlob.import(data: LLBByteBuffer.withBytes(data), isExecutable: type == .executable, in: db, ctx).map { LLBCASFSNode(blob: $0, db: self.db) }
    |                                                                                                                                                 `- warning: capture of 'self' with non-sendable type 'LLBCASFSClient' in a `@Sendable` closure
 83 |     }
 84 |
/Users/admin/builder/spi-builder-workspace/Sources/TSFCASFileTree/CASFSClient.swift:118:25: warning: capture of 'self' with non-sendable type 'LLBCASFSClient' in a `@Sendable` closure
 16 |
 17 | /// A main API struct
 18 | public struct LLBCASFSClient {
    |               `- note: consider making struct 'LLBCASFSClient' conform to the 'Sendable' protocol
 19 |     public let db: LLBCASDatabase
 20 |
    :
116 |                 .dropFirst()
117 |                 .reversed()
118 |                 .reduce(self.db.group.next().makeSucceededFuture(node)) { future, pathComponent in
    |                         `- warning: capture of 'self' with non-sendable type 'LLBCASFSClient' in a `@Sendable` closure
119 |                     future.flatMap { node in
120 |                         let entry = node.asDirectoryEntry(filename: pathComponent)
/Users/admin/builder/spi-builder-workspace/Sources/TSFCASFileTree/CASFSClient.swift:121:74: warning: capture of 'self' with non-sendable type 'LLBCASFSClient' in an isolated closure; this is an error in the Swift 6 language mode
 16 |
 17 | /// A main API struct
 18 | public struct LLBCASFSClient {
    |               `- note: consider making struct 'LLBCASFSClient' conform to the 'Sendable' protocol
 19 |     public let db: LLBCASDatabase
 20 |
    :
119 |                     future.flatMap { node in
120 |                         let entry = node.asDirectoryEntry(filename: pathComponent)
121 |                         return LLBCASFileTree.create(files: [entry], in: self.db, ctx).map {
    |                                                                          `- warning: capture of 'self' with non-sendable type 'LLBCASFSClient' in an isolated closure; this is an error in the Swift 6 language mode
122 |                             return LLBCASFSNode(tree: $0, db: self.db)
123 |                         }
/Users/admin/builder/spi-builder-workspace/Sources/TSFCASFileTree/CASFSClient.swift:121:74: warning: capture of 'self' with non-sendable type 'LLBCASFSClient' in a `@Sendable` closure
 16 |
 17 | /// A main API struct
 18 | public struct LLBCASFSClient {
    |               `- note: consider making struct 'LLBCASFSClient' conform to the 'Sendable' protocol
 19 |     public let db: LLBCASDatabase
 20 |
    :
119 |                     future.flatMap { node in
120 |                         let entry = node.asDirectoryEntry(filename: pathComponent)
121 |                         return LLBCASFileTree.create(files: [entry], in: self.db, ctx).map {
    |                                                                          `- warning: capture of 'self' with non-sendable type 'LLBCASFSClient' in a `@Sendable` closure
122 |                             return LLBCASFSNode(tree: $0, db: self.db)
123 |                         }
/Users/admin/builder/spi-builder-workspace/Sources/TSFCASFileTree/CASFSClient.swift:122:63: warning: capture of 'self' with non-sendable type 'LLBCASFSClient' in a `@Sendable` closure
 16 |
 17 | /// A main API struct
 18 | public struct LLBCASFSClient {
    |               `- note: consider making struct 'LLBCASFSClient' conform to the 'Sendable' protocol
 19 |     public let db: LLBCASDatabase
 20 |
    :
120 |                         let entry = node.asDirectoryEntry(filename: pathComponent)
121 |                         return LLBCASFileTree.create(files: [entry], in: self.db, ctx).map {
122 |                             return LLBCASFSNode(tree: $0, db: self.db)
    |                                                               `- warning: capture of 'self' with non-sendable type 'LLBCASFSClient' in a `@Sendable` closure
123 |                         }
124 |                     }
[465/467] Compiling TSFCASFileTree CASFSNode.swift
/Users/admin/builder/spi-builder-workspace/Sources/TSFCASFileTree/CASFSClient.swift:50:53: warning: capture of 'self' with non-sendable type 'LLBCASFSClient' in a `@Sendable` closure
 16 |
 17 | /// A main API struct
 18 | public struct LLBCASFSClient {
    |               `- note: consider making struct 'LLBCASFSClient' conform to the 'Sendable' protocol
 19 |     public let db: LLBCASDatabase
 20 |
    :
 48 |             case .directory?:
 49 |                 let tree = try LLBCASFileTree(id: id, object: object)
 50 |                 return LLBCASFSNode(tree: tree, db: self.db)
    |                                                     `- warning: capture of 'self' with non-sendable type 'LLBCASFSClient' in a `@Sendable` closure
 51 |             case .plainFile?, .executable?:
 52 |                 let blob = try LLBCASBlob(db: self.db, id: id, type: hint!, object: object, ctx)
/Users/admin/builder/spi-builder-workspace/Sources/TSFCASFileTree/CASFSClient.swift:72:120: warning: capture of 'self' with non-sendable type 'LLBCASFSClient' in a `@Sendable` closure
 16 |
 17 | /// A main API struct
 18 | public struct LLBCASFSClient {
    |               `- note: consider making struct 'LLBCASFSClient' conform to the 'Sendable' protocol
 19 |     public let db: LLBCASDatabase
 20 |
    :
 70 |     /// Save ByteBuffer to CAS
 71 |     public func store(_ data: LLBByteBuffer, type: LLBFileType = .plainFile, _ ctx: Context) -> LLBFuture<LLBCASFSNode> {
 72 |         LLBCASBlob.import(data: data, isExecutable: type == .executable, in: db, ctx).map { LLBCASFSNode(blob: $0, db: self.db) }
    |                                                                                                                        `- warning: capture of 'self' with non-sendable type 'LLBCASFSClient' in a `@Sendable` closure
 73 |     }
 74 |
/Users/admin/builder/spi-builder-workspace/Sources/TSFCASFileTree/CASFSClient.swift:77:145: warning: capture of 'self' with non-sendable type 'LLBCASFSClient' in a `@Sendable` closure
 16 |
 17 | /// A main API struct
 18 | public struct LLBCASFSClient {
    |               `- note: consider making struct 'LLBCASFSClient' conform to the 'Sendable' protocol
 19 |     public let db: LLBCASDatabase
 20 |
    :
 75 |     /// Save ArraySlice to CAS
 76 |     public func store(_ data: ArraySlice<UInt8>, type: LLBFileType = .plainFile, _ ctx: Context) -> LLBFuture<LLBCASFSNode> {
 77 |         LLBCASBlob.import(data: LLBByteBuffer.withBytes(data), isExecutable: type == .executable, in: db, ctx).map { LLBCASFSNode(blob: $0, db: self.db) }
    |                                                                                                                                                 `- warning: capture of 'self' with non-sendable type 'LLBCASFSClient' in a `@Sendable` closure
 78 |     }
 79 |
/Users/admin/builder/spi-builder-workspace/Sources/TSFCASFileTree/CASFSClient.swift:82:145: warning: capture of 'self' with non-sendable type 'LLBCASFSClient' in a `@Sendable` closure
 16 |
 17 | /// A main API struct
 18 | public struct LLBCASFSClient {
    |               `- note: consider making struct 'LLBCASFSClient' conform to the 'Sendable' protocol
 19 |     public let db: LLBCASDatabase
 20 |
    :
 80 |     /// Save Data to CAS
 81 |     public func store(_ data: Data, type: LLBFileType = .plainFile, _ ctx: Context) -> LLBFuture<LLBCASFSNode> {
 82 |         LLBCASBlob.import(data: LLBByteBuffer.withBytes(data), isExecutable: type == .executable, in: db, ctx).map { LLBCASFSNode(blob: $0, db: self.db) }
    |                                                                                                                                                 `- warning: capture of 'self' with non-sendable type 'LLBCASFSClient' in a `@Sendable` closure
 83 |     }
 84 |
/Users/admin/builder/spi-builder-workspace/Sources/TSFCASFileTree/CASFSClient.swift:118:25: warning: capture of 'self' with non-sendable type 'LLBCASFSClient' in a `@Sendable` closure
 16 |
 17 | /// A main API struct
 18 | public struct LLBCASFSClient {
    |               `- note: consider making struct 'LLBCASFSClient' conform to the 'Sendable' protocol
 19 |     public let db: LLBCASDatabase
 20 |
    :
116 |                 .dropFirst()
117 |                 .reversed()
118 |                 .reduce(self.db.group.next().makeSucceededFuture(node)) { future, pathComponent in
    |                         `- warning: capture of 'self' with non-sendable type 'LLBCASFSClient' in a `@Sendable` closure
119 |                     future.flatMap { node in
120 |                         let entry = node.asDirectoryEntry(filename: pathComponent)
/Users/admin/builder/spi-builder-workspace/Sources/TSFCASFileTree/CASFSClient.swift:121:74: warning: capture of 'self' with non-sendable type 'LLBCASFSClient' in an isolated closure; this is an error in the Swift 6 language mode
 16 |
 17 | /// A main API struct
 18 | public struct LLBCASFSClient {
    |               `- note: consider making struct 'LLBCASFSClient' conform to the 'Sendable' protocol
 19 |     public let db: LLBCASDatabase
 20 |
    :
119 |                     future.flatMap { node in
120 |                         let entry = node.asDirectoryEntry(filename: pathComponent)
121 |                         return LLBCASFileTree.create(files: [entry], in: self.db, ctx).map {
    |                                                                          `- warning: capture of 'self' with non-sendable type 'LLBCASFSClient' in an isolated closure; this is an error in the Swift 6 language mode
122 |                             return LLBCASFSNode(tree: $0, db: self.db)
123 |                         }
/Users/admin/builder/spi-builder-workspace/Sources/TSFCASFileTree/CASFSClient.swift:121:74: warning: capture of 'self' with non-sendable type 'LLBCASFSClient' in a `@Sendable` closure
 16 |
 17 | /// A main API struct
 18 | public struct LLBCASFSClient {
    |               `- note: consider making struct 'LLBCASFSClient' conform to the 'Sendable' protocol
 19 |     public let db: LLBCASDatabase
 20 |
    :
119 |                     future.flatMap { node in
120 |                         let entry = node.asDirectoryEntry(filename: pathComponent)
121 |                         return LLBCASFileTree.create(files: [entry], in: self.db, ctx).map {
    |                                                                          `- warning: capture of 'self' with non-sendable type 'LLBCASFSClient' in a `@Sendable` closure
122 |                             return LLBCASFSNode(tree: $0, db: self.db)
123 |                         }
/Users/admin/builder/spi-builder-workspace/Sources/TSFCASFileTree/CASFSClient.swift:122:63: warning: capture of 'self' with non-sendable type 'LLBCASFSClient' in a `@Sendable` closure
 16 |
 17 | /// A main API struct
 18 | public struct LLBCASFSClient {
    |               `- note: consider making struct 'LLBCASFSClient' conform to the 'Sendable' protocol
 19 |     public let db: LLBCASDatabase
 20 |
    :
120 |                         let entry = node.asDirectoryEntry(filename: pathComponent)
121 |                         return LLBCASFileTree.create(files: [entry], in: self.db, ctx).map {
122 |                             return LLBCASFSNode(tree: $0, db: self.db)
    |                                                               `- warning: capture of 'self' with non-sendable type 'LLBCASFSClient' in a `@Sendable` closure
123 |                         }
124 |                     }
[466/467] Compiling TSFCASFileTree FileTreeImport.swift
/Users/admin/builder/spi-builder-workspace/Sources/TSFCASFileTree/FileTreeImport.swift:326:71: warning: capture of 'body' with non-sendable type '(Int) -> LLBFuture<T>' (aka '(Int) -> EventLoopFuture<T>') in a `@Sendable` closure
 324 |             let promise = loop.makePromise(of: T.self)
 325 |             _ = loop.scheduleTask(in: .seconds(3)) {
 326 |                 recursivelyDecreasingLimit(on: loop, limit: newLimit, body)
     |                                                                       |- warning: capture of 'body' with non-sendable type '(Int) -> LLBFuture<T>' (aka '(Int) -> EventLoopFuture<T>') in a `@Sendable` closure
     |                                                                       `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
 327 |                     .cascade(to: promise)
 328 |             }
/Users/admin/builder/spi-builder-workspace/Sources/TSFCASFileTree/FileTreeImport.swift:326:71: warning: capture of 'body' with non-sendable type '(Int) -> LLBFuture<T>' (aka '(Int) -> EventLoopFuture<T>') in a `@Sendable` closure
 324 |             let promise = loop.makePromise(of: T.self)
 325 |             _ = loop.scheduleTask(in: .seconds(3)) {
 326 |                 recursivelyDecreasingLimit(on: loop, limit: newLimit, body)
     |                                                                       |- warning: capture of 'body' with non-sendable type '(Int) -> LLBFuture<T>' (aka '(Int) -> EventLoopFuture<T>') in a `@Sendable` closure
     |                                                                       `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
 327 |                     .cascade(to: promise)
 328 |             }
/Users/admin/builder/spi-builder-workspace/Sources/TSFCASFileTree/FileTreeImport.swift:327:34: warning: capture of 'promise' with non-sendable type 'EventLoopPromise<T>' in a `@Sendable` closure
 309 |
 310 |     // Retry with lesser concurrency if we see unexpected network errors.
 311 |     private static func recursivelyDecreasingLimit<T>(on loop: LLBFuturesDispatchLoop, limit: Int, _ body: @escaping (Int) -> LLBFuture<T>) -> LLBFuture<T> {
     |                                                    `- note: consider making generic parameter 'T' conform to the 'Sendable' protocol
 312 |         return body(limit).flatMapError { error -> LLBFuture<T> in
 313 |             // Check if something retryable happened.
     :
 325 |             _ = loop.scheduleTask(in: .seconds(3)) {
 326 |                 recursivelyDecreasingLimit(on: loop, limit: newLimit, body)
 327 |                     .cascade(to: promise)
     |                                  `- warning: capture of 'promise' with non-sendable type 'EventLoopPromise<T>' in a `@Sendable` closure
 328 |             }
 329 |
/Users/admin/builder/spi-builder-workspace/Sources/TSFCASFileTree/FileTreeImport.swift:686:53: warning: capture of 'finishedSteps' with non-sendable type '[CASTreeImport.NextStep]' in a `@Sendable` closure
 684 |                 let nextPhase = LLBCASFileTree.ImportPhase(rawValue: currentPhase.rawValue + 1)!
 685 |                 guard nextPhase < .UploadingDirs else {
 686 |                     return loop.makeSucceededFuture(finishedSteps + nextPhaseSteps)
     |                                                     `- warning: capture of 'finishedSteps' with non-sendable type '[CASTreeImport.NextStep]' in a `@Sendable` closure
 687 |                 }
 688 |                 self.set(phase: nextPhase)
     :
 743 |     }
 744 |
 745 |     indirect enum NextStep {
     |                   `- note: consider making enum 'NextStep' conform to the 'Sendable' protocol
 746 |     // Final step in a sequence: stop stepping through.
 747 |     case skipped
/Users/admin/builder/spi-builder-workspace/Sources/TSFCASFileTree/FileTreeImport.swift:686:69: warning: capture of 'nextPhaseSteps' with non-sendable type '[CASTreeImport.NextStep]' in a `@Sendable` closure
 684 |                 let nextPhase = LLBCASFileTree.ImportPhase(rawValue: currentPhase.rawValue + 1)!
 685 |                 guard nextPhase < .UploadingDirs else {
 686 |                     return loop.makeSucceededFuture(finishedSteps + nextPhaseSteps)
     |                                                                     `- warning: capture of 'nextPhaseSteps' with non-sendable type '[CASTreeImport.NextStep]' in a `@Sendable` closure
 687 |                 }
 688 |                 self.set(phase: nextPhase)
     :
 743 |     }
 744 |
 745 |     indirect enum NextStep {
     |                   `- note: consider making enum 'NextStep' conform to the 'Sendable' protocol
 746 |     // Final step in a sequence: stop stepping through.
 747 |     case skipped
/Users/admin/builder/spi-builder-workspace/Sources/TSFCASFileTree/FileTreeImport.swift:686:53: warning: reference to captured var 'finishedSteps' in concurrently-executing code
 684 |                 let nextPhase = LLBCASFileTree.ImportPhase(rawValue: currentPhase.rawValue + 1)!
 685 |                 guard nextPhase < .UploadingDirs else {
 686 |                     return loop.makeSucceededFuture(finishedSteps + nextPhaseSteps)
     |                                                     `- warning: reference to captured var 'finishedSteps' in concurrently-executing code
 687 |                 }
 688 |                 self.set(phase: nextPhase)
/Users/admin/builder/spi-builder-workspace/Sources/TSFCASFileTree/FileTreeImport.swift:686:69: warning: reference to captured var 'nextPhaseSteps' in concurrently-executing code
 684 |                 let nextPhase = LLBCASFileTree.ImportPhase(rawValue: currentPhase.rawValue + 1)!
 685 |                 guard nextPhase < .UploadingDirs else {
 686 |                     return loop.makeSucceededFuture(finishedSteps + nextPhaseSteps)
     |                                                                     `- warning: reference to captured var 'nextPhaseSteps' in concurrently-executing code
 687 |                 }
 688 |                 self.set(phase: nextPhase)
/Users/admin/builder/spi-builder-workspace/Sources/TSFCASFileTree/FileTreeImport.swift:689:97: warning: reference to captured var 'nextPhaseSteps' in concurrently-executing code
 687 |                 }
 688 |                 self.set(phase: nextPhase)
 689 |                 return self.recursivelyPerformSteps(currentPhase: nextPhase, currentPhaseSteps: nextPhaseSteps).map {
     |                                                                                                 `- warning: reference to captured var 'nextPhaseSteps' in concurrently-executing code
 690 |                     finishedSteps + $0
 691 |                 }
/Users/admin/builder/spi-builder-workspace/Sources/TSFCASFileTree/FileTreeImport.swift:690:21: warning: capture of 'finishedSteps' with non-sendable type '[CASTreeImport.NextStep]' in a `@Sendable` closure
 688 |                 self.set(phase: nextPhase)
 689 |                 return self.recursivelyPerformSteps(currentPhase: nextPhase, currentPhaseSteps: nextPhaseSteps).map {
 690 |                     finishedSteps + $0
     |                     `- warning: capture of 'finishedSteps' with non-sendable type '[CASTreeImport.NextStep]' in a `@Sendable` closure
 691 |                 }
 692 |             } else {
     :
 743 |     }
 744 |
 745 |     indirect enum NextStep {
     |                   `- note: consider making enum 'NextStep' conform to the 'Sendable' protocol
 746 |     // Final step in a sequence: stop stepping through.
 747 |     case skipped
/Users/admin/builder/spi-builder-workspace/Sources/TSFCASFileTree/FileTreeImport.swift:690:21: warning: reference to captured var 'finishedSteps' in concurrently-executing code
 688 |                 self.set(phase: nextPhase)
 689 |                 return self.recursivelyPerformSteps(currentPhase: nextPhase, currentPhaseSteps: nextPhaseSteps).map {
 690 |                     finishedSteps + $0
     |                     `- warning: reference to captured var 'finishedSteps' in concurrently-executing code
 691 |                 }
 692 |             } else {
/Users/admin/builder/spi-builder-workspace/Sources/TSFCASFileTree/FileTreeImport.swift:693:141: warning: reference to captured var 'nextPhaseSteps' in concurrently-executing code
 691 |                 }
 692 |             } else {
 693 |                 return self.recursivelyPerformSteps(currentPhase: currentPhase, currentPhaseSteps: moreStepsInCurrentPhase, nextPhaseSteps: nextPhaseSteps).map {
     |                                                                                                                                             `- warning: reference to captured var 'nextPhaseSteps' in concurrently-executing code
 694 |                     finishedSteps + $0
 695 |                 }
/Users/admin/builder/spi-builder-workspace/Sources/TSFCASFileTree/FileTreeImport.swift:694:21: warning: capture of 'finishedSteps' with non-sendable type '[CASTreeImport.NextStep]' in a `@Sendable` closure
 692 |             } else {
 693 |                 return self.recursivelyPerformSteps(currentPhase: currentPhase, currentPhaseSteps: moreStepsInCurrentPhase, nextPhaseSteps: nextPhaseSteps).map {
 694 |                     finishedSteps + $0
     |                     `- warning: capture of 'finishedSteps' with non-sendable type '[CASTreeImport.NextStep]' in a `@Sendable` closure
 695 |                 }
 696 |             }
     :
 743 |     }
 744 |
 745 |     indirect enum NextStep {
     |                   `- note: consider making enum 'NextStep' conform to the 'Sendable' protocol
 746 |     // Final step in a sequence: stop stepping through.
 747 |     case skipped
/Users/admin/builder/spi-builder-workspace/Sources/TSFCASFileTree/FileTreeImport.swift:694:21: warning: reference to captured var 'finishedSteps' in concurrently-executing code
 692 |             } else {
 693 |                 return self.recursivelyPerformSteps(currentPhase: currentPhase, currentPhaseSteps: moreStepsInCurrentPhase, nextPhaseSteps: nextPhaseSteps).map {
 694 |                     finishedSteps + $0
     |                     `- warning: reference to captured var 'finishedSteps' in concurrently-executing code
 695 |                 }
 696 |             }
/Users/admin/builder/spi-builder-workspace/Sources/TSFCASFileTree/FileTreeImport.swift:1019:37: warning: 'executeWithBackpressure(on:loop:size:default:_:)' is deprecated: This method blocks indefinitely and returns a future
1017 |                         // free to take our load. This ensures that we're not
1018 |                         // limited by CPU parallelism for network concurrency.
1019 |                         return self.executeWithBackpressure(on: self.netQueue, loop: containsLoop, size: slice.readableBytes, default: .skipped) { () -> LLBFuture<NextStep> in
     |                                     `- warning: 'executeWithBackpressure(on:loop:size:default:_:)' is deprecated: This method blocks indefinitely and returns a future
1020 |                             return self.dbPut(refs: [], data: slice, importSize: segm.uncompressedSize, ctx).flatMap { id -> LLBFuture<NextStep> in
1021 |                                 withExtendedLifetime(importObject) { // for mmap
/Users/admin/builder/spi-builder-workspace/Sources/TSFCASFileTree/FileTreeImport.swift:981:25: warning: capture of 'encodeNextStep(for:)' with non-sendable type '(LLBDataID) -> CASTreeImport.NextStep' in a `@Sendable` closure
 979 |                 do {
 980 |                     return dbPut(refs: [blobId], data: try fileInfo.toBytes(), importSize: importSize, ctx).map { id in
 981 |                         encodeNextStep(for: id)
     |                         |- warning: capture of 'encodeNextStep(for:)' with non-sendable type '(LLBDataID) -> CASTreeImport.NextStep' in a `@Sendable` closure
     |                         `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
 982 |                     }
 983 |                 } catch {
/Users/admin/builder/spi-builder-workspace/Sources/TSFCASFileTree/FileTreeImport.swift:938:20: warning: concurrently-executed local function 'encodeNextStep(for:)' must be marked as '@Sendable'
 936 |               let partialStepPromise = LLBCancellablePromise(promise: loop.makePromise(of: NextStep.self))
 937 |
 938 |               func encodeNextStep(for id: LLBDataID) -> NextStep {
     |                    `- warning: concurrently-executed local function 'encodeNextStep(for:)' must be marked as '@Sendable'
 939 |                 if isSingleChunk {
 940 |                     return .singleFile(SingleFileInfo(path: path, id: id, type: type, size: UInt64(clamping: segm.uncompressedSize), posixDetails: importObject.posixDetails))
/Users/admin/builder/spi-builder-workspace/Sources/TSFCASFileTree/FileTreeImport.swift:997:32: warning: capture of 'uploadFileInfo(blobId:importSize:)' with non-sendable type '(LLBDataID, Int?) -> LLBFuture<CASTreeImport.NextStep>' (aka '(LLBDataID, Optional<Int>) -> EventLoopFuture<CASTreeImport.NextStep>') in a `@Sendable` closure
 995 |                   guard !exists else {
 996 |                     let existingIdFuture: LLBFuture<NextStep> = segm.id.flatMap { id in
 997 |                         return uploadFileInfo(blobId: id, importSize: segm.uncompressedSize)
     |                                |- warning: capture of 'uploadFileInfo(blobId:importSize:)' with non-sendable type '(LLBDataID, Int?) -> LLBFuture<CASTreeImport.NextStep>' (aka '(LLBDataID, Optional<Int>) -> EventLoopFuture<CASTreeImport.NextStep>') in a `@Sendable` closure
     |                                `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
 998 |                     }
 999 |                     existingIdFuture.cascade(to: partialStepPromise)
/Users/admin/builder/spi-builder-workspace/Sources/TSFCASFileTree/FileTreeImport.swift:1007:32: warning: capture of 'importObject' with non-sendable type 'ObjectToImport' in a `@Sendable` closure
 836 |         let type: LLBFileType
 837 |         let allSegmentsUncompressedDataSize: Int
 838 |         enum ObjectToImport {
     |              `- note: consider making enum 'ObjectToImport' conform to the 'Sendable' protocol
 839 |             case link(target: LLBFastData)
 840 |             case file(file: FileSegmenter, posixDetails: LLBPosixFileDetails)
     :
1005 |                         let data: LLBFastData
1006 |
1007 |                         switch importObject {
     |                                `- warning: capture of 'importObject' with non-sendable type 'ObjectToImport' in a `@Sendable` closure
1008 |                         case let .link(target):
1009 |                             data = target
/Users/admin/builder/spi-builder-workspace/Sources/TSFCASFileTree/FileTreeImport.swift:997:32: warning: capture of 'uploadFileInfo(blobId:importSize:)' with non-sendable type '(LLBDataID, Int?) -> LLBFuture<CASTreeImport.NextStep>' (aka '(LLBDataID, Optional<Int>) -> EventLoopFuture<CASTreeImport.NextStep>') in a `@Sendable` closure
 995 |                   guard !exists else {
 996 |                     let existingIdFuture: LLBFuture<NextStep> = segm.id.flatMap { id in
 997 |                         return uploadFileInfo(blobId: id, importSize: segm.uncompressedSize)
     |                                |- warning: capture of 'uploadFileInfo(blobId:importSize:)' with non-sendable type '(LLBDataID, Int?) -> LLBFuture<CASTreeImport.NextStep>' (aka '(LLBDataID, Optional<Int>) -> EventLoopFuture<CASTreeImport.NextStep>') in a `@Sendable` closure
     |                                `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
 998 |                     }
 999 |                     existingIdFuture.cascade(to: partialStepPromise)
/Users/admin/builder/spi-builder-workspace/Sources/TSFCASFileTree/FileTreeImport.swift:948:20: warning: concurrently-executed local function 'uploadFileInfo(blobId:importSize:)' must be marked as '@Sendable'
 946 |               // If the file has non-standard layout, upload it after we upload
 947 |               // the binary blob.
 948 |               func uploadFileInfo(blobId: LLBDataID, importSize: Int? = nil) -> LLBFuture<NextStep> {
     |                    `- warning: concurrently-executed local function 'uploadFileInfo(blobId:importSize:)' must be marked as '@Sendable'
 949 |                 guard finalResultPromise.isCompleted == false else {
 950 |                     return loop.makeSucceededFuture(NextStep.skipped)
/Users/admin/builder/spi-builder-workspace/Sources/TSFCASFileTree/FileTreeImport.swift:1007:32: warning: capture of 'importObject' with non-sendable type 'ObjectToImport' in an isolated closure; this is an error in the Swift 6 language mode
 836 |         let type: LLBFileType
 837 |         let allSegmentsUncompressedDataSize: Int
 838 |         enum ObjectToImport {
     |              `- note: consider making enum 'ObjectToImport' conform to the 'Sendable' protocol
 839 |             case link(target: LLBFastData)
 840 |             case file(file: FileSegmenter, posixDetails: LLBPosixFileDetails)
     :
1005 |                         let data: LLBFastData
1006 |
1007 |                         switch importObject {
     |                                `- warning: capture of 'importObject' with non-sendable type 'ObjectToImport' in an isolated closure; this is an error in the Swift 6 language mode
1008 |                         case let .link(target):
1009 |                             data = target
/Users/admin/builder/spi-builder-workspace/Sources/TSFCASFileTree/FileTreeImport.swift:1022:37: warning: capture of 'uploadFileInfo(blobId:importSize:)' with non-sendable type '(LLBDataID, Int?) -> LLBFuture<CASTreeImport.NextStep>' (aka '(LLBDataID, Optional<Int>) -> EventLoopFuture<CASTreeImport.NextStep>') in an isolated closure; this is an error in the Swift 6 language mode
1020 |                             return self.dbPut(refs: [], data: slice, importSize: segm.uncompressedSize, ctx).flatMap { id -> LLBFuture<NextStep> in
1021 |                                 withExtendedLifetime(importObject) { // for mmap
1022 |                                     uploadFileInfo(blobId: id)
     |                                     |- warning: capture of 'uploadFileInfo(blobId:importSize:)' with non-sendable type '(LLBDataID, Int?) -> LLBFuture<CASTreeImport.NextStep>' (aka '(LLBDataID, Optional<Int>) -> EventLoopFuture<CASTreeImport.NextStep>') 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'
1023 |                                 }
1024 |                             }.map { result in
/Users/admin/builder/spi-builder-workspace/Sources/TSFCASFileTree/FileTreeImport.swift:1007:32: warning: capture of 'importObject' with non-sendable type 'ObjectToImport' in an isolated closure; this is an error in the Swift 6 language mode
 836 |         let type: LLBFileType
 837 |         let allSegmentsUncompressedDataSize: Int
 838 |         enum ObjectToImport {
     |              `- note: consider making enum 'ObjectToImport' conform to the 'Sendable' protocol
 839 |             case link(target: LLBFastData)
 840 |             case file(file: FileSegmenter, posixDetails: LLBPosixFileDetails)
     :
1005 |                         let data: LLBFastData
1006 |
1007 |                         switch importObject {
     |                                `- warning: capture of 'importObject' with non-sendable type 'ObjectToImport' in an isolated closure; this is an error in the Swift 6 language mode
1008 |                         case let .link(target):
1009 |                             data = target
/Users/admin/builder/spi-builder-workspace/Sources/TSFCASFileTree/FileTreeImport.swift:1022:37: warning: capture of 'uploadFileInfo(blobId:importSize:)' with non-sendable type '(LLBDataID, Int?) -> LLBFuture<CASTreeImport.NextStep>' (aka '(LLBDataID, Optional<Int>) -> EventLoopFuture<CASTreeImport.NextStep>') in an isolated closure; this is an error in the Swift 6 language mode
1020 |                             return self.dbPut(refs: [], data: slice, importSize: segm.uncompressedSize, ctx).flatMap { id -> LLBFuture<NextStep> in
1021 |                                 withExtendedLifetime(importObject) { // for mmap
1022 |                                     uploadFileInfo(blobId: id)
     |                                     |- warning: capture of 'uploadFileInfo(blobId:importSize:)' with non-sendable type '(LLBDataID, Int?) -> LLBFuture<CASTreeImport.NextStep>' (aka '(LLBDataID, Optional<Int>) -> EventLoopFuture<CASTreeImport.NextStep>') 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'
1023 |                                 }
1024 |                             }.map { result in
/Users/admin/builder/spi-builder-workspace/Sources/TSFCASFileTree/FileTreeImport.swift:1021:54: warning: capture of 'importObject' with non-sendable type 'ObjectToImport' in an isolated closure; this is an error in the Swift 6 language mode
 836 |         let type: LLBFileType
 837 |         let allSegmentsUncompressedDataSize: Int
 838 |         enum ObjectToImport {
     |              `- note: consider making enum 'ObjectToImport' conform to the 'Sendable' protocol
 839 |             case link(target: LLBFastData)
 840 |             case file(file: FileSegmenter, posixDetails: LLBPosixFileDetails)
     :
1019 |                         return self.executeWithBackpressure(on: self.netQueue, loop: containsLoop, size: slice.readableBytes, default: .skipped) { () -> LLBFuture<NextStep> in
1020 |                             return self.dbPut(refs: [], data: slice, importSize: segm.uncompressedSize, ctx).flatMap { id -> LLBFuture<NextStep> in
1021 |                                 withExtendedLifetime(importObject) { // for mmap
     |                                                      `- warning: capture of 'importObject' with non-sendable type 'ObjectToImport' in an isolated closure; this is an error in the Swift 6 language mode
1022 |                                     uploadFileInfo(blobId: id)
1023 |                                 }
/Users/admin/builder/spi-builder-workspace/Sources/TSFCASFileTree/FileTreeImport.swift:1022:37: warning: capture of 'uploadFileInfo(blobId:importSize:)' with non-sendable type '(LLBDataID, Int?) -> LLBFuture<CASTreeImport.NextStep>' (aka '(LLBDataID, Optional<Int>) -> EventLoopFuture<CASTreeImport.NextStep>') in an isolated closure; this is an error in the Swift 6 language mode
1020 |                             return self.dbPut(refs: [], data: slice, importSize: segm.uncompressedSize, ctx).flatMap { id -> LLBFuture<NextStep> in
1021 |                                 withExtendedLifetime(importObject) { // for mmap
1022 |                                     uploadFileInfo(blobId: id)
     |                                     |- warning: capture of 'uploadFileInfo(blobId:importSize:)' with non-sendable type '(LLBDataID, Int?) -> LLBFuture<CASTreeImport.NextStep>' (aka '(LLBDataID, Optional<Int>) -> EventLoopFuture<CASTreeImport.NextStep>') 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'
1023 |                                 }
1024 |                             }.map { result in
/Users/admin/builder/spi-builder-workspace/Sources/TSFCASFileTree/FileTreeImport.swift:1021:54: warning: capture of 'importObject' with non-sendable type 'ObjectToImport' in a `@Sendable` closure
 836 |         let type: LLBFileType
 837 |         let allSegmentsUncompressedDataSize: Int
 838 |         enum ObjectToImport {
     |              `- note: consider making enum 'ObjectToImport' conform to the 'Sendable' protocol
 839 |             case link(target: LLBFastData)
 840 |             case file(file: FileSegmenter, posixDetails: LLBPosixFileDetails)
     :
1019 |                         return self.executeWithBackpressure(on: self.netQueue, loop: containsLoop, size: slice.readableBytes, default: .skipped) { () -> LLBFuture<NextStep> in
1020 |                             return self.dbPut(refs: [], data: slice, importSize: segm.uncompressedSize, ctx).flatMap { id -> LLBFuture<NextStep> in
1021 |                                 withExtendedLifetime(importObject) { // for mmap
     |                                                      `- warning: capture of 'importObject' with non-sendable type 'ObjectToImport' in a `@Sendable` closure
1022 |                                     uploadFileInfo(blobId: id)
1023 |                                 }
/Users/admin/builder/spi-builder-workspace/Sources/TSFCASFileTree/FileTreeImport.swift:1022:37: warning: capture of 'uploadFileInfo(blobId:importSize:)' with non-sendable type '(LLBDataID, Int?) -> LLBFuture<CASTreeImport.NextStep>' (aka '(LLBDataID, Optional<Int>) -> EventLoopFuture<CASTreeImport.NextStep>') in a `@Sendable` closure
1020 |                             return self.dbPut(refs: [], data: slice, importSize: segm.uncompressedSize, ctx).flatMap { id -> LLBFuture<NextStep> in
1021 |                                 withExtendedLifetime(importObject) { // for mmap
1022 |                                     uploadFileInfo(blobId: id)
     |                                     |- warning: capture of 'uploadFileInfo(blobId:importSize:)' with non-sendable type '(LLBDataID, Int?) -> LLBFuture<CASTreeImport.NextStep>' (aka '(LLBDataID, Optional<Int>) -> EventLoopFuture<CASTreeImport.NextStep>') in a `@Sendable` closure
     |                                     `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
1023 |                                 }
1024 |                             }.map { result in
/Users/admin/builder/spi-builder-workspace/Sources/TSFCASFileTree/FileTreeImport.swift:1022:37: warning: capture of 'uploadFileInfo(blobId:importSize:)' with non-sendable type '(LLBDataID, Int?) -> LLBFuture<CASTreeImport.NextStep>' (aka '(LLBDataID, Optional<Int>) -> EventLoopFuture<CASTreeImport.NextStep>') in an isolated closure; this is an error in the Swift 6 language mode
1020 |                             return self.dbPut(refs: [], data: slice, importSize: segm.uncompressedSize, ctx).flatMap { id -> LLBFuture<NextStep> in
1021 |                                 withExtendedLifetime(importObject) { // for mmap
1022 |                                     uploadFileInfo(blobId: id)
     |                                     |- warning: capture of 'uploadFileInfo(blobId:importSize:)' with non-sendable type '(LLBDataID, Int?) -> LLBFuture<CASTreeImport.NextStep>' (aka '(LLBDataID, Optional<Int>) -> EventLoopFuture<CASTreeImport.NextStep>') 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'
1023 |                                 }
1024 |                             }.map { result in
/Users/admin/builder/spi-builder-workspace/Sources/TSFCASFileTree/FileTreeImport.swift:1098:36: warning: capture of 'importObject' with non-sendable type 'ObjectToImport' in a `@Sendable` closure
 836 |         let type: LLBFileType
 837 |         let allSegmentsUncompressedDataSize: Int
 838 |         enum ObjectToImport {
     |              `- note: consider making enum 'ObjectToImport' conform to the 'Sendable' protocol
 839 |             case link(target: LLBFastData)
 840 |             case file(file: FileSegmenter, posixDetails: LLBPosixFileDetails)
     :
1096 |                 fileInfo.compression = .none
1097 |                 fileInfo.fixedChunkSize = UInt64(chunkIds.count > 1 ? self.options.fileChunkSize : allSegmentsUncompressedDataSize)
1098 |                 let posixDetails = importObject.posixDetails
     |                                    `- warning: capture of 'importObject' with non-sendable type 'ObjectToImport' in a `@Sendable` closure
1099 |                 fileInfo.update(posixDetails: posixDetails, options: self.options)
1100 |                 do {
[467/467] Compiling TSFCASFileTree FilesystemObject.swift
/Users/admin/builder/spi-builder-workspace/Sources/TSFCASFileTree/FileTreeImport.swift:326:71: warning: capture of 'body' with non-sendable type '(Int) -> LLBFuture<T>' (aka '(Int) -> EventLoopFuture<T>') in a `@Sendable` closure
 324 |             let promise = loop.makePromise(of: T.self)
 325 |             _ = loop.scheduleTask(in: .seconds(3)) {
 326 |                 recursivelyDecreasingLimit(on: loop, limit: newLimit, body)
     |                                                                       |- warning: capture of 'body' with non-sendable type '(Int) -> LLBFuture<T>' (aka '(Int) -> EventLoopFuture<T>') in a `@Sendable` closure
     |                                                                       `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
 327 |                     .cascade(to: promise)
 328 |             }
/Users/admin/builder/spi-builder-workspace/Sources/TSFCASFileTree/FileTreeImport.swift:326:71: warning: capture of 'body' with non-sendable type '(Int) -> LLBFuture<T>' (aka '(Int) -> EventLoopFuture<T>') in a `@Sendable` closure
 324 |             let promise = loop.makePromise(of: T.self)
 325 |             _ = loop.scheduleTask(in: .seconds(3)) {
 326 |                 recursivelyDecreasingLimit(on: loop, limit: newLimit, body)
     |                                                                       |- warning: capture of 'body' with non-sendable type '(Int) -> LLBFuture<T>' (aka '(Int) -> EventLoopFuture<T>') in a `@Sendable` closure
     |                                                                       `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
 327 |                     .cascade(to: promise)
 328 |             }
/Users/admin/builder/spi-builder-workspace/Sources/TSFCASFileTree/FileTreeImport.swift:327:34: warning: capture of 'promise' with non-sendable type 'EventLoopPromise<T>' in a `@Sendable` closure
 309 |
 310 |     // Retry with lesser concurrency if we see unexpected network errors.
 311 |     private static func recursivelyDecreasingLimit<T>(on loop: LLBFuturesDispatchLoop, limit: Int, _ body: @escaping (Int) -> LLBFuture<T>) -> LLBFuture<T> {
     |                                                    `- note: consider making generic parameter 'T' conform to the 'Sendable' protocol
 312 |         return body(limit).flatMapError { error -> LLBFuture<T> in
 313 |             // Check if something retryable happened.
     :
 325 |             _ = loop.scheduleTask(in: .seconds(3)) {
 326 |                 recursivelyDecreasingLimit(on: loop, limit: newLimit, body)
 327 |                     .cascade(to: promise)
     |                                  `- warning: capture of 'promise' with non-sendable type 'EventLoopPromise<T>' in a `@Sendable` closure
 328 |             }
 329 |
/Users/admin/builder/spi-builder-workspace/Sources/TSFCASFileTree/FileTreeImport.swift:686:53: warning: capture of 'finishedSteps' with non-sendable type '[CASTreeImport.NextStep]' in a `@Sendable` closure
 684 |                 let nextPhase = LLBCASFileTree.ImportPhase(rawValue: currentPhase.rawValue + 1)!
 685 |                 guard nextPhase < .UploadingDirs else {
 686 |                     return loop.makeSucceededFuture(finishedSteps + nextPhaseSteps)
     |                                                     `- warning: capture of 'finishedSteps' with non-sendable type '[CASTreeImport.NextStep]' in a `@Sendable` closure
 687 |                 }
 688 |                 self.set(phase: nextPhase)
     :
 743 |     }
 744 |
 745 |     indirect enum NextStep {
     |                   `- note: consider making enum 'NextStep' conform to the 'Sendable' protocol
 746 |     // Final step in a sequence: stop stepping through.
 747 |     case skipped
/Users/admin/builder/spi-builder-workspace/Sources/TSFCASFileTree/FileTreeImport.swift:686:69: warning: capture of 'nextPhaseSteps' with non-sendable type '[CASTreeImport.NextStep]' in a `@Sendable` closure
 684 |                 let nextPhase = LLBCASFileTree.ImportPhase(rawValue: currentPhase.rawValue + 1)!
 685 |                 guard nextPhase < .UploadingDirs else {
 686 |                     return loop.makeSucceededFuture(finishedSteps + nextPhaseSteps)
     |                                                                     `- warning: capture of 'nextPhaseSteps' with non-sendable type '[CASTreeImport.NextStep]' in a `@Sendable` closure
 687 |                 }
 688 |                 self.set(phase: nextPhase)
     :
 743 |     }
 744 |
 745 |     indirect enum NextStep {
     |                   `- note: consider making enum 'NextStep' conform to the 'Sendable' protocol
 746 |     // Final step in a sequence: stop stepping through.
 747 |     case skipped
/Users/admin/builder/spi-builder-workspace/Sources/TSFCASFileTree/FileTreeImport.swift:686:53: warning: reference to captured var 'finishedSteps' in concurrently-executing code
 684 |                 let nextPhase = LLBCASFileTree.ImportPhase(rawValue: currentPhase.rawValue + 1)!
 685 |                 guard nextPhase < .UploadingDirs else {
 686 |                     return loop.makeSucceededFuture(finishedSteps + nextPhaseSteps)
     |                                                     `- warning: reference to captured var 'finishedSteps' in concurrently-executing code
 687 |                 }
 688 |                 self.set(phase: nextPhase)
/Users/admin/builder/spi-builder-workspace/Sources/TSFCASFileTree/FileTreeImport.swift:686:69: warning: reference to captured var 'nextPhaseSteps' in concurrently-executing code
 684 |                 let nextPhase = LLBCASFileTree.ImportPhase(rawValue: currentPhase.rawValue + 1)!
 685 |                 guard nextPhase < .UploadingDirs else {
 686 |                     return loop.makeSucceededFuture(finishedSteps + nextPhaseSteps)
     |                                                                     `- warning: reference to captured var 'nextPhaseSteps' in concurrently-executing code
 687 |                 }
 688 |                 self.set(phase: nextPhase)
/Users/admin/builder/spi-builder-workspace/Sources/TSFCASFileTree/FileTreeImport.swift:689:97: warning: reference to captured var 'nextPhaseSteps' in concurrently-executing code
 687 |                 }
 688 |                 self.set(phase: nextPhase)
 689 |                 return self.recursivelyPerformSteps(currentPhase: nextPhase, currentPhaseSteps: nextPhaseSteps).map {
     |                                                                                                 `- warning: reference to captured var 'nextPhaseSteps' in concurrently-executing code
 690 |                     finishedSteps + $0
 691 |                 }
/Users/admin/builder/spi-builder-workspace/Sources/TSFCASFileTree/FileTreeImport.swift:690:21: warning: capture of 'finishedSteps' with non-sendable type '[CASTreeImport.NextStep]' in a `@Sendable` closure
 688 |                 self.set(phase: nextPhase)
 689 |                 return self.recursivelyPerformSteps(currentPhase: nextPhase, currentPhaseSteps: nextPhaseSteps).map {
 690 |                     finishedSteps + $0
     |                     `- warning: capture of 'finishedSteps' with non-sendable type '[CASTreeImport.NextStep]' in a `@Sendable` closure
 691 |                 }
 692 |             } else {
     :
 743 |     }
 744 |
 745 |     indirect enum NextStep {
     |                   `- note: consider making enum 'NextStep' conform to the 'Sendable' protocol
 746 |     // Final step in a sequence: stop stepping through.
 747 |     case skipped
/Users/admin/builder/spi-builder-workspace/Sources/TSFCASFileTree/FileTreeImport.swift:690:21: warning: reference to captured var 'finishedSteps' in concurrently-executing code
 688 |                 self.set(phase: nextPhase)
 689 |                 return self.recursivelyPerformSteps(currentPhase: nextPhase, currentPhaseSteps: nextPhaseSteps).map {
 690 |                     finishedSteps + $0
     |                     `- warning: reference to captured var 'finishedSteps' in concurrently-executing code
 691 |                 }
 692 |             } else {
/Users/admin/builder/spi-builder-workspace/Sources/TSFCASFileTree/FileTreeImport.swift:693:141: warning: reference to captured var 'nextPhaseSteps' in concurrently-executing code
 691 |                 }
 692 |             } else {
 693 |                 return self.recursivelyPerformSteps(currentPhase: currentPhase, currentPhaseSteps: moreStepsInCurrentPhase, nextPhaseSteps: nextPhaseSteps).map {
     |                                                                                                                                             `- warning: reference to captured var 'nextPhaseSteps' in concurrently-executing code
 694 |                     finishedSteps + $0
 695 |                 }
/Users/admin/builder/spi-builder-workspace/Sources/TSFCASFileTree/FileTreeImport.swift:694:21: warning: capture of 'finishedSteps' with non-sendable type '[CASTreeImport.NextStep]' in a `@Sendable` closure
 692 |             } else {
 693 |                 return self.recursivelyPerformSteps(currentPhase: currentPhase, currentPhaseSteps: moreStepsInCurrentPhase, nextPhaseSteps: nextPhaseSteps).map {
 694 |                     finishedSteps + $0
     |                     `- warning: capture of 'finishedSteps' with non-sendable type '[CASTreeImport.NextStep]' in a `@Sendable` closure
 695 |                 }
 696 |             }
     :
 743 |     }
 744 |
 745 |     indirect enum NextStep {
     |                   `- note: consider making enum 'NextStep' conform to the 'Sendable' protocol
 746 |     // Final step in a sequence: stop stepping through.
 747 |     case skipped
/Users/admin/builder/spi-builder-workspace/Sources/TSFCASFileTree/FileTreeImport.swift:694:21: warning: reference to captured var 'finishedSteps' in concurrently-executing code
 692 |             } else {
 693 |                 return self.recursivelyPerformSteps(currentPhase: currentPhase, currentPhaseSteps: moreStepsInCurrentPhase, nextPhaseSteps: nextPhaseSteps).map {
 694 |                     finishedSteps + $0
     |                     `- warning: reference to captured var 'finishedSteps' in concurrently-executing code
 695 |                 }
 696 |             }
/Users/admin/builder/spi-builder-workspace/Sources/TSFCASFileTree/FileTreeImport.swift:1019:37: warning: 'executeWithBackpressure(on:loop:size:default:_:)' is deprecated: This method blocks indefinitely and returns a future
1017 |                         // free to take our load. This ensures that we're not
1018 |                         // limited by CPU parallelism for network concurrency.
1019 |                         return self.executeWithBackpressure(on: self.netQueue, loop: containsLoop, size: slice.readableBytes, default: .skipped) { () -> LLBFuture<NextStep> in
     |                                     `- warning: 'executeWithBackpressure(on:loop:size:default:_:)' is deprecated: This method blocks indefinitely and returns a future
1020 |                             return self.dbPut(refs: [], data: slice, importSize: segm.uncompressedSize, ctx).flatMap { id -> LLBFuture<NextStep> in
1021 |                                 withExtendedLifetime(importObject) { // for mmap
/Users/admin/builder/spi-builder-workspace/Sources/TSFCASFileTree/FileTreeImport.swift:981:25: warning: capture of 'encodeNextStep(for:)' with non-sendable type '(LLBDataID) -> CASTreeImport.NextStep' in a `@Sendable` closure
 979 |                 do {
 980 |                     return dbPut(refs: [blobId], data: try fileInfo.toBytes(), importSize: importSize, ctx).map { id in
 981 |                         encodeNextStep(for: id)
     |                         |- warning: capture of 'encodeNextStep(for:)' with non-sendable type '(LLBDataID) -> CASTreeImport.NextStep' in a `@Sendable` closure
     |                         `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
 982 |                     }
 983 |                 } catch {
/Users/admin/builder/spi-builder-workspace/Sources/TSFCASFileTree/FileTreeImport.swift:938:20: warning: concurrently-executed local function 'encodeNextStep(for:)' must be marked as '@Sendable'
 936 |               let partialStepPromise = LLBCancellablePromise(promise: loop.makePromise(of: NextStep.self))
 937 |
 938 |               func encodeNextStep(for id: LLBDataID) -> NextStep {
     |                    `- warning: concurrently-executed local function 'encodeNextStep(for:)' must be marked as '@Sendable'
 939 |                 if isSingleChunk {
 940 |                     return .singleFile(SingleFileInfo(path: path, id: id, type: type, size: UInt64(clamping: segm.uncompressedSize), posixDetails: importObject.posixDetails))
/Users/admin/builder/spi-builder-workspace/Sources/TSFCASFileTree/FileTreeImport.swift:997:32: warning: capture of 'uploadFileInfo(blobId:importSize:)' with non-sendable type '(LLBDataID, Int?) -> LLBFuture<CASTreeImport.NextStep>' (aka '(LLBDataID, Optional<Int>) -> EventLoopFuture<CASTreeImport.NextStep>') in a `@Sendable` closure
 995 |                   guard !exists else {
 996 |                     let existingIdFuture: LLBFuture<NextStep> = segm.id.flatMap { id in
 997 |                         return uploadFileInfo(blobId: id, importSize: segm.uncompressedSize)
     |                                |- warning: capture of 'uploadFileInfo(blobId:importSize:)' with non-sendable type '(LLBDataID, Int?) -> LLBFuture<CASTreeImport.NextStep>' (aka '(LLBDataID, Optional<Int>) -> EventLoopFuture<CASTreeImport.NextStep>') in a `@Sendable` closure
     |                                `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
 998 |                     }
 999 |                     existingIdFuture.cascade(to: partialStepPromise)
/Users/admin/builder/spi-builder-workspace/Sources/TSFCASFileTree/FileTreeImport.swift:1007:32: warning: capture of 'importObject' with non-sendable type 'ObjectToImport' in a `@Sendable` closure
 836 |         let type: LLBFileType
 837 |         let allSegmentsUncompressedDataSize: Int
 838 |         enum ObjectToImport {
     |              `- note: consider making enum 'ObjectToImport' conform to the 'Sendable' protocol
 839 |             case link(target: LLBFastData)
 840 |             case file(file: FileSegmenter, posixDetails: LLBPosixFileDetails)
     :
1005 |                         let data: LLBFastData
1006 |
1007 |                         switch importObject {
     |                                `- warning: capture of 'importObject' with non-sendable type 'ObjectToImport' in a `@Sendable` closure
1008 |                         case let .link(target):
1009 |                             data = target
/Users/admin/builder/spi-builder-workspace/Sources/TSFCASFileTree/FileTreeImport.swift:997:32: warning: capture of 'uploadFileInfo(blobId:importSize:)' with non-sendable type '(LLBDataID, Int?) -> LLBFuture<CASTreeImport.NextStep>' (aka '(LLBDataID, Optional<Int>) -> EventLoopFuture<CASTreeImport.NextStep>') in a `@Sendable` closure
 995 |                   guard !exists else {
 996 |                     let existingIdFuture: LLBFuture<NextStep> = segm.id.flatMap { id in
 997 |                         return uploadFileInfo(blobId: id, importSize: segm.uncompressedSize)
     |                                |- warning: capture of 'uploadFileInfo(blobId:importSize:)' with non-sendable type '(LLBDataID, Int?) -> LLBFuture<CASTreeImport.NextStep>' (aka '(LLBDataID, Optional<Int>) -> EventLoopFuture<CASTreeImport.NextStep>') in a `@Sendable` closure
     |                                `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
 998 |                     }
 999 |                     existingIdFuture.cascade(to: partialStepPromise)
/Users/admin/builder/spi-builder-workspace/Sources/TSFCASFileTree/FileTreeImport.swift:948:20: warning: concurrently-executed local function 'uploadFileInfo(blobId:importSize:)' must be marked as '@Sendable'
 946 |               // If the file has non-standard layout, upload it after we upload
 947 |               // the binary blob.
 948 |               func uploadFileInfo(blobId: LLBDataID, importSize: Int? = nil) -> LLBFuture<NextStep> {
     |                    `- warning: concurrently-executed local function 'uploadFileInfo(blobId:importSize:)' must be marked as '@Sendable'
 949 |                 guard finalResultPromise.isCompleted == false else {
 950 |                     return loop.makeSucceededFuture(NextStep.skipped)
/Users/admin/builder/spi-builder-workspace/Sources/TSFCASFileTree/FileTreeImport.swift:1007:32: warning: capture of 'importObject' with non-sendable type 'ObjectToImport' in an isolated closure; this is an error in the Swift 6 language mode
 836 |         let type: LLBFileType
 837 |         let allSegmentsUncompressedDataSize: Int
 838 |         enum ObjectToImport {
     |              `- note: consider making enum 'ObjectToImport' conform to the 'Sendable' protocol
 839 |             case link(target: LLBFastData)
 840 |             case file(file: FileSegmenter, posixDetails: LLBPosixFileDetails)
     :
1005 |                         let data: LLBFastData
1006 |
1007 |                         switch importObject {
     |                                `- warning: capture of 'importObject' with non-sendable type 'ObjectToImport' in an isolated closure; this is an error in the Swift 6 language mode
1008 |                         case let .link(target):
1009 |                             data = target
/Users/admin/builder/spi-builder-workspace/Sources/TSFCASFileTree/FileTreeImport.swift:1022:37: warning: capture of 'uploadFileInfo(blobId:importSize:)' with non-sendable type '(LLBDataID, Int?) -> LLBFuture<CASTreeImport.NextStep>' (aka '(LLBDataID, Optional<Int>) -> EventLoopFuture<CASTreeImport.NextStep>') in an isolated closure; this is an error in the Swift 6 language mode
1020 |                             return self.dbPut(refs: [], data: slice, importSize: segm.uncompressedSize, ctx).flatMap { id -> LLBFuture<NextStep> in
1021 |                                 withExtendedLifetime(importObject) { // for mmap
1022 |                                     uploadFileInfo(blobId: id)
     |                                     |- warning: capture of 'uploadFileInfo(blobId:importSize:)' with non-sendable type '(LLBDataID, Int?) -> LLBFuture<CASTreeImport.NextStep>' (aka '(LLBDataID, Optional<Int>) -> EventLoopFuture<CASTreeImport.NextStep>') 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'
1023 |                                 }
1024 |                             }.map { result in
/Users/admin/builder/spi-builder-workspace/Sources/TSFCASFileTree/FileTreeImport.swift:1007:32: warning: capture of 'importObject' with non-sendable type 'ObjectToImport' in an isolated closure; this is an error in the Swift 6 language mode
 836 |         let type: LLBFileType
 837 |         let allSegmentsUncompressedDataSize: Int
 838 |         enum ObjectToImport {
     |              `- note: consider making enum 'ObjectToImport' conform to the 'Sendable' protocol
 839 |             case link(target: LLBFastData)
 840 |             case file(file: FileSegmenter, posixDetails: LLBPosixFileDetails)
     :
1005 |                         let data: LLBFastData
1006 |
1007 |                         switch importObject {
     |                                `- warning: capture of 'importObject' with non-sendable type 'ObjectToImport' in an isolated closure; this is an error in the Swift 6 language mode
1008 |                         case let .link(target):
1009 |                             data = target
/Users/admin/builder/spi-builder-workspace/Sources/TSFCASFileTree/FileTreeImport.swift:1022:37: warning: capture of 'uploadFileInfo(blobId:importSize:)' with non-sendable type '(LLBDataID, Int?) -> LLBFuture<CASTreeImport.NextStep>' (aka '(LLBDataID, Optional<Int>) -> EventLoopFuture<CASTreeImport.NextStep>') in an isolated closure; this is an error in the Swift 6 language mode
1020 |                             return self.dbPut(refs: [], data: slice, importSize: segm.uncompressedSize, ctx).flatMap { id -> LLBFuture<NextStep> in
1021 |                                 withExtendedLifetime(importObject) { // for mmap
1022 |                                     uploadFileInfo(blobId: id)
     |                                     |- warning: capture of 'uploadFileInfo(blobId:importSize:)' with non-sendable type '(LLBDataID, Int?) -> LLBFuture<CASTreeImport.NextStep>' (aka '(LLBDataID, Optional<Int>) -> EventLoopFuture<CASTreeImport.NextStep>') 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'
1023 |                                 }
1024 |                             }.map { result in
/Users/admin/builder/spi-builder-workspace/Sources/TSFCASFileTree/FileTreeImport.swift:1021:54: warning: capture of 'importObject' with non-sendable type 'ObjectToImport' in an isolated closure; this is an error in the Swift 6 language mode
 836 |         let type: LLBFileType
 837 |         let allSegmentsUncompressedDataSize: Int
 838 |         enum ObjectToImport {
     |              `- note: consider making enum 'ObjectToImport' conform to the 'Sendable' protocol
 839 |             case link(target: LLBFastData)
 840 |             case file(file: FileSegmenter, posixDetails: LLBPosixFileDetails)
     :
1019 |                         return self.executeWithBackpressure(on: self.netQueue, loop: containsLoop, size: slice.readableBytes, default: .skipped) { () -> LLBFuture<NextStep> in
1020 |                             return self.dbPut(refs: [], data: slice, importSize: segm.uncompressedSize, ctx).flatMap { id -> LLBFuture<NextStep> in
1021 |                                 withExtendedLifetime(importObject) { // for mmap
     |                                                      `- warning: capture of 'importObject' with non-sendable type 'ObjectToImport' in an isolated closure; this is an error in the Swift 6 language mode
1022 |                                     uploadFileInfo(blobId: id)
1023 |                                 }
/Users/admin/builder/spi-builder-workspace/Sources/TSFCASFileTree/FileTreeImport.swift:1022:37: warning: capture of 'uploadFileInfo(blobId:importSize:)' with non-sendable type '(LLBDataID, Int?) -> LLBFuture<CASTreeImport.NextStep>' (aka '(LLBDataID, Optional<Int>) -> EventLoopFuture<CASTreeImport.NextStep>') in an isolated closure; this is an error in the Swift 6 language mode
1020 |                             return self.dbPut(refs: [], data: slice, importSize: segm.uncompressedSize, ctx).flatMap { id -> LLBFuture<NextStep> in
1021 |                                 withExtendedLifetime(importObject) { // for mmap
1022 |                                     uploadFileInfo(blobId: id)
     |                                     |- warning: capture of 'uploadFileInfo(blobId:importSize:)' with non-sendable type '(LLBDataID, Int?) -> LLBFuture<CASTreeImport.NextStep>' (aka '(LLBDataID, Optional<Int>) -> EventLoopFuture<CASTreeImport.NextStep>') 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'
1023 |                                 }
1024 |                             }.map { result in
/Users/admin/builder/spi-builder-workspace/Sources/TSFCASFileTree/FileTreeImport.swift:1021:54: warning: capture of 'importObject' with non-sendable type 'ObjectToImport' in a `@Sendable` closure
 836 |         let type: LLBFileType
 837 |         let allSegmentsUncompressedDataSize: Int
 838 |         enum ObjectToImport {
     |              `- note: consider making enum 'ObjectToImport' conform to the 'Sendable' protocol
 839 |             case link(target: LLBFastData)
 840 |             case file(file: FileSegmenter, posixDetails: LLBPosixFileDetails)
     :
1019 |                         return self.executeWithBackpressure(on: self.netQueue, loop: containsLoop, size: slice.readableBytes, default: .skipped) { () -> LLBFuture<NextStep> in
1020 |                             return self.dbPut(refs: [], data: slice, importSize: segm.uncompressedSize, ctx).flatMap { id -> LLBFuture<NextStep> in
1021 |                                 withExtendedLifetime(importObject) { // for mmap
     |                                                      `- warning: capture of 'importObject' with non-sendable type 'ObjectToImport' in a `@Sendable` closure
1022 |                                     uploadFileInfo(blobId: id)
1023 |                                 }
/Users/admin/builder/spi-builder-workspace/Sources/TSFCASFileTree/FileTreeImport.swift:1022:37: warning: capture of 'uploadFileInfo(blobId:importSize:)' with non-sendable type '(LLBDataID, Int?) -> LLBFuture<CASTreeImport.NextStep>' (aka '(LLBDataID, Optional<Int>) -> EventLoopFuture<CASTreeImport.NextStep>') in a `@Sendable` closure
1020 |                             return self.dbPut(refs: [], data: slice, importSize: segm.uncompressedSize, ctx).flatMap { id -> LLBFuture<NextStep> in
1021 |                                 withExtendedLifetime(importObject) { // for mmap
1022 |                                     uploadFileInfo(blobId: id)
     |                                     |- warning: capture of 'uploadFileInfo(blobId:importSize:)' with non-sendable type '(LLBDataID, Int?) -> LLBFuture<CASTreeImport.NextStep>' (aka '(LLBDataID, Optional<Int>) -> EventLoopFuture<CASTreeImport.NextStep>') in a `@Sendable` closure
     |                                     `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
1023 |                                 }
1024 |                             }.map { result in
/Users/admin/builder/spi-builder-workspace/Sources/TSFCASFileTree/FileTreeImport.swift:1022:37: warning: capture of 'uploadFileInfo(blobId:importSize:)' with non-sendable type '(LLBDataID, Int?) -> LLBFuture<CASTreeImport.NextStep>' (aka '(LLBDataID, Optional<Int>) -> EventLoopFuture<CASTreeImport.NextStep>') in an isolated closure; this is an error in the Swift 6 language mode
1020 |                             return self.dbPut(refs: [], data: slice, importSize: segm.uncompressedSize, ctx).flatMap { id -> LLBFuture<NextStep> in
1021 |                                 withExtendedLifetime(importObject) { // for mmap
1022 |                                     uploadFileInfo(blobId: id)
     |                                     |- warning: capture of 'uploadFileInfo(blobId:importSize:)' with non-sendable type '(LLBDataID, Int?) -> LLBFuture<CASTreeImport.NextStep>' (aka '(LLBDataID, Optional<Int>) -> EventLoopFuture<CASTreeImport.NextStep>') 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'
1023 |                                 }
1024 |                             }.map { result in
/Users/admin/builder/spi-builder-workspace/Sources/TSFCASFileTree/FileTreeImport.swift:1098:36: warning: capture of 'importObject' with non-sendable type 'ObjectToImport' in a `@Sendable` closure
 836 |         let type: LLBFileType
 837 |         let allSegmentsUncompressedDataSize: Int
 838 |         enum ObjectToImport {
     |              `- note: consider making enum 'ObjectToImport' conform to the 'Sendable' protocol
 839 |             case link(target: LLBFastData)
 840 |             case file(file: FileSegmenter, posixDetails: LLBPosixFileDetails)
     :
1096 |                 fileInfo.compression = .none
1097 |                 fileInfo.fixedChunkSize = UInt64(chunkIds.count > 1 ? self.options.fileChunkSize : allSegmentsUncompressedDataSize)
1098 |                 let posixDetails = importObject.posixDetails
     |                                    `- warning: capture of 'importObject' with non-sendable type 'ObjectToImport' in a `@Sendable` closure
1099 |                 fileInfo.update(posixDetails: posixDetails, options: self.options)
1100 |                 do {
[468/471] Compiling TSFCASUtilities StreamReader.swift
/Users/admin/builder/spi-builder-workspace/Sources/TSFCASUtilities/StreamReader.swift:54:24: warning: capture of 'self' with non-sendable type 'LLBCASStreamReader' in a `@Sendable` closure
 16 | /// implemented. This should be the unified API to read streaming content, so that readers do not need to understand
 17 | /// which writer was used to store the data.
 18 | public struct LLBCASStreamReader {
    |               `- note: consider making struct 'LLBCASStreamReader' conform to the 'Sendable' protocol
 19 |     private let db: LLBCASDatabase
 20 |
    :
 52 |         return LLBCASFSClient(db).load(id, ctx).flatMap { node in
 53 |             guard let tree = node.tree else {
 54 |                 return self.db.group.next().makeFailedFuture(LLBCASStreamError.invalid)
    |                        `- warning: capture of 'self' with non-sendable type 'LLBCASStreamReader' in a `@Sendable` closure
 55 |             }
 56 |
/Users/admin/builder/spi-builder-workspace/Sources/TSFCASUtilities/StreamReader.swift:67:34: warning: capture of 'readerBlock' with non-sendable type '(UInt8, LLBByteBufferView) throws -> Bool' (aka '(UInt8, ByteBufferView) throws -> Bool') in a `@Sendable` closure
 65 |                     lastReadID: lastReadID,
 66 |                     ctx,
 67 |                     readerBlock: readerBlock
    |                                  |- warning: capture of 'readerBlock' with non-sendable type '(UInt8, LLBByteBufferView) throws -> Bool' (aka '(UInt8, ByteBufferView) throws -> Bool') in a `@Sendable` closure
    |                                  `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
 68 |                 )
 69 |             } else {
/Users/admin/builder/spi-builder-workspace/Sources/TSFCASUtilities/StreamReader.swift:78:28: warning: capture of 'self' with non-sendable type 'LLBCASStreamReader' in a `@Sendable` closure
 16 | /// implemented. This should be the unified API to read streaming content, so that readers do not need to understand
 17 | /// which writer was used to store the data.
 18 | public struct LLBCASStreamReader {
    |               `- note: consider making struct 'LLBCASStreamReader' conform to the 'Sendable' protocol
 19 |     private let db: LLBCASDatabase
 20 |
    :
 76 |                 // and propagate the desire to keep on reading.
 77 |                 guard shouldContinue else {
 78 |                     return self.db.group.next().makeSucceededFuture(shouldContinue)
    |                            `- warning: capture of 'self' with non-sendable type 'LLBCASStreamReader' in a `@Sendable` closure
 79 |                 }
 80 |
/Users/admin/builder/spi-builder-workspace/Sources/TSFCASUtilities/StreamReader.swift:81:29: warning: capture of 'tree' with non-sendable type 'LLBCASFileTree' in a `@Sendable` closure
 79 |                 }
 80 |
 81 |                 let files = tree.files.filter {
    |                             `- warning: capture of 'tree' with non-sendable type 'LLBCASFileTree' in a `@Sendable` closure
 82 |                     $0.type == .plainFile
 83 |                 }
/Users/admin/builder/spi-builder-workspace/Sources/TSFCASFileTree/FileTree.swift:47:20: note: class 'LLBCASFileTree' does not conform to the 'Sendable' protocol
 45 | /// rearrange this implementation to support higher-performance derivative
 46 | /// operations (for example, tree union).
 47 | public final class LLBCASFileTree {
    |                    `- note: class 'LLBCASFileTree' does not conform to the 'Sendable' protocol
 48 |     /// The id of this tree.
 49 |     //
/Users/admin/builder/spi-builder-workspace/Sources/TSFCASUtilities/StreamReader.swift:12:1: warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'TSFCASFileTree'
 10 | import TSCUtility
 11 | import TSFCAS
 12 | import TSFCASFileTree
    | `- warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'TSFCASFileTree'
 13 |
 14 | /// Implements the reading logic to read any kind of streaming data storage implemented. Currently it's hardcoded to
/Users/admin/builder/spi-builder-workspace/Sources/TSFCASUtilities/StreamReader.swift:102:36: warning: capture of 'readerBlock' with non-sendable type '(UInt8, LLBByteBufferView) throws -> Bool' (aka '(UInt8, ByteBufferView) throws -> Bool') in a `@Sendable` closure
100 |
101 |                     return blob.read(ctx).flatMapThrowing { byteBufferView in
102 |                         return try readerBlock(channel, byteBufferView)
    |                                    |- warning: capture of 'readerBlock' with non-sendable type '(UInt8, LLBByteBufferView) throws -> Bool' (aka '(UInt8, ByteBufferView) throws -> Bool') in a `@Sendable` closure
    |                                    `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
103 |                     }
104 |                 }
/Users/admin/builder/spi-builder-workspace/Sources/TSFCASUtilities/StreamReader.swift:98:32: warning: capture of 'self' with non-sendable type 'LLBCASStreamReader' in a `@Sendable` closure
 16 | /// implemented. This should be the unified API to read streaming content, so that readers do not need to understand
 17 | /// which writer was used to store the data.
 18 | public struct LLBCASStreamReader {
    |               `- note: consider making struct 'LLBCASStreamReader' conform to the 'Sendable' protocol
 19 |     private let db: LLBCASDatabase
 20 |
    :
 96 |                 return LLBCASFSClient(self.db).load(contentID, ctx).flatMap { node in
 97 |                     guard let blob = node.blob else {
 98 |                         return self.db.group.next().makeFailedFuture(LLBCASStreamError.missing)
    |                                `- warning: capture of 'self' with non-sendable type 'LLBCASStreamReader' in a `@Sendable` closure
 99 |                     }
100 |
/Users/admin/builder/spi-builder-workspace/Sources/TSFCASUtilities/StreamReader.swift:102:36: warning: capture of 'readerBlock' with non-sendable type '(UInt8, LLBByteBufferView) throws -> Bool' (aka '(UInt8, ByteBufferView) throws -> Bool') in a `@Sendable` closure
100 |
101 |                     return blob.read(ctx).flatMapThrowing { byteBufferView in
102 |                         return try readerBlock(channel, byteBufferView)
    |                                    |- warning: capture of 'readerBlock' with non-sendable type '(UInt8, LLBByteBufferView) throws -> Bool' (aka '(UInt8, ByteBufferView) throws -> Bool') in a `@Sendable` closure
    |                                    `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
103 |                     }
104 |                 }
/Users/admin/builder/spi-builder-workspace/Sources/TSFCASUtilities/StreamReader.swift:102:36: warning: capture of 'readerBlock' with non-sendable type '(UInt8, LLBByteBufferView) throws -> Bool' (aka '(UInt8, ByteBufferView) throws -> Bool') in a `@Sendable` closure
100 |
101 |                     return blob.read(ctx).flatMapThrowing { byteBufferView in
102 |                         return try readerBlock(channel, byteBufferView)
    |                                    |- warning: capture of 'readerBlock' with non-sendable type '(UInt8, LLBByteBufferView) throws -> Bool' (aka '(UInt8, ByteBufferView) throws -> Bool') in a `@Sendable` closure
    |                                    `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
103 |                     }
104 |                 }
[469/471] Compiling TSFCASUtilities LinkedListStream.swift
[470/471] Emitting module TSFCASUtilities
[471/471] Compiling TSFCASUtilities BufferedStreamWriter.swift
Build complete! (55.39s)
Build complete.
{
  "dependencies" : [
    {
      "identity" : "swift-nio",
      "requirement" : {
        "range" : [
          {
            "lower_bound" : "2.68.0",
            "upper_bound" : "3.0.0"
          }
        ]
      },
      "type" : "sourceControl",
      "url" : "https://github.com/apple/swift-nio.git"
    },
    {
      "identity" : "swift-protobuf",
      "requirement" : {
        "range" : [
          {
            "lower_bound" : "1.28.0",
            "upper_bound" : "2.0.0"
          }
        ]
      },
      "type" : "sourceControl",
      "url" : "https://github.com/apple/swift-protobuf.git"
    },
    {
      "identity" : "swift-tools-support-core",
      "requirement" : {
        "range" : [
          {
            "lower_bound" : "0.5.8",
            "upper_bound" : "0.8.0"
          }
        ]
      },
      "type" : "sourceControl",
      "url" : "https://github.com/apple/swift-tools-support-core.git"
    }
  ],
  "manifest_display_name" : "swift-tools-support-async",
  "name" : "swift-tools-support-async",
  "path" : "/Users/admin/builder/spi-builder-workspace",
  "platforms" : [
    {
      "name" : "macos",
      "version" : "10.15"
    },
    {
      "name" : "ios",
      "version" : "13.0"
    }
  ],
  "products" : [
    {
      "name" : "SwiftToolsSupportAsync",
      "targets" : [
        "TSFFutures",
        "TSFUtility"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    },
    {
      "name" : "SwiftToolsSupportCAS",
      "targets" : [
        "TSFCAS",
        "TSFCASFileTree",
        "TSFCASUtilities"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    }
  ],
  "targets" : [
    {
      "c99name" : "TSFUtility",
      "module_type" : "SwiftTarget",
      "name" : "TSFUtility",
      "path" : "Sources/TSFUtility",
      "product_dependencies" : [
        "NIO",
        "NIOConcurrencyHelpers",
        "NIOFoundationCompat"
      ],
      "product_memberships" : [
        "SwiftToolsSupportAsync",
        "SwiftToolsSupportCAS"
      ],
      "sources" : [
        "ByteBuffer.swift",
        "FastData.swift",
        "FutureFileSystem.swift",
        "Serializable.swift"
      ],
      "target_dependencies" : [
        "TSFFutures"
      ],
      "type" : "library"
    },
    {
      "c99name" : "TSFFuturesTests",
      "module_type" : "SwiftTarget",
      "name" : "TSFFuturesTests",
      "path" : "Tests/TSFFuturesTests",
      "sources" : [
        "BatchingFutureOperationQueue.swift",
        "CancellableFutureTests.swift",
        "CancellablePromiseTests.swift",
        "CancellerTests.swift",
        "EventualResultsCacheTests.swift",
        "FutureDeduplicatorTests.swift",
        "FutureOperationQueueTests.swift",
        "OrderManagerTests.swift"
      ],
      "target_dependencies" : [
        "TSFFutures"
      ],
      "type" : "test"
    },
    {
      "c99name" : "TSFFutures",
      "module_type" : "SwiftTarget",
      "name" : "TSFFutures",
      "path" : "Sources/TSFFutures",
      "product_dependencies" : [
        "NIO",
        "NIOFoundationCompat",
        "SwiftToolsSupport-auto"
      ],
      "product_memberships" : [
        "SwiftToolsSupportAsync",
        "SwiftToolsSupportCAS"
      ],
      "sources" : [
        "BatchingFutureOperationQueue.swift",
        "CancellableFuture.swift",
        "CancellablePromise.swift",
        "Canceller.swift",
        "EventualResultsCache.swift",
        "FutureDeduplicator.swift",
        "FutureOperationQueue.swift",
        "Futures.swift",
        "OperationQueue+Extensions.swift",
        "OrderManager.swift"
      ],
      "type" : "library"
    },
    {
      "c99name" : "TSFCASUtilitiesTests",
      "module_type" : "SwiftTarget",
      "name" : "TSFCASUtilitiesTests",
      "path" : "Tests/TSFCASUtilitiesTests",
      "sources" : [
        "BufferedStreamWriterTests.swift",
        "LinkedListStreamTests.swift"
      ],
      "target_dependencies" : [
        "TSFCASUtilities"
      ],
      "type" : "test"
    },
    {
      "c99name" : "TSFCASUtilities",
      "module_type" : "SwiftTarget",
      "name" : "TSFCASUtilities",
      "path" : "Sources/TSFCASUtilities",
      "product_memberships" : [
        "SwiftToolsSupportCAS"
      ],
      "sources" : [
        "BufferedStreamWriter.swift",
        "LinkedListStream.swift",
        "StreamReader.swift"
      ],
      "target_dependencies" : [
        "TSFCAS",
        "TSFCASFileTree"
      ],
      "type" : "library"
    },
    {
      "c99name" : "TSFCASTests",
      "module_type" : "SwiftTarget",
      "name" : "TSFCASTests",
      "path" : "Tests/TSFCASTests",
      "sources" : [
        "DataIDTests.swift",
        "FileBackedCASDatabaseTests.swift",
        "InMemoryCASDatabaseTests.swift"
      ],
      "target_dependencies" : [
        "TSFCAS"
      ],
      "type" : "test"
    },
    {
      "c99name" : "TSFCASFileTreeTests",
      "module_type" : "SwiftTarget",
      "name" : "TSFCASFileTreeTests",
      "path" : "Tests/TSFCASFileTreeTests",
      "sources" : [
        "CASBlobTests.swift",
        "FileTreeImportExportTests.swift",
        "FileTreeTests.swift"
      ],
      "target_dependencies" : [
        "TSFCASFileTree"
      ],
      "type" : "test"
    },
    {
      "c99name" : "TSFCASFileTree",
      "module_type" : "SwiftTarget",
      "name" : "TSFCASFileTree",
      "path" : "Sources/TSFCASFileTree",
      "product_memberships" : [
        "SwiftToolsSupportCAS"
      ],
      "sources" : [
        "BinarySearch.swift",
        "CASBlob.swift",
        "CASFSClient.swift",
        "CASFSNode.swift",
        "ConcurrentFileTreeWalker.swift",
        "Context.swift",
        "DeclFileTree.swift",
        "DirectoryEntry.swift",
        "Errors.swift",
        "FileInfo.swift",
        "FileTree.swift",
        "FileTreeExport.swift",
        "FileTreeImport.swift",
        "FilesystemObject.swift",
        "Generated/CASFileTreeProtocol/file_tree.pb.swift",
        "Internal/ConcurrentFilesystemScanner.swift",
        "Internal/FileSegmenter.swift",
        "Internal/FileTreeParser.swift",
        "TSCCASFileSystem.swift"
      ],
      "target_dependencies" : [
        "TSFCAS"
      ],
      "type" : "library"
    },
    {
      "c99name" : "TSFCAS",
      "module_type" : "SwiftTarget",
      "name" : "TSFCAS",
      "path" : "Sources/TSFCAS",
      "product_dependencies" : [
        "SwiftProtobuf"
      ],
      "product_memberships" : [
        "SwiftToolsSupportCAS"
      ],
      "sources" : [
        "DataID.swift",
        "Database.swift",
        "DatabaseSpec.swift",
        "Generated/CASProtocol/cas_object.pb.swift",
        "Generated/CASProtocol/data_id.pb.swift",
        "Implementations/Blake3DataID.swift",
        "Implementations/FileBackedCASDatabase.swift",
        "Implementations/InMemoryCASDatabase.swift",
        "Object.swift"
      ],
      "target_dependencies" : [
        "TSFFutures",
        "TSFUtility",
        "CBLAKE3"
      ],
      "type" : "library"
    },
    {
      "c99name" : "CBLAKE3",
      "module_type" : "ClangTarget",
      "name" : "CBLAKE3",
      "path" : "Sources/CBLAKE3",
      "product_memberships" : [
        "SwiftToolsSupportCAS"
      ],
      "sources" : [
        "blake3.c",
        "blake3_avx2.c",
        "blake3_avx512.c",
        "blake3_sse41.c"
      ],
      "type" : "library"
    }
  ],
  "tools_version" : "5.5"
}
Done.