The Swift Package Index logo.Swift Package Index

Build Information

Successful build of swift-tools-support-async, reference 0.20.0 (b2538c), with Swift 6.1 for Android on 25 Sep 2026 12:48:22 UTC.

Swift 6 data race errors: 16

Build Command

bash -c docker run --pull=always --rm -v "checkouts-54344845-2":/host -w "$PWD" -e JAVA_HOME="/root/.sdkman/candidates/java/current" -e SPI_BUILD="1" -e SPI_PROCESSING="1" registry.gitlab.com/saguaro1/spi-images:android-6.1-latest swift build --swift-sdk aarch64-unknown-linux-android24 -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 2>&1

Build Log

 9 | import TSFCAS
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? {
/host/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 |     }
[736/752] Compiling TSFCASFileTree ConcurrentFileTreeWalker.swift
/host/spi-builder-workspace/Sources/TSFCASFileTree/ConcurrentFileTreeWalker.swift:43:38: warning: capture of 'self' with non-sendable type 'ConcurrentHierarchyWalker<Item>' in a '@Sendable' closure
 21 |
 22 | /// Walk the hierarchy with bounded concurrency.
 23 | final class ConcurrentHierarchyWalker<Item> {
    |             `- note: generic class 'ConcurrentHierarchyWalker' does not conform to the 'Sendable' protocol
 24 |
 25 |     private let group: LLBFuturesDispatchGroup
    :
 41 |             self.getChildren(item, ctx)
 42 |         }.flatMap { more in
 43 |             let futures = more.map { self.walk($0, ctx) }
    |                                      `- warning: capture of 'self' with non-sendable type 'ConcurrentHierarchyWalker<Item>' in a '@Sendable' closure
 44 |             return LLBFuture.whenAllSucceed(futures, on: self.group.next()).map { _ in () }
 45 |         }
