Build Information
Successful build of swift-tools-support-async, reference main (16f296
), with Swift 6.1 for macOS (SPM) on 10 Sep 2025 01:49:14 UTC.
Swift 6 data race errors: 18
Build Command
env DEVELOPER_DIR=/Applications/Xcode-16.3.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
36 | public static func with(_ group: LLBFuturesDispatchGroup) -> Context {
37 | return Context(
38 | dictionaryLiteral: (ObjectIdentifier(LLBFuturesDispatchGroup.self), group as Any))
| `- warning: type 'Any' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
39 | }
40 |
[591/600] Compiling TSFFutures CancellablePromise.swift
/Users/admin/builder/spi-builder-workspace/Sources/TSFFutures/CancellablePromise.swift:132:24: warning: capture of 'operation' with non-sendable type '(Value) -> LLBFuture<O>' (aka '(Value) -> EventLoopFuture<O>') in a '@Sendable' closure
130 | switch promise.state {
131 | case .inProgress:
132 | 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'
133 | case .fulfilled:
134 | return self.eventLoop.makeFailedFuture(LLBCancellablePromiseError.promiseFulfilled)
/Users/admin/builder/spi-builder-workspace/Sources/TSFFutures/CancellablePromise.swift:134:24: warning: capture of 'self' with non-sendable type 'EventLoopFuture<Value>' in a '@Sendable' closure
132 | return operation(value)
133 | case .fulfilled:
134 | return self.eventLoop.makeFailedFuture(LLBCancellablePromiseError.promiseFulfilled)
| `- warning: capture of 'self' with non-sendable type 'EventLoopFuture<Value>' in a '@Sendable' closure
135 | case .cancelled:
136 | return self.eventLoop.makeFailedFuture(LLBCancellablePromiseError.promiseCancelled)
/Users/admin/builder/spi-builder-workspace/Sources/TSFFutures/CancellablePromise.swift:150:24: warning: capture of 'operation' with non-sendable type '(Value) -> O' in a '@Sendable' closure
148 | switch promise.state {
149 | case .inProgress:
150 | 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'
151 | case .fulfilled:
152 | throw LLBCancellablePromiseError.promiseFulfilled
[592/600] Compiling TSFFutures BatchingFutureOperationQueue.swift
/Users/admin/builder/spi-builder-workspace/Sources/TSFFutures/BatchingFutureOperationQueue.swift:77:13: warning: capture of 'promise' with non-sendable type 'EventLoopPromise<T>' in a '@Sendable' closure
72 |
73 | @inlinable
74 | public func execute<T>(_ body: @escaping () throws -> T) -> LLBFuture<T> {
| `- note: consider making generic parameter 'T' conform to the 'Sendable' protocol
75 | let promise = group.next().makePromise(of: T.self)
76 | operationQueue.addOperation {
77 | promise.fulfill(body)
| `- warning: capture of 'promise' with non-sendable type 'EventLoopPromise<T>' in a '@Sendable' closure
78 | }
79 | return promise.futureResult
/Users/admin/builder/spi-builder-workspace/Sources/TSFFutures/BatchingFutureOperationQueue.swift:77:29: warning: capture of 'body' with non-sendable type '() throws -> T' in a '@Sendable' closure
75 | let promise = group.next().makePromise(of: T.self)
76 | operationQueue.addOperation {
77 | promise.fulfill(body)
| |- warning: capture of 'body' with non-sendable type '() throws -> T' in a '@Sendable' closure
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
78 | }
79 | return promise.futureResult
/Users/admin/builder/spi-builder-workspace/Sources/TSFFutures/BatchingFutureOperationQueue.swift:86:21: warning: capture of 'body' with non-sendable type '() -> LLBFuture<T>' (aka '() -> EventLoopFuture<T>') in a '@Sendable' closure
84 | let promise = group.next().makePromise(of: T.self)
85 | operationQueue.addOperation {
86 | let f = body()
| |- warning: capture of 'body' with non-sendable type '() -> LLBFuture<T>' (aka '() -> EventLoopFuture<T>') in a '@Sendable' closure
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
87 | f.cascade(to: promise)
88 |
/Users/admin/builder/spi-builder-workspace/Sources/TSFFutures/BatchingFutureOperationQueue.swift:87:27: warning: capture of 'promise' with non-sendable type 'EventLoopPromise<T>' in a '@Sendable' closure
81 |
82 | @inlinable
83 | public func execute<T>(_ body: @escaping () -> LLBFuture<T>) -> LLBFuture<T> {
| `- note: consider making generic parameter 'T' conform to the 'Sendable' protocol
84 | let promise = group.next().makePromise(of: T.self)
85 | operationQueue.addOperation {
86 | let f = body()
87 | f.cascade(to: promise)
| `- warning: capture of 'promise' with non-sendable type 'EventLoopPromise<T>' in a '@Sendable' closure
88 |
89 | // Wait for completion, to ensure we maintain at most N concurrent operations.
[593/600] Compiling TSFFutures FutureDeduplicator.swift
/Users/admin/builder/spi-builder-workspace/Sources/TSFFutures/FutureDeduplicator.swift:130:13: warning: capture of 'self' with non-sendable type 'LLBFutureDeduplicator<Key, Value>' in a '@Sendable' closure
14 | ///
15 | /// This cache coalesces requests and avoids re-obtaining values multiple times.
16 | public class LLBFutureDeduplicator<Key: Hashable, Value> {
| `- note: generic class 'LLBFutureDeduplicator' does not conform to the 'Sendable' protocol
17 | /// The futures group.
18 | @usableFromInline
:
128 |
129 | resolver(key).map { result in
130 | self.lock.withLockVoid {
| `- warning: capture of 'self' with non-sendable type 'LLBFutureDeduplicator<Key, Value>' in a '@Sendable' closure
131 | guard self.inFlightRequests[key]?.result.futureResult === future else {
132 | return
/Users/admin/builder/spi-builder-workspace/Sources/TSFFutures/FutureDeduplicator.swift:131:45: warning: capture of 'key' with non-sendable type 'Key' in a '@Sendable' closure
14 | ///
15 | /// This cache coalesces requests and avoids re-obtaining values multiple times.
16 | public class LLBFutureDeduplicator<Key: Hashable, Value> {
| `- note: consider making generic parameter 'Key' conform to the 'Sendable' protocol
17 | /// The futures group.
18 | @usableFromInline
:
129 | resolver(key).map { result in
130 | self.lock.withLockVoid {
131 | guard self.inFlightRequests[key]?.result.futureResult === future else {
| `- warning: capture of 'key' with non-sendable type 'Key' in a '@Sendable' closure
132 | return
133 | }
/Users/admin/builder/spi-builder-workspace/Sources/TSFFutures/FutureDeduplicator.swift:131:75: warning: capture of 'future' with non-sendable type 'LLBFuture<Value>' (aka 'EventLoopFuture<Value>') in a '@Sendable' closure
14 | ///
15 | /// This cache coalesces requests and avoids re-obtaining values multiple times.
16 | public class LLBFutureDeduplicator<Key: Hashable, Value> {
| `- note: consider making generic parameter 'Value' conform to the 'Sendable' protocol
17 | /// The futures group.
18 | @usableFromInline
:
129 | resolver(key).map { result in
130 | self.lock.withLockVoid {
131 | 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
132 | return
133 | }
/Users/admin/builder/spi-builder-workspace/Sources/TSFFutures/FutureDeduplicator.swift:131: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
14 | ///
15 | /// This cache coalesces requests and avoids re-obtaining values multiple times.
16 | public class LLBFutureDeduplicator<Key: Hashable, Value> {
| `- note: generic class 'LLBFutureDeduplicator' does not conform to the 'Sendable' protocol
17 | /// The futures group.
18 | @usableFromInline
:
129 | resolver(key).map { result in
130 | self.lock.withLockVoid {
131 | 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
132 | return
133 | }
/Users/admin/builder/spi-builder-workspace/Sources/TSFFutures/FutureDeduplicator.swift:131:45: warning: capture of 'key' with non-sendable type 'Key' in an isolated closure; this is an error in the Swift 6 language mode
14 | ///
15 | /// This cache coalesces requests and avoids re-obtaining values multiple times.
16 | public class LLBFutureDeduplicator<Key: Hashable, Value> {
| `- note: consider making generic parameter 'Key' conform to the 'Sendable' protocol
17 | /// The futures group.
18 | @usableFromInline
:
129 | resolver(key).map { result in
130 | self.lock.withLockVoid {
131 | 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
132 | return
133 | }
/Users/admin/builder/spi-builder-workspace/Sources/TSFFutures/FutureDeduplicator.swift:131: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
14 | ///
15 | /// This cache coalesces requests and avoids re-obtaining values multiple times.
16 | public class LLBFutureDeduplicator<Key: Hashable, Value> {
| `- note: consider making generic parameter 'Value' conform to the 'Sendable' protocol
17 | /// The futures group.
18 | @usableFromInline
:
129 | resolver(key).map { result in
130 | self.lock.withLockVoid {
131 | 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
132 | return
133 | }
/Users/admin/builder/spi-builder-workspace/Sources/TSFFutures/FutureDeduplicator.swift:140:50: warning: capture of 'self' with non-sendable type 'LLBFutureDeduplicator<Key, Value>' in a '@Sendable' closure
14 | ///
15 | /// This cache coalesces requests and avoids re-obtaining values multiple times.
16 | public class LLBFutureDeduplicator<Key: Hashable, Value> {
| `- note: generic class 'LLBFutureDeduplicator' does not conform to the 'Sendable' protocol
17 | /// The futures group.
18 | @usableFromInline
:
138 | return result
139 | }.flatMapErrorThrowing { error in
140 | let expires: DispatchTimeInterval? = self.expirationInterval(error)
| `- warning: capture of 'self' with non-sendable type 'LLBFutureDeduplicator<Key, Value>' in a '@Sendable' closure
141 | self.lock.withLockVoid {
142 | guard self.inFlightRequests[key]?.result.futureResult === future else {
/Users/admin/builder/spi-builder-workspace/Sources/TSFFutures/FutureDeduplicator.swift:142:45: warning: capture of 'key' with non-sendable type 'Key' in a '@Sendable' closure
14 | ///
15 | /// This cache coalesces requests and avoids re-obtaining values multiple times.
16 | public class LLBFutureDeduplicator<Key: Hashable, Value> {
| `- note: consider making generic parameter 'Key' conform to the 'Sendable' protocol
17 | /// The futures group.
18 | @usableFromInline
:
140 | let expires: DispatchTimeInterval? = self.expirationInterval(error)
141 | self.lock.withLockVoid {
142 | guard self.inFlightRequests[key]?.result.futureResult === future else {
| `- warning: capture of 'key' with non-sendable type 'Key' in a '@Sendable' closure
143 | return
144 | }
/Users/admin/builder/spi-builder-workspace/Sources/TSFFutures/FutureDeduplicator.swift:142:75: warning: capture of 'future' with non-sendable type 'LLBFuture<Value>' (aka 'EventLoopFuture<Value>') in a '@Sendable' closure
14 | ///
15 | /// This cache coalesces requests and avoids re-obtaining values multiple times.
16 | public class LLBFutureDeduplicator<Key: Hashable, Value> {
| `- note: consider making generic parameter 'Value' conform to the 'Sendable' protocol
17 | /// The futures group.
18 | @usableFromInline
:
140 | let expires: DispatchTimeInterval? = self.expirationInterval(error)
141 | self.lock.withLockVoid {
142 | 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
143 | return
144 | }
/Users/admin/builder/spi-builder-workspace/Sources/TSFFutures/FutureDeduplicator.swift:146:51: warning: capture of 'promise' with non-sendable type 'LLBPromise<Value>' (aka 'EventLoopPromise<Value>') in a '@Sendable' closure
14 | ///
15 | /// This cache coalesces requests and avoids re-obtaining values multiple times.
16 | public class LLBFutureDeduplicator<Key: Hashable, Value> {
| `- note: consider making generic parameter 'Value' conform to the 'Sendable' protocol
17 | /// The futures group.
18 | @usableFromInline
:
144 | }
145 | if let interval = expires {
146 | self.inFlightRequests[key] = (promise, now + interval)
| `- warning: capture of 'promise' with non-sendable type 'LLBPromise<Value>' (aka 'EventLoopPromise<Value>') in a '@Sendable' closure
147 | } else {
148 | self.inFlightRequests[key] = nil
/Users/admin/builder/spi-builder-workspace/Sources/TSFFutures/FutureDeduplicator.swift:142: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
14 | ///
15 | /// This cache coalesces requests and avoids re-obtaining values multiple times.
16 | public class LLBFutureDeduplicator<Key: Hashable, Value> {
| `- note: generic class 'LLBFutureDeduplicator' does not conform to the 'Sendable' protocol
17 | /// The futures group.
18 | @usableFromInline
:
140 | let expires: DispatchTimeInterval? = self.expirationInterval(error)
141 | self.lock.withLockVoid {
142 | 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
143 | return
144 | }
/Users/admin/builder/spi-builder-workspace/Sources/TSFFutures/FutureDeduplicator.swift:142:45: warning: capture of 'key' with non-sendable type 'Key' in an isolated closure; this is an error in the Swift 6 language mode
14 | ///
15 | /// This cache coalesces requests and avoids re-obtaining values multiple times.
16 | public class LLBFutureDeduplicator<Key: Hashable, Value> {
| `- note: consider making generic parameter 'Key' conform to the 'Sendable' protocol
17 | /// The futures group.
18 | @usableFromInline
:
140 | let expires: DispatchTimeInterval? = self.expirationInterval(error)
141 | self.lock.withLockVoid {
142 | 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
143 | return
144 | }
/Users/admin/builder/spi-builder-workspace/Sources/TSFFutures/FutureDeduplicator.swift:142: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
14 | ///
15 | /// This cache coalesces requests and avoids re-obtaining values multiple times.
16 | public class LLBFutureDeduplicator<Key: Hashable, Value> {
| `- note: consider making generic parameter 'Value' conform to the 'Sendable' protocol
17 | /// The futures group.
18 | @usableFromInline
:
140 | let expires: DispatchTimeInterval? = self.expirationInterval(error)
141 | self.lock.withLockVoid {
142 | 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
143 | return
144 | }
/Users/admin/builder/spi-builder-workspace/Sources/TSFFutures/FutureDeduplicator.swift:146: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
14 | ///
15 | /// This cache coalesces requests and avoids re-obtaining values multiple times.
16 | public class LLBFutureDeduplicator<Key: Hashable, Value> {
| `- note: consider making generic parameter 'Value' conform to the 'Sendable' protocol
17 | /// The futures group.
18 | @usableFromInline
:
144 | }
145 | if let interval = expires {
146 | 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
147 | } else {
148 | self.inFlightRequests[key] = nil
/Users/admin/builder/spi-builder-workspace/Sources/TSFFutures/FutureDeduplicator.swift:207:13: warning: capture of 'self' with non-sendable type 'LLBFutureDeduplicator<Key, Value>' in a '@Sendable' closure
14 | ///
15 | /// This cache coalesces requests and avoids re-obtaining values multiple times.
16 | public class LLBFutureDeduplicator<Key: Hashable, Value> {
| `- note: generic class 'LLBFutureDeduplicator' does not conform to the 'Sendable' protocol
17 | /// The futures group.
18 | @usableFromInline
:
205 |
206 | resolver(created).map { results in
207 | self.lock.withLockVoid {
| `- warning: capture of 'self' with non-sendable type 'LLBFutureDeduplicator<Key, Value>' in a '@Sendable' closure
208 | for idx in 0..<created.count {
209 | let key = created[idx]
/Users/admin/builder/spi-builder-workspace/Sources/TSFFutures/FutureDeduplicator.swift:208:32: warning: capture of 'created' with non-sendable type '[Key]' in a '@Sendable' closure
14 | ///
15 | /// This cache coalesces requests and avoids re-obtaining values multiple times.
16 | public class LLBFutureDeduplicator<Key: Hashable, Value> {
| `- note: consider making generic parameter 'Key' conform to the 'Sendable' protocol
17 | /// The futures group.
18 | @usableFromInline
:
206 | resolver(created).map { results in
207 | self.lock.withLockVoid {
208 | for idx in 0..<created.count {
| `- warning: capture of 'created' with non-sendable type '[Key]' in a '@Sendable' closure
209 | let key = created[idx]
210 | let promise = promises[idx]
/Users/admin/builder/spi-builder-workspace/Sources/TSFFutures/FutureDeduplicator.swift:210:35: warning: capture of 'promises' with non-sendable type '[LLBPromise<Value>]' (aka 'Array<EventLoopPromise<Value>>') in a '@Sendable' closure
14 | ///
15 | /// This cache coalesces requests and avoids re-obtaining values multiple times.
16 | public class LLBFutureDeduplicator<Key: Hashable, Value> {
| `- note: consider making generic parameter 'Value' conform to the 'Sendable' protocol
17 | /// The futures group.
18 | @usableFromInline
:
208 | for idx in 0..<created.count {
209 | let key = created[idx]
210 | let promise = promises[idx]
| `- warning: capture of 'promises' with non-sendable type '[LLBPromise<Value>]' (aka 'Array<EventLoopPromise<Value>>') in a '@Sendable' closure
211 | guard self.inFlightRequests[key]?.result.futureResult === promise.futureResult
212 | else {
/Users/admin/builder/spi-builder-workspace/Sources/TSFFutures/FutureDeduplicator.swift:208:32: warning: capture of 'created' with non-sendable type '[Key]' in an isolated closure; this is an error in the Swift 6 language mode
14 | ///
15 | /// This cache coalesces requests and avoids re-obtaining values multiple times.
16 | public class LLBFutureDeduplicator<Key: Hashable, Value> {
| `- note: consider making generic parameter 'Key' conform to the 'Sendable' protocol
17 | /// The futures group.
18 | @usableFromInline
:
206 | resolver(created).map { results in
207 | self.lock.withLockVoid {
208 | 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
209 | let key = created[idx]
210 | let promise = promises[idx]
/Users/admin/builder/spi-builder-workspace/Sources/TSFFutures/FutureDeduplicator.swift:210: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
14 | ///
15 | /// This cache coalesces requests and avoids re-obtaining values multiple times.
16 | public class LLBFutureDeduplicator<Key: Hashable, Value> {
| `- note: consider making generic parameter 'Value' conform to the 'Sendable' protocol
17 | /// The futures group.
18 | @usableFromInline
:
208 | for idx in 0..<created.count {
209 | let key = created[idx]
210 | 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
211 | guard self.inFlightRequests[key]?.result.futureResult === promise.futureResult
212 | else {
/Users/admin/builder/spi-builder-workspace/Sources/TSFFutures/FutureDeduplicator.swift:211: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
14 | ///
15 | /// This cache coalesces requests and avoids re-obtaining values multiple times.
16 | public class LLBFutureDeduplicator<Key: Hashable, Value> {
| `- note: generic class 'LLBFutureDeduplicator' does not conform to the 'Sendable' protocol
17 | /// The futures group.
18 | @usableFromInline
:
209 | let key = created[idx]
210 | let promise = promises[idx]
211 | guard self.inFlightRequests[key]?.result.futureResult === promise.futureResult
| `- 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
212 | else {
213 | continue
/Users/admin/builder/spi-builder-workspace/Sources/TSFFutures/FutureDeduplicator.swift:227:50: warning: capture of 'self' with non-sendable type 'LLBFutureDeduplicator<Key, Value>' in a '@Sendable' closure
14 | ///
15 | /// This cache coalesces requests and avoids re-obtaining values multiple times.
16 | public class LLBFutureDeduplicator<Key: Hashable, Value> {
| `- note: generic class 'LLBFutureDeduplicator' does not conform to the 'Sendable' protocol
17 | /// The futures group.
18 | @usableFromInline
:
225 | }.whenFailure { error in
226 | let now = DispatchTime.now()
227 | let expires: DispatchTimeInterval? = self.expirationInterval(error)
| `- warning: capture of 'self' with non-sendable type 'LLBFutureDeduplicator<Key, Value>' in a '@Sendable' closure
228 | self.lock.withLockVoid {
229 | for (key, promise) in zip(created, promises) {
/Users/admin/builder/spi-builder-workspace/Sources/TSFFutures/FutureDeduplicator.swift:229:43: warning: capture of 'created' with non-sendable type '[Key]' in a '@Sendable' closure
14 | ///
15 | /// This cache coalesces requests and avoids re-obtaining values multiple times.
16 | public class LLBFutureDeduplicator<Key: Hashable, Value> {
| `- note: consider making generic parameter 'Key' conform to the 'Sendable' protocol
17 | /// The futures group.
18 | @usableFromInline
:
227 | let expires: DispatchTimeInterval? = self.expirationInterval(error)
228 | self.lock.withLockVoid {
229 | for (key, promise) in zip(created, promises) {
| `- warning: capture of 'created' with non-sendable type '[Key]' in a '@Sendable' closure
230 | guard self.inFlightRequests[key]?.result.futureResult === promise.futureResult
231 | else {
/Users/admin/builder/spi-builder-workspace/Sources/TSFFutures/FutureDeduplicator.swift:229:52: warning: capture of 'promises' with non-sendable type '[LLBPromise<Value>]' (aka 'Array<EventLoopPromise<Value>>') in a '@Sendable' closure
14 | ///
15 | /// This cache coalesces requests and avoids re-obtaining values multiple times.
16 | public class LLBFutureDeduplicator<Key: Hashable, Value> {
| `- note: consider making generic parameter 'Value' conform to the 'Sendable' protocol
17 | /// The futures group.
18 | @usableFromInline
:
227 | let expires: DispatchTimeInterval? = self.expirationInterval(error)
228 | self.lock.withLockVoid {
229 | 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
230 | guard self.inFlightRequests[key]?.result.futureResult === promise.futureResult
231 | else {
/Users/admin/builder/spi-builder-workspace/Sources/TSFFutures/FutureDeduplicator.swift:229:43: warning: capture of 'created' with non-sendable type '[Key]' in an isolated closure; this is an error in the Swift 6 language mode
14 | ///
15 | /// This cache coalesces requests and avoids re-obtaining values multiple times.
16 | public class LLBFutureDeduplicator<Key: Hashable, Value> {
| `- note: consider making generic parameter 'Key' conform to the 'Sendable' protocol
17 | /// The futures group.
18 | @usableFromInline
:
227 | let expires: DispatchTimeInterval? = self.expirationInterval(error)
228 | self.lock.withLockVoid {
229 | 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
230 | guard self.inFlightRequests[key]?.result.futureResult === promise.futureResult
231 | else {
/Users/admin/builder/spi-builder-workspace/Sources/TSFFutures/FutureDeduplicator.swift:229: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
14 | ///
15 | /// This cache coalesces requests and avoids re-obtaining values multiple times.
16 | public class LLBFutureDeduplicator<Key: Hashable, Value> {
| `- note: consider making generic parameter 'Value' conform to the 'Sendable' protocol
17 | /// The futures group.
18 | @usableFromInline
:
227 | let expires: DispatchTimeInterval? = self.expirationInterval(error)
228 | self.lock.withLockVoid {
229 | 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
230 | guard self.inFlightRequests[key]?.result.futureResult === promise.futureResult
231 | else {
/Users/admin/builder/spi-builder-workspace/Sources/TSFFutures/FutureDeduplicator.swift:230: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
14 | ///
15 | /// This cache coalesces requests and avoids re-obtaining values multiple times.
16 | public class LLBFutureDeduplicator<Key: Hashable, Value> {
| `- note: generic class 'LLBFutureDeduplicator' does not conform to the 'Sendable' protocol
17 | /// The futures group.
18 | @usableFromInline
:
228 | self.lock.withLockVoid {
229 | for (key, promise) in zip(created, promises) {
230 | guard self.inFlightRequests[key]?.result.futureResult === promise.futureResult
| `- 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
231 | else {
232 | continue
[594/600] Compiling TSFFutures FutureOperationQueue.swift
/Users/admin/builder/spi-builder-workspace/Sources/TSFFutures/FutureOperationQueue.swift:27: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
25 |
26 | /// The queue of operations to run.
27 | 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
28 | }
29 |
30 | struct WorkItem {
| `- note: consider making struct 'WorkItem' conform to the 'Sendable' protocol
31 | let loop: LLBFuturesDispatchLoop
32 | let share: Int
/Users/admin/builder/spi-builder-workspace/Sources/TSFFutures/FutureOperationQueue.swift:156:17: warning: capture of 'run' with non-sendable type '() -> Void' in a '@Sendable' closure
154 | loop.execute {
155 | notify?.succeed(())
156 | 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'
157 | }
158 | }
[595/600] Compiling TSFFutures EventualResultsCache.swift
[596/600] Compiling TSFFutures OperationQueue+Extensions.swift
[597/600] Compiling TSFFutures Canceller.swift
[598/600] Compiling TSFFutures CancellableFuture.swift
/Users/admin/builder/spi-builder-workspace/Sources/TSFFutures/CancellableFuture.swift:33:13: warning: capture of 'canceller' with non-sendable type 'LLBCanceller' in a '@Sendable' closure
31 | // we expect the cancellation handlers to be no-op
32 | // when cancelling something that's not there.
33 | canceller.abandon()
| `- warning: capture of 'canceller' with non-sendable type 'LLBCanceller' in a '@Sendable' closure
34 | }
35 | }
/Users/admin/builder/spi-builder-workspace/Sources/TSFFutures/Canceller.swift:17:20: note: class 'LLBCanceller' does not conform to the 'Sendable' protocol
15 | /// An object serving as a cancellation handler which can
16 | /// be supplied a cancellation procedure much later in its lifetime.
17 | public final class LLBCanceller {
| `- note: class 'LLBCanceller' does not conform to the 'Sendable' protocol
18 | private let mutex_ = NIOConcurrencyHelpers.NIOLock()
19 |
[599/600] Emitting module TSFFutures
/Users/admin/builder/spi-builder-workspace/Sources/TSFFutures/BatchingFutureOperationQueue.swift:77:13: warning: capture of 'promise' with non-sendable type 'EventLoopPromise<T>' in a '@Sendable' closure
72 |
73 | @inlinable
74 | public func execute<T>(_ body: @escaping () throws -> T) -> LLBFuture<T> {
| `- note: consider making generic parameter 'T' conform to the 'Sendable' protocol
75 | let promise = group.next().makePromise(of: T.self)
76 | operationQueue.addOperation {
77 | promise.fulfill(body)
| `- warning: capture of 'promise' with non-sendable type 'EventLoopPromise<T>' in a '@Sendable' closure
78 | }
79 | return promise.futureResult
/Users/admin/builder/spi-builder-workspace/Sources/TSFFutures/BatchingFutureOperationQueue.swift:77:29: warning: capture of 'body' with non-sendable type '() throws -> T' in a '@Sendable' closure
75 | let promise = group.next().makePromise(of: T.self)
76 | operationQueue.addOperation {
77 | promise.fulfill(body)
| |- warning: capture of 'body' with non-sendable type '() throws -> T' in a '@Sendable' closure
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
78 | }
79 | return promise.futureResult
/Users/admin/builder/spi-builder-workspace/Sources/TSFFutures/BatchingFutureOperationQueue.swift:86:21: warning: capture of 'body' with non-sendable type '() -> LLBFuture<T>' (aka '() -> EventLoopFuture<T>') in a '@Sendable' closure
84 | let promise = group.next().makePromise(of: T.self)
85 | operationQueue.addOperation {
86 | let f = body()
| |- warning: capture of 'body' with non-sendable type '() -> LLBFuture<T>' (aka '() -> EventLoopFuture<T>') in a '@Sendable' closure
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
87 | f.cascade(to: promise)
88 |
/Users/admin/builder/spi-builder-workspace/Sources/TSFFutures/BatchingFutureOperationQueue.swift:87:27: warning: capture of 'promise' with non-sendable type 'EventLoopPromise<T>' in a '@Sendable' closure
81 |
82 | @inlinable
83 | public func execute<T>(_ body: @escaping () -> LLBFuture<T>) -> LLBFuture<T> {
| `- note: consider making generic parameter 'T' conform to the 'Sendable' protocol
84 | let promise = group.next().makePromise(of: T.self)
85 | operationQueue.addOperation {
86 | let f = body()
87 | f.cascade(to: promise)
| `- warning: capture of 'promise' with non-sendable type 'EventLoopPromise<T>' in a '@Sendable' closure
88 |
89 | // Wait for completion, to ensure we maintain at most N concurrent operations.
/Users/admin/builder/spi-builder-workspace/Sources/TSFFutures/CancellablePromise.swift:132:24: warning: capture of 'operation' with non-sendable type '(Value) -> LLBFuture<O>' (aka '(Value) -> EventLoopFuture<O>') in a '@Sendable' closure
130 | switch promise.state {
131 | case .inProgress:
132 | 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'
133 | case .fulfilled:
134 | return self.eventLoop.makeFailedFuture(LLBCancellablePromiseError.promiseFulfilled)
/Users/admin/builder/spi-builder-workspace/Sources/TSFFutures/CancellablePromise.swift:134:24: warning: capture of 'self' with non-sendable type 'EventLoopFuture<Value>' in a '@Sendable' closure
132 | return operation(value)
133 | case .fulfilled:
134 | return self.eventLoop.makeFailedFuture(LLBCancellablePromiseError.promiseFulfilled)
| `- warning: capture of 'self' with non-sendable type 'EventLoopFuture<Value>' in a '@Sendable' closure
135 | case .cancelled:
136 | return self.eventLoop.makeFailedFuture(LLBCancellablePromiseError.promiseCancelled)
/Users/admin/builder/spi-builder-workspace/Sources/TSFFutures/CancellablePromise.swift:150:24: warning: capture of 'operation' with non-sendable type '(Value) -> O' in a '@Sendable' closure
148 | switch promise.state {
149 | case .inProgress:
150 | 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'
151 | case .fulfilled:
152 | throw LLBCancellablePromiseError.promiseFulfilled
/Users/admin/builder/spi-builder-workspace/Sources/TSFFutures/FutureDeduplicator.swift:130:13: warning: capture of 'self' with non-sendable type 'LLBFutureDeduplicator<Key, Value>' in a '@Sendable' closure
14 | ///
15 | /// This cache coalesces requests and avoids re-obtaining values multiple times.
16 | public class LLBFutureDeduplicator<Key: Hashable, Value> {
| `- note: generic class 'LLBFutureDeduplicator' does not conform to the 'Sendable' protocol
17 | /// The futures group.
18 | @usableFromInline
:
128 |
129 | resolver(key).map { result in
130 | self.lock.withLockVoid {
| `- warning: capture of 'self' with non-sendable type 'LLBFutureDeduplicator<Key, Value>' in a '@Sendable' closure
131 | guard self.inFlightRequests[key]?.result.futureResult === future else {
132 | return
/Users/admin/builder/spi-builder-workspace/Sources/TSFFutures/FutureDeduplicator.swift:131:45: warning: capture of 'key' with non-sendable type 'Key' in a '@Sendable' closure
14 | ///
15 | /// This cache coalesces requests and avoids re-obtaining values multiple times.
16 | public class LLBFutureDeduplicator<Key: Hashable, Value> {
| `- note: consider making generic parameter 'Key' conform to the 'Sendable' protocol
17 | /// The futures group.
18 | @usableFromInline
:
129 | resolver(key).map { result in
130 | self.lock.withLockVoid {
131 | guard self.inFlightRequests[key]?.result.futureResult === future else {
| `- warning: capture of 'key' with non-sendable type 'Key' in a '@Sendable' closure
132 | return
133 | }
/Users/admin/builder/spi-builder-workspace/Sources/TSFFutures/FutureDeduplicator.swift:131:75: warning: capture of 'future' with non-sendable type 'LLBFuture<Value>' (aka 'EventLoopFuture<Value>') in a '@Sendable' closure
14 | ///
15 | /// This cache coalesces requests and avoids re-obtaining values multiple times.
16 | public class LLBFutureDeduplicator<Key: Hashable, Value> {
| `- note: consider making generic parameter 'Value' conform to the 'Sendable' protocol
17 | /// The futures group.
18 | @usableFromInline
:
129 | resolver(key).map { result in
130 | self.lock.withLockVoid {
131 | 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
132 | return
133 | }
/Users/admin/builder/spi-builder-workspace/Sources/TSFFutures/FutureDeduplicator.swift:131: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
14 | ///
15 | /// This cache coalesces requests and avoids re-obtaining values multiple times.
16 | public class LLBFutureDeduplicator<Key: Hashable, Value> {
| `- note: generic class 'LLBFutureDeduplicator' does not conform to the 'Sendable' protocol
17 | /// The futures group.
18 | @usableFromInline
:
129 | resolver(key).map { result in
130 | self.lock.withLockVoid {
131 | 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
132 | return
133 | }
/Users/admin/builder/spi-builder-workspace/Sources/TSFFutures/FutureDeduplicator.swift:131:45: warning: capture of 'key' with non-sendable type 'Key' in an isolated closure; this is an error in the Swift 6 language mode
14 | ///
15 | /// This cache coalesces requests and avoids re-obtaining values multiple times.
16 | public class LLBFutureDeduplicator<Key: Hashable, Value> {
| `- note: consider making generic parameter 'Key' conform to the 'Sendable' protocol
17 | /// The futures group.
18 | @usableFromInline
:
129 | resolver(key).map { result in
130 | self.lock.withLockVoid {
131 | 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
132 | return
133 | }
/Users/admin/builder/spi-builder-workspace/Sources/TSFFutures/FutureDeduplicator.swift:131: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
14 | ///
15 | /// This cache coalesces requests and avoids re-obtaining values multiple times.
16 | public class LLBFutureDeduplicator<Key: Hashable, Value> {
| `- note: consider making generic parameter 'Value' conform to the 'Sendable' protocol
17 | /// The futures group.
18 | @usableFromInline
:
129 | resolver(key).map { result in
130 | self.lock.withLockVoid {
131 | 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
132 | return
133 | }
/Users/admin/builder/spi-builder-workspace/Sources/TSFFutures/FutureDeduplicator.swift:140:50: warning: capture of 'self' with non-sendable type 'LLBFutureDeduplicator<Key, Value>' in a '@Sendable' closure
14 | ///
15 | /// This cache coalesces requests and avoids re-obtaining values multiple times.
16 | public class LLBFutureDeduplicator<Key: Hashable, Value> {
| `- note: generic class 'LLBFutureDeduplicator' does not conform to the 'Sendable' protocol
17 | /// The futures group.
18 | @usableFromInline
:
138 | return result
139 | }.flatMapErrorThrowing { error in
140 | let expires: DispatchTimeInterval? = self.expirationInterval(error)
| `- warning: capture of 'self' with non-sendable type 'LLBFutureDeduplicator<Key, Value>' in a '@Sendable' closure
141 | self.lock.withLockVoid {
142 | guard self.inFlightRequests[key]?.result.futureResult === future else {
/Users/admin/builder/spi-builder-workspace/Sources/TSFFutures/FutureDeduplicator.swift:142:45: warning: capture of 'key' with non-sendable type 'Key' in a '@Sendable' closure
14 | ///
15 | /// This cache coalesces requests and avoids re-obtaining values multiple times.
16 | public class LLBFutureDeduplicator<Key: Hashable, Value> {
| `- note: consider making generic parameter 'Key' conform to the 'Sendable' protocol
17 | /// The futures group.
18 | @usableFromInline
:
140 | let expires: DispatchTimeInterval? = self.expirationInterval(error)
141 | self.lock.withLockVoid {
142 | guard self.inFlightRequests[key]?.result.futureResult === future else {
| `- warning: capture of 'key' with non-sendable type 'Key' in a '@Sendable' closure
143 | return
144 | }
/Users/admin/builder/spi-builder-workspace/Sources/TSFFutures/FutureDeduplicator.swift:142:75: warning: capture of 'future' with non-sendable type 'LLBFuture<Value>' (aka 'EventLoopFuture<Value>') in a '@Sendable' closure
14 | ///
15 | /// This cache coalesces requests and avoids re-obtaining values multiple times.
16 | public class LLBFutureDeduplicator<Key: Hashable, Value> {
| `- note: consider making generic parameter 'Value' conform to the 'Sendable' protocol
17 | /// The futures group.
18 | @usableFromInline
:
140 | let expires: DispatchTimeInterval? = self.expirationInterval(error)
141 | self.lock.withLockVoid {
142 | 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
143 | return
144 | }
/Users/admin/builder/spi-builder-workspace/Sources/TSFFutures/FutureDeduplicator.swift:146:51: warning: capture of 'promise' with non-sendable type 'LLBPromise<Value>' (aka 'EventLoopPromise<Value>') in a '@Sendable' closure
14 | ///
15 | /// This cache coalesces requests and avoids re-obtaining values multiple times.
16 | public class LLBFutureDeduplicator<Key: Hashable, Value> {
| `- note: consider making generic parameter 'Value' conform to the 'Sendable' protocol
17 | /// The futures group.
18 | @usableFromInline
:
144 | }
145 | if let interval = expires {
146 | self.inFlightRequests[key] = (promise, now + interval)
| `- warning: capture of 'promise' with non-sendable type 'LLBPromise<Value>' (aka 'EventLoopPromise<Value>') in a '@Sendable' closure
147 | } else {
148 | self.inFlightRequests[key] = nil
/Users/admin/builder/spi-builder-workspace/Sources/TSFFutures/FutureDeduplicator.swift:142: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
14 | ///
15 | /// This cache coalesces requests and avoids re-obtaining values multiple times.
16 | public class LLBFutureDeduplicator<Key: Hashable, Value> {
| `- note: generic class 'LLBFutureDeduplicator' does not conform to the 'Sendable' protocol
17 | /// The futures group.
18 | @usableFromInline
:
140 | let expires: DispatchTimeInterval? = self.expirationInterval(error)
141 | self.lock.withLockVoid {
142 | 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
143 | return
144 | }
/Users/admin/builder/spi-builder-workspace/Sources/TSFFutures/FutureDeduplicator.swift:142:45: warning: capture of 'key' with non-sendable type 'Key' in an isolated closure; this is an error in the Swift 6 language mode
14 | ///
15 | /// This cache coalesces requests and avoids re-obtaining values multiple times.
16 | public class LLBFutureDeduplicator<Key: Hashable, Value> {
| `- note: consider making generic parameter 'Key' conform to the 'Sendable' protocol
17 | /// The futures group.
18 | @usableFromInline
:
140 | let expires: DispatchTimeInterval? = self.expirationInterval(error)
141 | self.lock.withLockVoid {
142 | 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
143 | return
144 | }
/Users/admin/builder/spi-builder-workspace/Sources/TSFFutures/FutureDeduplicator.swift:142: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
14 | ///
15 | /// This cache coalesces requests and avoids re-obtaining values multiple times.
16 | public class LLBFutureDeduplicator<Key: Hashable, Value> {
| `- note: consider making generic parameter 'Value' conform to the 'Sendable' protocol
17 | /// The futures group.
18 | @usableFromInline
:
140 | let expires: DispatchTimeInterval? = self.expirationInterval(error)
141 | self.lock.withLockVoid {
142 | 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
143 | return
144 | }
/Users/admin/builder/spi-builder-workspace/Sources/TSFFutures/FutureDeduplicator.swift:146: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
14 | ///
15 | /// This cache coalesces requests and avoids re-obtaining values multiple times.
16 | public class LLBFutureDeduplicator<Key: Hashable, Value> {
| `- note: consider making generic parameter 'Value' conform to the 'Sendable' protocol
17 | /// The futures group.
18 | @usableFromInline
:
144 | }
145 | if let interval = expires {
146 | 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
147 | } else {
148 | self.inFlightRequests[key] = nil
/Users/admin/builder/spi-builder-workspace/Sources/TSFFutures/FutureDeduplicator.swift:207:13: warning: capture of 'self' with non-sendable type 'LLBFutureDeduplicator<Key, Value>' in a '@Sendable' closure
14 | ///
15 | /// This cache coalesces requests and avoids re-obtaining values multiple times.
16 | public class LLBFutureDeduplicator<Key: Hashable, Value> {
| `- note: generic class 'LLBFutureDeduplicator' does not conform to the 'Sendable' protocol
17 | /// The futures group.
18 | @usableFromInline
:
205 |
206 | resolver(created).map { results in
207 | self.lock.withLockVoid {
| `- warning: capture of 'self' with non-sendable type 'LLBFutureDeduplicator<Key, Value>' in a '@Sendable' closure
208 | for idx in 0..<created.count {
209 | let key = created[idx]
/Users/admin/builder/spi-builder-workspace/Sources/TSFFutures/FutureDeduplicator.swift:208:32: warning: capture of 'created' with non-sendable type '[Key]' in a '@Sendable' closure
14 | ///
15 | /// This cache coalesces requests and avoids re-obtaining values multiple times.
16 | public class LLBFutureDeduplicator<Key: Hashable, Value> {
| `- note: consider making generic parameter 'Key' conform to the 'Sendable' protocol
17 | /// The futures group.
18 | @usableFromInline
:
206 | resolver(created).map { results in
207 | self.lock.withLockVoid {
208 | for idx in 0..<created.count {
| `- warning: capture of 'created' with non-sendable type '[Key]' in a '@Sendable' closure
209 | let key = created[idx]
210 | let promise = promises[idx]
/Users/admin/builder/spi-builder-workspace/Sources/TSFFutures/FutureDeduplicator.swift:210:35: warning: capture of 'promises' with non-sendable type '[LLBPromise<Value>]' (aka 'Array<EventLoopPromise<Value>>') in a '@Sendable' closure
14 | ///
15 | /// This cache coalesces requests and avoids re-obtaining values multiple times.
16 | public class LLBFutureDeduplicator<Key: Hashable, Value> {
| `- note: consider making generic parameter 'Value' conform to the 'Sendable' protocol
17 | /// The futures group.
18 | @usableFromInline
:
208 | for idx in 0..<created.count {
209 | let key = created[idx]
210 | let promise = promises[idx]
| `- warning: capture of 'promises' with non-sendable type '[LLBPromise<Value>]' (aka 'Array<EventLoopPromise<Value>>') in a '@Sendable' closure
211 | guard self.inFlightRequests[key]?.result.futureResult === promise.futureResult
212 | else {
/Users/admin/builder/spi-builder-workspace/Sources/TSFFutures/FutureDeduplicator.swift:208:32: warning: capture of 'created' with non-sendable type '[Key]' in an isolated closure; this is an error in the Swift 6 language mode
14 | ///
15 | /// This cache coalesces requests and avoids re-obtaining values multiple times.
16 | public class LLBFutureDeduplicator<Key: Hashable, Value> {
| `- note: consider making generic parameter 'Key' conform to the 'Sendable' protocol
17 | /// The futures group.
18 | @usableFromInline
:
206 | resolver(created).map { results in
207 | self.lock.withLockVoid {
208 | 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
209 | let key = created[idx]
210 | let promise = promises[idx]
/Users/admin/builder/spi-builder-workspace/Sources/TSFFutures/FutureDeduplicator.swift:210: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
14 | ///
15 | /// This cache coalesces requests and avoids re-obtaining values multiple times.
16 | public class LLBFutureDeduplicator<Key: Hashable, Value> {
| `- note: consider making generic parameter 'Value' conform to the 'Sendable' protocol
17 | /// The futures group.
18 | @usableFromInline
:
208 | for idx in 0..<created.count {
209 | let key = created[idx]
210 | 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
211 | guard self.inFlightRequests[key]?.result.futureResult === promise.futureResult
212 | else {
/Users/admin/builder/spi-builder-workspace/Sources/TSFFutures/FutureDeduplicator.swift:211: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
14 | ///
15 | /// This cache coalesces requests and avoids re-obtaining values multiple times.
16 | public class LLBFutureDeduplicator<Key: Hashable, Value> {
| `- note: generic class 'LLBFutureDeduplicator' does not conform to the 'Sendable' protocol
17 | /// The futures group.
18 | @usableFromInline
:
209 | let key = created[idx]
210 | let promise = promises[idx]
211 | guard self.inFlightRequests[key]?.result.futureResult === promise.futureResult
| `- 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
212 | else {
213 | continue
/Users/admin/builder/spi-builder-workspace/Sources/TSFFutures/FutureDeduplicator.swift:227:50: warning: capture of 'self' with non-sendable type 'LLBFutureDeduplicator<Key, Value>' in a '@Sendable' closure
14 | ///
15 | /// This cache coalesces requests and avoids re-obtaining values multiple times.
16 | public class LLBFutureDeduplicator<Key: Hashable, Value> {
| `- note: generic class 'LLBFutureDeduplicator' does not conform to the 'Sendable' protocol
17 | /// The futures group.
18 | @usableFromInline
:
225 | }.whenFailure { error in
226 | let now = DispatchTime.now()
227 | let expires: DispatchTimeInterval? = self.expirationInterval(error)
| `- warning: capture of 'self' with non-sendable type 'LLBFutureDeduplicator<Key, Value>' in a '@Sendable' closure
228 | self.lock.withLockVoid {
229 | for (key, promise) in zip(created, promises) {
/Users/admin/builder/spi-builder-workspace/Sources/TSFFutures/FutureDeduplicator.swift:229:43: warning: capture of 'created' with non-sendable type '[Key]' in a '@Sendable' closure
14 | ///
15 | /// This cache coalesces requests and avoids re-obtaining values multiple times.
16 | public class LLBFutureDeduplicator<Key: Hashable, Value> {
| `- note: consider making generic parameter 'Key' conform to the 'Sendable' protocol
17 | /// The futures group.
18 | @usableFromInline
:
227 | let expires: DispatchTimeInterval? = self.expirationInterval(error)
228 | self.lock.withLockVoid {
229 | for (key, promise) in zip(created, promises) {
| `- warning: capture of 'created' with non-sendable type '[Key]' in a '@Sendable' closure
230 | guard self.inFlightRequests[key]?.result.futureResult === promise.futureResult
231 | else {
/Users/admin/builder/spi-builder-workspace/Sources/TSFFutures/FutureDeduplicator.swift:229:52: warning: capture of 'promises' with non-sendable type '[LLBPromise<Value>]' (aka 'Array<EventLoopPromise<Value>>') in a '@Sendable' closure
14 | ///
15 | /// This cache coalesces requests and avoids re-obtaining values multiple times.
16 | public class LLBFutureDeduplicator<Key: Hashable, Value> {
| `- note: consider making generic parameter 'Value' conform to the 'Sendable' protocol
17 | /// The futures group.
18 | @usableFromInline
:
227 | let expires: DispatchTimeInterval? = self.expirationInterval(error)
228 | self.lock.withLockVoid {
229 | 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
230 | guard self.inFlightRequests[key]?.result.futureResult === promise.futureResult
231 | else {
/Users/admin/builder/spi-builder-workspace/Sources/TSFFutures/FutureDeduplicator.swift:229:43: warning: capture of 'created' with non-sendable type '[Key]' in an isolated closure; this is an error in the Swift 6 language mode
14 | ///
15 | /// This cache coalesces requests and avoids re-obtaining values multiple times.
16 | public class LLBFutureDeduplicator<Key: Hashable, Value> {
| `- note: consider making generic parameter 'Key' conform to the 'Sendable' protocol
17 | /// The futures group.
18 | @usableFromInline
:
227 | let expires: DispatchTimeInterval? = self.expirationInterval(error)
228 | self.lock.withLockVoid {
229 | 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
230 | guard self.inFlightRequests[key]?.result.futureResult === promise.futureResult
231 | else {
/Users/admin/builder/spi-builder-workspace/Sources/TSFFutures/FutureDeduplicator.swift:229: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
14 | ///
15 | /// This cache coalesces requests and avoids re-obtaining values multiple times.
16 | public class LLBFutureDeduplicator<Key: Hashable, Value> {
| `- note: consider making generic parameter 'Value' conform to the 'Sendable' protocol
17 | /// The futures group.
18 | @usableFromInline
:
227 | let expires: DispatchTimeInterval? = self.expirationInterval(error)
228 | self.lock.withLockVoid {
229 | 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
230 | guard self.inFlightRequests[key]?.result.futureResult === promise.futureResult
231 | else {
/Users/admin/builder/spi-builder-workspace/Sources/TSFFutures/FutureDeduplicator.swift:230: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
14 | ///
15 | /// This cache coalesces requests and avoids re-obtaining values multiple times.
16 | public class LLBFutureDeduplicator<Key: Hashable, Value> {
| `- note: generic class 'LLBFutureDeduplicator' does not conform to the 'Sendable' protocol
17 | /// The futures group.
18 | @usableFromInline
:
228 | self.lock.withLockVoid {
229 | for (key, promise) in zip(created, promises) {
230 | guard self.inFlightRequests[key]?.result.futureResult === promise.futureResult
| `- 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
231 | else {
232 | continue
/Users/admin/builder/spi-builder-workspace/Sources/TSFFutures/FutureOperationQueue.swift:27: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
25 |
26 | /// The queue of operations to run.
27 | 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
28 | }
29 |
30 | struct WorkItem {
| `- note: consider making struct 'WorkItem' conform to the 'Sendable' protocol
31 | let loop: LLBFuturesDispatchLoop
32 | let share: Int
/Users/admin/builder/spi-builder-workspace/Sources/TSFFutures/FutureOperationQueue.swift:156:17: warning: capture of 'run' with non-sendable type '() -> Void' in a '@Sendable' closure
154 | loop.execute {
155 | notify?.succeed(())
156 | 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'
157 | }
158 | }
[600/600] Compiling TSFFutures OrderManager.swift
/Users/admin/builder/spi-builder-workspace/Sources/TSFFutures/OrderManager.swift:102:17: warning: capture of 'callback' with non-sendable type '() throws -> T' in a '@Sendable' closure
100 |
101 | let future = promise.futureResult.flatMapThrowing {
102 | 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'
103 | }
104 |
/Users/admin/builder/spi-builder-workspace/Sources/TSFFutures/OrderManager.swift:106:13: warning: capture of 'self' with non-sendable type 'LLBOrderManager' in a '@Sendable' closure
37 | ///
38 |
39 | public class LLBOrderManager {
| `- note: class 'LLBOrderManager' does not conform to the 'Sendable' protocol
40 |
41 | // A safety timer, not to be exceeded.
:
104 |
105 | future.whenComplete { _ in
106 | self.lock.withLockVoid {
| `- warning: capture of 'self' with non-sendable type 'LLBOrderManager' in a '@Sendable' closure
107 | if n == self.nextToRun {
108 | self.nextToRun += 1
/Users/admin/builder/spi-builder-workspace/Sources/TSFFutures/OrderManager.swift:107:25: warning: capture of 'self' with non-sendable type 'LLBOrderManager' in an isolated closure; this is an error in the Swift 6 language mode
37 | ///
38 |
39 | public class LLBOrderManager {
| `- note: class 'LLBOrderManager' does not conform to the 'Sendable' protocol
40 |
41 | // A safety timer, not to be exceeded.
:
105 | future.whenComplete { _ in
106 | self.lock.withLockVoid {
107 | 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
108 | self.nextToRun += 1
109 | }
/Users/admin/builder/spi-builder-workspace/Sources/TSFFutures/OrderManager.swift:144:30: warning: capture of 'self' with non-sendable type 'LLBOrderManager?' in a '@Sendable' closure
37 | ///
38 |
39 | public class LLBOrderManager {
| `- note: class 'LLBOrderManager' does not conform to the 'Sendable' protocol
40 |
41 | // A safety timer, not to be exceeded.
:
142 |
143 | return EventLoopFuture.whenAllSucceed(futures, on: eventLoop).map { [weak self] _ in
144 | guard let self = self else { return }
| `- warning: capture of 'self' with non-sendable type 'LLBOrderManager?' in a '@Sendable' closure
145 | lock.withLockVoid {
146 | assert(self.waitlist.isEmpty)
[601/605] Compiling TSFUtility Serializable.swift
[602/605] Compiling TSFUtility FastData.swift
[603/605] Emitting module TSFUtility
[604/605] Compiling TSFUtility ByteBuffer.swift
[605/605] Compiling TSFUtility FutureFileSystem.swift
[606/615] Compiling TSFCAS Object.swift
[607/615] Compiling TSFCAS InMemoryCASDatabase.swift
[608/615] Compiling TSFCAS cas_object.pb.swift
[609/615] Compiling TSFCAS DatabaseSpec.swift
/Users/admin/builder/spi-builder-workspace/Sources/TSFCAS/DatabaseSpec.swift:32: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
30 | public struct LLBCASDatabaseSpec {
31 | /// The map of registered schemes.
32 | 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: add '@MainActor' to make static property 'registeredSchemes' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
33 | "mem": LLBInMemoryCASDatabaseScheme.self,
34 | "file": LLBFileBackedCASDatabaseScheme.self,
[610/615] Compiling TSFCAS data_id.pb.swift
[611/615] Compiling TSFCAS FileBackedCASDatabase.swift
[612/615] Compiling TSFCAS DataID.swift
[613/615] Compiling TSFCAS Database.swift
/Users/admin/builder/spi-builder-workspace/Sources/TSFCAS/Database.swift:156:83: warning: type 'Any' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
154 | extension Context {
155 | public static func with(_ db: LLBCASDatabase) -> Context {
156 | 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
157 | }
158 |
[614/615] Emitting module TSFCAS
/Users/admin/builder/spi-builder-workspace/Sources/TSFCAS/DatabaseSpec.swift:32: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
30 | public struct LLBCASDatabaseSpec {
31 | /// The map of registered schemes.
32 | 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: add '@MainActor' to make static property 'registeredSchemes' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
33 | "mem": LLBInMemoryCASDatabaseScheme.self,
34 | "file": LLBFileBackedCASDatabaseScheme.self,
[615/615] Compiling TSFCAS Blake3DataID.swift
[616/634] Emitting module TSFCASFileTree
/Users/admin/builder/spi-builder-workspace/Sources/TSFCASFileTree/Context.swift:41: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
:
39 | /// Support storing and retrieving file tree export storage batcher from a context
40 | extension Context {
41 | 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: add '@MainActor' to make static property 'fileTreeExportStorageBatcherKey' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
42 |
43 | public 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: add '@MainActor' to make static property 'allCases' part of global actor 'MainActor'
| `- 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: add '@MainActor' to make static property 'allCases' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
119 | .none,
120 | ]
[617/635] Compiling TSFCASFileTree DeclFileTree.swift
[618/635] Compiling TSFCASFileTree DirectoryEntry.swift
[619/635] Compiling TSFCASFileTree ConcurrentFileTreeWalker.swift
/Users/admin/builder/spi-builder-workspace/Sources/TSFCASFileTree/ConcurrentFileTreeWalker.swift:44:38: warning: capture of 'self' with non-sendable type 'ConcurrentHierarchyWalker<Item>' in a '@Sendable' closure
22 |
23 | /// Walk the hierarchy with bounded concurrency.
24 | final class ConcurrentHierarchyWalker<Item> {
| `- note: generic class 'ConcurrentHierarchyWalker' does not conform to the 'Sendable' protocol
25 |
26 | private let group: LLBFuturesDispatchGroup
:
42 | self.getChildren(item, ctx)
43 | }.flatMap { more in
44 | let futures = more.map { self.walk($0, ctx) }
| `- warning: capture of 'self' with non-sendable type 'ConcurrentHierarchyWalker<Item>' in a '@Sendable' closure
45 | return LLBFuture.whenAllSucceed(futures, on: self.group.next()).map { _ in () }
46 | }
/Users/admin/builder/spi-builder-workspace/Sources/TSFCASFileTree/ConcurrentFileTreeWalker.swift:44: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
22 |
23 | /// Walk the hierarchy with bounded concurrency.
24 | final class ConcurrentHierarchyWalker<Item> {
| `- note: generic class 'ConcurrentHierarchyWalker' does not conform to the 'Sendable' protocol
25 |
26 | private let group: LLBFuturesDispatchGroup
:
42 | self.getChildren(item, ctx)
43 | }.flatMap { more in
44 | 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
45 | return LLBFuture.whenAllSucceed(futures, on: self.group.next()).map { _ in () }
46 | }
/Users/admin/builder/spi-builder-workspace/Sources/TSFCASFileTree/ConcurrentFileTreeWalker.swift:101:13: warning: capture of 'root' with non-sendable type 'LLBConcurrentFileTreeWalker.Item' in a '@Sendable' closure
59 | }
60 |
61 | public struct Item {
| `- note: consider making struct 'Item' conform to the 'Sendable' protocol
62 | /// The description of the current CAS filesystem entry.
63 | let arg: FilterArgument
:
99 | let walker = ConcurrentHierarchyWalker(group: db.group, delegate: self)
100 | return walker.walk(root, ctx).map { () in
101 | root.scanResult.reapResult()
| `- warning: capture of 'root' with non-sendable type 'LLBConcurrentFileTreeWalker.Item' in a '@Sendable' closure
102 | }
103 | }
/Users/admin/builder/spi-builder-workspace/Sources/TSFCASFileTree/ConcurrentFileTreeWalker.swift:116:33: warning: capture of 'item' with non-sendable type 'LLBConcurrentFileTreeWalker.Item' in a '@Sendable' closure
59 | }
60 |
61 | public struct Item {
| `- note: consider making struct 'Item' conform to the 'Sendable' protocol
62 | /// The description of the current CAS filesystem entry.
63 | let arg: FilterArgument
:
114 |
115 | return client.load(item.id, type: typeHint, ctx).map { node in
116 | 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
117 | // This is our root. Check if we're allowed to go past it.
118 | let dirEntry = node.asDirectoryEntry(filename: "-")
/Users/admin/builder/spi-builder-workspace/Sources/TSFCASFileTree/ConcurrentFileTreeWalker.swift:124:23: warning: capture of 'self' with non-sendable type 'LLBConcurrentFileTreeWalker' in a '@Sendable' closure
48 | }
49 |
50 | public class LLBConcurrentFileTreeWalker: RetrieveChildrenProtocol {
| `- note: class 'LLBConcurrentFileTreeWalker' does not conform to the 'Sendable' protocol
51 | let db: LLBCASDatabase
52 | let client: LLBCASFSClient
:
122 | size: Int(clamping: dirEntry.info.size)), id: dirEntry.id,
123 | scanResult: item.scanResult)
124 | guard self.filter(rootItem) else {
| `- warning: capture of 'self' with non-sendable type 'LLBConcurrentFileTreeWalker' in a '@Sendable' closure
125 | return []
126 | }
/Users/admin/builder/spi-builder-workspace/Sources/TSFCASFileTree/Context.swift:41: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
:
39 | /// Support storing and retrieving file tree export storage batcher from a context
40 | extension Context {
41 | 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: add '@MainActor' to make static property 'fileTreeExportStorageBatcherKey' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
42 |
43 | public var fileTreeExportStorageBatcher: LLBBatchingFutureOperationQueue? {
/Users/admin/builder/spi-builder-workspace/Sources/TSFCASFileTree/Context.swift:17:86: warning: type 'Any' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
15 | public static func with(_ options: LLBCASFileTree.ImportOptions) -> Context {
16 | return Context(
17 | 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
18 | )
19 | }
[620/635] Compiling TSFCASFileTree Context.swift
/Users/admin/builder/spi-builder-workspace/Sources/TSFCASFileTree/ConcurrentFileTreeWalker.swift:44:38: warning: capture of 'self' with non-sendable type 'ConcurrentHierarchyWalker<Item>' in a '@Sendable' closure
22 |
23 | /// Walk the hierarchy with bounded concurrency.
24 | final class ConcurrentHierarchyWalker<Item> {
| `- note: generic class 'ConcurrentHierarchyWalker' does not conform to the 'Sendable' protocol
25 |
26 | private let group: LLBFuturesDispatchGroup
:
42 | self.getChildren(item, ctx)
43 | }.flatMap { more in
44 | let futures = more.map { self.walk($0, ctx) }
| `- warning: capture of 'self' with non-sendable type 'ConcurrentHierarchyWalker<Item>' in a '@Sendable' closure
45 | return LLBFuture.whenAllSucceed(futures, on: self.group.next()).map { _ in () }
46 | }
/Users/admin/builder/spi-builder-workspace/Sources/TSFCASFileTree/ConcurrentFileTreeWalker.swift:44: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
22 |
23 | /// Walk the hierarchy with bounded concurrency.
24 | final class ConcurrentHierarchyWalker<Item> {
| `- note: generic class 'ConcurrentHierarchyWalker' does not conform to the 'Sendable' protocol
25 |
26 | private let group: LLBFuturesDispatchGroup
:
42 | self.getChildren(item, ctx)
43 | }.flatMap { more in
44 | 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
45 | return LLBFuture.whenAllSucceed(futures, on: self.group.next()).map { _ in () }
46 | }
/Users/admin/builder/spi-builder-workspace/Sources/TSFCASFileTree/ConcurrentFileTreeWalker.swift:101:13: warning: capture of 'root' with non-sendable type 'LLBConcurrentFileTreeWalker.Item' in a '@Sendable' closure
59 | }
60 |
61 | public struct Item {
| `- note: consider making struct 'Item' conform to the 'Sendable' protocol
62 | /// The description of the current CAS filesystem entry.
63 | let arg: FilterArgument
:
99 | let walker = ConcurrentHierarchyWalker(group: db.group, delegate: self)
100 | return walker.walk(root, ctx).map { () in
101 | root.scanResult.reapResult()
| `- warning: capture of 'root' with non-sendable type 'LLBConcurrentFileTreeWalker.Item' in a '@Sendable' closure
102 | }
103 | }
/Users/admin/builder/spi-builder-workspace/Sources/TSFCASFileTree/ConcurrentFileTreeWalker.swift:116:33: warning: capture of 'item' with non-sendable type 'LLBConcurrentFileTreeWalker.Item' in a '@Sendable' closure
59 | }
60 |
61 | public struct Item {
| `- note: consider making struct 'Item' conform to the 'Sendable' protocol
62 | /// The description of the current CAS filesystem entry.
63 | let arg: FilterArgument
:
114 |
115 | return client.load(item.id, type: typeHint, ctx).map { node in
116 | 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
117 | // This is our root. Check if we're allowed to go past it.
118 | let dirEntry = node.asDirectoryEntry(filename: "-")
/Users/admin/builder/spi-builder-workspace/Sources/TSFCASFileTree/ConcurrentFileTreeWalker.swift:124:23: warning: capture of 'self' with non-sendable type 'LLBConcurrentFileTreeWalker' in a '@Sendable' closure
48 | }
49 |
50 | public class LLBConcurrentFileTreeWalker: RetrieveChildrenProtocol {
| `- note: class 'LLBConcurrentFileTreeWalker' does not conform to the 'Sendable' protocol
51 | let db: LLBCASDatabase
52 | let client: LLBCASFSClient
:
122 | size: Int(clamping: dirEntry.info.size)), id: dirEntry.id,
123 | scanResult: item.scanResult)
124 | guard self.filter(rootItem) else {
| `- warning: capture of 'self' with non-sendable type 'LLBConcurrentFileTreeWalker' in a '@Sendable' closure
125 | return []
126 | }
/Users/admin/builder/spi-builder-workspace/Sources/TSFCASFileTree/Context.swift:41: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
:
39 | /// Support storing and retrieving file tree export storage batcher from a context
40 | extension Context {
41 | 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: add '@MainActor' to make static property 'fileTreeExportStorageBatcherKey' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
42 |
43 | public var fileTreeExportStorageBatcher: LLBBatchingFutureOperationQueue? {
/Users/admin/builder/spi-builder-workspace/Sources/TSFCASFileTree/Context.swift:17:86: warning: type 'Any' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
15 | public static func with(_ options: LLBCASFileTree.ImportOptions) -> Context {
16 | return Context(
17 | 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
18 | )
19 | }
[621/635] Compiling TSFCASFileTree BinarySearch.swift
/Users/admin/builder/spi-builder-workspace/Sources/TSFCASFileTree/CASBlob.swift:275:35: warning: reference to captured var 'fileInfo' in concurrently-executing code
273 | db: db, receivedId: .inner(id),
274 | type: .plainFile,
275 | posixDetails: fileInfo.hasPosixDetails ? fileInfo.posixDetails : nil,
| `- warning: reference to captured var 'fileInfo' in concurrently-executing code
276 | size: data.readableBytes,
277 | contents: .flat(innerID: id, db.group.next().makeSucceededFuture(data)))
/Users/admin/builder/spi-builder-workspace/Sources/TSFCASFileTree/CASBlob.swift:275:62: warning: reference to captured var 'fileInfo' in concurrently-executing code
273 | db: db, receivedId: .inner(id),
274 | type: .plainFile,
275 | posixDetails: fileInfo.hasPosixDetails ? fileInfo.posixDetails : nil,
| `- warning: reference to captured var 'fileInfo' in concurrently-executing code
276 | size: data.readableBytes,
277 | contents: .flat(innerID: id, db.group.next().makeSucceededFuture(data)))
/Users/admin/builder/spi-builder-workspace/Sources/TSFCASFileTree/CASBlob.swift:285:57: warning: reference to captured var 'fileInfo' in concurrently-executing code
283 | }.flatMap { blobId in
284 | do {
285 | return db.put(refs: [blobId], data: try fileInfo.toBytes(), ctx).map { outerId in
| `- warning: reference to captured var 'fileInfo' in concurrently-executing code
286 | LLBCASBlob(
287 | db: db, receivedId: .outer(outerId),
/Users/admin/builder/spi-builder-workspace/Sources/TSFCASFileTree/CASBlob.swift:288:31: warning: reference to captured var 'fileInfo' in concurrently-executing code
286 | LLBCASBlob(
287 | db: db, receivedId: .outer(outerId),
288 | type: fileInfo.type,
| `- warning: reference to captured var 'fileInfo' in concurrently-executing code
289 | posixDetails: fileInfo.hasPosixDetails ? fileInfo.posixDetails : nil,
290 | size: data.readableBytes,
/Users/admin/builder/spi-builder-workspace/Sources/TSFCASFileTree/CASBlob.swift:289:39: warning: reference to captured var 'fileInfo' in concurrently-executing code
287 | db: db, receivedId: .outer(outerId),
288 | type: fileInfo.type,
289 | posixDetails: fileInfo.hasPosixDetails ? fileInfo.posixDetails : nil,
| `- warning: reference to captured var 'fileInfo' in concurrently-executing code
290 | size: data.readableBytes,
291 | contents: .chunked(
/Users/admin/builder/spi-builder-workspace/Sources/TSFCASFileTree/CASBlob.swift:289:66: warning: reference to captured var 'fileInfo' in concurrently-executing code
287 | db: db, receivedId: .outer(outerId),
288 | type: fileInfo.type,
289 | posixDetails: fileInfo.hasPosixDetails ? fileInfo.posixDetails : nil,
| `- warning: reference to captured var 'fileInfo' in concurrently-executing code
290 | size: data.readableBytes,
291 | contents: .chunked(
/Users/admin/builder/spi-builder-workspace/Sources/TSFCASFileTree/CASBlob.swift:292:62: warning: reference to captured var 'fileInfo' in concurrently-executing code
290 | size: data.readableBytes,
291 | contents: .chunked(
292 | chunks: [blobId], chunkSize: Int(fileInfo.fixedChunkSize)))
| `- warning: reference to captured var 'fileInfo' in concurrently-executing code
293 | }
294 | } catch {
[622/635] Compiling TSFCASFileTree CASBlob.swift
/Users/admin/builder/spi-builder-workspace/Sources/TSFCASFileTree/CASBlob.swift:275:35: warning: reference to captured var 'fileInfo' in concurrently-executing code
273 | db: db, receivedId: .inner(id),
274 | type: .plainFile,
275 | posixDetails: fileInfo.hasPosixDetails ? fileInfo.posixDetails : nil,
| `- warning: reference to captured var 'fileInfo' in concurrently-executing code
276 | size: data.readableBytes,
277 | contents: .flat(innerID: id, db.group.next().makeSucceededFuture(data)))
/Users/admin/builder/spi-builder-workspace/Sources/TSFCASFileTree/CASBlob.swift:275:62: warning: reference to captured var 'fileInfo' in concurrently-executing code
273 | db: db, receivedId: .inner(id),
274 | type: .plainFile,
275 | posixDetails: fileInfo.hasPosixDetails ? fileInfo.posixDetails : nil,
| `- warning: reference to captured var 'fileInfo' in concurrently-executing code
276 | size: data.readableBytes,
277 | contents: .flat(innerID: id, db.group.next().makeSucceededFuture(data)))
/Users/admin/builder/spi-builder-workspace/Sources/TSFCASFileTree/CASBlob.swift:285:57: warning: reference to captured var 'fileInfo' in concurrently-executing code
283 | }.flatMap { blobId in
284 | do {
285 | return db.put(refs: [blobId], data: try fileInfo.toBytes(), ctx).map { outerId in
| `- warning: reference to captured var 'fileInfo' in concurrently-executing code
286 | LLBCASBlob(
287 | db: db, receivedId: .outer(outerId),
/Users/admin/builder/spi-builder-workspace/Sources/TSFCASFileTree/CASBlob.swift:288:31: warning: reference to captured var 'fileInfo' in concurrently-executing code
286 | LLBCASBlob(
287 | db: db, receivedId: .outer(outerId),
288 | type: fileInfo.type,
| `- warning: reference to captured var 'fileInfo' in concurrently-executing code
289 | posixDetails: fileInfo.hasPosixDetails ? fileInfo.posixDetails : nil,
290 | size: data.readableBytes,
/Users/admin/builder/spi-builder-workspace/Sources/TSFCASFileTree/CASBlob.swift:289:39: warning: reference to captured var 'fileInfo' in concurrently-executing code
287 | db: db, receivedId: .outer(outerId),
288 | type: fileInfo.type,
289 | posixDetails: fileInfo.hasPosixDetails ? fileInfo.posixDetails : nil,
| `- warning: reference to captured var 'fileInfo' in concurrently-executing code
290 | size: data.readableBytes,
291 | contents: .chunked(
/Users/admin/builder/spi-builder-workspace/Sources/TSFCASFileTree/CASBlob.swift:289:66: warning: reference to captured var 'fileInfo' in concurrently-executing code
287 | db: db, receivedId: .outer(outerId),
288 | type: fileInfo.type,
289 | posixDetails: fileInfo.hasPosixDetails ? fileInfo.posixDetails : nil,
| `- warning: reference to captured var 'fileInfo' in concurrently-executing code
290 | size: data.readableBytes,
291 | contents: .chunked(
/Users/admin/builder/spi-builder-workspace/Sources/TSFCASFileTree/CASBlob.swift:292:62: warning: reference to captured var 'fileInfo' in concurrently-executing code
290 | size: data.readableBytes,
291 | contents: .chunked(
292 | chunks: [blobId], chunkSize: Int(fileInfo.fixedChunkSize)))
| `- warning: reference to captured var 'fileInfo' in concurrently-executing code
293 | }
294 | } catch {
[623/635] Compiling TSFCASFileTree CASFSClient.swift
[624/635] Compiling TSFCASFileTree CASFSNode.swift
[625/635] 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: add '@MainActor' to make static property 'allCases' part of global actor 'MainActor'
| `- 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: add '@MainActor' to make static property 'allCases' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
119 | .none,
120 | ]
[626/635] 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: add '@MainActor' to make static property 'allCases' part of global actor 'MainActor'
| `- 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: add '@MainActor' to make static property 'allCases' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
119 | .none,
120 | ]
[627/635] Compiling TSFCASFileTree Errors.swift
[628/635] Compiling TSFCASFileTree FileInfo.swift
[629/635] Compiling TSFCASFileTree TSCCASFileSystem.swift
/Users/admin/builder/spi-builder-workspace/Sources/TSFCASFileTree/TSCCASFileSystem.swift:55:48: warning: 'init(_:)' is deprecated: use throwing variant instead
53 | let symlinkContents = try readFileContents(path).cString
54 | return try getDirectoryContents(
55 | 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 |
[630/635] Compiling TSFCASFileTree FileTree.swift
/Users/admin/builder/spi-builder-workspace/Sources/TSFCASFileTree/FileTree.swift:149:73: warning: reference to captured var 'refs' in concurrently-executing code
147 | // API should be fixed. One option would be to change this class so
148 | // it can directly operate on the encoded representation.
149 | return try self.init(id: id, object: LLBCASObject(refs: refs, data: dirBytes))
| `- warning: reference to captured var 'refs' in concurrently-executing code
150 | }
151 | } catch {
/Users/admin/builder/spi-builder-workspace/Sources/TSFCASFileTree/FileTree.swift:149:85: warning: reference to captured var 'dirBytes' in concurrently-executing code
147 | // API should be fixed. One option would be to change this class so
148 | // it can directly operate on the encoded representation.
149 | return try self.init(id: id, object: LLBCASObject(refs: refs, data: dirBytes))
| `- warning: reference to captured var 'dirBytes' in concurrently-executing code
150 | }
151 | } catch {
/Users/admin/builder/spi-builder-workspace/Sources/TSFCASFileTree/FileTree.swift:286:17: warning: capture of 'files' with non-sendable type '[LLBDirectoryEntryID]' in a '@Sendable' closure
22 | }
23 |
24 | public struct LLBDirectoryEntryID {
| `- note: consider making struct 'LLBDirectoryEntryID' conform to the 'Sendable' protocol
25 | public let info: LLBDirectoryEntry
26 | public let id: LLBDataID
:
284 | return LLBFuture.whenAllSucceed(futures, on: db.group.next()).flatMap { mergedEntries in
285 | for (idx, name, result, posixDetails) in mergedEntries {
286 | files[idx] = .init(
| `- warning: capture of 'files' with non-sendable type '[LLBDirectoryEntryID]' in a '@Sendable' closure
287 | info: LLBDirectoryEntry(
288 | name: name, type: .directory, size: result.aggregateSize,
/Users/admin/builder/spi-builder-workspace/Sources/TSFCASFileTree/FileTree.swift:286:17: warning: mutation of captured var 'files' in concurrently-executing code
284 | return LLBFuture.whenAllSucceed(futures, on: db.group.next()).flatMap { mergedEntries in
285 | for (idx, name, result, posixDetails) in mergedEntries {
286 | files[idx] = .init(
| `- warning: mutation of captured var 'files' in concurrently-executing code
287 | info: LLBDirectoryEntry(
288 | name: name, type: .directory, size: result.aggregateSize,
/Users/admin/builder/spi-builder-workspace/Sources/TSFCASFileTree/FileTree.swift:291:49: warning: reference to captured var 'files' in concurrently-executing code
289 | posixDetails: posixDetails), id: result.id)
290 | }
291 | return LLBCASFileTree.create(files: files, in: db, posixDetails: self.posixDetails, ctx)
| `- warning: reference to captured var 'files' in concurrently-executing code
292 | }
293 | }
/Users/admin/builder/spi-builder-workspace/Sources/TSFCASFileTree/FileTree.swift:407:17: warning: capture of 'files' with non-sendable type '[LLBDirectoryEntryID]' in a '@Sendable' closure
22 | }
23 |
24 | public struct LLBDirectoryEntryID {
| `- note: consider making struct 'LLBDirectoryEntryID' conform to the 'Sendable' protocol
25 | public let info: LLBDirectoryEntry
26 | public let id: LLBDataID
:
405 | return LLBFuture.whenAllSucceed(futures, on: db.group.next()).flatMap { mergedEntries in
406 | for (idx, name, result, posixDetails) in mergedEntries {
407 | files[idx] = .init(
| `- warning: capture of 'files' with non-sendable type '[LLBDirectoryEntryID]' in a '@Sendable' closure
408 | info: LLBDirectoryEntry(
409 | name: name, type: .directory, size: result.aggregateSize,
/Users/admin/builder/spi-builder-workspace/Sources/TSFCASFileTree/FileTree.swift:407:17: warning: mutation of captured var 'files' in concurrently-executing code
405 | return LLBFuture.whenAllSucceed(futures, on: db.group.next()).flatMap { mergedEntries in
406 | for (idx, name, result, posixDetails) in mergedEntries {
407 | files[idx] = .init(
| `- warning: mutation of captured var 'files' in concurrently-executing code
408 | info: LLBDirectoryEntry(
409 | name: name, type: .directory, size: result.aggregateSize,
/Users/admin/builder/spi-builder-workspace/Sources/TSFCASFileTree/FileTree.swift:413:24: warning: reference to captured var 'files' in concurrently-executing code
411 | }
412 | return LLBCASFileTree.create(
413 | files: files, in: db, posixDetails: reversedTrees.first!.posixDetails, ctx)
| `- warning: reference to captured var 'files' in concurrently-executing code
414 | }
415 | }
/Users/admin/builder/spi-builder-workspace/Sources/TSFCASFileTree/FileTreeExport.swift:233:13: warning: capture of 'self' with non-sendable type 'CASFileTreeWalkerDelegate' in a '@Sendable' closure
196 | }
197 |
198 | private final class CASFileTreeWalkerDelegate: RetrieveChildrenProtocol {
| `- note: class 'CASFileTreeWalkerDelegate' does not conform to the 'Sendable' protocol
199 | let db: LLBCASDatabase
200 | let exportPathPrefix: AbsolutePath
:
231 | let casObjectFuture: LLBFuture<LLBCASObject> = db.get(item.id, ctx).flatMapThrowing {
232 | casObject in
233 | self.stats.downloadsInProgressObjects_.wrappingDecrement(ordering: .relaxed)
| `- warning: capture of 'self' with non-sendable type 'CASFileTreeWalkerDelegate' in a '@Sendable' closure
234 |
235 | guard let casObject = casObject else {
/Users/admin/builder/spi-builder-workspace/Sources/TSFCASFileTree/FileTreeExport.swift:249:25: warning: capture of 'self' with non-sendable type 'CASFileTreeWalkerDelegate' in a '@Sendable' closure
196 | }
197 |
198 | private final class CASFileTreeWalkerDelegate: RetrieveChildrenProtocol {
| `- note: class 'CASFileTreeWalkerDelegate' does not conform to the 'Sendable' protocol
199 | let db: LLBCASDatabase
200 | let exportPathPrefix: AbsolutePath
:
247 | // Unblock the current NIO thread.
248 | batcher.execute {
249 | try self.parseAndMaterialize(casObject, item).map {
| `- warning: capture of 'self' with non-sendable type 'CASFileTreeWalkerDelegate' in a '@Sendable' closure
250 | Item(id: $0.id, exportPath: $0.path, kindHint: $0.kind)
251 | }
/Users/admin/builder/spi-builder-workspace/Sources/TSFCASFileTree/FileTreeExport.swift:249:25: warning: capture of 'self' with non-sendable type 'CASFileTreeWalkerDelegate' in an isolated closure; this is an error in the Swift 6 language mode
196 | }
197 |
198 | private final class CASFileTreeWalkerDelegate: RetrieveChildrenProtocol {
| `- note: class 'CASFileTreeWalkerDelegate' does not conform to the 'Sendable' protocol
199 | let db: LLBCASDatabase
200 | let exportPathPrefix: AbsolutePath
:
247 | // Unblock the current NIO thread.
248 | batcher.execute {
249 | 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
250 | Item(id: $0.id, exportPath: $0.path, kindHint: $0.kind)
251 | }
/Users/admin/builder/spi-builder-workspace/Sources/TSFCASFileTree/FileTreeExport.swift:256:21: warning: capture of 'self' with non-sendable type 'CASFileTreeWalkerDelegate' in a '@Sendable' closure
196 | }
197 |
198 | private final class CASFileTreeWalkerDelegate: RetrieveChildrenProtocol {
| `- note: class 'CASFileTreeWalkerDelegate' does not conform to the 'Sendable' protocol
199 | let db: LLBCASDatabase
200 | let exportPathPrefix: AbsolutePath
:
254 | } else {
255 | return casObjectFuture.flatMapThrowing { casObject in
256 | try self.parseAndMaterialize(casObject, item).map {
| `- warning: capture of 'self' with non-sendable type 'CASFileTreeWalkerDelegate' in a '@Sendable' closure
257 | Item(id: $0.id, exportPath: $0.path, kindHint: $0.kind)
258 | }
[631/635] Compiling TSFCASFileTree FileTreeExport.swift
/Users/admin/builder/spi-builder-workspace/Sources/TSFCASFileTree/FileTree.swift:149:73: warning: reference to captured var 'refs' in concurrently-executing code
147 | // API should be fixed. One option would be to change this class so
148 | // it can directly operate on the encoded representation.
149 | return try self.init(id: id, object: LLBCASObject(refs: refs, data: dirBytes))
| `- warning: reference to captured var 'refs' in concurrently-executing code
150 | }
151 | } catch {
/Users/admin/builder/spi-builder-workspace/Sources/TSFCASFileTree/FileTree.swift:149:85: warning: reference to captured var 'dirBytes' in concurrently-executing code
147 | // API should be fixed. One option would be to change this class so
148 | // it can directly operate on the encoded representation.
149 | return try self.init(id: id, object: LLBCASObject(refs: refs, data: dirBytes))
| `- warning: reference to captured var 'dirBytes' in concurrently-executing code
150 | }
151 | } catch {
/Users/admin/builder/spi-builder-workspace/Sources/TSFCASFileTree/FileTree.swift:286:17: warning: capture of 'files' with non-sendable type '[LLBDirectoryEntryID]' in a '@Sendable' closure
22 | }
23 |
24 | public struct LLBDirectoryEntryID {
| `- note: consider making struct 'LLBDirectoryEntryID' conform to the 'Sendable' protocol
25 | public let info: LLBDirectoryEntry
26 | public let id: LLBDataID
:
284 | return LLBFuture.whenAllSucceed(futures, on: db.group.next()).flatMap { mergedEntries in
285 | for (idx, name, result, posixDetails) in mergedEntries {
286 | files[idx] = .init(
| `- warning: capture of 'files' with non-sendable type '[LLBDirectoryEntryID]' in a '@Sendable' closure
287 | info: LLBDirectoryEntry(
288 | name: name, type: .directory, size: result.aggregateSize,
/Users/admin/builder/spi-builder-workspace/Sources/TSFCASFileTree/FileTree.swift:286:17: warning: mutation of captured var 'files' in concurrently-executing code
284 | return LLBFuture.whenAllSucceed(futures, on: db.group.next()).flatMap { mergedEntries in
285 | for (idx, name, result, posixDetails) in mergedEntries {
286 | files[idx] = .init(
| `- warning: mutation of captured var 'files' in concurrently-executing code
287 | info: LLBDirectoryEntry(
288 | name: name, type: .directory, size: result.aggregateSize,
/Users/admin/builder/spi-builder-workspace/Sources/TSFCASFileTree/FileTree.swift:291:49: warning: reference to captured var 'files' in concurrently-executing code
289 | posixDetails: posixDetails), id: result.id)
290 | }
291 | return LLBCASFileTree.create(files: files, in: db, posixDetails: self.posixDetails, ctx)
| `- warning: reference to captured var 'files' in concurrently-executing code
292 | }
293 | }
/Users/admin/builder/spi-builder-workspace/Sources/TSFCASFileTree/FileTree.swift:407:17: warning: capture of 'files' with non-sendable type '[LLBDirectoryEntryID]' in a '@Sendable' closure
22 | }
23 |
24 | public struct LLBDirectoryEntryID {
| `- note: consider making struct 'LLBDirectoryEntryID' conform to the 'Sendable' protocol
25 | public let info: LLBDirectoryEntry
26 | public let id: LLBDataID
:
405 | return LLBFuture.whenAllSucceed(futures, on: db.group.next()).flatMap { mergedEntries in
406 | for (idx, name, result, posixDetails) in mergedEntries {
407 | files[idx] = .init(
| `- warning: capture of 'files' with non-sendable type '[LLBDirectoryEntryID]' in a '@Sendable' closure
408 | info: LLBDirectoryEntry(
409 | name: name, type: .directory, size: result.aggregateSize,
/Users/admin/builder/spi-builder-workspace/Sources/TSFCASFileTree/FileTree.swift:407:17: warning: mutation of captured var 'files' in concurrently-executing code
405 | return LLBFuture.whenAllSucceed(futures, on: db.group.next()).flatMap { mergedEntries in
406 | for (idx, name, result, posixDetails) in mergedEntries {
407 | files[idx] = .init(
| `- warning: mutation of captured var 'files' in concurrently-executing code
408 | info: LLBDirectoryEntry(
409 | name: name, type: .directory, size: result.aggregateSize,
/Users/admin/builder/spi-builder-workspace/Sources/TSFCASFileTree/FileTree.swift:413:24: warning: reference to captured var 'files' in concurrently-executing code
411 | }
412 | return LLBCASFileTree.create(
413 | files: files, in: db, posixDetails: reversedTrees.first!.posixDetails, ctx)
| `- warning: reference to captured var 'files' in concurrently-executing code
414 | }
415 | }
/Users/admin/builder/spi-builder-workspace/Sources/TSFCASFileTree/FileTreeExport.swift:233:13: warning: capture of 'self' with non-sendable type 'CASFileTreeWalkerDelegate' in a '@Sendable' closure
196 | }
197 |
198 | private final class CASFileTreeWalkerDelegate: RetrieveChildrenProtocol {
| `- note: class 'CASFileTreeWalkerDelegate' does not conform to the 'Sendable' protocol
199 | let db: LLBCASDatabase
200 | let exportPathPrefix: AbsolutePath
:
231 | let casObjectFuture: LLBFuture<LLBCASObject> = db.get(item.id, ctx).flatMapThrowing {
232 | casObject in
233 | self.stats.downloadsInProgressObjects_.wrappingDecrement(ordering: .relaxed)
| `- warning: capture of 'self' with non-sendable type 'CASFileTreeWalkerDelegate' in a '@Sendable' closure
234 |
235 | guard let casObject = casObject else {
/Users/admin/builder/spi-builder-workspace/Sources/TSFCASFileTree/FileTreeExport.swift:249:25: warning: capture of 'self' with non-sendable type 'CASFileTreeWalkerDelegate' in a '@Sendable' closure
196 | }
197 |
198 | private final class CASFileTreeWalkerDelegate: RetrieveChildrenProtocol {
| `- note: class 'CASFileTreeWalkerDelegate' does not conform to the 'Sendable' protocol
199 | let db: LLBCASDatabase
200 | let exportPathPrefix: AbsolutePath
:
247 | // Unblock the current NIO thread.
248 | batcher.execute {
249 | try self.parseAndMaterialize(casObject, item).map {
| `- warning: capture of 'self' with non-sendable type 'CASFileTreeWalkerDelegate' in a '@Sendable' closure
250 | Item(id: $0.id, exportPath: $0.path, kindHint: $0.kind)
251 | }
/Users/admin/builder/spi-builder-workspace/Sources/TSFCASFileTree/FileTreeExport.swift:249:25: warning: capture of 'self' with non-sendable type 'CASFileTreeWalkerDelegate' in an isolated closure; this is an error in the Swift 6 language mode
196 | }
197 |
198 | private final class CASFileTreeWalkerDelegate: RetrieveChildrenProtocol {
| `- note: class 'CASFileTreeWalkerDelegate' does not conform to the 'Sendable' protocol
199 | let db: LLBCASDatabase
200 | let exportPathPrefix: AbsolutePath
:
247 | // Unblock the current NIO thread.
248 | batcher.execute {
249 | 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
250 | Item(id: $0.id, exportPath: $0.path, kindHint: $0.kind)
251 | }
/Users/admin/builder/spi-builder-workspace/Sources/TSFCASFileTree/FileTreeExport.swift:256:21: warning: capture of 'self' with non-sendable type 'CASFileTreeWalkerDelegate' in a '@Sendable' closure
196 | }
197 |
198 | private final class CASFileTreeWalkerDelegate: RetrieveChildrenProtocol {
| `- note: class 'CASFileTreeWalkerDelegate' does not conform to the 'Sendable' protocol
199 | let db: LLBCASDatabase
200 | let exportPathPrefix: AbsolutePath
:
254 | } else {
255 | return casObjectFuture.flatMapThrowing { casObject in
256 | try self.parseAndMaterialize(casObject, item).map {
| `- warning: capture of 'self' with non-sendable type 'CASFileTreeWalkerDelegate' in a '@Sendable' closure
257 | Item(id: $0.id, exportPath: $0.path, kindHint: $0.kind)
258 | }
[632/635] Compiling TSFCASFileTree FileSegmenter.swift
[633/635] Compiling TSFCASFileTree FileTreeParser.swift
[634/635] Compiling TSFCASFileTree FileTreeImport.swift
/Users/admin/builder/spi-builder-workspace/Sources/TSFCASFileTree/FileTreeImport.swift:332:71: warning: capture of 'body' with non-sendable type '(Int) -> LLBFuture<T>' (aka '(Int) -> EventLoopFuture<T>') in a '@Sendable' closure
330 | let promise = loop.makePromise(of: T.self)
331 | _ = loop.scheduleTask(in: .seconds(3)) {
332 | 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'
333 | .cascade(to: promise)
334 | }
/Users/admin/builder/spi-builder-workspace/Sources/TSFCASFileTree/FileTreeImport.swift:332:71: warning: capture of 'body' with non-sendable type '(Int) -> LLBFuture<T>' (aka '(Int) -> EventLoopFuture<T>') in a '@Sendable' closure
330 | let promise = loop.makePromise(of: T.self)
331 | _ = loop.scheduleTask(in: .seconds(3)) {
332 | 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'
333 | .cascade(to: promise)
334 | }
/Users/admin/builder/spi-builder-workspace/Sources/TSFCASFileTree/FileTreeImport.swift:333:34: warning: capture of 'promise' with non-sendable type 'EventLoopPromise<T>' in a '@Sendable' closure
313 |
314 | // Retry with lesser concurrency if we see unexpected network errors.
315 | private static func recursivelyDecreasingLimit<T>(
| `- note: consider making generic parameter 'T' conform to the 'Sendable' protocol
316 | on loop: LLBFuturesDispatchLoop, limit: Int, _ body: @escaping (Int) -> LLBFuture<T>
317 | ) -> LLBFuture<T> {
:
331 | _ = loop.scheduleTask(in: .seconds(3)) {
332 | recursivelyDecreasingLimit(on: loop, limit: newLimit, body)
333 | .cascade(to: promise)
| `- warning: capture of 'promise' with non-sendable type 'EventLoopPromise<T>' in a '@Sendable' closure
334 | }
335 |
/Users/admin/builder/spi-builder-workspace/Sources/TSFCASFileTree/FileTreeImport.swift:736:53: warning: capture of 'finishedSteps' with non-sendable type '[CASTreeImport.NextStep]' in a '@Sendable' closure
734 | let nextPhase = LLBCASFileTree.ImportPhase(rawValue: currentPhase.rawValue + 1)!
735 | guard nextPhase < .UploadingDirs else {
736 | return loop.makeSucceededFuture(finishedSteps + nextPhaseSteps)
| `- warning: capture of 'finishedSteps' with non-sendable type '[CASTreeImport.NextStep]' in a '@Sendable' closure
737 | }
738 | self.set(phase: nextPhase)
:
804 | }
805 |
806 | indirect enum NextStep {
| `- note: consider making enum 'NextStep' conform to the 'Sendable' protocol
807 | // Final step in a sequence: stop stepping through.
808 | case skipped
/Users/admin/builder/spi-builder-workspace/Sources/TSFCASFileTree/FileTreeImport.swift:736:69: warning: capture of 'nextPhaseSteps' with non-sendable type '[CASTreeImport.NextStep]' in a '@Sendable' closure
734 | let nextPhase = LLBCASFileTree.ImportPhase(rawValue: currentPhase.rawValue + 1)!
735 | guard nextPhase < .UploadingDirs else {
736 | return loop.makeSucceededFuture(finishedSteps + nextPhaseSteps)
| `- warning: capture of 'nextPhaseSteps' with non-sendable type '[CASTreeImport.NextStep]' in a '@Sendable' closure
737 | }
738 | self.set(phase: nextPhase)
:
804 | }
805 |
806 | indirect enum NextStep {
| `- note: consider making enum 'NextStep' conform to the 'Sendable' protocol
807 | // Final step in a sequence: stop stepping through.
808 | case skipped
/Users/admin/builder/spi-builder-workspace/Sources/TSFCASFileTree/FileTreeImport.swift:736:53: warning: reference to captured var 'finishedSteps' in concurrently-executing code
734 | let nextPhase = LLBCASFileTree.ImportPhase(rawValue: currentPhase.rawValue + 1)!
735 | guard nextPhase < .UploadingDirs else {
736 | return loop.makeSucceededFuture(finishedSteps + nextPhaseSteps)
| `- warning: reference to captured var 'finishedSteps' in concurrently-executing code
737 | }
738 | self.set(phase: nextPhase)
/Users/admin/builder/spi-builder-workspace/Sources/TSFCASFileTree/FileTreeImport.swift:736:69: warning: reference to captured var 'nextPhaseSteps' in concurrently-executing code
734 | let nextPhase = LLBCASFileTree.ImportPhase(rawValue: currentPhase.rawValue + 1)!
735 | guard nextPhase < .UploadingDirs else {
736 | return loop.makeSucceededFuture(finishedSteps + nextPhaseSteps)
| `- warning: reference to captured var 'nextPhaseSteps' in concurrently-executing code
737 | }
738 | self.set(phase: nextPhase)
/Users/admin/builder/spi-builder-workspace/Sources/TSFCASFileTree/FileTreeImport.swift:740:65: warning: reference to captured var 'nextPhaseSteps' in concurrently-executing code
738 | self.set(phase: nextPhase)
739 | return self.recursivelyPerformSteps(
740 | currentPhase: nextPhase, currentPhaseSteps: nextPhaseSteps
| `- warning: reference to captured var 'nextPhaseSteps' in concurrently-executing code
741 | ).map {
742 | finishedSteps + $0
/Users/admin/builder/spi-builder-workspace/Sources/TSFCASFileTree/FileTreeImport.swift:742:21: warning: capture of 'finishedSteps' with non-sendable type '[CASTreeImport.NextStep]' in a '@Sendable' closure
740 | currentPhase: nextPhase, currentPhaseSteps: nextPhaseSteps
741 | ).map {
742 | finishedSteps + $0
| `- warning: capture of 'finishedSteps' with non-sendable type '[CASTreeImport.NextStep]' in a '@Sendable' closure
743 | }
744 | } else {
:
804 | }
805 |
806 | indirect enum NextStep {
| `- note: consider making enum 'NextStep' conform to the 'Sendable' protocol
807 | // Final step in a sequence: stop stepping through.
808 | case skipped
/Users/admin/builder/spi-builder-workspace/Sources/TSFCASFileTree/FileTreeImport.swift:742:21: warning: reference to captured var 'finishedSteps' in concurrently-executing code
740 | currentPhase: nextPhase, currentPhaseSteps: nextPhaseSteps
741 | ).map {
742 | finishedSteps + $0
| `- warning: reference to captured var 'finishedSteps' in concurrently-executing code
743 | }
744 | } else {
/Users/admin/builder/spi-builder-workspace/Sources/TSFCASFileTree/FileTreeImport.swift:747:37: warning: reference to captured var 'nextPhaseSteps' in concurrently-executing code
745 | return self.recursivelyPerformSteps(
746 | currentPhase: currentPhase, currentPhaseSteps: moreStepsInCurrentPhase,
747 | nextPhaseSteps: nextPhaseSteps
| `- warning: reference to captured var 'nextPhaseSteps' in concurrently-executing code
748 | ).map {
749 | finishedSteps + $0
/Users/admin/builder/spi-builder-workspace/Sources/TSFCASFileTree/FileTreeImport.swift:749:21: warning: capture of 'finishedSteps' with non-sendable type '[CASTreeImport.NextStep]' in a '@Sendable' closure
747 | nextPhaseSteps: nextPhaseSteps
748 | ).map {
749 | finishedSteps + $0
| `- warning: capture of 'finishedSteps' with non-sendable type '[CASTreeImport.NextStep]' in a '@Sendable' closure
750 | }
751 | }
:
804 | }
805 |
806 | indirect enum NextStep {
| `- note: consider making enum 'NextStep' conform to the 'Sendable' protocol
807 | // Final step in a sequence: stop stepping through.
808 | case skipped
/Users/admin/builder/spi-builder-workspace/Sources/TSFCASFileTree/FileTreeImport.swift:749:21: warning: reference to captured var 'finishedSteps' in concurrently-executing code
747 | nextPhaseSteps: nextPhaseSteps
748 | ).map {
749 | finishedSteps + $0
| `- warning: reference to captured var 'finishedSteps' in concurrently-executing code
750 | }
751 | }
/Users/admin/builder/spi-builder-workspace/Sources/TSFCASFileTree/FileTreeImport.swift:1129:61: warning: 'executeWithBackpressure(on:loop:size:default:_:)' is deprecated: This method blocks indefinitely and returns a future
1127 | // free to take our load. This ensures that we're not
1128 | // limited by CPU parallelism for network concurrency.
1129 | return self.executeWithBackpressure(
| `- warning: 'executeWithBackpressure(on:loop:size:default:_:)' is deprecated: This method blocks indefinitely and returns a future
1130 | on: self.netQueue, loop: containsLoop,
1131 | size: slice.readableBytes, default: .skipped
/Users/admin/builder/spi-builder-workspace/Sources/TSFCASFileTree/FileTreeImport.swift:1079:37: warning: capture of 'encodeNextStep(for:)' with non-sendable type '(LLBDataID) -> CASTreeImport.NextStep' in a '@Sendable' closure
1077 | importSize: importSize, ctx
1078 | ).map { id in
1079 | 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'
1080 | }
1081 | } catch {
/Users/admin/builder/spi-builder-workspace/Sources/TSFCASFileTree/FileTreeImport.swift:1025:30: warning: concurrently-executed local function 'encodeNextStep(for:)' must be marked as '@Sendable'
1023 | promise: loop.makePromise(of: NextStep.self))
1024 |
1025 | func encodeNextStep(for id: LLBDataID) -> NextStep {
| `- warning: concurrently-executed local function 'encodeNextStep(for:)' must be marked as '@Sendable'
1026 | if isSingleChunk {
1027 | return .singleFile(
/Users/admin/builder/spi-builder-workspace/Sources/TSFCASFileTree/FileTreeImport.swift:1099:48: 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
1097 | let existingIdFuture: LLBFuture<NextStep> = segm.id.flatMap {
1098 | id in
1099 | return uploadFileInfo(
| |- 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'
1100 | blobId: id, importSize: segm.uncompressedSize)
1101 | }
/Users/admin/builder/spi-builder-workspace/Sources/TSFCASFileTree/FileTreeImport.swift:1115:56: warning: capture of 'importObject' with non-sendable type 'ObjectToImport' in a '@Sendable' closure
911 | let type: LLBFileType
912 | let allSegmentsUncompressedDataSize: Int
913 | enum ObjectToImport {
| `- note: consider making enum 'ObjectToImport' conform to the 'Sendable' protocol
914 | case link(target: LLBFastData)
915 | case file(file: FileSegmenter, posixDetails: LLBPosixFileDetails)
:
1113 | let data: LLBFastData
1114 |
1115 | switch importObject {
| `- warning: capture of 'importObject' with non-sendable type 'ObjectToImport' in a '@Sendable' closure
1116 | case .link(let target):
1117 | data = target
/Users/admin/builder/spi-builder-workspace/Sources/TSFCASFileTree/FileTreeImport.swift:1099:48: 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
1097 | let existingIdFuture: LLBFuture<NextStep> = segm.id.flatMap {
1098 | id in
1099 | return uploadFileInfo(
| |- 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'
1100 | blobId: id, importSize: segm.uncompressedSize)
1101 | }
/Users/admin/builder/spi-builder-workspace/Sources/TSFCASFileTree/FileTreeImport.swift:1039:30: warning: concurrently-executed local function 'uploadFileInfo(blobId:importSize:)' must be marked as '@Sendable'
1037 | // If the file has non-standard layout, upload it after we upload
1038 | // the binary blob.
1039 | func uploadFileInfo(blobId: LLBDataID, importSize: Int? = nil) -> LLBFuture<
| `- warning: concurrently-executed local function 'uploadFileInfo(blobId:importSize:)' must be marked as '@Sendable'
1040 | NextStep
1041 | > {
/Users/admin/builder/spi-builder-workspace/Sources/TSFCASFileTree/FileTreeImport.swift:1115:56: warning: capture of 'importObject' with non-sendable type 'ObjectToImport' in an isolated closure; this is an error in the Swift 6 language mode
911 | let type: LLBFileType
912 | let allSegmentsUncompressedDataSize: Int
913 | enum ObjectToImport {
| `- note: consider making enum 'ObjectToImport' conform to the 'Sendable' protocol
914 | case link(target: LLBFastData)
915 | case file(file: FileSegmenter, posixDetails: LLBPosixFileDetails)
:
1113 | let data: LLBFastData
1114 |
1115 | 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
1116 | case .link(let target):
1117 | data = target
/Users/admin/builder/spi-builder-workspace/Sources/TSFCASFileTree/FileTreeImport.swift:1138:61: 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
1136 | ).flatMap { id -> LLBFuture<NextStep> in
1137 | withExtendedLifetime(importObject) { // for mmap
1138 | 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'
1139 | }
1140 | }.map { result in
/Users/admin/builder/spi-builder-workspace/Sources/TSFCASFileTree/FileTreeImport.swift:1115:56: warning: capture of 'importObject' with non-sendable type 'ObjectToImport' in an isolated closure; this is an error in the Swift 6 language mode
911 | let type: LLBFileType
912 | let allSegmentsUncompressedDataSize: Int
913 | enum ObjectToImport {
| `- note: consider making enum 'ObjectToImport' conform to the 'Sendable' protocol
914 | case link(target: LLBFastData)
915 | case file(file: FileSegmenter, posixDetails: LLBPosixFileDetails)
:
1113 | let data: LLBFastData
1114 |
1115 | 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
1116 | case .link(let target):
1117 | data = target
/Users/admin/builder/spi-builder-workspace/Sources/TSFCASFileTree/FileTreeImport.swift:1138:61: 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
1136 | ).flatMap { id -> LLBFuture<NextStep> in
1137 | withExtendedLifetime(importObject) { // for mmap
1138 | 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'
1139 | }
1140 | }.map { result in
/Users/admin/builder/spi-builder-workspace/Sources/TSFCASFileTree/FileTreeImport.swift:1137:78: warning: capture of 'importObject' with non-sendable type 'ObjectToImport' in an isolated closure; this is an error in the Swift 6 language mode
911 | let type: LLBFileType
912 | let allSegmentsUncompressedDataSize: Int
913 | enum ObjectToImport {
| `- note: consider making enum 'ObjectToImport' conform to the 'Sendable' protocol
914 | case link(target: LLBFastData)
915 | case file(file: FileSegmenter, posixDetails: LLBPosixFileDetails)
:
1135 | importSize: segm.uncompressedSize, ctx
1136 | ).flatMap { id -> LLBFuture<NextStep> in
1137 | 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
1138 | uploadFileInfo(blobId: id)
1139 | }
/Users/admin/builder/spi-builder-workspace/Sources/TSFCASFileTree/FileTreeImport.swift:1138:61: 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
1136 | ).flatMap { id -> LLBFuture<NextStep> in
1137 | withExtendedLifetime(importObject) { // for mmap
1138 | 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'
1139 | }
1140 | }.map { result in
/Users/admin/builder/spi-builder-workspace/Sources/TSFCASFileTree/FileTreeImport.swift:1137:78: warning: capture of 'importObject' with non-sendable type 'ObjectToImport' in a '@Sendable' closure
911 | let type: LLBFileType
912 | let allSegmentsUncompressedDataSize: Int
913 | enum ObjectToImport {
| `- note: consider making enum 'ObjectToImport' conform to the 'Sendable' protocol
914 | case link(target: LLBFastData)
915 | case file(file: FileSegmenter, posixDetails: LLBPosixFileDetails)
:
1135 | importSize: segm.uncompressedSize, ctx
1136 | ).flatMap { id -> LLBFuture<NextStep> in
1137 | withExtendedLifetime(importObject) { // for mmap
| `- warning: capture of 'importObject' with non-sendable type 'ObjectToImport' in a '@Sendable' closure
1138 | uploadFileInfo(blobId: id)
1139 | }
/Users/admin/builder/spi-builder-workspace/Sources/TSFCASFileTree/FileTreeImport.swift:1138:61: 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
1136 | ).flatMap { id -> LLBFuture<NextStep> in
1137 | withExtendedLifetime(importObject) { // for mmap
1138 | 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'
1139 | }
1140 | }.map { result in
/Users/admin/builder/spi-builder-workspace/Sources/TSFCASFileTree/FileTreeImport.swift:1138:61: 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
1136 | ).flatMap { id -> LLBFuture<NextStep> in
1137 | withExtendedLifetime(importObject) { // for mmap
1138 | 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'
1139 | }
1140 | }.map { result in
/Users/admin/builder/spi-builder-workspace/Sources/TSFCASFileTree/FileTreeImport.swift:1224:44: warning: capture of 'importObject' with non-sendable type 'ObjectToImport' in a '@Sendable' closure
911 | let type: LLBFileType
912 | let allSegmentsUncompressedDataSize: Int
913 | enum ObjectToImport {
| `- note: consider making enum 'ObjectToImport' conform to the 'Sendable' protocol
914 | case link(target: LLBFastData)
915 | case file(file: FileSegmenter, posixDetails: LLBPosixFileDetails)
:
1222 | chunkIds.count > 1
1223 | ? self.options.fileChunkSize : allSegmentsUncompressedDataSize)
1224 | let posixDetails = importObject.posixDetails
| `- warning: capture of 'importObject' with non-sendable type 'ObjectToImport' in a '@Sendable' closure
1225 | fileInfo.update(posixDetails: posixDetails, options: self.options)
1226 | do {
[635/635] Compiling TSFCASFileTree FilesystemObject.swift
/Users/admin/builder/spi-builder-workspace/Sources/TSFCASFileTree/FileTreeImport.swift:332:71: warning: capture of 'body' with non-sendable type '(Int) -> LLBFuture<T>' (aka '(Int) -> EventLoopFuture<T>') in a '@Sendable' closure
330 | let promise = loop.makePromise(of: T.self)
331 | _ = loop.scheduleTask(in: .seconds(3)) {
332 | 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'
333 | .cascade(to: promise)
334 | }
/Users/admin/builder/spi-builder-workspace/Sources/TSFCASFileTree/FileTreeImport.swift:332:71: warning: capture of 'body' with non-sendable type '(Int) -> LLBFuture<T>' (aka '(Int) -> EventLoopFuture<T>') in a '@Sendable' closure
330 | let promise = loop.makePromise(of: T.self)
331 | _ = loop.scheduleTask(in: .seconds(3)) {
332 | 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'
333 | .cascade(to: promise)
334 | }
/Users/admin/builder/spi-builder-workspace/Sources/TSFCASFileTree/FileTreeImport.swift:333:34: warning: capture of 'promise' with non-sendable type 'EventLoopPromise<T>' in a '@Sendable' closure
313 |
314 | // Retry with lesser concurrency if we see unexpected network errors.
315 | private static func recursivelyDecreasingLimit<T>(
| `- note: consider making generic parameter 'T' conform to the 'Sendable' protocol
316 | on loop: LLBFuturesDispatchLoop, limit: Int, _ body: @escaping (Int) -> LLBFuture<T>
317 | ) -> LLBFuture<T> {
:
331 | _ = loop.scheduleTask(in: .seconds(3)) {
332 | recursivelyDecreasingLimit(on: loop, limit: newLimit, body)
333 | .cascade(to: promise)
| `- warning: capture of 'promise' with non-sendable type 'EventLoopPromise<T>' in a '@Sendable' closure
334 | }
335 |
/Users/admin/builder/spi-builder-workspace/Sources/TSFCASFileTree/FileTreeImport.swift:736:53: warning: capture of 'finishedSteps' with non-sendable type '[CASTreeImport.NextStep]' in a '@Sendable' closure
734 | let nextPhase = LLBCASFileTree.ImportPhase(rawValue: currentPhase.rawValue + 1)!
735 | guard nextPhase < .UploadingDirs else {
736 | return loop.makeSucceededFuture(finishedSteps + nextPhaseSteps)
| `- warning: capture of 'finishedSteps' with non-sendable type '[CASTreeImport.NextStep]' in a '@Sendable' closure
737 | }
738 | self.set(phase: nextPhase)
:
804 | }
805 |
806 | indirect enum NextStep {
| `- note: consider making enum 'NextStep' conform to the 'Sendable' protocol
807 | // Final step in a sequence: stop stepping through.
808 | case skipped
/Users/admin/builder/spi-builder-workspace/Sources/TSFCASFileTree/FileTreeImport.swift:736:69: warning: capture of 'nextPhaseSteps' with non-sendable type '[CASTreeImport.NextStep]' in a '@Sendable' closure
734 | let nextPhase = LLBCASFileTree.ImportPhase(rawValue: currentPhase.rawValue + 1)!
735 | guard nextPhase < .UploadingDirs else {
736 | return loop.makeSucceededFuture(finishedSteps + nextPhaseSteps)
| `- warning: capture of 'nextPhaseSteps' with non-sendable type '[CASTreeImport.NextStep]' in a '@Sendable' closure
737 | }
738 | self.set(phase: nextPhase)
:
804 | }
805 |
806 | indirect enum NextStep {
| `- note: consider making enum 'NextStep' conform to the 'Sendable' protocol
807 | // Final step in a sequence: stop stepping through.
808 | case skipped
/Users/admin/builder/spi-builder-workspace/Sources/TSFCASFileTree/FileTreeImport.swift:736:53: warning: reference to captured var 'finishedSteps' in concurrently-executing code
734 | let nextPhase = LLBCASFileTree.ImportPhase(rawValue: currentPhase.rawValue + 1)!
735 | guard nextPhase < .UploadingDirs else {
736 | return loop.makeSucceededFuture(finishedSteps + nextPhaseSteps)
| `- warning: reference to captured var 'finishedSteps' in concurrently-executing code
737 | }
738 | self.set(phase: nextPhase)
/Users/admin/builder/spi-builder-workspace/Sources/TSFCASFileTree/FileTreeImport.swift:736:69: warning: reference to captured var 'nextPhaseSteps' in concurrently-executing code
734 | let nextPhase = LLBCASFileTree.ImportPhase(rawValue: currentPhase.rawValue + 1)!
735 | guard nextPhase < .UploadingDirs else {
736 | return loop.makeSucceededFuture(finishedSteps + nextPhaseSteps)
| `- warning: reference to captured var 'nextPhaseSteps' in concurrently-executing code
737 | }
738 | self.set(phase: nextPhase)
/Users/admin/builder/spi-builder-workspace/Sources/TSFCASFileTree/FileTreeImport.swift:740:65: warning: reference to captured var 'nextPhaseSteps' in concurrently-executing code
738 | self.set(phase: nextPhase)
739 | return self.recursivelyPerformSteps(
740 | currentPhase: nextPhase, currentPhaseSteps: nextPhaseSteps
| `- warning: reference to captured var 'nextPhaseSteps' in concurrently-executing code
741 | ).map {
742 | finishedSteps + $0
/Users/admin/builder/spi-builder-workspace/Sources/TSFCASFileTree/FileTreeImport.swift:742:21: warning: capture of 'finishedSteps' with non-sendable type '[CASTreeImport.NextStep]' in a '@Sendable' closure
740 | currentPhase: nextPhase, currentPhaseSteps: nextPhaseSteps
741 | ).map {
742 | finishedSteps + $0
| `- warning: capture of 'finishedSteps' with non-sendable type '[CASTreeImport.NextStep]' in a '@Sendable' closure
743 | }
744 | } else {
:
804 | }
805 |
806 | indirect enum NextStep {
| `- note: consider making enum 'NextStep' conform to the 'Sendable' protocol
807 | // Final step in a sequence: stop stepping through.
808 | case skipped
/Users/admin/builder/spi-builder-workspace/Sources/TSFCASFileTree/FileTreeImport.swift:742:21: warning: reference to captured var 'finishedSteps' in concurrently-executing code
740 | currentPhase: nextPhase, currentPhaseSteps: nextPhaseSteps
741 | ).map {
742 | finishedSteps + $0
| `- warning: reference to captured var 'finishedSteps' in concurrently-executing code
743 | }
744 | } else {
/Users/admin/builder/spi-builder-workspace/Sources/TSFCASFileTree/FileTreeImport.swift:747:37: warning: reference to captured var 'nextPhaseSteps' in concurrently-executing code
745 | return self.recursivelyPerformSteps(
746 | currentPhase: currentPhase, currentPhaseSteps: moreStepsInCurrentPhase,
747 | nextPhaseSteps: nextPhaseSteps
| `- warning: reference to captured var 'nextPhaseSteps' in concurrently-executing code
748 | ).map {
749 | finishedSteps + $0
/Users/admin/builder/spi-builder-workspace/Sources/TSFCASFileTree/FileTreeImport.swift:749:21: warning: capture of 'finishedSteps' with non-sendable type '[CASTreeImport.NextStep]' in a '@Sendable' closure
747 | nextPhaseSteps: nextPhaseSteps
748 | ).map {
749 | finishedSteps + $0
| `- warning: capture of 'finishedSteps' with non-sendable type '[CASTreeImport.NextStep]' in a '@Sendable' closure
750 | }
751 | }
:
804 | }
805 |
806 | indirect enum NextStep {
| `- note: consider making enum 'NextStep' conform to the 'Sendable' protocol
807 | // Final step in a sequence: stop stepping through.
808 | case skipped
/Users/admin/builder/spi-builder-workspace/Sources/TSFCASFileTree/FileTreeImport.swift:749:21: warning: reference to captured var 'finishedSteps' in concurrently-executing code
747 | nextPhaseSteps: nextPhaseSteps
748 | ).map {
749 | finishedSteps + $0
| `- warning: reference to captured var 'finishedSteps' in concurrently-executing code
750 | }
751 | }
/Users/admin/builder/spi-builder-workspace/Sources/TSFCASFileTree/FileTreeImport.swift:1129:61: warning: 'executeWithBackpressure(on:loop:size:default:_:)' is deprecated: This method blocks indefinitely and returns a future
1127 | // free to take our load. This ensures that we're not
1128 | // limited by CPU parallelism for network concurrency.
1129 | return self.executeWithBackpressure(
| `- warning: 'executeWithBackpressure(on:loop:size:default:_:)' is deprecated: This method blocks indefinitely and returns a future
1130 | on: self.netQueue, loop: containsLoop,
1131 | size: slice.readableBytes, default: .skipped
/Users/admin/builder/spi-builder-workspace/Sources/TSFCASFileTree/FileTreeImport.swift:1079:37: warning: capture of 'encodeNextStep(for:)' with non-sendable type '(LLBDataID) -> CASTreeImport.NextStep' in a '@Sendable' closure
1077 | importSize: importSize, ctx
1078 | ).map { id in
1079 | 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'
1080 | }
1081 | } catch {
/Users/admin/builder/spi-builder-workspace/Sources/TSFCASFileTree/FileTreeImport.swift:1025:30: warning: concurrently-executed local function 'encodeNextStep(for:)' must be marked as '@Sendable'
1023 | promise: loop.makePromise(of: NextStep.self))
1024 |
1025 | func encodeNextStep(for id: LLBDataID) -> NextStep {
| `- warning: concurrently-executed local function 'encodeNextStep(for:)' must be marked as '@Sendable'
1026 | if isSingleChunk {
1027 | return .singleFile(
/Users/admin/builder/spi-builder-workspace/Sources/TSFCASFileTree/FileTreeImport.swift:1099:48: 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
1097 | let existingIdFuture: LLBFuture<NextStep> = segm.id.flatMap {
1098 | id in
1099 | return uploadFileInfo(
| |- 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'
1100 | blobId: id, importSize: segm.uncompressedSize)
1101 | }
/Users/admin/builder/spi-builder-workspace/Sources/TSFCASFileTree/FileTreeImport.swift:1115:56: warning: capture of 'importObject' with non-sendable type 'ObjectToImport' in a '@Sendable' closure
911 | let type: LLBFileType
912 | let allSegmentsUncompressedDataSize: Int
913 | enum ObjectToImport {
| `- note: consider making enum 'ObjectToImport' conform to the 'Sendable' protocol
914 | case link(target: LLBFastData)
915 | case file(file: FileSegmenter, posixDetails: LLBPosixFileDetails)
:
1113 | let data: LLBFastData
1114 |
1115 | switch importObject {
| `- warning: capture of 'importObject' with non-sendable type 'ObjectToImport' in a '@Sendable' closure
1116 | case .link(let target):
1117 | data = target
/Users/admin/builder/spi-builder-workspace/Sources/TSFCASFileTree/FileTreeImport.swift:1099:48: 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
1097 | let existingIdFuture: LLBFuture<NextStep> = segm.id.flatMap {
1098 | id in
1099 | return uploadFileInfo(
| |- 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'
1100 | blobId: id, importSize: segm.uncompressedSize)
1101 | }
/Users/admin/builder/spi-builder-workspace/Sources/TSFCASFileTree/FileTreeImport.swift:1039:30: warning: concurrently-executed local function 'uploadFileInfo(blobId:importSize:)' must be marked as '@Sendable'
1037 | // If the file has non-standard layout, upload it after we upload
1038 | // the binary blob.
1039 | func uploadFileInfo(blobId: LLBDataID, importSize: Int? = nil) -> LLBFuture<
| `- warning: concurrently-executed local function 'uploadFileInfo(blobId:importSize:)' must be marked as '@Sendable'
1040 | NextStep
1041 | > {
/Users/admin/builder/spi-builder-workspace/Sources/TSFCASFileTree/FileTreeImport.swift:1115:56: warning: capture of 'importObject' with non-sendable type 'ObjectToImport' in an isolated closure; this is an error in the Swift 6 language mode
911 | let type: LLBFileType
912 | let allSegmentsUncompressedDataSize: Int
913 | enum ObjectToImport {
| `- note: consider making enum 'ObjectToImport' conform to the 'Sendable' protocol
914 | case link(target: LLBFastData)
915 | case file(file: FileSegmenter, posixDetails: LLBPosixFileDetails)
:
1113 | let data: LLBFastData
1114 |
1115 | 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
1116 | case .link(let target):
1117 | data = target
/Users/admin/builder/spi-builder-workspace/Sources/TSFCASFileTree/FileTreeImport.swift:1138:61: 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
1136 | ).flatMap { id -> LLBFuture<NextStep> in
1137 | withExtendedLifetime(importObject) { // for mmap
1138 | 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'
1139 | }
1140 | }.map { result in
/Users/admin/builder/spi-builder-workspace/Sources/TSFCASFileTree/FileTreeImport.swift:1115:56: warning: capture of 'importObject' with non-sendable type 'ObjectToImport' in an isolated closure; this is an error in the Swift 6 language mode
911 | let type: LLBFileType
912 | let allSegmentsUncompressedDataSize: Int
913 | enum ObjectToImport {
| `- note: consider making enum 'ObjectToImport' conform to the 'Sendable' protocol
914 | case link(target: LLBFastData)
915 | case file(file: FileSegmenter, posixDetails: LLBPosixFileDetails)
:
1113 | let data: LLBFastData
1114 |
1115 | 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
1116 | case .link(let target):
1117 | data = target
/Users/admin/builder/spi-builder-workspace/Sources/TSFCASFileTree/FileTreeImport.swift:1138:61: 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
1136 | ).flatMap { id -> LLBFuture<NextStep> in
1137 | withExtendedLifetime(importObject) { // for mmap
1138 | 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'
1139 | }
1140 | }.map { result in
/Users/admin/builder/spi-builder-workspace/Sources/TSFCASFileTree/FileTreeImport.swift:1137:78: warning: capture of 'importObject' with non-sendable type 'ObjectToImport' in an isolated closure; this is an error in the Swift 6 language mode
911 | let type: LLBFileType
912 | let allSegmentsUncompressedDataSize: Int
913 | enum ObjectToImport {
| `- note: consider making enum 'ObjectToImport' conform to the 'Sendable' protocol
914 | case link(target: LLBFastData)
915 | case file(file: FileSegmenter, posixDetails: LLBPosixFileDetails)
:
1135 | importSize: segm.uncompressedSize, ctx
1136 | ).flatMap { id -> LLBFuture<NextStep> in
1137 | 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
1138 | uploadFileInfo(blobId: id)
1139 | }
/Users/admin/builder/spi-builder-workspace/Sources/TSFCASFileTree/FileTreeImport.swift:1138:61: 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
1136 | ).flatMap { id -> LLBFuture<NextStep> in
1137 | withExtendedLifetime(importObject) { // for mmap
1138 | 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'
1139 | }
1140 | }.map { result in
/Users/admin/builder/spi-builder-workspace/Sources/TSFCASFileTree/FileTreeImport.swift:1137:78: warning: capture of 'importObject' with non-sendable type 'ObjectToImport' in a '@Sendable' closure
911 | let type: LLBFileType
912 | let allSegmentsUncompressedDataSize: Int
913 | enum ObjectToImport {
| `- note: consider making enum 'ObjectToImport' conform to the 'Sendable' protocol
914 | case link(target: LLBFastData)
915 | case file(file: FileSegmenter, posixDetails: LLBPosixFileDetails)
:
1135 | importSize: segm.uncompressedSize, ctx
1136 | ).flatMap { id -> LLBFuture<NextStep> in
1137 | withExtendedLifetime(importObject) { // for mmap
| `- warning: capture of 'importObject' with non-sendable type 'ObjectToImport' in a '@Sendable' closure
1138 | uploadFileInfo(blobId: id)
1139 | }
/Users/admin/builder/spi-builder-workspace/Sources/TSFCASFileTree/FileTreeImport.swift:1138:61: 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
1136 | ).flatMap { id -> LLBFuture<NextStep> in
1137 | withExtendedLifetime(importObject) { // for mmap
1138 | 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'
1139 | }
1140 | }.map { result in
/Users/admin/builder/spi-builder-workspace/Sources/TSFCASFileTree/FileTreeImport.swift:1138:61: 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
1136 | ).flatMap { id -> LLBFuture<NextStep> in
1137 | withExtendedLifetime(importObject) { // for mmap
1138 | 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'
1139 | }
1140 | }.map { result in
/Users/admin/builder/spi-builder-workspace/Sources/TSFCASFileTree/FileTreeImport.swift:1224:44: warning: capture of 'importObject' with non-sendable type 'ObjectToImport' in a '@Sendable' closure
911 | let type: LLBFileType
912 | let allSegmentsUncompressedDataSize: Int
913 | enum ObjectToImport {
| `- note: consider making enum 'ObjectToImport' conform to the 'Sendable' protocol
914 | case link(target: LLBFastData)
915 | case file(file: FileSegmenter, posixDetails: LLBPosixFileDetails)
:
1222 | chunkIds.count > 1
1223 | ? self.options.fileChunkSize : allSegmentsUncompressedDataSize)
1224 | let posixDetails = importObject.posixDetails
| `- warning: capture of 'importObject' with non-sendable type 'ObjectToImport' in a '@Sendable' closure
1225 | fileInfo.update(posixDetails: posixDetails, options: self.options)
1226 | do {
[636/639] Compiling TSFCASUtilities LinkedListStream.swift
[637/639] 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:104:36: warning: capture of 'readerBlock' with non-sendable type '(UInt8, LLBByteBufferView) throws -> Bool' (aka '(UInt8, ByteBufferView) throws -> Bool') in a '@Sendable' closure
102 |
103 | return blob.read(ctx).flatMapThrowing { byteBufferView in
104 | 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'
105 | }
106 | }
/Users/admin/builder/spi-builder-workspace/Sources/TSFCASUtilities/StreamReader.swift:100: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 |
:
98 | return LLBCASFSClient(self.db).load(contentID, ctx).flatMap { node in
99 | guard let blob = node.blob else {
100 | return self.db.group.next().makeFailedFuture(LLBCASStreamError.missing)
| `- warning: capture of 'self' with non-sendable type 'LLBCASStreamReader' in a '@Sendable' closure
101 | }
102 |
/Users/admin/builder/spi-builder-workspace/Sources/TSFCASUtilities/StreamReader.swift:104:36: warning: capture of 'readerBlock' with non-sendable type '(UInt8, LLBByteBufferView) throws -> Bool' (aka '(UInt8, ByteBufferView) throws -> Bool') in a '@Sendable' closure
102 |
103 | return blob.read(ctx).flatMapThrowing { byteBufferView in
104 | 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'
105 | }
106 | }
/Users/admin/builder/spi-builder-workspace/Sources/TSFCASUtilities/StreamReader.swift:104:36: warning: capture of 'readerBlock' with non-sendable type '(UInt8, LLBByteBufferView) throws -> Bool' (aka '(UInt8, ByteBufferView) throws -> Bool') in a '@Sendable' closure
102 |
103 | return blob.read(ctx).flatMapThrowing { byteBufferView in
104 | 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'
105 | }
106 | }
[638/639] Compiling TSFCASUtilities BufferedStreamWriter.swift
[639/639] Emitting module TSFCASUtilities
Build complete! (20.90s)
Build complete.
{
"dependencies" : [
{
"identity" : "swift-async-algorithms",
"requirement" : {
"range" : [
{
"lower_bound" : "1.0.4",
"upper_bound" : "2.0.0"
}
]
},
"type" : "sourceControl",
"url" : "https://github.com/apple/swift-async-algorithms.git"
},
{
"identity" : "swift-atomics",
"requirement" : {
"range" : [
{
"lower_bound" : "1.2.0",
"upper_bound" : "2.0.0"
}
]
},
"type" : "sourceControl",
"url" : "https://github.com/apple/swift-atomics.git"
},
{
"identity" : "swift-collections",
"requirement" : {
"range" : [
{
"lower_bound" : "1.0.0",
"upper_bound" : "2.0.0"
}
]
},
"type" : "sourceControl",
"url" : "https://github.com/apple/swift-collections.git"
},
{
"identity" : "swift-log",
"requirement" : {
"range" : [
{
"lower_bound" : "1.4.2",
"upper_bound" : "2.0.0"
}
]
},
"type" : "sourceControl",
"url" : "https://github.com/apple/swift-log.git"
},
{
"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-system",
"requirement" : {
"range" : [
{
"lower_bound" : "1.1.1",
"upper_bound" : "2.0.0"
}
]
},
"type" : "sourceControl",
"url" : "https://github.com/apple/swift-system.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",
"TSFAsyncProcess"
],
"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" : "TSFProcessSpawnSync",
"module_type" : "SwiftTarget",
"name" : "TSFProcessSpawnSync",
"path" : "Sources/ProcessSpawnSync",
"product_dependencies" : [
"Atomics",
"NIOConcurrencyHelpers"
],
"product_memberships" : [
"SwiftToolsSupportAsync"
],
"sources" : [
"ProcessSpawner.swift"
],
"target_dependencies" : [
"TSFCProcessSpawnSync"
],
"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" : "TSFCProcessSpawnSync",
"module_type" : "ClangTarget",
"name" : "TSFCProcessSpawnSync",
"path" : "Sources/CProcessSpawnSync",
"product_memberships" : [
"SwiftToolsSupportAsync"
],
"sources" : [
"spawner.c"
],
"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" : "TSFAsyncProcessTests",
"module_type" : "SwiftTarget",
"name" : "TSFAsyncProcessTests",
"path" : "Tests/AsyncProcessTests",
"product_dependencies" : [
"Atomics",
"AsyncAlgorithms",
"NIO",
"NIOConcurrencyHelpers",
"Logging",
"_NIOFileSystem"
],
"sources" : [
"AsyncByteBufferLineSequenceTests.swift",
"Helpers+LogRecorderHandler.swift",
"IntegrationTests.swift"
],
"target_dependencies" : [
"TSFAsyncProcess"
],
"type" : "test"
},
{
"c99name" : "TSFAsyncProcess",
"module_type" : "SwiftTarget",
"name" : "TSFAsyncProcess",
"path" : "Sources/AsyncProcess",
"product_dependencies" : [
"Atomics",
"AsyncAlgorithms",
"Logging",
"NIO",
"DequeModule",
"SystemPackage"
],
"product_memberships" : [
"SwiftToolsSupportAsync"
],
"sources" : [
"ChunkSequence.swift",
"EOFSequence.swift",
"FileContentStream.swift",
"NIOAsyncPipeWriter.swift",
"ProcessExecutor+Convenience.swift",
"ProcessExecutor.swift",
"ProcessExit.swift",
"StructuredConcurrencyHelpers.swift"
],
"target_dependencies" : [
"TSFProcessSpawnSync"
],
"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.