/host/spi-builder-workspace/Sources/TSFCASFileTree/ConcurrentFileTreeWalker.swift:43: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
 21 |
 22 | /// Walk the hierarchy with bounded concurrency.
 23 | final class ConcurrentHierarchyWalker<Item> {
    |             `- note: generic class 'ConcurrentHierarchyWalker' does not conform to the 'Sendable' protocol
 24 |
 25 |     private let group: LLBFuturesDispatchGroup
    :
 41 |             self.getChildren(item, ctx)
 42 |         }.flatMap { more in
 43 |             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
 44 |             return LLBFuture.whenAllSucceed(futures, on: self.group.next()).map { _ in () }
 45 |         }
/host/spi-builder-workspace/Sources/TSFCASFileTree/ConcurrentFileTreeWalker.swift:100:13: warning: capture of 'root' with non-sendable type 'LLBConcurrentFileTreeWalker.Item' in a '@Sendable' closure
 58 |     }
 59 |
 60 |     public struct Item {
    |                   `- note: consider making struct 'Item' conform to the 'Sendable' protocol
 61 |         /// The description of the current CAS filesystem entry.
 62 |         let arg: FilterArgument
    :
 98 |         let walker = ConcurrentHierarchyWalker(group: db.group, delegate: self)
 99 |         return walker.walk(root, ctx).map { () in
100 |             root.scanResult.reapResult()
    |             `- warning: capture of 'root' with non-sendable type 'LLBConcurrentFileTreeWalker.Item' in a '@Sendable' closure
101 |         }
102 |     }
/host/spi-builder-workspace/Sources/TSFCASFileTree/ConcurrentFileTreeWalker.swift:115:33: warning: capture of 'item' with non-sendable type 'LLBConcurrentFileTreeWalker.Item' in a '@Sendable' closure
 58 |     }
 59 |
 60 |     public struct Item {
    |                   `- note: consider making struct 'Item' conform to the 'Sendable' protocol
 61 |         /// The description of the current CAS filesystem entry.
 62 |         let arg: FilterArgument
    :
113 |
114 |         return client.load(item.id, type: typeHint, ctx).map { node in
115 |             if typeHint == nil, item.arg.path == .root, item.arg.size == 0 {
    |                                 `- warning: capture of 'item' with non-sendable type 'LLBConcurrentFileTreeWalker.Item' in a '@Sendable' closure
116 |                 // This is our root. Check if we're allowed to go past it.
117 |                 let dirEntry = node.asDirectoryEntry(filename: "-")
/host/spi-builder-workspace/Sources/TSFCASFileTree/ConcurrentFileTreeWalker.swift:123:23: warning: capture of 'self' with non-sendable type 'LLBConcurrentFileTreeWalker' in a '@Sendable' closure
 47 | }
 48 |
 49 | public class LLBConcurrentFileTreeWalker: RetrieveChildrenProtocol {
    |              `- note: class 'LLBConcurrentFileTreeWalker' does not conform to the 'Sendable' protocol
 50 |     let db: LLBCASDatabase
 51 |     let client: LLBCASFSClient
    :
121 |                         size: Int(clamping: dirEntry.info.size)), id: dirEntry.id,
122 |                     scanResult: item.scanResult)
123 |                 guard self.filter(rootItem) else {
    |                       `- warning: capture of 'self' with non-sendable type 'LLBConcurrentFileTreeWalker' in a '@Sendable' closure
124 |                     return []
125 |                 }
/host/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 TSFCAS
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? {
/host/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 |     }
[737/752] Compiling TSFCASFileTree Context.swift
/host/spi-builder-workspace/Sources/TSFCASFileTree/ConcurrentFileTreeWalker.swift:43:38: warning: capture of 'self' with non-sendable type 'ConcurrentHierarchyWalker<Item>' in a '@Sendable' closure
 21 |
 22 | /// Walk the hierarchy with bounded concurrency.
 23 | final class ConcurrentHierarchyWalker<Item> {
    |             `- note: generic class 'ConcurrentHierarchyWalker' does not conform to the 'Sendable' protocol
 24 |
 25 |     private let group: LLBFuturesDispatchGroup
    :
 41 |             self.getChildren(item, ctx)
 42 |         }.flatMap { more in
 43 |             let futures = more.map { self.walk($0, ctx) }
    |                                      `- warning: capture of 'self' with non-sendable type 'ConcurrentHierarchyWalker<Item>' in a '@Sendable' closure
 44 |             return LLBFuture.whenAllSucceed(futures, on: self.group.next()).map { _ in () }
 45 |         }
/host/spi-builder-workspace/Sources/TSFCASFileTree/ConcurrentFileTreeWalker.swift:43: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
 21 |
 22 | /// Walk the hierarchy with bounded concurrency.
 23 | final class ConcurrentHierarchyWalker<Item> {
    |             `- note: generic class 'ConcurrentHierarchyWalker' does not conform to the 'Sendable' protocol
 24 |
 25 |     private let group: LLBFuturesDispatchGroup
    :
 41 |             self.getChildren(item, ctx)
 42 |         }.flatMap { more in
 43 |             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
 44 |             return LLBFuture.whenAllSucceed(futures, on: self.group.next()).map { _ in () }
 45 |         }
/host/spi-builder-workspace/Sources/TSFCASFileTree/ConcurrentFileTreeWalker.swift:100:13: warning: capture of 'root' with non-sendable type 'LLBConcurrentFileTreeWalker.Item' in a '@Sendable' closure
 58 |     }
 59 |
 60 |     public struct Item {
    |                   `- note: consider making struct 'Item' conform to the 'Sendable' protocol
 61 |         /// The description of the current CAS filesystem entry.
 62 |         let arg: FilterArgument
    :
 98 |         let walker = ConcurrentHierarchyWalker(group: db.group, delegate: self)
 99 |         return walker.walk(root, ctx).map { () in
100 |             root.scanResult.reapResult()
    |             `- warning: capture of 'root' with non-sendable type 'LLBConcurrentFileTreeWalker.Item' in a '@Sendable' closure
101 |         }
102 |     }
/host/spi-builder-workspace/Sources/TSFCASFileTree/ConcurrentFileTreeWalker.swift:115:33: warning: capture of 'item' with non-sendable type 'LLBConcurrentFileTreeWalker.Item' in a '@Sendable' closure
 58 |     }
 59 |
 60 |     public struct Item {
    |                   `- note: consider making struct 'Item' conform to the 'Sendable' protocol
 61 |         /// The description of the current CAS filesystem entry.
 62 |         let arg: FilterArgument
    :
113 |
114 |         return client.load(item.id, type: typeHint, ctx).map { node in
115 |             if typeHint == nil, item.arg.path == .root, item.arg.size == 0 {
    |                                 `- warning: capture of 'item' with non-sendable type 'LLBConcurrentFileTreeWalker.Item' in a '@Sendable' closure
116 |                 // This is our root. Check if we're allowed to go past it.
117 |                 let dirEntry = node.asDirectoryEntry(filename: "-")
/host/spi-builder-workspace/Sources/TSFCASFileTree/ConcurrentFileTreeWalker.swift:123:23: warning: capture of 'self' with non-sendable type 'LLBConcurrentFileTreeWalker' in a '@Sendable' closure
 47 | }
 48 |
 49 | public class LLBConcurrentFileTreeWalker: RetrieveChildrenProtocol {
    |              `- note: class 'LLBConcurrentFileTreeWalker' does not conform to the 'Sendable' protocol
 50 |     let db: LLBCASDatabase
 51 |     let client: LLBCASFSClient
    :
121 |                         size: Int(clamping: dirEntry.info.size)), id: dirEntry.id,
122 |                     scanResult: item.scanResult)
123 |                 guard self.filter(rootItem) else {
    |                       `- warning: capture of 'self' with non-sendable type 'LLBConcurrentFileTreeWalker' in a '@Sendable' closure
124 |                     return []
125 |                 }
/host/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 TSFCAS
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? {
/host/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 |     }
[738/752] Emitting module TSFCASFileTree
/host/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 TSFCAS
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? {
/host/spi-builder-workspace/Sources/TSFCASFileTree/FileTreeImport.swift:1259:22: warning: type 'CASTreeImport.NextStep' does not conform to the 'Sendable' protocol
 803 |     }
 804 |
 805 |     indirect enum NextStep {
     |                   `- note: consider making enum 'NextStep' conform to the 'Sendable' protocol
 806 |         // Final step in a sequence: stop stepping through.
 807 |         case skipped
     :
1257 |             in: .EstimatingSize,
1258 |             run: {
1259 |                 loop.makeSucceededFuture(
     |                      `- warning: type 'CASTreeImport.NextStep' does not conform to the 'Sendable' protocol
1260 |                     NextStep.wait(
1261 |                         in: .CheckIfUploaded,
/host/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,
/host/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 |   ]
/host/spi-builder-workspace/Sources/TSFCASFileTree/Generated/CASFileTreeProtocol/file_tree.pb.swift:320:65: warning: 'init(dictionaryLiteral:)' is deprecated: Please regenerate your .pb.swift files with the current version of the SwiftProtobuf protoc plugin.
318 |
319 | extension LLBFileType: SwiftProtobuf._ProtoNameProviding {
320 |   public static let _protobuf_nameMap: SwiftProtobuf._NameMap = [
    |                                                                 `- warning: 'init(dictionaryLiteral:)' is deprecated: Please regenerate your .pb.swift files with the current version of the SwiftProtobuf protoc plugin.
321 |     0: .same(proto: "PLAIN_FILE"),
322 |     1: .same(proto: "EXECUTABLE"),
/host/spi-builder-workspace/Sources/TSFCASFileTree/Generated/CASFileTreeProtocol/file_tree.pb.swift:329:65: warning: 'init(dictionaryLiteral:)' is deprecated: Please regenerate your .pb.swift files with the current version of the SwiftProtobuf protoc plugin.
327 |
328 | extension LLBFileDataCompressionMethod: SwiftProtobuf._ProtoNameProviding {
329 |   public static let _protobuf_nameMap: SwiftProtobuf._NameMap = [
    |                                                                 `- warning: 'init(dictionaryLiteral:)' is deprecated: Please regenerate your .pb.swift files with the current version of the SwiftProtobuf protoc plugin.
330 |     0: .same(proto: "NONE"),
331 |   ]
/host/spi-builder-workspace/Sources/TSFCASFileTree/Generated/CASFileTreeProtocol/file_tree.pb.swift:336:65: warning: 'init(dictionaryLiteral:)' is deprecated: Please regenerate your .pb.swift files with the current version of the SwiftProtobuf protoc plugin.
334 | extension LLBPosixFileDetails: SwiftProtobuf.Message, SwiftProtobuf._MessageImplementationBase, SwiftProtobuf._ProtoNameProviding {
335 |   public static let protoMessageName: String = "LLBPosixFileDetails"
336 |   public static let _protobuf_nameMap: SwiftProtobuf._NameMap = [
    |                                                                 `- warning: 'init(dictionaryLiteral:)' is deprecated: Please regenerate your .pb.swift files with the current version of the SwiftProtobuf protoc plugin.
337 |     1: .same(proto: "mode"),
338 |     2: .same(proto: "owner"),
/host/spi-builder-workspace/Sources/TSFCASFileTree/Generated/CASFileTreeProtocol/file_tree.pb.swift:380:65: warning: 'init(dictionaryLiteral:)' is deprecated: Please regenerate your .pb.swift files with the current version of the SwiftProtobuf protoc plugin.
378 | extension LLBDirectoryEntry: SwiftProtobuf.Message, SwiftProtobuf._MessageImplementationBase, SwiftProtobuf._ProtoNameProviding {
379 |   public static let protoMessageName: String = "LLBDirectoryEntry"
380 |   public static let _protobuf_nameMap: SwiftProtobuf._NameMap = [
    |                                                                 `- warning: 'init(dictionaryLiteral:)' is deprecated: Please regenerate your .pb.swift files with the current version of the SwiftProtobuf protoc plugin.
381 |     1: .same(proto: "name"),
382 |     2: .same(proto: "type"),
/host/spi-builder-workspace/Sources/TSFCASFileTree/Generated/CASFileTreeProtocol/file_tree.pb.swift:434:65: warning: 'init(dictionaryLiteral:)' is deprecated: Please regenerate your .pb.swift files with the current version of the SwiftProtobuf protoc plugin.
432 | extension LLBDirectoryEntries: SwiftProtobuf.Message, SwiftProtobuf._MessageImplementationBase, SwiftProtobuf._ProtoNameProviding {
433 |   public static let protoMessageName: String = "LLBDirectoryEntries"
434 |   public static let _protobuf_nameMap: SwiftProtobuf._NameMap = [
    |                                                                 `- warning: 'init(dictionaryLiteral:)' is deprecated: Please regenerate your .pb.swift files with the current version of the SwiftProtobuf protoc plugin.
435 |     1: .same(proto: "entries"),
436 |   ]
/host/spi-builder-workspace/Sources/TSFCASFileTree/Generated/CASFileTreeProtocol/file_tree.pb.swift:466:65: warning: 'init(dictionaryLiteral:)' is deprecated: Please regenerate your .pb.swift files with the current version of the SwiftProtobuf protoc plugin.
464 | extension LLBFileInfo: SwiftProtobuf.Message, SwiftProtobuf._MessageImplementationBase, SwiftProtobuf._ProtoNameProviding {
465 |   public static let protoMessageName: String = "LLBFileInfo"
466 |   public static let _protobuf_nameMap: SwiftProtobuf._NameMap = [
    |                                                                 `- warning: 'init(dictionaryLiteral:)' is deprecated: Please regenerate your .pb.swift files with the current version of the SwiftProtobuf protoc plugin.
467 |     1: .same(proto: "type"),
468 |     2: .same(proto: "size"),
[739/752] Compiling TSFCASFileTree BinarySearch.swift
/host/spi-builder-workspace/Sources/TSFCASFileTree/CASBlob.swift:277:35: warning: reference to captured var 'fileInfo' in concurrently-executing code
275 |                     db: db, receivedId: .inner(id),
276 |                     type: .plainFile,
277 |                     posixDetails: fileInfo.hasPosixDetails ? fileInfo.posixDetails : nil,
    |                                   `- warning: reference to captured var 'fileInfo' in concurrently-executing code
278 |                     size: data.readableBytes,
279 |                     contents: .flat(innerID: id, db.group.next().makeSucceededFuture(data)))
/host/spi-builder-workspace/Sources/TSFCASFileTree/CASBlob.swift:277:62: warning: reference to captured var 'fileInfo' in concurrently-executing code
275 |                     db: db, receivedId: .inner(id),
276 |                     type: .plainFile,
277 |                     posixDetails: fileInfo.hasPosixDetails ? fileInfo.posixDetails : nil,
    |                                                              `- warning: reference to captured var 'fileInfo' in concurrently-executing code
278 |                     size: data.readableBytes,
279 |                     contents: .flat(innerID: id, db.group.next().makeSucceededFuture(data)))
/host/spi-builder-workspace/Sources/TSFCASFileTree/CASBlob.swift:287:57: warning: reference to captured var 'fileInfo' in concurrently-executing code
285 |         }.flatMap { blobId in
286 |             do {
287 |                 return db.put(refs: [blobId], data: try fileInfo.toBytes(), ctx).map { outerId in
    |                                                         `- warning: reference to captured var 'fileInfo' in concurrently-executing code
288 |                     LLBCASBlob(
289 |                         db: db, receivedId: .outer(outerId),
/host/spi-builder-workspace/Sources/TSFCASFileTree/CASBlob.swift:290:31: warning: reference to captured var 'fileInfo' in concurrently-executing code
288 |                     LLBCASBlob(
289 |                         db: db, receivedId: .outer(outerId),
290 |                         type: fileInfo.type,
    |                               `- warning: reference to captured var 'fileInfo' in concurrently-executing code
291 |                         posixDetails: fileInfo.hasPosixDetails ? fileInfo.posixDetails : nil,
292 |                         size: data.readableBytes,
/host/spi-builder-workspace/Sources/TSFCASFileTree/CASBlob.swift:291:39: warning: reference to captured var 'fileInfo' in concurrently-executing code
289 |                         db: db, receivedId: .outer(outerId),
290 |                         type: fileInfo.type,
291 |                         posixDetails: fileInfo.hasPosixDetails ? fileInfo.posixDetails : nil,
    |                                       `- warning: reference to captured var 'fileInfo' in concurrently-executing code
292 |                         size: data.readableBytes,
293 |                         contents: .chunked(
/host/spi-builder-workspace/Sources/TSFCASFileTree/CASBlob.swift:291:66: warning: reference to captured var 'fileInfo' in concurrently-executing code
289 |                         db: db, receivedId: .outer(outerId),
290 |                         type: fileInfo.type,
291 |                         posixDetails: fileInfo.hasPosixDetails ? fileInfo.posixDetails : nil,
    |                                                                  `- warning: reference to captured var 'fileInfo' in concurrently-executing code
292 |                         size: data.readableBytes,
293 |                         contents: .chunked(
/host/spi-builder-workspace/Sources/TSFCASFileTree/CASBlob.swift:294:62: warning: reference to captured var 'fileInfo' in concurrently-executing code
292 |                         size: data.readableBytes,
293 |                         contents: .chunked(
294 |                             chunks: [blobId], chunkSize: Int(fileInfo.fixedChunkSize)))
    |                                                              `- warning: reference to captured var 'fileInfo' in concurrently-executing code
295 |                 }
296 |             } catch {
[740/752] Compiling TSFCASFileTree CASBlob.swift
/host/spi-builder-workspace/Sources/TSFCASFileTree/CASBlob.swift:277:35: warning: reference to captured var 'fileInfo' in concurrently-executing code
275 |                     db: db, receivedId: .inner(id),
276 |                     type: .plainFile,
277 |                     posixDetails: fileInfo.hasPosixDetails ? fileInfo.posixDetails : nil,
    |                                   `- warning: reference to captured var 'fileInfo' in concurrently-executing code
278 |                     size: data.readableBytes,
279 |                     contents: .flat(innerID: id, db.group.next().makeSucceededFuture(data)))
/host/spi-builder-workspace/Sources/TSFCASFileTree/CASBlob.swift:277:62: warning: reference to captured var 'fileInfo' in concurrently-executing code
275 |                     db: db, receivedId: .inner(id),
276 |                     type: .plainFile,
277 |                     posixDetails: fileInfo.hasPosixDetails ? fileInfo.posixDetails : nil,
    |                                                              `- warning: reference to captured var 'fileInfo' in concurrently-executing code
278 |                     size: data.readableBytes,
279 |                     contents: .flat(innerID: id, db.group.next().makeSucceededFuture(data)))
/host/spi-builder-workspace/Sources/TSFCASFileTree/CASBlob.swift:287:57: warning: reference to captured var 'fileInfo' in concurrently-executing code
285 |         }.flatMap { blobId in
286 |             do {
287 |                 return db.put(refs: [blobId], data: try fileInfo.toBytes(), ctx).map { outerId in
    |                                                         `- warning: reference to captured var 'fileInfo' in concurrently-executing code
288 |                     LLBCASBlob(
289 |                         db: db, receivedId: .outer(outerId),
/host/spi-builder-workspace/Sources/TSFCASFileTree/CASBlob.swift:290:31: warning: reference to captured var 'fileInfo' in concurrently-executing code
288 |                     LLBCASBlob(
289 |                         db: db, receivedId: .outer(outerId),
290 |                         type: fileInfo.type,
    |                               `- warning: reference to captured var 'fileInfo' in concurrently-executing code
291 |                         posixDetails: fileInfo.hasPosixDetails ? fileInfo.posixDetails : nil,
292 |                         size: data.readableBytes,
/host/spi-builder-workspace/Sources/TSFCASFileTree/CASBlob.swift:291:39: warning: reference to captured var 'fileInfo' in concurrently-executing code
289 |                         db: db, receivedId: .outer(outerId),
290 |                         type: fileInfo.type,
291 |                         posixDetails: fileInfo.hasPosixDetails ? fileInfo.posixDetails : nil,
    |                                       `- warning: reference to captured var 'fileInfo' in concurrently-executing code
292 |                         size: data.readableBytes,
293 |                         contents: .chunked(
/host/spi-builder-workspace/Sources/TSFCASFileTree/CASBlob.swift:291:66: warning: reference to captured var 'fileInfo' in concurrently-executing code
289 |                         db: db, receivedId: .outer(outerId),
290 |                         type: fileInfo.type,
291 |                         posixDetails: fileInfo.hasPosixDetails ? fileInfo.posixDetails : nil,
    |                                                                  `- warning: reference to captured var 'fileInfo' in concurrently-executing code
292 |                         size: data.readableBytes,
293 |                         contents: .chunked(
/host/spi-builder-workspace/Sources/TSFCASFileTree/CASBlob.swift:294:62: warning: reference to captured var 'fileInfo' in concurrently-executing code
292 |                         size: data.readableBytes,
293 |                         contents: .chunked(
294 |                             chunks: [blobId], chunkSize: Int(fileInfo.fixedChunkSize)))
    |                                                              `- warning: reference to captured var 'fileInfo' in concurrently-executing code
295 |                 }
296 |             } catch {
[741/752] Compiling TSFCASFileTree CASFSClient.swift
/host/spi-builder-workspace/Sources/TSFCASFileTree/CASBlob.swift:277:35: warning: reference to captured var 'fileInfo' in concurrently-executing code
275 |                     db: db, receivedId: .inner(id),
276 |                     type: .plainFile,
277 |                     posixDetails: fileInfo.hasPosixDetails ? fileInfo.posixDetails : nil,
    |                                   `- warning: reference to captured var 'fileInfo' in concurrently-executing code
278 |                     size: data.readableBytes,
279 |                     contents: .flat(innerID: id, db.group.next().makeSucceededFuture(data)))
/host/spi-builder-workspace/Sources/TSFCASFileTree/CASBlob.swift:277:62: warning: reference to captured var 'fileInfo' in concurrently-executing code
275 |                     db: db, receivedId: .inner(id),
276 |                     type: .plainFile,
277 |                     posixDetails: fileInfo.hasPosixDetails ? fileInfo.posixDetails : nil,
    |                                                              `- warning: reference to captured var 'fileInfo' in concurrently-executing code
278 |                     size: data.readableBytes,
279 |                     contents: .flat(innerID: id, db.group.next().makeSucceededFuture(data)))
/host/spi-builder-workspace/Sources/TSFCASFileTree/CASBlob.swift:287:57: warning: reference to captured var 'fileInfo' in concurrently-executing code
285 |         }.flatMap { blobId in
286 |             do {
287 |                 return db.put(refs: [blobId], data: try fileInfo.toBytes(), ctx).map { outerId in
    |                                                         `- warning: reference to captured var 'fileInfo' in concurrently-executing code
288 |                     LLBCASBlob(
289 |                         db: db, receivedId: .outer(outerId),
/host/spi-builder-workspace/Sources/TSFCASFileTree/CASBlob.swift:290:31: warning: reference to captured var 'fileInfo' in concurrently-executing code
288 |                     LLBCASBlob(
289 |                         db: db, receivedId: .outer(outerId),
290 |                         type: fileInfo.type,
    |                               `- warning: reference to captured var 'fileInfo' in concurrently-executing code
291 |                         posixDetails: fileInfo.hasPosixDetails ? fileInfo.posixDetails : nil,
292 |                         size: data.readableBytes,
/host/spi-builder-workspace/Sources/TSFCASFileTree/CASBlob.swift:291:39: warning: reference to captured var 'fileInfo' in concurrently-executing code
289 |                         db: db, receivedId: .outer(outerId),
290 |                         type: fileInfo.type,
291 |                         posixDetails: fileInfo.hasPosixDetails ? fileInfo.posixDetails : nil,
    |                                       `- warning: reference to captured var 'fileInfo' in concurrently-executing code
292 |                         size: data.readableBytes,
293 |                         contents: .chunked(
/host/spi-builder-workspace/Sources/TSFCASFileTree/CASBlob.swift:291:66: warning: reference to captured var 'fileInfo' in concurrently-executing code
289 |                         db: db, receivedId: .outer(outerId),
290 |                         type: fileInfo.type,
291 |                         posixDetails: fileInfo.hasPosixDetails ? fileInfo.posixDetails : nil,
    |                                                                  `- warning: reference to captured var 'fileInfo' in concurrently-executing code
292 |                         size: data.readableBytes,
293 |                         contents: .chunked(
/host/spi-builder-workspace/Sources/TSFCASFileTree/CASBlob.swift:294:62: warning: reference to captured var 'fileInfo' in concurrently-executing code
292 |                         size: data.readableBytes,
293 |                         contents: .chunked(
294 |                             chunks: [blobId], chunkSize: Int(fileInfo.fixedChunkSize)))
    |                                                              `- warning: reference to captured var 'fileInfo' in concurrently-executing code
295 |                 }
296 |             } catch {
[742/752] Compiling TSFCASFileTree OrderedZip.swift
/host/spi-builder-workspace/Sources/TSFCASFileTree/TSCCASFileSystem.swift:54:48: warning: 'init(_:)' is deprecated: use throwing variant instead
 52 |             let symlinkContents = try readFileContents(path).cString
 53 |             return try getDirectoryContents(
 54 |                 path.parentDirectory.appending(RelativePath(symlinkContents)))
    |                                                `- warning: 'init(_:)' is deprecated: use throwing variant instead
 55 |         }
 56 |
/host/spi-builder-workspace/Sources/TSFCASFileTree/TSCCASFileSystem.swift:74:63: warning: 'init(_:)' is deprecated: use throwing variant instead
 72 |                 return false
 73 |             }
 74 |             return isDirectory(path.parentDirectory.appending(RelativePath(symlinkContents)))
    |                                                               `- warning: 'init(_:)' is deprecated: use throwing variant instead
 75 |         }
 76 |
[743/752] Compiling TSFCASFileTree TSCCASFileSystem.swift
/host/spi-builder-workspace/Sources/TSFCASFileTree/TSCCASFileSystem.swift:54:48: warning: 'init(_:)' is deprecated: use throwing variant instead
 52 |             let symlinkContents = try readFileContents(path).cString
 53 |             return try getDirectoryContents(
 54 |                 path.parentDirectory.appending(RelativePath(symlinkContents)))
    |                                                `- warning: 'init(_:)' is deprecated: use throwing variant instead
 55 |         }
 56 |
/host/spi-builder-workspace/Sources/TSFCASFileTree/TSCCASFileSystem.swift:74:63: warning: 'init(_:)' is deprecated: use throwing variant instead
 72 |                 return false
 73 |             }
 74 |             return isDirectory(path.parentDirectory.appending(RelativePath(symlinkContents)))
    |                                                               `- warning: 'init(_:)' is deprecated: use throwing variant instead
 75 |         }
 76 |
[744/752] Compiling TSFCASFileTree FileSegmenter.swift
[745/752] Compiling TSFCASFileTree FileTreeParser.swift
[746/752] Compiling TSFCASFileTree file_tree.pb.swift
/host/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,
/host/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 |   ]
/host/spi-builder-workspace/Sources/TSFCASFileTree/Generated/CASFileTreeProtocol/file_tree.pb.swift:320:65: warning: 'init(dictionaryLiteral:)' is deprecated: Please regenerate your .pb.swift files with the current version of the SwiftProtobuf protoc plugin.
318 |
319 | extension LLBFileType: SwiftProtobuf._ProtoNameProviding {
320 |   public static let _protobuf_nameMap: SwiftProtobuf._NameMap = [
    |                                                                 `- warning: 'init(dictionaryLiteral:)' is deprecated: Please regenerate your .pb.swift files with the current version of the SwiftProtobuf protoc plugin.
321 |     0: .same(proto: "PLAIN_FILE"),
322 |     1: .same(proto: "EXECUTABLE"),
/host/spi-builder-workspace/Sources/TSFCASFileTree/Generated/CASFileTreeProtocol/file_tree.pb.swift:329:65: warning: 'init(dictionaryLiteral:)' is deprecated: Please regenerate your .pb.swift files with the current version of the SwiftProtobuf protoc plugin.
327 |
328 | extension LLBFileDataCompressionMethod: SwiftProtobuf._ProtoNameProviding {
329 |   public static let _protobuf_nameMap: SwiftProtobuf._NameMap = [
    |                                                                 `- warning: 'init(dictionaryLiteral:)' is deprecated: Please regenerate your .pb.swift files with the current version of the SwiftProtobuf protoc plugin.
330 |     0: .same(proto: "NONE"),
331 |   ]
/host/spi-builder-workspace/Sources/TSFCASFileTree/Generated/CASFileTreeProtocol/file_tree.pb.swift:336:65: warning: 'init(dictionaryLiteral:)' is deprecated: Please regenerate your .pb.swift files with the current version of the SwiftProtobuf protoc plugin.
334 | extension LLBPosixFileDetails: SwiftProtobuf.Message, SwiftProtobuf._MessageImplementationBase, SwiftProtobuf._ProtoNameProviding {
335 |   public static let protoMessageName: String = "LLBPosixFileDetails"
336 |   public static let _protobuf_nameMap: SwiftProtobuf._NameMap = [
    |                                                                 `- warning: 'init(dictionaryLiteral:)' is deprecated: Please regenerate your .pb.swift files with the current version of the SwiftProtobuf protoc plugin.
337 |     1: .same(proto: "mode"),
338 |     2: .same(proto: "owner"),
/host/spi-builder-workspace/Sources/TSFCASFileTree/Generated/CASFileTreeProtocol/file_tree.pb.swift:380:65: warning: 'init(dictionaryLiteral:)' is deprecated: Please regenerate your .pb.swift files with the current version of the SwiftProtobuf protoc plugin.
378 | extension LLBDirectoryEntry: SwiftProtobuf.Message, SwiftProtobuf._MessageImplementationBase, SwiftProtobuf._ProtoNameProviding {
379 |   public static let protoMessageName: String = "LLBDirectoryEntry"
380 |   public static let _protobuf_nameMap: SwiftProtobuf._NameMap = [
    |                                                                 `- warning: 'init(dictionaryLiteral:)' is deprecated: Please regenerate your .pb.swift files with the current version of the SwiftProtobuf protoc plugin.
381 |     1: .same(proto: "name"),
382 |     2: .same(proto: "type"),
/host/spi-builder-workspace/Sources/TSFCASFileTree/Generated/CASFileTreeProtocol/file_tree.pb.swift:434:65: warning: 'init(dictionaryLiteral:)' is deprecated: Please regenerate your .pb.swift files with the current version of the SwiftProtobuf protoc plugin.
432 | extension LLBDirectoryEntries: SwiftProtobuf.Message, SwiftProtobuf._MessageImplementationBase, SwiftProtobuf._ProtoNameProviding {
433 |   public static let protoMessageName: String = "LLBDirectoryEntries"
434 |   public static let _protobuf_nameMap: SwiftProtobuf._NameMap = [
    |                                                                 `- warning: 'init(dictionaryLiteral:)' is deprecated: Please regenerate your .pb.swift files with the current version of the SwiftProtobuf protoc plugin.
435 |     1: .same(proto: "entries"),
436 |   ]
/host/spi-builder-workspace/Sources/TSFCASFileTree/Generated/CASFileTreeProtocol/file_tree.pb.swift:466:65: warning: 'init(dictionaryLiteral:)' is deprecated: Please regenerate your .pb.swift files with the current version of the SwiftProtobuf protoc plugin.
464 | extension LLBFileInfo: SwiftProtobuf.Message, SwiftProtobuf._MessageImplementationBase, SwiftProtobuf._ProtoNameProviding {
465 |   public static let protoMessageName: String = "LLBFileInfo"
466 |   public static let _protobuf_nameMap: SwiftProtobuf._NameMap = [
    |                                                                 `- warning: 'init(dictionaryLiteral:)' is deprecated: Please regenerate your .pb.swift files with the current version of the SwiftProtobuf protoc plugin.
467 |     1: .same(proto: "type"),
468 |     2: .same(proto: "size"),
[747/752] Compiling TSFCASFileTree ConcurrentFilesystemScanner.swift
/host/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,
/host/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 |   ]
/host/spi-builder-workspace/Sources/TSFCASFileTree/Generated/CASFileTreeProtocol/file_tree.pb.swift:320:65: warning: 'init(dictionaryLiteral:)' is deprecated: Please regenerate your .pb.swift files with the current version of the SwiftProtobuf protoc plugin.
318 |
319 | extension LLBFileType: SwiftProtobuf._ProtoNameProviding {
320 |   public static let _protobuf_nameMap: SwiftProtobuf._NameMap = [
    |                                                                 `- warning: 'init(dictionaryLiteral:)' is deprecated: Please regenerate your .pb.swift files with the current version of the SwiftProtobuf protoc plugin.
321 |     0: .same(proto: "PLAIN_FILE"),
322 |     1: .same(proto: "EXECUTABLE"),
/host/spi-builder-workspace/Sources/TSFCASFileTree/Generated/CASFileTreeProtocol/file_tree.pb.swift:329:65: warning: 'init(dictionaryLiteral:)' is deprecated: Please regenerate your .pb.swift files with the current version of the SwiftProtobuf protoc plugin.
327 |
328 | extension LLBFileDataCompressionMethod: SwiftProtobuf._ProtoNameProviding {
329 |   public static let _protobuf_nameMap: SwiftProtobuf._NameMap = [
    |                                                                 `- warning: 'init(dictionaryLiteral:)' is deprecated: Please regenerate your .pb.swift files with the current version of the SwiftProtobuf protoc plugin.
330 |     0: .same(proto: "NONE"),
331 |   ]
/host/spi-builder-workspace/Sources/TSFCASFileTree/Generated/CASFileTreeProtocol/file_tree.pb.swift:336:65: warning: 'init(dictionaryLiteral:)' is deprecated: Please regenerate your .pb.swift files with the current version of the SwiftProtobuf protoc plugin.
334 | extension LLBPosixFileDetails: SwiftProtobuf.Message, SwiftProtobuf._MessageImplementationBase, SwiftProtobuf._ProtoNameProviding {
335 |   public static let protoMessageName: String = "LLBPosixFileDetails"
336 |   public static let _protobuf_nameMap: SwiftProtobuf._NameMap = [
    |                                                                 `- warning: 'init(dictionaryLiteral:)' is deprecated: Please regenerate your .pb.swift files with the current version of the SwiftProtobuf protoc plugin.
337 |     1: .same(proto: "mode"),
338 |     2: .same(proto: "owner"),
/host/spi-builder-workspace/Sources/TSFCASFileTree/Generated/CASFileTreeProtocol/file_tree.pb.swift:380:65: warning: 'init(dictionaryLiteral:)' is deprecated: Please regenerate your .pb.swift files with the current version of the SwiftProtobuf protoc plugin.
378 | extension LLBDirectoryEntry: SwiftProtobuf.Message, SwiftProtobuf._MessageImplementationBase, SwiftProtobuf._ProtoNameProviding {
379 |   public static let protoMessageName: String = "LLBDirectoryEntry"
380 |   public static let _protobuf_nameMap: SwiftProtobuf._NameMap = [
    |                                                                 `- warning: 'init(dictionaryLiteral:)' is deprecated: Please regenerate your .pb.swift files with the current version of the SwiftProtobuf protoc plugin.
381 |     1: .same(proto: "name"),
382 |     2: .same(proto: "type"),
/host/spi-builder-workspace/Sources/TSFCASFileTree/Generated/CASFileTreeProtocol/file_tree.pb.swift:434:65: warning: 'init(dictionaryLiteral:)' is deprecated: Please regenerate your .pb.swift files with the current version of the SwiftProtobuf protoc plugin.
432 | extension LLBDirectoryEntries: SwiftProtobuf.Message, SwiftProtobuf._MessageImplementationBase, SwiftProtobuf._ProtoNameProviding {
433 |   public static let protoMessageName: String = "LLBDirectoryEntries"
434 |   public static let _protobuf_nameMap: SwiftProtobuf._NameMap = [
    |                                                                 `- warning: 'init(dictionaryLiteral:)' is deprecated: Please regenerate your .pb.swift files with the current version of the SwiftProtobuf protoc plugin.
435 |     1: .same(proto: "entries"),
436 |   ]
/host/spi-builder-workspace/Sources/TSFCASFileTree/Generated/CASFileTreeProtocol/file_tree.pb.swift:466:65: warning: 'init(dictionaryLiteral:)' is deprecated: Please regenerate your .pb.swift files with the current version of the SwiftProtobuf protoc plugin.
464 | extension LLBFileInfo: SwiftProtobuf.Message, SwiftProtobuf._MessageImplementationBase, SwiftProtobuf._ProtoNameProviding {
465 |   public static let protoMessageName: String = "LLBFileInfo"
466 |   public static let _protobuf_nameMap: SwiftProtobuf._NameMap = [
    |                                                                 `- warning: 'init(dictionaryLiteral:)' is deprecated: Please regenerate your .pb.swift files with the current version of the SwiftProtobuf protoc plugin.
467 |     1: .same(proto: "type"),
468 |     2: .same(proto: "size"),
[748/752] Compiling TSFCASFileTree FileInfo.swift
/host/spi-builder-workspace/Sources/TSFCASFileTree/FileTree.swift:148:73: warning: reference to captured var 'refs' in concurrently-executing code
146 |                 // API should be fixed. One option would be to change this class so
147 |                 // it can directly operate on the encoded representation.
148 |                 return try self.init(id: id, object: LLBCASObject(refs: refs, data: dirBytes))
    |                                                                         `- warning: reference to captured var 'refs' in concurrently-executing code
149 |             }
150 |         } catch {
/host/spi-builder-workspace/Sources/TSFCASFileTree/FileTree.swift:148:85: warning: reference to captured var 'dirBytes' in concurrently-executing code
146 |                 // API should be fixed. One option would be to change this class so
147 |                 // it can directly operate on the encoded representation.
148 |                 return try self.init(id: id, object: LLBCASObject(refs: refs, data: dirBytes))
    |                                                                                     `- warning: reference to captured var 'dirBytes' in concurrently-executing code
149 |             }
150 |         } catch {
/host/spi-builder-workspace/Sources/TSFCASFileTree/FileTree.swift:285:17: warning: mutation of captured var 'files' in concurrently-executing code
283 |         return LLBFuture.whenAllSucceed(futures, on: db.group.next()).flatMap { mergedEntries in
284 |             for (idx, name, result, posixDetails) in mergedEntries {
285 |                 files[idx] = .init(
    |                 `- warning: mutation of captured var 'files' in concurrently-executing code
286 |                     info: LLBDirectoryEntry(
287 |                         name: name, type: .directory, size: result.aggregateSize,
/host/spi-builder-workspace/Sources/TSFCASFileTree/FileTree.swift:290:49: warning: reference to captured var 'files' in concurrently-executing code
288 |                         posixDetails: posixDetails), id: result.id)
289 |             }
290 |             return LLBCASFileTree.create(files: files, in: db, posixDetails: self.posixDetails, ctx)
    |                                                 `- warning: reference to captured var 'files' in concurrently-executing code
291 |         }
292 |     }
/host/spi-builder-workspace/Sources/TSFCASFileTree/FileTree.swift:406:17: warning: mutation of captured var 'files' in concurrently-executing code
404 |         return LLBFuture.whenAllSucceed(futures, on: db.group.next()).flatMap { mergedEntries in
405 |             for (idx, name, result, posixDetails) in mergedEntries {
406 |                 files[idx] = .init(
    |                 `- warning: mutation of captured var 'files' in concurrently-executing code
407 |                     info: LLBDirectoryEntry(
408 |                         name: name, type: .directory, size: result.aggregateSize,
/host/spi-builder-workspace/Sources/TSFCASFileTree/FileTree.swift:412:24: warning: reference to captured var 'files' in concurrently-executing code
410 |             }
411 |             return LLBCASFileTree.create(
412 |                 files: files, in: db, posixDetails: reversedTrees.first!.posixDetails, ctx)
    |                        `- warning: reference to captured var 'files' in concurrently-executing code
413 |         }
414 |     }
/host/spi-builder-workspace/Sources/TSFCASFileTree/FileTreeExport.swift:232:13: warning: capture of 'self' with non-sendable type 'CASFileTreeWalkerDelegate' in a '@Sendable' closure
195 | }
196 |
197 | private final class CASFileTreeWalkerDelegate: RetrieveChildrenProtocol {
    |                     `- note: class 'CASFileTreeWalkerDelegate' does not conform to the 'Sendable' protocol
198 |     let db: LLBCASDatabase
199 |     let exportPathPrefix: AbsolutePath
    :
230 |         let casObjectFuture: LLBFuture<LLBCASObject> = db.get(item.id, ctx).flatMapThrowing {
231 |             casObject in
232 |             self.stats.downloadsInProgressObjects_.wrappingDecrement(ordering: .relaxed)
    |             `- warning: capture of 'self' with non-sendable type 'CASFileTreeWalkerDelegate' in a '@Sendable' closure
233 |
234 |             guard let casObject = casObject else {
/host/spi-builder-workspace/Sources/TSFCASFileTree/FileTreeExport.swift:248:25: warning: capture of 'self' with non-sendable type 'CASFileTreeWalkerDelegate' in a '@Sendable' closure
195 | }
196 |
197 | private final class CASFileTreeWalkerDelegate: RetrieveChildrenProtocol {
    |                     `- note: class 'CASFileTreeWalkerDelegate' does not conform to the 'Sendable' protocol
198 |     let db: LLBCASDatabase
199 |     let exportPathPrefix: AbsolutePath
    :
246 |                 // Unblock the current NIO thread.
247 |                 batcher.execute {
248 |                     try self.parseAndMaterialize(casObject, item).map {
    |                         `- warning: capture of 'self' with non-sendable type 'CASFileTreeWalkerDelegate' in a '@Sendable' closure
249 |                         Item(id: $0.id, exportPath: $0.path, kindHint: $0.kind)
250 |                     }
/host/spi-builder-workspace/Sources/TSFCASFileTree/FileTreeExport.swift:248:25: warning: capture of 'self' with non-sendable type 'CASFileTreeWalkerDelegate' in an isolated closure; this is an error in the Swift 6 language mode
195 | }
196 |
197 | private final class CASFileTreeWalkerDelegate: RetrieveChildrenProtocol {
    |                     `- note: class 'CASFileTreeWalkerDelegate' does not conform to the 'Sendable' protocol
198 |     let db: LLBCASDatabase
199 |     let exportPathPrefix: AbsolutePath
    :
246 |                 // Unblock the current NIO thread.
247 |                 batcher.execute {
248 |                     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
249 |                         Item(id: $0.id, exportPath: $0.path, kindHint: $0.kind)
250 |                     }
/host/spi-builder-workspace/Sources/TSFCASFileTree/FileTreeExport.swift:255:21: warning: capture of 'self' with non-sendable type 'CASFileTreeWalkerDelegate' in a '@Sendable' closure
195 | }
196 |
197 | private final class CASFileTreeWalkerDelegate: RetrieveChildrenProtocol {
    |                     `- note: class 'CASFileTreeWalkerDelegate' does not conform to the 'Sendable' protocol
198 |     let db: LLBCASDatabase
199 |     let exportPathPrefix: AbsolutePath
    :
253 |         } else {
254 |             return casObjectFuture.flatMapThrowing { casObject in
255 |                 try self.parseAndMaterialize(casObject, item).map {
    |                     `- warning: capture of 'self' with non-sendable type 'CASFileTreeWalkerDelegate' in a '@Sendable' closure
256 |                     Item(id: $0.id, exportPath: $0.path, kindHint: $0.kind)
257 |                 }
[749/752] Compiling TSFCASFileTree FileTree.swift
/host/spi-builder-workspace/Sources/TSFCASFileTree/FileTree.swift:148:73: warning: reference to captured var 'refs' in concurrently-executing code
146 |                 // API should be fixed. One option would be to change this class so
147 |                 // it can directly operate on the encoded representation.
148 |                 return try self.init(id: id, object: LLBCASObject(refs: refs, data: dirBytes))
    |                                                                         `- warning: reference to captured var 'refs' in concurrently-executing code
149 |             }
150 |         } catch {
/host/spi-builder-workspace/Sources/TSFCASFileTree/FileTree.swift:148:85: warning: reference to captured var 'dirBytes' in concurrently-executing code
146 |                 // API should be fixed. One option would be to change this class so
147 |                 // it can directly operate on the encoded representation.
148 |                 return try self.init(id: id, object: LLBCASObject(refs: refs, data: dirBytes))
    |                                                                                     `- warning: reference to captured var 'dirBytes' in concurrently-executing code
149 |             }
150 |         } catch {
/host/spi-builder-workspace/Sources/TSFCASFileTree/FileTree.swift:285:17: warning: mutation of captured var 'files' in concurrently-executing code
283 |         return LLBFuture.whenAllSucceed(futures, on: db.group.next()).flatMap { mergedEntries in
284 |             for (idx, name, result, posixDetails) in mergedEntries {
285 |                 files[idx] = .init(
    |                 `- warning: mutation of captured var 'files' in concurrently-executing code
286 |                     info: LLBDirectoryEntry(
287 |                         name: name, type: .directory, size: result.aggregateSize,
/host/spi-builder-workspace/Sources/TSFCASFileTree/FileTree.swift:290:49: warning: reference to captured var 'files' in concurrently-executing code
288 |                         posixDetails: posixDetails), id: result.id)
289 |             }
290 |             return LLBCASFileTree.create(files: files, in: db, posixDetails: self.posixDetails, ctx)
    |                                                 `- warning: reference to captured var 'files' in concurrently-executing code
291 |         }
292 |     }
/host/spi-builder-workspace/Sources/TSFCASFileTree/FileTree.swift:406:17: warning: mutation of captured var 'files' in concurrently-executing code
404 |         return LLBFuture.whenAllSucceed(futures, on: db.group.next()).flatMap { mergedEntries in
405 |             for (idx, name, result, posixDetails) in mergedEntries {
406 |                 files[idx] = .init(
    |                 `- warning: mutation of captured var 'files' in concurrently-executing code
407 |                     info: LLBDirectoryEntry(
408 |                         name: name, type: .directory, size: result.aggregateSize,
/host/spi-builder-workspace/Sources/TSFCASFileTree/FileTree.swift:412:24: warning: reference to captured var 'files' in concurrently-executing code
410 |             }
411 |             return LLBCASFileTree.create(
412 |                 files: files, in: db, posixDetails: reversedTrees.first!.posixDetails, ctx)
    |                        `- warning: reference to captured var 'files' in concurrently-executing code
413 |         }
414 |     }
/host/spi-builder-workspace/Sources/TSFCASFileTree/FileTreeExport.swift:232:13: warning: capture of 'self' with non-sendable type 'CASFileTreeWalkerDelegate' in a '@Sendable' closure
195 | }
196 |
197 | private final class CASFileTreeWalkerDelegate: RetrieveChildrenProtocol {
    |                     `- note: class 'CASFileTreeWalkerDelegate' does not conform to the 'Sendable' protocol
198 |     let db: LLBCASDatabase
199 |     let exportPathPrefix: AbsolutePath
    :
230 |         let casObjectFuture: LLBFuture<LLBCASObject> = db.get(item.id, ctx).flatMapThrowing {
231 |             casObject in
232 |             self.stats.downloadsInProgressObjects_.wrappingDecrement(ordering: .relaxed)
    |             `- warning: capture of 'self' with non-sendable type 'CASFileTreeWalkerDelegate' in a '@Sendable' closure
233 |
234 |             guard let casObject = casObject else {
/host/spi-builder-workspace/Sources/TSFCASFileTree/FileTreeExport.swift:248:25: warning: capture of 'self' with non-sendable type 'CASFileTreeWalkerDelegate' in a '@Sendable' closure
195 | }
196 |
197 | private final class CASFileTreeWalkerDelegate: RetrieveChildrenProtocol {
    |                     `- note: class 'CASFileTreeWalkerDelegate' does not conform to the 'Sendable' protocol
198 |     let db: LLBCASDatabase
199 |     let exportPathPrefix: AbsolutePath
    :
246 |                 // Unblock the current NIO thread.
247 |                 batcher.execute {
248 |                     try self.parseAndMaterialize(casObject, item).map {
    |                         `- warning: capture of 'self' with non-sendable type 'CASFileTreeWalkerDelegate' in a '@Sendable' closure
249 |                         Item(id: $0.id, exportPath: $0.path, kindHint: $0.kind)
250 |                     }
/host/spi-builder-workspace/Sources/TSFCASFileTree/FileTreeExport.swift:248:25: warning: capture of 'self' with non-sendable type 'CASFileTreeWalkerDelegate' in an isolated closure; this is an error in the Swift 6 language mode
195 | }
196 |
197 | private final class CASFileTreeWalkerDelegate: RetrieveChildrenProtocol {
    |                     `- note: class 'CASFileTreeWalkerDelegate' does not conform to the 'Sendable' protocol
198 |     let db: LLBCASDatabase
199 |     let exportPathPrefix: AbsolutePath
    :
246 |                 // Unblock the current NIO thread.
247 |                 batcher.execute {
248 |                     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
249 |                         Item(id: $0.id, exportPath: $0.path, kindHint: $0.kind)
250 |                     }
/host/spi-builder-workspace/Sources/TSFCASFileTree/FileTreeExport.swift:255:21: warning: capture of 'self' with non-sendable type 'CASFileTreeWalkerDelegate' in a '@Sendable' closure
195 | }
196 |
197 | private final class CASFileTreeWalkerDelegate: RetrieveChildrenProtocol {
    |                     `- note: class 'CASFileTreeWalkerDelegate' does not conform to the 'Sendable' protocol
198 |     let db: LLBCASDatabase
199 |     let exportPathPrefix: AbsolutePath
    :
253 |         } else {
254 |             return casObjectFuture.flatMapThrowing { casObject in
255 |                 try self.parseAndMaterialize(casObject, item).map {
    |                     `- warning: capture of 'self' with non-sendable type 'CASFileTreeWalkerDelegate' in a '@Sendable' closure
256 |                     Item(id: $0.id, exportPath: $0.path, kindHint: $0.kind)
257 |                 }
[750/752] Compiling TSFCASFileTree FileTreeExport.swift
/host/spi-builder-workspace/Sources/TSFCASFileTree/FileTree.swift:148:73: warning: reference to captured var 'refs' in concurrently-executing code
146 |                 // API should be fixed. One option would be to change this class so
147 |                 // it can directly operate on the encoded representation.
148 |                 return try self.init(id: id, object: LLBCASObject(refs: refs, data: dirBytes))
    |                                                                         `- warning: reference to captured var 'refs' in concurrently-executing code
149 |             }
150 |         } catch {
/host/spi-builder-workspace/Sources/TSFCASFileTree/FileTree.swift:148:85: warning: reference to captured var 'dirBytes' in concurrently-executing code
146 |                 // API should be fixed. One option would be to change this class so
147 |                 // it can directly operate on the encoded representation.
148 |                 return try self.init(id: id, object: LLBCASObject(refs: refs, data: dirBytes))
    |                                                                                     `- warning: reference to captured var 'dirBytes' in concurrently-executing code
149 |             }
150 |         } catch {
/host/spi-builder-workspace/Sources/TSFCASFileTree/FileTree.swift:285:17: warning: mutation of captured var 'files' in concurrently-executing code
283 |         return LLBFuture.whenAllSucceed(futures, on: db.group.next()).flatMap { mergedEntries in
284 |             for (idx, name, result, posixDetails) in mergedEntries {
285 |                 files[idx] = .init(
    |                 `- warning: mutation of captured var 'files' in concurrently-executing code
286 |                     info: LLBDirectoryEntry(
287 |                         name: name, type: .directory, size: result.aggregateSize,
/host/spi-builder-workspace/Sources/TSFCASFileTree/FileTree.swift:290:49: warning: reference to captured var 'files' in concurrently-executing code
288 |                         posixDetails: posixDetails), id: result.id)
289 |             }
290 |             return LLBCASFileTree.create(files: files, in: db, posixDetails: self.posixDetails, ctx)
    |                                                 `- warning: reference to captured var 'files' in concurrently-executing code
291 |         }
292 |     }
/host/spi-builder-workspace/Sources/TSFCASFileTree/FileTree.swift:406:17: warning: mutation of captured var 'files' in concurrently-executing code
404 |         return LLBFuture.whenAllSucceed(futures, on: db.group.next()).flatMap { mergedEntries in
405 |             for (idx, name, result, posixDetails) in mergedEntries {
406 |                 files[idx] = .init(
    |                 `- warning: mutation of captured var 'files' in concurrently-executing code
407 |                     info: LLBDirectoryEntry(
408 |                         name: name, type: .directory, size: result.aggregateSize,
/host/spi-builder-workspace/Sources/TSFCASFileTree/FileTree.swift:412:24: warning: reference to captured var 'files' in concurrently-executing code
410 |             }
411 |             return LLBCASFileTree.create(
412 |                 files: files, in: db, posixDetails: reversedTrees.first!.posixDetails, ctx)
    |                        `- warning: reference to captured var 'files' in concurrently-executing code
413 |         }
414 |     }
/host/spi-builder-workspace/Sources/TSFCASFileTree/FileTreeExport.swift:232:13: warning: capture of 'self' with non-sendable type 'CASFileTreeWalkerDelegate' in a '@Sendable' closure
195 | }
196 |
197 | private final class CASFileTreeWalkerDelegate: RetrieveChildrenProtocol {
    |                     `- note: class 'CASFileTreeWalkerDelegate' does not conform to the 'Sendable' protocol
198 |     let db: LLBCASDatabase
199 |     let exportPathPrefix: AbsolutePath
    :
230 |         let casObjectFuture: LLBFuture<LLBCASObject> = db.get(item.id, ctx).flatMapThrowing {
231 |             casObject in
232 |             self.stats.downloadsInProgressObjects_.wrappingDecrement(ordering: .relaxed)
    |             `- warning: capture of 'self' with non-sendable type 'CASFileTreeWalkerDelegate' in a '@Sendable' closure
233 |
234 |             guard let casObject = casObject else {
/host/spi-builder-workspace/Sources/TSFCASFileTree/FileTreeExport.swift:248:25: warning: capture of 'self' with non-sendable type 'CASFileTreeWalkerDelegate' in a '@Sendable' closure
195 | }
196 |
197 | private final class CASFileTreeWalkerDelegate: RetrieveChildrenProtocol {
    |                     `- note: class 'CASFileTreeWalkerDelegate' does not conform to the 'Sendable' protocol
198 |     let db: LLBCASDatabase
199 |     let exportPathPrefix: AbsolutePath
    :
246 |                 // Unblock the current NIO thread.
247 |                 batcher.execute {
248 |                     try self.parseAndMaterialize(casObject, item).map {
    |                         `- warning: capture of 'self' with non-sendable type 'CASFileTreeWalkerDelegate' in a '@Sendable' closure
249 |                         Item(id: $0.id, exportPath: $0.path, kindHint: $0.kind)
250 |                     }
/host/spi-builder-workspace/Sources/TSFCASFileTree/FileTreeExport.swift:248:25: warning: capture of 'self' with non-sendable type 'CASFileTreeWalkerDelegate' in an isolated closure; this is an error in the Swift 6 language mode
195 | }
196 |
197 | private final class CASFileTreeWalkerDelegate: RetrieveChildrenProtocol {
    |                     `- note: class 'CASFileTreeWalkerDelegate' does not conform to the 'Sendable' protocol
198 |     let db: LLBCASDatabase
199 |     let exportPathPrefix: AbsolutePath
    :
246 |                 // Unblock the current NIO thread.
247 |                 batcher.execute {
248 |                     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
249 |                         Item(id: $0.id, exportPath: $0.path, kindHint: $0.kind)
250 |                     }
/host/spi-builder-workspace/Sources/TSFCASFileTree/FileTreeExport.swift:255:21: warning: capture of 'self' with non-sendable type 'CASFileTreeWalkerDelegate' in a '@Sendable' closure
195 | }
196 |
197 | private final class CASFileTreeWalkerDelegate: RetrieveChildrenProtocol {
    |                     `- note: class 'CASFileTreeWalkerDelegate' does not conform to the 'Sendable' protocol
198 |     let db: LLBCASDatabase
199 |     let exportPathPrefix: AbsolutePath
    :
253 |         } else {
254 |             return casObjectFuture.flatMapThrowing { casObject in
255 |                 try self.parseAndMaterialize(casObject, item).map {
    |                     `- warning: capture of 'self' with non-sendable type 'CASFileTreeWalkerDelegate' in a '@Sendable' closure
256 |                     Item(id: $0.id, exportPath: $0.path, kindHint: $0.kind)
257 |                 }
[751/752] Compiling TSFCASFileTree FileTreeImport.swift
/host/spi-builder-workspace/Sources/TSFCASFileTree/FileTreeImport.swift:317:28: warning: type 'T' does not conform to the 'Sendable' protocol
 312 |
 313 |     // Retry with lesser concurrency if we see unexpected network errors.
 314 |     private static func recursivelyDecreasingLimit<T>(
     |                                                    `- note: consider making generic parameter 'T' conform to the 'Sendable' protocol
 315 |         on loop: LLBFuturesDispatchLoop, limit: Int, _ body: @escaping (Int) -> LLBFuture<T>
 316 |     ) -> LLBFuture<T> {
 317 |         return body(limit).flatMapError { error -> LLBFuture<T> in
     |                            `- warning: type 'T' does not conform to the 'Sendable' protocol
 318 |             // Check if something retryable happened.
 319 |             guard case LLBCASDatabaseError.retryableNetworkError(_) = error else {
/host/spi-builder-workspace/Sources/TSFCASFileTree/FileTreeImport.swift:332:22: warning: type 'T' does not conform to the 'Sendable' protocol
 312 |
 313 |     // Retry with lesser concurrency if we see unexpected network errors.
 314 |     private static func recursivelyDecreasingLimit<T>(
     |                                                    `- note: consider making generic parameter 'T' conform to the 'Sendable' protocol
 315 |         on loop: LLBFuturesDispatchLoop, limit: Int, _ body: @escaping (Int) -> LLBFuture<T>
 316 |     ) -> LLBFuture<T> {
     :
 330 |             _ = loop.scheduleTask(in: .seconds(3)) {
 331 |                 recursivelyDecreasingLimit(on: loop, limit: newLimit, body)
 332 |                     .cascade(to: promise)
     |                      `- warning: type 'T' does not conform to the 'Sendable' protocol
 333 |             }
 334 |
/host/spi-builder-workspace/Sources/TSFCASFileTree/FileTreeImport.swift:331:71: warning: capture of 'body' with non-sendable type '(Int) -> LLBFuture<T>' (aka '(Int) -> EventLoopFuture<T>') in a '@Sendable' closure
 329 |             let promise = loop.makePromise(of: T.self)
 330 |             _ = loop.scheduleTask(in: .seconds(3)) {
 331 |                 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'
 332 |                     .cascade(to: promise)
 333 |             }
/host/spi-builder-workspace/Sources/TSFCASFileTree/FileTreeImport.swift:331:71: warning: capture of 'body' with non-sendable type '(Int) -> LLBFuture<T>' (aka '(Int) -> EventLoopFuture<T>') in a '@Sendable' closure
 329 |             let promise = loop.makePromise(of: T.self)
 330 |             _ = loop.scheduleTask(in: .seconds(3)) {
 331 |                 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'
 332 |                     .cascade(to: promise)
 333 |             }
/host/spi-builder-workspace/Sources/TSFCASFileTree/FileTreeImport.swift:485:30: warning: type 'FilesystemObjectType' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
 483 |                 // We can import individual files just fine.
 484 |                 stats.toImportObjects_.wrappingIncrement(ordering: .relaxed)
 485 |                 return [loop.makeSucceededFuture([(importPath, .REG)])]
     |                              `- warning: type 'FilesystemObjectType' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
 486 |             } else {
 487 |                 // Scan the filesystem tree using multiple threads.
/host/spi-builder-workspace/Sources/TSFCASFileTree/Internal/ConcurrentFilesystemScanner.swift:432:13: note: consider making enum 'FilesystemObjectType' conform to the 'Sendable' protocol
430 | /// We don't assign values there because the DT_xxx and S_IFxxx values
431 | /// are different yet we support them all since they still form the same set.
432 | public enum FilesystemObjectType: UInt8 {
    |             `- note: consider making enum 'FilesystemObjectType' conform to the 'Sendable' protocol
433 |     case UNKNOWN
434 |     case FIFO
/host/spi-builder-workspace/Sources/TSFCASFileTree/FileTreeImport.swift:501:11: warning: type 'FilesystemObjectType' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
 499 |                 }
 500 |             }
 501 |         }.flatMap { pathsFutures -> LLBFuture<[[ConcurrentFilesystemScanner.Element]]> in
     |           `- warning: type 'FilesystemObjectType' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
 502 |             self.whenAllSucceed(pathsFutures)
 503 |         }.map { (pathInfos: [[ConcurrentFilesystemScanner.Element]]) -> [LLBFuture<NextStep>] in
/host/spi-builder-workspace/Sources/TSFCASFileTree/Internal/ConcurrentFilesystemScanner.swift:432:13: note: consider making enum 'FilesystemObjectType' conform to the 'Sendable' protocol
430 | /// We don't assign values there because the DT_xxx and S_IFxxx values
431 | /// are different yet we support them all since they still form the same set.
432 | public enum FilesystemObjectType: UInt8 {
    |             `- note: consider making enum 'FilesystemObjectType' conform to the 'Sendable' protocol
433 |     case UNKNOWN
434 |     case FIFO
/host/spi-builder-workspace/Sources/TSFCASFileTree/FileTreeImport.swift:523:11: warning: type 'CASTreeImport.NextStep' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
 521 |                 }
 522 |             }
 523 |         }.flatMap { nextStepFutures -> LLBFuture<[NextStep]> in
     |           `- warning: type 'CASTreeImport.NextStep' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
 524 |             self.whenAllSucceed(nextStepFutures)
 525 |         }.flatMap { nextStepFutures -> LLBFuture<[NextStep]> in
     :
 803 |     }
 804 |
 805 |     indirect enum NextStep {
     |                   `- note: consider making enum 'NextStep' conform to the 'Sendable' protocol
 806 |         // Final step in a sequence: stop stepping through.
 807 |         case skipped
/host/spi-builder-workspace/Sources/TSFCASFileTree/FileTreeImport.swift:525:11: warning: type 'CASTreeImport.NextStep' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
 523 |         }.flatMap { nextStepFutures -> LLBFuture<[NextStep]> in
 524 |             self.whenAllSucceed(nextStepFutures)
 525 |         }.flatMap { nextStepFutures -> LLBFuture<[NextStep]> in
     |           `- warning: type 'CASTreeImport.NextStep' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
 526 |             self.set(phase: .CheckIfUploaded)
 527 |             return self.recursivelyPerformSteps(
     :
 803 |     }
 804 |
 805 |     indirect enum NextStep {
     |                   `- note: consider making enum 'NextStep' conform to the 'Sendable' protocol
 806 |         // Final step in a sequence: stop stepping through.
 807 |         case skipped
/host/spi-builder-workspace/Sources/TSFCASFileTree/FileTreeImport.swift:710:25: warning: type 'CASTreeImport.NextStep' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
 708 |
 709 |         guard finalResultPromise.isCompleted == false else {
 710 |             return loop.makeSucceededFuture([])
     |                         `- warning: type 'CASTreeImport.NextStep' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
 711 |         }
 712 |
     :
 803 |     }
 804 |
 805 |     indirect enum NextStep {
     |                   `- note: consider making enum 'NextStep' conform to the 'Sendable' protocol
 806 |         // Final step in a sequence: stop stepping through.
 807 |         case skipped
/host/spi-builder-workspace/Sources/TSFCASFileTree/FileTreeImport.swift:730:56: warning: type 'CASTreeImport.NextStep' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
 728 |         // Wait for the steps we need to wait in this phase, and then
 729 |         // advance the phase if there are no more steps to wait.
 730 |         return self.whenAllSucceed(waitInCurrentPhase).flatMap { moreStepsInCurrentPhase in
     |                                                        `- warning: type 'CASTreeImport.NextStep' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
 731 |             if moreStepsInCurrentPhase.isEmpty {
 732 |                 precondition(!currentPhase.isFinalPhase)  // Avoid infinite recursion
     :
 803 |     }
 804 |
 805 |     indirect enum NextStep {
     |                   `- note: consider making enum 'NextStep' conform to the 'Sendable' protocol
 806 |         // Final step in a sequence: stop stepping through.
 807 |         case skipped
/host/spi-builder-workspace/Sources/TSFCASFileTree/FileTreeImport.swift:735:33: warning: type 'CASTreeImport.NextStep' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
 733 |                 let nextPhase = LLBCASFileTree.ImportPhase(rawValue: currentPhase.rawValue + 1)!
 734 |                 guard nextPhase < .UploadingDirs else {
 735 |                     return loop.makeSucceededFuture(finishedSteps + nextPhaseSteps)
     |                                 `- warning: type 'CASTreeImport.NextStep' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
 736 |                 }
 737 |                 self.set(phase: nextPhase)
     :
 803 |     }
 804 |
 805 |     indirect enum NextStep {
     |                   `- note: consider making enum 'NextStep' conform to the 'Sendable' protocol
 806 |         // Final step in a sequence: stop stepping through.
 807 |         case skipped
/host/spi-builder-workspace/Sources/TSFCASFileTree/FileTreeImport.swift:735:53: warning: capture of 'finishedSteps' with non-sendable type '[CASTreeImport.NextStep]' in a '@Sendable' closure
 733 |                 let nextPhase = LLBCASFileTree.ImportPhase(rawValue: currentPhase.rawValue + 1)!
 734 |                 guard nextPhase < .UploadingDirs else {
 735 |                     return loop.makeSucceededFuture(finishedSteps + nextPhaseSteps)
     |                                                     `- warning: capture of 'finishedSteps' with non-sendable type '[CASTreeImport.NextStep]' in a '@Sendable' closure
 736 |                 }
 737 |                 self.set(phase: nextPhase)
     :
 803 |     }
 804 |
 805 |     indirect enum NextStep {
     |                   `- note: consider making enum 'NextStep' conform to the 'Sendable' protocol
 806 |         // Final step in a sequence: stop stepping through.
 807 |         case skipped
/host/spi-builder-workspace/Sources/TSFCASFileTree/FileTreeImport.swift:735:69: warning: capture of 'nextPhaseSteps' with non-sendable type '[CASTreeImport.NextStep]' in a '@Sendable' closure
 733 |                 let nextPhase = LLBCASFileTree.ImportPhase(rawValue: currentPhase.rawValue + 1)!
 734 |                 guard nextPhase < .UploadingDirs else {
 735 |                     return loop.makeSucceededFuture(finishedSteps + nextPhaseSteps)
     |                                                                     `- warning: capture of 'nextPhaseSteps' with non-sendable type '[CASTreeImport.NextStep]' in a '@Sendable' closure
 736 |                 }
 737 |                 self.set(phase: nextPhase)
     :
 803 |     }
 804 |
 805 |     indirect enum NextStep {
     |                   `- note: consider making enum 'NextStep' conform to the 'Sendable' protocol
 806 |         // Final step in a sequence: stop stepping through.
 807 |         case skipped
/host/spi-builder-workspace/Sources/TSFCASFileTree/FileTreeImport.swift:735:53: warning: reference to captured var 'finishedSteps' in concurrently-executing code
 733 |                 let nextPhase = LLBCASFileTree.ImportPhase(rawValue: currentPhase.rawValue + 1)!
 734 |                 guard nextPhase < .UploadingDirs else {
 735 |                     return loop.makeSucceededFuture(finishedSteps + nextPhaseSteps)
     |                                                     `- warning: reference to captured var 'finishedSteps' in concurrently-executing code
 736 |                 }
 737 |                 self.set(phase: nextPhase)
/host/spi-builder-workspace/Sources/TSFCASFileTree/FileTreeImport.swift:735:69: warning: reference to captured var 'nextPhaseSteps' in concurrently-executing code
 733 |                 let nextPhase = LLBCASFileTree.ImportPhase(rawValue: currentPhase.rawValue + 1)!
 734 |                 guard nextPhase < .UploadingDirs else {
 735 |                     return loop.makeSucceededFuture(finishedSteps + nextPhaseSteps)
     |                                                                     `- warning: reference to captured var 'nextPhaseSteps' in concurrently-executing code
 736 |                 }
 737 |                 self.set(phase: nextPhase)
/host/spi-builder-workspace/Sources/TSFCASFileTree/FileTreeImport.swift:739:65: warning: reference to captured var 'nextPhaseSteps' in concurrently-executing code
 737 |                 self.set(phase: nextPhase)
 738 |                 return self.recursivelyPerformSteps(
 739 |                     currentPhase: nextPhase, currentPhaseSteps: nextPhaseSteps
     |                                                                 `- warning: reference to captured var 'nextPhaseSteps' in concurrently-executing code
 740 |                 ).map {
 741 |                     finishedSteps + $0
/host/spi-builder-workspace/Sources/TSFCASFileTree/FileTreeImport.swift:741:21: warning: capture of 'finishedSteps' with non-sendable type '[CASTreeImport.NextStep]' in a '@Sendable' closure
 739 |                     currentPhase: nextPhase, currentPhaseSteps: nextPhaseSteps
 740 |                 ).map {
 741 |                     finishedSteps + $0
     |                     `- warning: capture of 'finishedSteps' with non-sendable type '[CASTreeImport.NextStep]' in a '@Sendable' closure
 742 |                 }
 743 |             } else {
     :
 803 |     }
 804 |
 805 |     indirect enum NextStep {
     |                   `- note: consider making enum 'NextStep' conform to the 'Sendable' protocol
 806 |         // Final step in a sequence: stop stepping through.
 807 |         case skipped
/host/spi-builder-workspace/Sources/TSFCASFileTree/FileTreeImport.swift:741:21: warning: reference to captured var 'finishedSteps' in concurrently-executing code
 739 |                     currentPhase: nextPhase, currentPhaseSteps: nextPhaseSteps
 740 |                 ).map {
 741 |                     finishedSteps + $0
     |                     `- warning: reference to captured var 'finishedSteps' in concurrently-executing code
 742 |                 }
 743 |             } else {
/host/spi-builder-workspace/Sources/TSFCASFileTree/FileTreeImport.swift:746:37: warning: reference to captured var 'nextPhaseSteps' in concurrently-executing code
 744 |                 return self.recursivelyPerformSteps(
 745 |                     currentPhase: currentPhase, currentPhaseSteps: moreStepsInCurrentPhase,
 746 |                     nextPhaseSteps: nextPhaseSteps
     |                                     `- warning: reference to captured var 'nextPhaseSteps' in concurrently-executing code
 747 |                 ).map {
 748 |                     finishedSteps + $0
/host/spi-builder-workspace/Sources/TSFCASFileTree/FileTreeImport.swift:748:21: warning: capture of 'finishedSteps' with non-sendable type '[CASTreeImport.NextStep]' in a '@Sendable' closure
 746 |                     nextPhaseSteps: nextPhaseSteps
 747 |                 ).map {
 748 |                     finishedSteps + $0
     |                     `- warning: capture of 'finishedSteps' with non-sendable type '[CASTreeImport.NextStep]' in a '@Sendable' closure
 749 |                 }
 750 |             }
     :
 803 |     }
 804 |
 805 |     indirect enum NextStep {
     |                   `- note: consider making enum 'NextStep' conform to the 'Sendable' protocol
 806 |         // Final step in a sequence: stop stepping through.
 807 |         case skipped
/host/spi-builder-workspace/Sources/TSFCASFileTree/FileTreeImport.swift:748:21: warning: reference to captured var 'finishedSteps' in concurrently-executing code
 746 |                     nextPhaseSteps: nextPhaseSteps
 747 |                 ).map {
 748 |                     finishedSteps + $0
     |                     `- warning: reference to captured var 'finishedSteps' in concurrently-executing code
 749 |                 }
 750 |             }
/host/spi-builder-workspace/Sources/TSFCASFileTree/FileTreeImport.swift:1042:45: warning: type 'CASTreeImport.NextStep' does not conform to the 'Sendable' protocol
 803 |     }
 804 |
 805 |     indirect enum NextStep {
     |                   `- note: consider making enum 'NextStep' conform to the 'Sendable' protocol
 806 |         // Final step in a sequence: stop stepping through.
 807 |         case skipped
     :
1040 |                         > {
1041 |                             guard finalResultPromise.isCompleted == false else {
1042 |                                 return loop.makeSucceededFuture(NextStep.skipped)
     |                                             `- warning: type 'CASTreeImport.NextStep' does not conform to the 'Sendable' protocol
1043 |                             }
1044 |
/host/spi-builder-workspace/Sources/TSFCASFileTree/FileTreeImport.swift:1054:45: warning: type 'CASTreeImport.NextStep' does not conform to the 'Sendable' protocol
 803 |     }
 804 |
 805 |     indirect enum NextStep {
     |                   `- note: consider making enum 'NextStep' conform to the 'Sendable' protocol
 806 |         // Final step in a sequence: stop stepping through.
 807 |         case skipped
     :
1052 |                                         by: size, ordering: .relaxed)
1053 |                                 }
1054 |                                 return loop.makeSucceededFuture(encodeNextStep(for: blobId))
     |                                             `- warning: type 'CASTreeImport.NextStep' does not conform to the 'Sendable' protocol
1055 |                             }
1056 |
/host/spi-builder-workspace/Sources/TSFCASFileTree/FileTreeImport.swift:1093:51: warning: type 'CASTreeImport.NextStep' does not conform to the 'Sendable' protocol
 803 |     }
 804 |
 805 |     indirect enum NextStep {
     |                   `- note: consider making enum 'NextStep' conform to the 'Sendable' protocol
 806 |         // Final step in a sequence: stop stepping through.
 807 |         case skipped
     :
1091 |                             let containsFuture = self.dbContains(segm, ctx)
1092 |                             let containsLoop = containsFuture.eventLoop
1093 |                             return containsFuture.flatMap { exists -> LLBFuture<NextStep> in
     |                                                   `- warning: type 'CASTreeImport.NextStep' does not conform to the 'Sendable' protocol
1094 |
1095 |                                 guard !exists else {
/host/spi-builder-workspace/Sources/TSFCASFileTree/FileTreeImport.swift:1096:89: warning: type 'CASTreeImport.NextStep' does not conform to the 'Sendable' protocol
 803 |     }
 804 |
 805 |     indirect enum NextStep {
     |                   `- note: consider making enum 'NextStep' conform to the 'Sendable' protocol
 806 |         // Final step in a sequence: stop stepping through.
 807 |         case skipped
     :
1094 |
1095 |                                 guard !exists else {
1096 |                                     let existingIdFuture: LLBFuture<NextStep> = segm.id.flatMap {
     |                                                                                         `- warning: type 'CASTreeImport.NextStep' does not conform to the 'Sendable' protocol
1097 |                                         id in
1098 |                                         return uploadFileInfo(
/host/spi-builder-workspace/Sources/TSFCASFileTree/FileTreeImport.swift:1105:53: warning: type 'CASTreeImport.NextStep' does not conform to the 'Sendable' protocol
 803 |     }
 804 |
 805 |     indirect enum NextStep {
     |                   `- note: consider making enum 'NextStep' conform to the 'Sendable' protocol
 806 |         // Final step in a sequence: stop stepping through.
 807 |         case skipped
     :
1103 |                                 }
1104 |
1105 |                                 return containsLoop.makeSucceededFuture(
     |                                                     `- warning: type 'CASTreeImport.NextStep' does not conform to the 'Sendable' protocol
1106 |                                     NextStep.execute(
1107 |                                         in: .UploadingFiles,
/host/spi-builder-workspace/Sources/TSFCASFileTree/FileTreeImport.swift:1128:61: warning: 'executeWithBackpressure(on:loop:size:default:_:)' is deprecated: This method blocks indefinitely and returns a future
1126 |                                                 // free to take our load. This ensures that we're not
1127 |                                                 // limited by CPU parallelism for network concurrency.
1128 |                                                 return self.executeWithBackpressure(
     |                                                             `- warning: 'executeWithBackpressure(on:loop:size:default:_:)' is deprecated: This method blocks indefinitely and returns a future
1129 |                                                     on: self.netQueue, loop: containsLoop,
1130 |                                                     size: slice.readableBytes, default: .skipped
/host/spi-builder-workspace/Sources/TSFCASFileTree/FileTreeImport.swift:1135:55: warning: type 'CASTreeImport.NextStep' does not conform to the 'Sendable' protocol
 803 |     }
 804 |
 805 |     indirect enum NextStep {
     |                   `- note: consider making enum 'NextStep' conform to the 'Sendable' protocol
 806 |         // Final step in a sequence: stop stepping through.
 807 |         case skipped
     :
1133 |                                                         refs: [], data: slice,
1134 |                                                         importSize: segm.uncompressedSize, ctx
1135 |                                                     ).flatMap { id -> LLBFuture<NextStep> in
     |                                                       `- warning: type 'CASTreeImport.NextStep' does not conform to the 'Sendable' protocol
1136 |                                                         withExtendedLifetime(importObject) {  // for mmap
1137 |                                                             uploadFileInfo(blobId: id)
/host/spi-builder-workspace/Sources/TSFCASFileTree/FileTreeImport.swift:1141:55: warning: type 'CASTreeImport.NextStep' does not conform to the 'Sendable' protocol
 803 |     }
 804 |
 805 |     indirect enum NextStep {
     |                   `- note: consider making enum 'NextStep' conform to the 'Sendable' protocol
 806 |         // Final step in a sequence: stop stepping through.
 807 |         case skipped
     :
1139 |                                                     }.map { result in
1140 |                                                         return result
1141 |                                                     }.hop(to: loop)
     |                                                       `- warning: type 'CASTreeImport.NextStep' does not conform to the 'Sendable' protocol
1142 |                                                 }
1143 |                                             }.flatMap {
/host/spi-builder-workspace/Sources/TSFCASFileTree/FileTreeImport.swift:1143:47: warning: type 'CASTreeImport.NextStep' does not conform to the 'Sendable' protocol
 803 |     }
 804 |
 805 |     indirect enum NextStep {
     |                   `- note: consider making enum 'NextStep' conform to the 'Sendable' protocol
 806 |         // Final step in a sequence: stop stepping through.
 807 |         case skipped
     :
1141 |                                                     }.hop(to: loop)
1142 |                                                 }
1143 |                                             }.flatMap {
     |                                               `- warning: type 'CASTreeImport.NextStep' does not conform to the 'Sendable' protocol
1144 |                                                 // This type of return ensures that cpuQueue does not
1145 |                                                 // wait for the netQueue operation to complete.
/host/spi-builder-workspace/Sources/TSFCASFileTree/FileTreeImport.swift:1146:60: warning: type 'CASTreeImport.NextStep' does not conform to the 'Sendable' protocol
 803 |     }
 804 |
 805 |     indirect enum NextStep {
     |                   `- note: consider making enum 'NextStep' conform to the 'Sendable' protocol
 806 |         // Final step in a sequence: stop stepping through.
 807 |         case skipped
     :
1144 |                                                 // This type of return ensures that cpuQueue does not
1145 |                                                 // wait for the netQueue operation to complete.
1146 |                                                 $0 ?? loop.makeSucceededFuture(NextStep.skipped)
     |                                                            `- warning: type 'CASTreeImport.NextStep' does not conform to the 'Sendable' protocol
1147 |                                             }
1148 |                                             nextStepFuture.cascade(to: partialStepPromise)
/host/spi-builder-workspace/Sources/TSFCASFileTree/FileTreeImport.swift:1201:23: warning: type 'CASTreeImport.NextStep' does not conform to the 'Sendable' protocol
 803 |     }
 804 |
 805 |     indirect enum NextStep {
     |                   `- note: consider making enum 'NextStep' conform to the 'Sendable' protocol
 806 |         // Final step in a sequence: stop stepping through.
 807 |         case skipped
     :
1199 |                         throw error
1200 |
1201 |                     }.flatMap { nextSteps in
     |                       `- warning: type 'CASTreeImport.NextStep' does not conform to the 'Sendable' protocol
1202 |                         // The next steps can only be empty if we've reacting on
1203 |                         // a filesystem-related error with some of our chunks.
/host/spi-builder-workspace/Sources/TSFCASFileTree/FileTreeImport.swift:1205:41: warning: type 'CASTreeImport.NextStep' does not conform to the 'Sendable' protocol
 803 |     }
 804 |
 805 |     indirect enum NextStep {
     |                   `- note: consider making enum 'NextStep' conform to the 'Sendable' protocol
 806 |         // Final step in a sequence: stop stepping through.
 807 |         case skipped
     :
1203 |                         // a filesystem-related error with some of our chunks.
1204 |                         guard nextSteps.isEmpty == false else {
1205 |                             return loop.makeSucceededFuture(.skipped)
     |                                         `- warning: type 'CASTreeImport.NextStep' does not conform to the 'Sendable' protocol
1206 |                         }
1207 |
/host/spi-builder-workspace/Sources/TSFCASFileTree/FileTreeImport.swift:1252:49: warning: type 'CASTreeImport.NextStep' does not conform to the 'Sendable' protocol
 803 |     }
 804 |
 805 |     indirect enum NextStep {
     |                   `- note: consider making enum 'NextStep' conform to the 'Sendable' protocol
 806 |         // Final step in a sequence: stop stepping through.
 807 |         case skipped
     :
1250 |             // have been uploaded. Therefore we wait for the huge files in
1251 |             // its own state, .UploadingWait.
1252 |             return cheapNextStepFutures + [loop.makeSucceededFuture(combinePartialResultsStep)]
     |                                                 `- warning: type 'CASTreeImport.NextStep' does not conform to the 'Sendable' protocol
1253 |         }
1254 |
/host/spi-builder-workspace/Sources/TSFCASFileTree/FileTreeImport.swift:1259:22: warning: type 'CASTreeImport.NextStep' does not conform to the 'Sendable' protocol
 803 |     }
 804 |
 805 |     indirect enum NextStep {
     |                   `- note: consider making enum 'NextStep' conform to the 'Sendable' protocol
 806 |         // Final step in a sequence: stop stepping through.
 807 |         case skipped
     :
1257 |             in: .EstimatingSize,
1258 |             run: {
1259 |                 loop.makeSucceededFuture(
     |                      `- warning: type 'CASTreeImport.NextStep' does not conform to the 'Sendable' protocol
1260 |                     NextStep.wait(
1261 |                         in: .CheckIfUploaded,
/host/spi-builder-workspace/Sources/TSFCASFileTree/FileTreeImport.swift:1078:37: warning: capture of 'encodeNextStep(for:)' with non-sendable type '(LLBDataID) -> CASTreeImport.NextStep' in a '@Sendable' closure
1076 |                                     importSize: importSize, ctx
1077 |                                 ).map { id in
1078 |                                     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'
1079 |                                 }
1080 |                             } catch {
/host/spi-builder-workspace/Sources/TSFCASFileTree/FileTreeImport.swift:1024:30: warning: concurrently-executed local function 'encodeNextStep(for:)' must be marked as '@Sendable'
1022 |                             promise: loop.makePromise(of: NextStep.self))
1023 |
1024 |                         func encodeNextStep(for id: LLBDataID) -> NextStep {
     |                              `- warning: concurrently-executed local function 'encodeNextStep(for:)' must be marked as '@Sendable'
1025 |                             if isSingleChunk {
1026 |                                 return .singleFile(
/host/spi-builder-workspace/Sources/TSFCASFileTree/FileTreeImport.swift:1098: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
1096 |                                     let existingIdFuture: LLBFuture<NextStep> = segm.id.flatMap {
1097 |                                         id in
1098 |                                         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'
1099 |                                             blobId: id, importSize: segm.uncompressedSize)
1100 |                                     }
/host/spi-builder-workspace/Sources/TSFCASFileTree/FileTreeImport.swift:1114:56: warning: capture of 'importObject' with non-sendable type 'ObjectToImport' in a '@Sendable' closure
 910 |         let type: LLBFileType
 911 |         let allSegmentsUncompressedDataSize: Int
 912 |         enum ObjectToImport {
     |              `- note: consider making enum 'ObjectToImport' conform to the 'Sendable' protocol
 913 |             case link(target: LLBFastData)
 914 |             case file(file: FileSegmenter, posixDetails: LLBPosixFileDetails)
     :
1112 |                                                 let data: LLBFastData
1113 |
1114 |                                                 switch importObject {
     |                                                        `- warning: capture of 'importObject' with non-sendable type 'ObjectToImport' in a '@Sendable' closure
1115 |                                                 case .link(let target):
1116 |                                                     data = target
/host/spi-builder-workspace/Sources/TSFCASFileTree/FileTreeImport.swift:1098: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
1096 |                                     let existingIdFuture: LLBFuture<NextStep> = segm.id.flatMap {
1097 |                                         id in
1098 |                                         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'
1099 |                                             blobId: id, importSize: segm.uncompressedSize)
1100 |                                     }
/host/spi-builder-workspace/Sources/TSFCASFileTree/FileTreeImport.swift:1038:30: warning: concurrently-executed local function 'uploadFileInfo(blobId:importSize:)' must be marked as '@Sendable'
1036 |                         // If the file has non-standard layout, upload it after we upload
1037 |                         // the binary blob.
1038 |                         func uploadFileInfo(blobId: LLBDataID, importSize: Int? = nil) -> LLBFuture<
     |                              `- warning: concurrently-executed local function 'uploadFileInfo(blobId:importSize:)' must be marked as '@Sendable'
1039 |                             NextStep
1040 |                         > {
/host/spi-builder-workspace/Sources/TSFCASFileTree/FileTreeImport.swift:1114:56: warning: capture of 'importObject' with non-sendable type 'ObjectToImport' in an isolated closure; this is an error in the Swift 6 language mode
 910 |         let type: LLBFileType
 911 |         let allSegmentsUncompressedDataSize: Int
 912 |         enum ObjectToImport {
     |              `- note: consider making enum 'ObjectToImport' conform to the 'Sendable' protocol
 913 |             case link(target: LLBFastData)
 914 |             case file(file: FileSegmenter, posixDetails: LLBPosixFileDetails)
     :
1112 |                                                 let data: LLBFastData
1113 |
1114 |                                                 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
1115 |                                                 case .link(let target):
1116 |                                                     data = target
/host/spi-builder-workspace/Sources/TSFCASFileTree/FileTreeImport.swift:1137: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
1135 |                                                     ).flatMap { id -> LLBFuture<NextStep> in
1136 |                                                         withExtendedLifetime(importObject) {  // for mmap
1137 |                                                             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'
1138 |                                                         }
1139 |                                                     }.map { result in
/host/spi-builder-workspace/Sources/TSFCASFileTree/FileTreeImport.swift:1114:56: warning: capture of 'importObject' with non-sendable type 'ObjectToImport' in an isolated closure; this is an error in the Swift 6 language mode
 910 |         let type: LLBFileType
 911 |         let allSegmentsUncompressedDataSize: Int
 912 |         enum ObjectToImport {
     |              `- note: consider making enum 'ObjectToImport' conform to the 'Sendable' protocol
 913 |             case link(target: LLBFastData)
 914 |             case file(file: FileSegmenter, posixDetails: LLBPosixFileDetails)
     :
1112 |                                                 let data: LLBFastData
1113 |
1114 |                                                 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
1115 |                                                 case .link(let target):
1116 |                                                     data = target
/host/spi-builder-workspace/Sources/TSFCASFileTree/FileTreeImport.swift:1137: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
1135 |                                                     ).flatMap { id -> LLBFuture<NextStep> in
1136 |                                                         withExtendedLifetime(importObject) {  // for mmap
1137 |                                                             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'
1138 |                                                         }
1139 |                                                     }.map { result in
/host/spi-builder-workspace/Sources/TSFCASFileTree/FileTreeImport.swift:1136:78: warning: capture of 'importObject' with non-sendable type 'ObjectToImport' in an isolated closure; this is an error in the Swift 6 language mode
 910 |         let type: LLBFileType
 911 |         let allSegmentsUncompressedDataSize: Int
 912 |         enum ObjectToImport {
     |              `- note: consider making enum 'ObjectToImport' conform to the 'Sendable' protocol
 913 |             case link(target: LLBFastData)
 914 |             case file(file: FileSegmenter, posixDetails: LLBPosixFileDetails)
     :
1134 |                                                         importSize: segm.uncompressedSize, ctx
1135 |                                                     ).flatMap { id -> LLBFuture<NextStep> in
1136 |                                                         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
1137 |                                                             uploadFileInfo(blobId: id)
1138 |                                                         }
/host/spi-builder-workspace/Sources/TSFCASFileTree/FileTreeImport.swift:1137: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
1135 |                                                     ).flatMap { id -> LLBFuture<NextStep> in
1136 |                                                         withExtendedLifetime(importObject) {  // for mmap
1137 |                                                             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'
1138 |                                                         }
1139 |                                                     }.map { result in
/host/spi-builder-workspace/Sources/TSFCASFileTree/FileTreeImport.swift:1136:78: warning: capture of 'importObject' with non-sendable type 'ObjectToImport' in a '@Sendable' closure
 910 |         let type: LLBFileType
 911 |         let allSegmentsUncompressedDataSize: Int
 912 |         enum ObjectToImport {
     |              `- note: consider making enum 'ObjectToImport' conform to the 'Sendable' protocol
 913 |             case link(target: LLBFastData)
 914 |             case file(file: FileSegmenter, posixDetails: LLBPosixFileDetails)
     :
1134 |                                                         importSize: segm.uncompressedSize, ctx
1135 |                                                     ).flatMap { id -> LLBFuture<NextStep> in
1136 |                                                         withExtendedLifetime(importObject) {  // for mmap
     |                                                                              `- warning: capture of 'importObject' with non-sendable type 'ObjectToImport' in a '@Sendable' closure
1137 |                                                             uploadFileInfo(blobId: id)
1138 |                                                         }
/host/spi-builder-workspace/Sources/TSFCASFileTree/FileTreeImport.swift:1137: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
1135 |                                                     ).flatMap { id -> LLBFuture<NextStep> in
1136 |                                                         withExtendedLifetime(importObject) {  // for mmap
1137 |                                                             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'
1138 |                                                         }
1139 |                                                     }.map { result in
/host/spi-builder-workspace/Sources/TSFCASFileTree/FileTreeImport.swift:1137: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
1135 |                                                     ).flatMap { id -> LLBFuture<NextStep> in
1136 |                                                         withExtendedLifetime(importObject) {  // for mmap
1137 |                                                             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'
1138 |                                                         }
1139 |                                                     }.map { result in
/host/spi-builder-workspace/Sources/TSFCASFileTree/FileTreeImport.swift:1223:44: warning: capture of 'importObject' with non-sendable type 'ObjectToImport' in a '@Sendable' closure
 910 |         let type: LLBFileType
 911 |         let allSegmentsUncompressedDataSize: Int
 912 |         enum ObjectToImport {
     |              `- note: consider making enum 'ObjectToImport' conform to the 'Sendable' protocol
 913 |             case link(target: LLBFastData)
 914 |             case file(file: FileSegmenter, posixDetails: LLBPosixFileDetails)
     :
1221 |                             chunkIds.count > 1
1222 |                                 ? self.options.fileChunkSize : allSegmentsUncompressedDataSize)
1223 |                         let posixDetails = importObject.posixDetails
     |                                            `- warning: capture of 'importObject' with non-sendable type 'ObjectToImport' in a '@Sendable' closure
1224 |                         fileInfo.update(posixDetails: posixDetails, options: self.options)
1225 |                         do {
/host/spi-builder-workspace/Sources/TSFCASFileTree/FileTreeImport.swift:1306:25: warning: type 'Value' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
1299 |     }
1300 |
1301 |     private func whenAllSucceed<Value>(
     |                                 `- note: consider making generic parameter 'Value' conform to the 'Sendable' protocol
1302 |         _ futures: [LLBFuture<Value>], on loop: LLBFuturesDispatchLoop? = nil
1303 |     ) -> LLBFuture<[Value]> {
1304 |         let loop = loop ?? self.loop
1305 |         guard finalResultPromise.isCompleted == false else {
1306 |             return loop.makeSucceededFuture([])
     |                         `- warning: type 'Value' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
1307 |         }
1308 |         return LLBFuture.whenAllSucceed(futures, on: loop).map { result in
/host/spi-builder-workspace/Sources/TSFCASFileTree/FileTreeImport.swift:1308:26: warning: type 'Value' does not conform to the 'Sendable' protocol
1299 |     }
1300 |
1301 |     private func whenAllSucceed<Value>(
     |                                 `- note: consider making generic parameter 'Value' conform to the 'Sendable' protocol
1302 |         _ futures: [LLBFuture<Value>], on loop: LLBFuturesDispatchLoop? = nil
1303 |     ) -> LLBFuture<[Value]> {
     :
1306 |             return loop.makeSucceededFuture([])
1307 |         }
1308 |         return LLBFuture.whenAllSucceed(futures, on: loop).map { result in
     |                          `- warning: type 'Value' does not conform to the 'Sendable' protocol
1309 |             guard self.finalResultPromise.isCompleted == false else {
1310 |                 return []
/host/spi-builder-workspace/Sources/TSFCASFileTree/FileTreeImport.swift:1326:39: warning: type 'T' does not conform to the 'Sendable' protocol
1319 |     /// Enqueue the callback unless the stop flag is in action.
1320 |     /// If stop flag is set, return the value specified in `then`.
1321 |     private func execute<T>(
     |                          `- note: consider making generic parameter 'T' conform to the 'Sendable' protocol
1322 |         on queue: LLBBatchingFutureOperationQueue, default stopValue: T,
1323 |         _ body: @escaping () throws -> T
1324 |     ) -> LLBFuture<T> {
1325 |         guard finalResultPromise.isCompleted == false else {
1326 |             return queue.group.next().makeSucceededFuture(stopValue)
     |                                       `- warning: type 'T' does not conform to the 'Sendable' protocol
1327 |         }
1328 |         return queue.execute {
/host/spi-builder-workspace/Sources/TSFCASFileTree/FileTreeImport.swift:1349:25: warning: type 'T' does not conform to the 'Sendable' protocol
1341 |     /// Enqueue the callback unless the stop flag is in action.
1342 |     /// If stop flag is set, return the value specified in `then`.
1343 |     private func execute<T>(
     |                          `- note: consider making generic parameter 'T' conform to the 'Sendable' protocol
1344 |         on queue: LLBFutureOperationQueue, loop: EventLoop? = nil, size: Int = 1,
1345 |         default stopValue: T, _ body: @escaping () -> LLBFuture<T>
     :
1347 |         let loop = loop ?? self.loop
1348 |         guard finalResultPromise.isCompleted == false else {
1349 |             return loop.makeSucceededFuture(stopValue)
     |                         `- warning: type 'T' does not conform to the 'Sendable' protocol
1350 |         }
1351 |         return queue.enqueue(on: loop, share: size) {
/host/spi-builder-workspace/Sources/TSFCASFileTree/FileTreeImport.swift:1353:29: warning: type 'T' does not conform to the 'Sendable' protocol
1341 |     /// Enqueue the callback unless the stop flag is in action.
1342 |     /// If stop flag is set, return the value specified in `then`.
1343 |     private func execute<T>(
     |                          `- note: consider making generic parameter 'T' conform to the 'Sendable' protocol
1344 |         on queue: LLBFutureOperationQueue, loop: EventLoop? = nil, size: Int = 1,
1345 |         default stopValue: T, _ body: @escaping () -> LLBFuture<T>
     :
1351 |         return queue.enqueue(on: loop, share: size) {
1352 |             guard self.finalResultPromise.isCompleted == false else {
1353 |                 return loop.makeSucceededFuture(stopValue)
     |                             `- warning: type 'T' does not conform to the 'Sendable' protocol
1354 |             }
1355 |             return body().flatMapErrorThrowing { error in
/host/spi-builder-workspace/Sources/TSFCASFileTree/FileTreeImport.swift:1373:25: warning: type 'T' does not conform to the 'Sendable' protocol
1366 |     )
1367 |     @available(*, deprecated, message: "This method blocks indefinitely and returns a future")
1368 |     private func executeWithBackpressure<T>(
     |                                          `- note: consider making generic parameter 'T' conform to the 'Sendable' protocol
1369 |         on queue: LLBFutureOperationQueue, loop: LLBFuturesDispatchLoop, size: Int = 1,
1370 |         default stopValue: T, _ body: @escaping () -> LLBFuture<T>
1371 |     ) -> LLBFuture<T> {
1372 |         guard finalResultPromise.isCompleted == false else {
1373 |             return loop.makeSucceededFuture(stopValue)
     |                         `- warning: type 'T' does not conform to the 'Sendable' protocol
1374 |         }
1375 |         return queue.enqueueWithBackpressure(on: loop, share: size) {
/host/spi-builder-workspace/Sources/TSFCASFileTree/FileTreeImport.swift:1377:29: warning: type 'T' does not conform to the 'Sendable' protocol
1366 |     )
1367 |     @available(*, deprecated, message: "This method blocks indefinitely and returns a future")
1368 |     private func executeWithBackpressure<T>(
     |                                          `- note: consider making generic parameter 'T' conform to the 'Sendable' protocol
1369 |         on queue: LLBFutureOperationQueue, loop: LLBFuturesDispatchLoop, size: Int = 1,
1370 |         default stopValue: T, _ body: @escaping () -> LLBFuture<T>
     :
1375 |         return queue.enqueueWithBackpressure(on: loop, share: size) {
1376 |             guard self.finalResultPromise.isCompleted == false else {
1377 |                 return loop.makeSucceededFuture(stopValue)
     |                             `- warning: type 'T' does not conform to the 'Sendable' protocol
1378 |             }
1379 |             return body().flatMapErrorThrowing { error in
[752/752] Compiling TSFCASFileTree FilesystemObject.swift
/host/spi-builder-workspace/Sources/TSFCASFileTree/FileTreeImport.swift:317:28: warning: type 'T' does not conform to the 'Sendable' protocol
 312 |
 313 |     // Retry with lesser concurrency if we see unexpected network errors.
 314 |     private static func recursivelyDecreasingLimit<T>(
     |                                                    `- note: consider making generic parameter 'T' conform to the 'Sendable' protocol
 315 |         on loop: LLBFuturesDispatchLoop, limit: Int, _ body: @escaping (Int) -> LLBFuture<T>
 316 |     ) -> LLBFuture<T> {
 317 |         return body(limit).flatMapError { error -> LLBFuture<T> in
     |                            `- warning: type 'T' does not conform to the 'Sendable' protocol
 318 |             // Check if something retryable happened.
 319 |             guard case LLBCASDatabaseError.retryableNetworkError(_) = error else {
/host/spi-builder-workspace/Sources/TSFCASFileTree/FileTreeImport.swift:332:22: warning: type 'T' does not conform to the 'Sendable' protocol
 312 |
 313 |     // Retry with lesser concurrency if we see unexpected network errors.
 314 |     private static func recursivelyDecreasingLimit<T>(
     |                                                    `- note: consider making generic parameter 'T' conform to the 'Sendable' protocol
 315 |         on loop: LLBFuturesDispatchLoop, limit: Int, _ body: @escaping (Int) -> LLBFuture<T>
 316 |     ) -> LLBFuture<T> {
     :
 330 |             _ = loop.scheduleTask(in: .seconds(3)) {
 331 |                 recursivelyDecreasingLimit(on: loop, limit: newLimit, body)
 332 |                     .cascade(to: promise)
     |                      `- warning: type 'T' does not conform to the 'Sendable' protocol
 333 |             }
 334 |
/host/spi-builder-workspace/Sources/TSFCASFileTree/FileTreeImport.swift:331:71: warning: capture of 'body' with non-sendable type '(Int) -> LLBFuture<T>' (aka '(Int) -> EventLoopFuture<T>') in a '@Sendable' closure
 329 |             let promise = loop.makePromise(of: T.self)
 330 |             _ = loop.scheduleTask(in: .seconds(3)) {
 331 |                 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'
 332 |                     .cascade(to: promise)
 333 |             }
/host/spi-builder-workspace/Sources/TSFCASFileTree/FileTreeImport.swift:331:71: warning: capture of 'body' with non-sendable type '(Int) -> LLBFuture<T>' (aka '(Int) -> EventLoopFuture<T>') in a '@Sendable' closure
 329 |             let promise = loop.makePromise(of: T.self)
 330 |             _ = loop.scheduleTask(in: .seconds(3)) {
 331 |                 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'
 332 |                     .cascade(to: promise)
 333 |             }
/host/spi-builder-workspace/Sources/TSFCASFileTree/FileTreeImport.swift:485:30: warning: type 'FilesystemObjectType' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
 483 |                 // We can import individual files just fine.
 484 |                 stats.toImportObjects_.wrappingIncrement(ordering: .relaxed)
 485 |                 return [loop.makeSucceededFuture([(importPath, .REG)])]
     |                              `- warning: type 'FilesystemObjectType' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
 486 |             } else {
 487 |                 // Scan the filesystem tree using multiple threads.
/host/spi-builder-workspace/Sources/TSFCASFileTree/Internal/ConcurrentFilesystemScanner.swift:432:13: note: consider making enum 'FilesystemObjectType' conform to the 'Sendable' protocol
430 | /// We don't assign values there because the DT_xxx and S_IFxxx values
431 | /// are different yet we support them all since they still form the same set.
432 | public enum FilesystemObjectType: UInt8 {
    |             `- note: consider making enum 'FilesystemObjectType' conform to the 'Sendable' protocol
433 |     case UNKNOWN
434 |     case FIFO
/host/spi-builder-workspace/Sources/TSFCASFileTree/FileTreeImport.swift:501:11: warning: type 'FilesystemObjectType' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
 499 |                 }
 500 |             }
 501 |         }.flatMap { pathsFutures -> LLBFuture<[[ConcurrentFilesystemScanner.Element]]> in
     |           `- warning: type 'FilesystemObjectType' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
 502 |             self.whenAllSucceed(pathsFutures)
 503 |         }.map { (pathInfos: [[ConcurrentFilesystemScanner.Element]]) -> [LLBFuture<NextStep>] in
/host/spi-builder-workspace/Sources/TSFCASFileTree/Internal/ConcurrentFilesystemScanner.swift:432:13: note: consider making enum 'FilesystemObjectType' conform to the 'Sendable' protocol
430 | /// We don't assign values there because the DT_xxx and S_IFxxx values
431 | /// are different yet we support them all since they still form the same set.
432 | public enum FilesystemObjectType: UInt8 {
    |             `- note: consider making enum 'FilesystemObjectType' conform to the 'Sendable' protocol
433 |     case UNKNOWN
434 |     case FIFO
/host/spi-builder-workspace/Sources/TSFCASFileTree/FileTreeImport.swift:523:11: warning: type 'CASTreeImport.NextStep' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
 521 |                 }
 522 |             }
 523 |         }.flatMap { nextStepFutures -> LLBFuture<[NextStep]> in
     |           `- warning: type 'CASTreeImport.NextStep' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
 524 |             self.whenAllSucceed(nextStepFutures)
 525 |         }.flatMap { nextStepFutures -> LLBFuture<[NextStep]> in
     :
 803 |     }
 804 |
 805 |     indirect enum NextStep {
     |                   `- note: consider making enum 'NextStep' conform to the 'Sendable' protocol
 806 |         // Final step in a sequence: stop stepping through.
 807 |         case skipped
/host/spi-builder-workspace/Sources/TSFCASFileTree/FileTreeImport.swift:525:11: warning: type 'CASTreeImport.NextStep' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
 523 |         }.flatMap { nextStepFutures -> LLBFuture<[NextStep]> in
 524 |             self.whenAllSucceed(nextStepFutures)
 525 |         }.flatMap { nextStepFutures -> LLBFuture<[NextStep]> in
     |           `- warning: type 'CASTreeImport.NextStep' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
 526 |             self.set(phase: .CheckIfUploaded)
 527 |             return self.recursivelyPerformSteps(
     :
 803 |     }
 804 |
 805 |     indirect enum NextStep {
     |                   `- note: consider making enum 'NextStep' conform to the 'Sendable' protocol
 806 |         // Final step in a sequence: stop stepping through.
 807 |         case skipped
/host/spi-builder-workspace/Sources/TSFCASFileTree/FileTreeImport.swift:710:25: warning: type 'CASTreeImport.NextStep' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
 708 |
 709 |         guard finalResultPromise.isCompleted == false else {
 710 |             return loop.makeSucceededFuture([])
     |                         `- warning: type 'CASTreeImport.NextStep' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
 711 |         }
 712 |
     :
 803 |     }
 804 |
 805 |     indirect enum NextStep {
     |                   `- note: consider making enum 'NextStep' conform to the 'Sendable' protocol
 806 |         // Final step in a sequence: stop stepping through.
 807 |         case skipped
/host/spi-builder-workspace/Sources/TSFCASFileTree/FileTreeImport.swift:730:56: warning: type 'CASTreeImport.NextStep' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
 728 |         // Wait for the steps we need to wait in this phase, and then
 729 |         // advance the phase if there are no more steps to wait.
 730 |         return self.whenAllSucceed(waitInCurrentPhase).flatMap { moreStepsInCurrentPhase in
     |                                                        `- warning: type 'CASTreeImport.NextStep' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
 731 |             if moreStepsInCurrentPhase.isEmpty {
 732 |                 precondition(!currentPhase.isFinalPhase)  // Avoid infinite recursion
     :
 803 |     }
 804 |
 805 |     indirect enum NextStep {
     |                   `- note: consider making enum 'NextStep' conform to the 'Sendable' protocol
 806 |         // Final step in a sequence: stop stepping through.
 807 |         case skipped
/host/spi-builder-workspace/Sources/TSFCASFileTree/FileTreeImport.swift:735:33: warning: type 'CASTreeImport.NextStep' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
 733 |                 let nextPhase = LLBCASFileTree.ImportPhase(rawValue: currentPhase.rawValue + 1)!
 734 |                 guard nextPhase < .UploadingDirs else {
 735 |                     return loop.makeSucceededFuture(finishedSteps + nextPhaseSteps)
     |                                 `- warning: type 'CASTreeImport.NextStep' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
 736 |                 }
 737 |                 self.set(phase: nextPhase)
     :
 803 |     }
 804 |
 805 |     indirect enum NextStep {
     |                   `- note: consider making enum 'NextStep' conform to the 'Sendable' protocol
 806 |         // Final step in a sequence: stop stepping through.
 807 |         case skipped
/host/spi-builder-workspace/Sources/TSFCASFileTree/FileTreeImport.swift:735:53: warning: capture of 'finishedSteps' with non-sendable type '[CASTreeImport.NextStep]' in a '@Sendable' closure
 733 |                 let nextPhase = LLBCASFileTree.ImportPhase(rawValue: currentPhase.rawValue + 1)!
 734 |                 guard nextPhase < .UploadingDirs else {
 735 |                     return loop.makeSucceededFuture(finishedSteps + nextPhaseSteps)
     |                                                     `- warning: capture of 'finishedSteps' with non-sendable type '[CASTreeImport.NextStep]' in a '@Sendable' closure
 736 |                 }
 737 |                 self.set(phase: nextPhase)
     :
 803 |     }
 804 |
 805 |     indirect enum NextStep {
     |                   `- note: consider making enum 'NextStep' conform to the 'Sendable' protocol
 806 |         // Final step in a sequence: stop stepping through.
 807 |         case skipped
/host/spi-builder-workspace/Sources/TSFCASFileTree/FileTreeImport.swift:735:69: warning: capture of 'nextPhaseSteps' with non-sendable type '[CASTreeImport.NextStep]' in a '@Sendable' closure
 733 |                 let nextPhase = LLBCASFileTree.ImportPhase(rawValue: currentPhase.rawValue + 1)!
 734 |                 guard nextPhase < .UploadingDirs else {
 735 |                     return loop.makeSucceededFuture(finishedSteps + nextPhaseSteps)
     |                                                                     `- warning: capture of 'nextPhaseSteps' with non-sendable type '[CASTreeImport.NextStep]' in a '@Sendable' closure
 736 |                 }
 737 |                 self.set(phase: nextPhase)
     :
 803 |     }
 804 |
 805 |     indirect enum NextStep {
     |                   `- note: consider making enum 'NextStep' conform to the 'Sendable' protocol
 806 |         // Final step in a sequence: stop stepping through.
 807 |         case skipped
/host/spi-builder-workspace/Sources/TSFCASFileTree/FileTreeImport.swift:735:53: warning: reference to captured var 'finishedSteps' in concurrently-executing code
 733 |                 let nextPhase = LLBCASFileTree.ImportPhase(rawValue: currentPhase.rawValue + 1)!
 734 |                 guard nextPhase < .UploadingDirs else {
 735 |                     return loop.makeSucceededFuture(finishedSteps + nextPhaseSteps)
     |                                                     `- warning: reference to captured var 'finishedSteps' in concurrently-executing code
 736 |                 }
 737 |                 self.set(phase: nextPhase)
/host/spi-builder-workspace/Sources/TSFCASFileTree/FileTreeImport.swift:735:69: warning: reference to captured var 'nextPhaseSteps' in concurrently-executing code
 733 |                 let nextPhase = LLBCASFileTree.ImportPhase(rawValue: currentPhase.rawValue + 1)!
 734 |                 guard nextPhase < .UploadingDirs else {
 735 |                     return loop.makeSucceededFuture(finishedSteps + nextPhaseSteps)
     |                                                                     `- warning: reference to captured var 'nextPhaseSteps' in concurrently-executing code
 736 |                 }
 737 |                 self.set(phase: nextPhase)
/host/spi-builder-workspace/Sources/TSFCASFileTree/FileTreeImport.swift:739:65: warning: reference to captured var 'nextPhaseSteps' in concurrently-executing code
 737 |                 self.set(phase: nextPhase)
 738 |                 return self.recursivelyPerformSteps(
 739 |                     currentPhase: nextPhase, currentPhaseSteps: nextPhaseSteps
     |                                                                 `- warning: reference to captured var 'nextPhaseSteps' in concurrently-executing code
 740 |                 ).map {
 741 |                     finishedSteps + $0
/host/spi-builder-workspace/Sources/TSFCASFileTree/FileTreeImport.swift:741:21: warning: capture of 'finishedSteps' with non-sendable type '[CASTreeImport.NextStep]' in a '@Sendable' closure
 739 |                     currentPhase: nextPhase, currentPhaseSteps: nextPhaseSteps
 740 |                 ).map {
 741 |                     finishedSteps + $0
     |                     `- warning: capture of 'finishedSteps' with non-sendable type '[CASTreeImport.NextStep]' in a '@Sendable' closure
 742 |                 }
 743 |             } else {
     :
 803 |     }
 804 |
 805 |     indirect enum NextStep {
     |                   `- note: consider making enum 'NextStep' conform to the 'Sendable' protocol
 806 |         // Final step in a sequence: stop stepping through.
 807 |         case skipped
/host/spi-builder-workspace/Sources/TSFCASFileTree/FileTreeImport.swift:741:21: warning: reference to captured var 'finishedSteps' in concurrently-executing code
 739 |                     currentPhase: nextPhase, currentPhaseSteps: nextPhaseSteps
 740 |                 ).map {
 741 |                     finishedSteps + $0
     |                     `- warning: reference to captured var 'finishedSteps' in concurrently-executing code
 742 |                 }
 743 |             } else {
/host/spi-builder-workspace/Sources/TSFCASFileTree/FileTreeImport.swift:746:37: warning: reference to captured var 'nextPhaseSteps' in concurrently-executing code
 744 |                 return self.recursivelyPerformSteps(
 745 |                     currentPhase: currentPhase, currentPhaseSteps: moreStepsInCurrentPhase,
 746 |                     nextPhaseSteps: nextPhaseSteps
     |                                     `- warning: reference to captured var 'nextPhaseSteps' in concurrently-executing code
 747 |                 ).map {
 748 |                     finishedSteps + $0
/host/spi-builder-workspace/Sources/TSFCASFileTree/FileTreeImport.swift:748:21: warning: capture of 'finishedSteps' with non-sendable type '[CASTreeImport.NextStep]' in a '@Sendable' closure
 746 |                     nextPhaseSteps: nextPhaseSteps
 747 |                 ).map {
 748 |                     finishedSteps + $0
     |                     `- warning: capture of 'finishedSteps' with non-sendable type '[CASTreeImport.NextStep]' in a '@Sendable' closure
 749 |                 }
 750 |             }
     :
 803 |     }
 804 |
 805 |     indirect enum NextStep {
     |                   `- note: consider making enum 'NextStep' conform to the 'Sendable' protocol
 806 |         // Final step in a sequence: stop stepping through.
 807 |         case skipped
/host/spi-builder-workspace/Sources/TSFCASFileTree/FileTreeImport.swift:748:21: warning: reference to captured var 'finishedSteps' in concurrently-executing code
 746 |                     nextPhaseSteps: nextPhaseSteps
 747 |                 ).map {
 748 |                     finishedSteps + $0
     |                     `- warning: reference to captured var 'finishedSteps' in concurrently-executing code
 749 |                 }
 750 |             }
/host/spi-builder-workspace/Sources/TSFCASFileTree/FileTreeImport.swift:1042:45: warning: type 'CASTreeImport.NextStep' does not conform to the 'Sendable' protocol
 803 |     }
 804 |
 805 |     indirect enum NextStep {
     |                   `- note: consider making enum 'NextStep' conform to the 'Sendable' protocol
 806 |         // Final step in a sequence: stop stepping through.
 807 |         case skipped
     :
1040 |                         > {
1041 |                             guard finalResultPromise.isCompleted == false else {
1042 |                                 return loop.makeSucceededFuture(NextStep.skipped)
     |                                             `- warning: type 'CASTreeImport.NextStep' does not conform to the 'Sendable' protocol
1043 |                             }
1044 |
/host/spi-builder-workspace/Sources/TSFCASFileTree/FileTreeImport.swift:1054:45: warning: type 'CASTreeImport.NextStep' does not conform to the 'Sendable' protocol
 803 |     }
 804 |
 805 |     indirect enum NextStep {
     |                   `- note: consider making enum 'NextStep' conform to the 'Sendable' protocol
 806 |         // Final step in a sequence: stop stepping through.
 807 |         case skipped
     :
1052 |                                         by: size, ordering: .relaxed)
1053 |                                 }
1054 |                                 return loop.makeSucceededFuture(encodeNextStep(for: blobId))
     |                                             `- warning: type 'CASTreeImport.NextStep' does not conform to the 'Sendable' protocol
1055 |                             }
1056 |
/host/spi-builder-workspace/Sources/TSFCASFileTree/FileTreeImport.swift:1093:51: warning: type 'CASTreeImport.NextStep' does not conform to the 'Sendable' protocol
 803 |     }
 804 |
 805 |     indirect enum NextStep {
     |                   `- note: consider making enum 'NextStep' conform to the 'Sendable' protocol
 806 |         // Final step in a sequence: stop stepping through.
 807 |         case skipped
     :
1091 |                             let containsFuture = self.dbContains(segm, ctx)
1092 |                             let containsLoop = containsFuture.eventLoop
1093 |                             return containsFuture.flatMap { exists -> LLBFuture<NextStep> in
     |                                                   `- warning: type 'CASTreeImport.NextStep' does not conform to the 'Sendable' protocol
1094 |
1095 |                                 guard !exists else {
/host/spi-builder-workspace/Sources/TSFCASFileTree/FileTreeImport.swift:1096:89: warning: type 'CASTreeImport.NextStep' does not conform to the 'Sendable' protocol
 803 |     }
 804 |
 805 |     indirect enum NextStep {
     |                   `- note: consider making enum 'NextStep' conform to the 'Sendable' protocol
 806 |         // Final step in a sequence: stop stepping through.
 807 |         case skipped
     :
1094 |
1095 |                                 guard !exists else {
1096 |                                     let existingIdFuture: LLBFuture<NextStep> = segm.id.flatMap {
     |                                                                                         `- warning: type 'CASTreeImport.NextStep' does not conform to the 'Sendable' protocol
1097 |                                         id in
1098 |                                         return uploadFileInfo(
/host/spi-builder-workspace/Sources/TSFCASFileTree/FileTreeImport.swift:1105:53: warning: type 'CASTreeImport.NextStep' does not conform to the 'Sendable' protocol
 803 |     }
 804 |
 805 |     indirect enum NextStep {
     |                   `- note: consider making enum 'NextStep' conform to the 'Sendable' protocol
 806 |         // Final step in a sequence: stop stepping through.
 807 |         case skipped
     :
1103 |                                 }
1104 |
1105 |                                 return containsLoop.makeSucceededFuture(
     |                                                     `- warning: type 'CASTreeImport.NextStep' does not conform to the 'Sendable' protocol
1106 |                                     NextStep.execute(
1107 |                                         in: .UploadingFiles,
/host/spi-builder-workspace/Sources/TSFCASFileTree/FileTreeImport.swift:1128:61: warning: 'executeWithBackpressure(on:loop:size:default:_:)' is deprecated: This method blocks indefinitely and returns a future
1126 |                                                 // free to take our load. This ensures that we're not
1127 |                                                 // limited by CPU parallelism for network concurrency.
1128 |                                                 return self.executeWithBackpressure(
     |                                                             `- warning: 'executeWithBackpressure(on:loop:size:default:_:)' is deprecated: This method blocks indefinitely and returns a future
1129 |                                                     on: self.netQueue, loop: containsLoop,
1130 |                                                     size: slice.readableBytes, default: .skipped
/host/spi-builder-workspace/Sources/TSFCASFileTree/FileTreeImport.swift:1135:55: warning: type 'CASTreeImport.NextStep' does not conform to the 'Sendable' protocol
 803 |     }
 804 |
 805 |     indirect enum NextStep {
     |                   `- note: consider making enum 'NextStep' conform to the 'Sendable' protocol
 806 |         // Final step in a sequence: stop stepping through.
 807 |         case skipped
     :
1133 |                                                         refs: [], data: slice,
1134 |                                                         importSize: segm.uncompressedSize, ctx
1135 |                                                     ).flatMap { id -> LLBFuture<NextStep> in
     |                                                       `- warning: type 'CASTreeImport.NextStep' does not conform to the 'Sendable' protocol
1136 |                                                         withExtendedLifetime(importObject) {  // for mmap
1137 |                                                             uploadFileInfo(blobId: id)
/host/spi-builder-workspace/Sources/TSFCASFileTree/FileTreeImport.swift:1141:55: warning: type 'CASTreeImport.NextStep' does not conform to the 'Sendable' protocol
 803 |     }
 804 |
 805 |     indirect enum NextStep {
     |                   `- note: consider making enum 'NextStep' conform to the 'Sendable' protocol
 806 |         // Final step in a sequence: stop stepping through.
 807 |         case skipped
     :
1139 |                                                     }.map { result in
1140 |                                                         return result
1141 |                                                     }.hop(to: loop)
     |                                                       `- warning: type 'CASTreeImport.NextStep' does not conform to the 'Sendable' protocol
1142 |                                                 }
1143 |                                             }.flatMap {
/host/spi-builder-workspace/Sources/TSFCASFileTree/FileTreeImport.swift:1143:47: warning: type 'CASTreeImport.NextStep' does not conform to the 'Sendable' protocol
 803 |     }
 804 |
 805 |     indirect enum NextStep {
     |                   `- note: consider making enum 'NextStep' conform to the 'Sendable' protocol
 806 |         // Final step in a sequence: stop stepping through.
 807 |         case skipped
     :
1141 |                                                     }.hop(to: loop)
1142 |                                                 }
1143 |                                             }.flatMap {
     |                                               `- warning: type 'CASTreeImport.NextStep' does not conform to the 'Sendable' protocol
1144 |                                                 // This type of return ensures that cpuQueue does not
1145 |                                                 // wait for the netQueue operation to complete.
/host/spi-builder-workspace/Sources/TSFCASFileTree/FileTreeImport.swift:1146:60: warning: type 'CASTreeImport.NextStep' does not conform to the 'Sendable' protocol
 803 |     }
 804 |
 805 |     indirect enum NextStep {
     |                   `- note: consider making enum 'NextStep' conform to the 'Sendable' protocol
 806 |         // Final step in a sequence: stop stepping through.
 807 |         case skipped
     :
1144 |                                                 // This type of return ensures that cpuQueue does not
1145 |                                                 // wait for the netQueue operation to complete.
1146 |                                                 $0 ?? loop.makeSucceededFuture(NextStep.skipped)
     |                                                            `- warning: type 'CASTreeImport.NextStep' does not conform to the 'Sendable' protocol
1147 |                                             }
1148 |                                             nextStepFuture.cascade(to: partialStepPromise)
/host/spi-builder-workspace/Sources/TSFCASFileTree/FileTreeImport.swift:1201:23: warning: type 'CASTreeImport.NextStep' does not conform to the 'Sendable' protocol
 803 |     }
 804 |
 805 |     indirect enum NextStep {
     |                   `- note: consider making enum 'NextStep' conform to the 'Sendable' protocol
 806 |         // Final step in a sequence: stop stepping through.
 807 |         case skipped
     :
1199 |                         throw error
1200 |
1201 |                     }.flatMap { nextSteps in
     |                       `- warning: type 'CASTreeImport.NextStep' does not conform to the 'Sendable' protocol
1202 |                         // The next steps can only be empty if we've reacting on
1203 |                         // a filesystem-related error with some of our chunks.
/host/spi-builder-workspace/Sources/TSFCASFileTree/FileTreeImport.swift:1205:41: warning: type 'CASTreeImport.NextStep' does not conform to the 'Sendable' protocol
 803 |     }
 804 |
 805 |     indirect enum NextStep {
     |                   `- note: consider making enum 'NextStep' conform to the 'Sendable' protocol
 806 |         // Final step in a sequence: stop stepping through.
 807 |         case skipped
     :
1203 |                         // a filesystem-related error with some of our chunks.
1204 |                         guard nextSteps.isEmpty == false else {
1205 |                             return loop.makeSucceededFuture(.skipped)
     |                                         `- warning: type 'CASTreeImport.NextStep' does not conform to the 'Sendable' protocol
1206 |                         }
1207 |
/host/spi-builder-workspace/Sources/TSFCASFileTree/FileTreeImport.swift:1252:49: warning: type 'CASTreeImport.NextStep' does not conform to the 'Sendable' protocol
 803 |     }
 804 |
 805 |     indirect enum NextStep {
     |                   `- note: consider making enum 'NextStep' conform to the 'Sendable' protocol
 806 |         // Final step in a sequence: stop stepping through.
 807 |         case skipped
     :
1250 |             // have been uploaded. Therefore we wait for the huge files in
1251 |             // its own state, .UploadingWait.
1252 |             return cheapNextStepFutures + [loop.makeSucceededFuture(combinePartialResultsStep)]
     |                                                 `- warning: type 'CASTreeImport.NextStep' does not conform to the 'Sendable' protocol
1253 |         }
1254 |
/host/spi-builder-workspace/Sources/TSFCASFileTree/FileTreeImport.swift:1259:22: warning: type 'CASTreeImport.NextStep' does not conform to the 'Sendable' protocol
 803 |     }
 804 |
 805 |     indirect enum NextStep {
     |                   `- note: consider making enum 'NextStep' conform to the 'Sendable' protocol
 806 |         // Final step in a sequence: stop stepping through.
 807 |         case skipped
     :
1257 |             in: .EstimatingSize,
1258 |             run: {
1259 |                 loop.makeSucceededFuture(
     |                      `- warning: type 'CASTreeImport.NextStep' does not conform to the 'Sendable' protocol
1260 |                     NextStep.wait(
1261 |                         in: .CheckIfUploaded,
/host/spi-builder-workspace/Sources/TSFCASFileTree/FileTreeImport.swift:1078:37: warning: capture of 'encodeNextStep(for:)' with non-sendable type '(LLBDataID) -> CASTreeImport.NextStep' in a '@Sendable' closure
1076 |                                     importSize: importSize, ctx
1077 |                                 ).map { id in
1078 |                                     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'
1079 |                                 }
1080 |                             } catch {
/host/spi-builder-workspace/Sources/TSFCASFileTree/FileTreeImport.swift:1024:30: warning: concurrently-executed local function 'encodeNextStep(for:)' must be marked as '@Sendable'
1022 |                             promise: loop.makePromise(of: NextStep.self))
1023 |
1024 |                         func encodeNextStep(for id: LLBDataID) -> NextStep {
     |                              `- warning: concurrently-executed local function 'encodeNextStep(for:)' must be marked as '@Sendable'
1025 |                             if isSingleChunk {
1026 |                                 return .singleFile(
/host/spi-builder-workspace/Sources/TSFCASFileTree/FileTreeImport.swift:1098: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
1096 |                                     let existingIdFuture: LLBFuture<NextStep> = segm.id.flatMap {
1097 |                                         id in
1098 |                                         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'
1099 |                                             blobId: id, importSize: segm.uncompressedSize)
1100 |                                     }
/host/spi-builder-workspace/Sources/TSFCASFileTree/FileTreeImport.swift:1114:56: warning: capture of 'importObject' with non-sendable type 'ObjectToImport' in a '@Sendable' closure
 910 |         let type: LLBFileType
 911 |         let allSegmentsUncompressedDataSize: Int
 912 |         enum ObjectToImport {
     |              `- note: consider making enum 'ObjectToImport' conform to the 'Sendable' protocol
 913 |             case link(target: LLBFastData)
 914 |             case file(file: FileSegmenter, posixDetails: LLBPosixFileDetails)
     :
1112 |                                                 let data: LLBFastData
1113 |
1114 |                                                 switch importObject {
     |                                                        `- warning: capture of 'importObject' with non-sendable type 'ObjectToImport' in a '@Sendable' closure
1115 |                                                 case .link(let target):
1116 |                                                     data = target
/host/spi-builder-workspace/Sources/TSFCASFileTree/FileTreeImport.swift:1098: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
1096 |                                     let existingIdFuture: LLBFuture<NextStep> = segm.id.flatMap {
1097 |                                         id in
1098 |                                         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'
1099 |                                             blobId: id, importSize: segm.uncompressedSize)
1100 |                                     }
/host/spi-builder-workspace/Sources/TSFCASFileTree/FileTreeImport.swift:1038:30: warning: concurrently-executed local function 'uploadFileInfo(blobId:importSize:)' must be marked as '@Sendable'
1036 |                         // If the file has non-standard layout, upload it after we upload
1037 |                         // the binary blob.
1038 |                         func uploadFileInfo(blobId: LLBDataID, importSize: Int? = nil) -> LLBFuture<
     |                              `- warning: concurrently-executed local function 'uploadFileInfo(blobId:importSize:)' must be marked as '@Sendable'
1039 |                             NextStep
1040 |                         > {
/host/spi-builder-workspace/Sources/TSFCASFileTree/FileTreeImport.swift:1114:56: warning: capture of 'importObject' with non-sendable type 'ObjectToImport' in an isolated closure; this is an error in the Swift 6 language mode
 910 |         let type: LLBFileType
 911 |         let allSegmentsUncompressedDataSize: Int
 912 |         enum ObjectToImport {
     |              `- note: consider making enum 'ObjectToImport' conform to the 'Sendable' protocol
 913 |             case link(target: LLBFastData)
 914 |             case file(file: FileSegmenter, posixDetails: LLBPosixFileDetails)
     :
1112 |                                                 let data: LLBFastData
1113 |
1114 |                                                 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
1115 |                                                 case .link(let target):
1116 |                                                     data = target
/host/spi-builder-workspace/Sources/TSFCASFileTree/FileTreeImport.swift:1137: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
1135 |                                                     ).flatMap { id -> LLBFuture<NextStep> in
1136 |                                                         withExtendedLifetime(importObject) {  // for mmap
1137 |                                                             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'
1138 |                                                         }
1139 |                                                     }.map { result in
/host/spi-builder-workspace/Sources/TSFCASFileTree/FileTreeImport.swift:1114:56: warning: capture of 'importObject' with non-sendable type 'ObjectToImport' in an isolated closure; this is an error in the Swift 6 language mode
 910 |         let type: LLBFileType
 911 |         let allSegmentsUncompressedDataSize: Int
 912 |         enum ObjectToImport {
     |              `- note: consider making enum 'ObjectToImport' conform to the 'Sendable' protocol
 913 |             case link(target: LLBFastData)
 914 |             case file(file: FileSegmenter, posixDetails: LLBPosixFileDetails)
     :
1112 |                                                 let data: LLBFastData
1113 |
1114 |                                                 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
1115 |                                                 case .link(let target):
1116 |                                                     data = target
/host/spi-builder-workspace/Sources/TSFCASFileTree/FileTreeImport.swift:1137: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
1135 |                                                     ).flatMap { id -> LLBFuture<NextStep> in
1136 |                                                         withExtendedLifetime(importObject) {  // for mmap
1137 |                                                             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'
1138 |                                                         }
1139 |                                                     }.map { result in
/host/spi-builder-workspace/Sources/TSFCASFileTree/FileTreeImport.swift:1136:78: warning: capture of 'importObject' with non-sendable type 'ObjectToImport' in an isolated closure; this is an error in the Swift 6 language mode
 910 |         let type: LLBFileType
 911 |         let allSegmentsUncompressedDataSize: Int
 912 |         enum ObjectToImport {
     |              `- note: consider making enum 'ObjectToImport' conform to the 'Sendable' protocol
 913 |             case link(target: LLBFastData)
 914 |             case file(file: FileSegmenter, posixDetails: LLBPosixFileDetails)
     :
1134 |                                                         importSize: segm.uncompressedSize, ctx
1135 |                                                     ).flatMap { id -> LLBFuture<NextStep> in
1136 |                                                         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
1137 |                                                             uploadFileInfo(blobId: id)
1138 |                                                         }
/host/spi-builder-workspace/Sources/TSFCASFileTree/FileTreeImport.swift:1137: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
1135 |                                                     ).flatMap { id -> LLBFuture<NextStep> in
1136 |                                                         withExtendedLifetime(importObject) {  // for mmap
1137 |                                                             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'
1138 |                                                         }
1139 |                                                     }.map { result in
/host/spi-builder-workspace/Sources/TSFCASFileTree/FileTreeImport.swift:1136:78: warning: capture of 'importObject' with non-sendable type 'ObjectToImport' in a '@Sendable' closure
 910 |         let type: LLBFileType
 911 |         let allSegmentsUncompressedDataSize: Int
 912 |         enum ObjectToImport {
     |              `- note: consider making enum 'ObjectToImport' conform to the 'Sendable' protocol
 913 |             case link(target: LLBFastData)
 914 |             case file(file: FileSegmenter, posixDetails: LLBPosixFileDetails)
     :
1134 |                                                         importSize: segm.uncompressedSize, ctx
1135 |                                                     ).flatMap { id -> LLBFuture<NextStep> in
1136 |                                                         withExtendedLifetime(importObject) {  // for mmap
     |                                                                              `- warning: capture of 'importObject' with non-sendable type 'ObjectToImport' in a '@Sendable' closure
1137 |                                                             uploadFileInfo(blobId: id)
1138 |                                                         }
/host/spi-builder-workspace/Sources/TSFCASFileTree/FileTreeImport.swift:1137: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
1135 |                                                     ).flatMap { id -> LLBFuture<NextStep> in
1136 |                                                         withExtendedLifetime(importObject) {  // for mmap
1137 |                                                             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'
1138 |                                                         }
1139 |                                                     }.map { result in
/host/spi-builder-workspace/Sources/TSFCASFileTree/FileTreeImport.swift:1137: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
1135 |                                                     ).flatMap { id -> LLBFuture<NextStep> in
1136 |                                                         withExtendedLifetime(importObject) {  // for mmap
1137 |                                                             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'
1138 |                                                         }
1139 |                                                     }.map { result in
/host/spi-builder-workspace/Sources/TSFCASFileTree/FileTreeImport.swift:1223:44: warning: capture of 'importObject' with non-sendable type 'ObjectToImport' in a '@Sendable' closure
 910 |         let type: LLBFileType
 911 |         let allSegmentsUncompressedDataSize: Int
 912 |         enum ObjectToImport {
     |              `- note: consider making enum 'ObjectToImport' conform to the 'Sendable' protocol
 913 |             case link(target: LLBFastData)
 914 |             case file(file: FileSegmenter, posixDetails: LLBPosixFileDetails)
     :
1221 |                             chunkIds.count > 1
1222 |                                 ? self.options.fileChunkSize : allSegmentsUncompressedDataSize)
1223 |                         let posixDetails = importObject.posixDetails
     |                                            `- warning: capture of 'importObject' with non-sendable type 'ObjectToImport' in a '@Sendable' closure
1224 |                         fileInfo.update(posixDetails: posixDetails, options: self.options)
1225 |                         do {
/host/spi-builder-workspace/Sources/TSFCASFileTree/FileTreeImport.swift:1306:25: warning: type 'Value' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
1299 |     }
1300 |
1301 |     private func whenAllSucceed<Value>(
     |                                 `- note: consider making generic parameter 'Value' conform to the 'Sendable' protocol
1302 |         _ futures: [LLBFuture<Value>], on loop: LLBFuturesDispatchLoop? = nil
1303 |     ) -> LLBFuture<[Value]> {
1304 |         let loop = loop ?? self.loop
1305 |         guard finalResultPromise.isCompleted == false else {
1306 |             return loop.makeSucceededFuture([])
     |                         `- warning: type 'Value' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
1307 |         }
1308 |         return LLBFuture.whenAllSucceed(futures, on: loop).map { result in
/host/spi-builder-workspace/Sources/TSFCASFileTree/FileTreeImport.swift:1308:26: warning: type 'Value' does not conform to the 'Sendable' protocol
1299 |     }
1300 |
1301 |     private func whenAllSucceed<Value>(
     |                                 `- note: consider making generic parameter 'Value' conform to the 'Sendable' protocol
1302 |         _ futures: [LLBFuture<Value>], on loop: LLBFuturesDispatchLoop? = nil
1303 |     ) -> LLBFuture<[Value]> {
     :
1306 |             return loop.makeSucceededFuture([])
1307 |         }
1308 |         return LLBFuture.whenAllSucceed(futures, on: loop).map { result in
     |                          `- warning: type 'Value' does not conform to the 'Sendable' protocol
1309 |             guard self.finalResultPromise.isCompleted == false else {
1310 |                 return []
/host/spi-builder-workspace/Sources/TSFCASFileTree/FileTreeImport.swift:1326:39: warning: type 'T' does not conform to the 'Sendable' protocol
1319 |     /// Enqueue the callback unless the stop flag is in action.
1320 |     /// If stop flag is set, return the value specified in `then`.
1321 |     private func execute<T>(
     |                          `- note: consider making generic parameter 'T' conform to the 'Sendable' protocol
1322 |         on queue: LLBBatchingFutureOperationQueue, default stopValue: T,
1323 |         _ body: @escaping () throws -> T
1324 |     ) -> LLBFuture<T> {
1325 |         guard finalResultPromise.isCompleted == false else {
1326 |             return queue.group.next().makeSucceededFuture(stopValue)
     |                                       `- warning: type 'T' does not conform to the 'Sendable' protocol
1327 |         }
1328 |         return queue.execute {
/host/spi-builder-workspace/Sources/TSFCASFileTree/FileTreeImport.swift:1349:25: warning: type 'T' does not conform to the 'Sendable' protocol
1341 |     /// Enqueue the callback unless the stop flag is in action.
1342 |     /// If stop flag is set, return the value specified in `then`.
1343 |     private func execute<T>(
     |                          `- note: consider making generic parameter 'T' conform to the 'Sendable' protocol
1344 |         on queue: LLBFutureOperationQueue, loop: EventLoop? = nil, size: Int = 1,
1345 |         default stopValue: T, _ body: @escaping () -> LLBFuture<T>
     :
1347 |         let loop = loop ?? self.loop
1348 |         guard finalResultPromise.isCompleted == false else {
1349 |             return loop.makeSucceededFuture(stopValue)
     |                         `- warning: type 'T' does not conform to the 'Sendable' protocol
1350 |         }
1351 |         return queue.enqueue(on: loop, share: size) {
/host/spi-builder-workspace/Sources/TSFCASFileTree/FileTreeImport.swift:1353:29: warning: type 'T' does not conform to the 'Sendable' protocol
1341 |     /// Enqueue the callback unless the stop flag is in action.
1342 |     /// If stop flag is set, return the value specified in `then`.
1343 |     private func execute<T>(
     |                          `- note: consider making generic parameter 'T' conform to the 'Sendable' protocol
1344 |         on queue: LLBFutureOperationQueue, loop: EventLoop? = nil, size: Int = 1,
1345 |         default stopValue: T, _ body: @escaping () -> LLBFuture<T>
     :
1351 |         return queue.enqueue(on: loop, share: size) {
1352 |             guard self.finalResultPromise.isCompleted == false else {
1353 |                 return loop.makeSucceededFuture(stopValue)
     |                             `- warning: type 'T' does not conform to the 'Sendable' protocol
1354 |             }
1355 |             return body().flatMapErrorThrowing { error in
/host/spi-builder-workspace/Sources/TSFCASFileTree/FileTreeImport.swift:1373:25: warning: type 'T' does not conform to the 'Sendable' protocol
1366 |     )
1367 |     @available(*, deprecated, message: "This method blocks indefinitely and returns a future")
1368 |     private func executeWithBackpressure<T>(
     |                                          `- note: consider making generic parameter 'T' conform to the 'Sendable' protocol
1369 |         on queue: LLBFutureOperationQueue, loop: LLBFuturesDispatchLoop, size: Int = 1,
1370 |         default stopValue: T, _ body: @escaping () -> LLBFuture<T>
1371 |     ) -> LLBFuture<T> {
1372 |         guard finalResultPromise.isCompleted == false else {
1373 |             return loop.makeSucceededFuture(stopValue)
     |                         `- warning: type 'T' does not conform to the 'Sendable' protocol
1374 |         }
1375 |         return queue.enqueueWithBackpressure(on: loop, share: size) {
/host/spi-builder-workspace/Sources/TSFCASFileTree/FileTreeImport.swift:1377:29: warning: type 'T' does not conform to the 'Sendable' protocol
1366 |     )
1367 |     @available(*, deprecated, message: "This method blocks indefinitely and returns a future")
1368 |     private func executeWithBackpressure<T>(
     |                                          `- note: consider making generic parameter 'T' conform to the 'Sendable' protocol
1369 |         on queue: LLBFutureOperationQueue, loop: LLBFuturesDispatchLoop, size: Int = 1,
1370 |         default stopValue: T, _ body: @escaping () -> LLBFuture<T>
     :
1375 |         return queue.enqueueWithBackpressure(on: loop, share: size) {
1376 |             guard self.finalResultPromise.isCompleted == false else {
1377 |                 return loop.makeSucceededFuture(stopValue)
     |                             `- warning: type 'T' does not conform to the 'Sendable' protocol
1378 |             }
1379 |             return body().flatMapErrorThrowing { error in
[754/757] Compiling TSFCASUtilities BufferedStreamWriter.swift
[755/757] Compiling TSFCASUtilities StreamReader.swift
/host/spi-builder-workspace/Sources/TSFCASUtilities/StreamReader.swift:53:24: warning: capture of 'self' with non-sendable type 'LLBCASStreamReader' in a '@Sendable' closure
 15 | /// implemented. This should be the unified API to read streaming content, so that readers do not need to understand
 16 | /// which writer was used to store the data.
 17 | public struct LLBCASStreamReader {
    |               `- note: consider making struct 'LLBCASStreamReader' conform to the 'Sendable' protocol
 18 |     private let db: LLBCASDatabase
 19 |
    :
 51 |         return LLBCASFSClient(db).load(id, ctx).flatMap { node in
 52 |             guard let tree = node.tree else {
 53 |                 return self.db.group.next().makeFailedFuture(LLBCASStreamError.invalid)
    |                        `- warning: capture of 'self' with non-sendable type 'LLBCASStreamReader' in a '@Sendable' closure
 54 |             }
 55 |
/host/spi-builder-workspace/Sources/TSFCASUtilities/StreamReader.swift:66:34: warning: capture of 'readerBlock' with non-sendable type '(UInt8, LLBByteBufferView) throws -> Bool' (aka '(UInt8, ByteBufferView) throws -> Bool') in a '@Sendable' closure
 64 |                     lastReadID: lastReadID,
 65 |                     ctx,
 66 |                     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'
 67 |                 )
 68 |             } else {
/host/spi-builder-workspace/Sources/TSFCASUtilities/StreamReader.swift:77:28: warning: capture of 'self' with non-sendable type 'LLBCASStreamReader' in a '@Sendable' closure
 15 | /// implemented. This should be the unified API to read streaming content, so that readers do not need to understand
 16 | /// which writer was used to store the data.
 17 | public struct LLBCASStreamReader {
    |               `- note: consider making struct 'LLBCASStreamReader' conform to the 'Sendable' protocol
 18 |     private let db: LLBCASDatabase
 19 |
    :
 75 |                 // and propagate the desire to keep on reading.
 76 |                 guard shouldContinue else {
 77 |                     return self.db.group.next().makeSucceededFuture(shouldContinue)
    |                            `- warning: capture of 'self' with non-sendable type 'LLBCASStreamReader' in a '@Sendable' closure
 78 |                 }
 79 |
/host/spi-builder-workspace/Sources/TSFCASUtilities/StreamReader.swift:103:36: warning: capture of 'readerBlock' with non-sendable type '(UInt8, LLBByteBufferView) throws -> Bool' (aka '(UInt8, ByteBufferView) throws -> Bool') in a '@Sendable' closure
101 |
102 |                     return blob.read(ctx).flatMapThrowing { byteBufferView in
103 |                         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'
104 |                     }
105 |                 }
/host/spi-builder-workspace/Sources/TSFCASUtilities/StreamReader.swift:99:32: warning: capture of 'self' with non-sendable type 'LLBCASStreamReader' in a '@Sendable' closure
 15 | /// implemented. This should be the unified API to read streaming content, so that readers do not need to understand
 16 | /// which writer was used to store the data.
 17 | public struct LLBCASStreamReader {
    |               `- note: consider making struct 'LLBCASStreamReader' conform to the 'Sendable' protocol
 18 |     private let db: LLBCASDatabase
 19 |
    :
 97 |                 return LLBCASFSClient(self.db).load(contentID, ctx).flatMap { node in
 98 |                     guard let blob = node.blob else {
 99 |                         return self.db.group.next().makeFailedFuture(LLBCASStreamError.missing)
    |                                `- warning: capture of 'self' with non-sendable type 'LLBCASStreamReader' in a '@Sendable' closure
100 |                     }
101 |
/host/spi-builder-workspace/Sources/TSFCASUtilities/StreamReader.swift:103:36: warning: capture of 'readerBlock' with non-sendable type '(UInt8, LLBByteBufferView) throws -> Bool' (aka '(UInt8, ByteBufferView) throws -> Bool') in a '@Sendable' closure
101 |
102 |                     return blob.read(ctx).flatMapThrowing { byteBufferView in
103 |                         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'
104 |                     }
105 |                 }
/host/spi-builder-workspace/Sources/TSFCASUtilities/StreamReader.swift:103:36: warning: capture of 'readerBlock' with non-sendable type '(UInt8, LLBByteBufferView) throws -> Bool' (aka '(UInt8, ByteBufferView) throws -> Bool') in a '@Sendable' closure
101 |
102 |                     return blob.read(ctx).flatMapThrowing { byteBufferView in
103 |                         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'
104 |                     }
105 |                 }
[756/757] Compiling TSFCASUtilities LinkedListStream.swift
[757/757] Emitting module TSFCASUtilities
Build complete! (52.33s)
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.9.0"
          }
        ]
      },
      "type" : "sourceControl",
      "url" : "https://github.com/swiftlang/swift-tools-support-core.git"
    }
  ],
  "manifest_display_name" : "swift-tools-support-async",
  "name" : "swift-tools-support-async",
  "path" : "/host/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",
        "Context.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",
        "OrderedZip.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" : [
        "Base64URL.swift",
        "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"
}
android-6.1-latest: Pulling from saguaro1/spi-images
Digest: sha256:a7f4f752e160f6cbd9e0c26490aa43ccd5312d524c4c6d77f8b144559b526afa
Status: Image is up to date for registry.gitlab.com/saguaro1/spi-images:android-6.1-latest
Done.