Build Information
Successful build of swift-tools-support-async, reference main (6dffd3), with Swift 6.1 for Linux on 30 Sep 2026 05:35:13 UTC.
Swift 6 data race errors: 16
Build Command
bash -c docker run --pull=always --rm -v "checkouts-54344843-0":/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:basic-6.1-latest swift build --triple x86_64-unknown-linux-gnu -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>&1Build 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 | }
[733/750] 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 | }
[734/750] 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 | }
[735/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"),
[736/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 {
[737/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 {
[738/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 {
[739/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"),
[740/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"),
[741/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 |
[742/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 |
[743/752] Compiling TSFCASFileTree FileSegmenter.swift
[744/752] Compiling TSFCASFileTree FileTreeParser.swift
[745/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 | }
[746/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 | }
[747/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 | }
[748/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
[749/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
[750/752] Compiling TSFCASFileTree DeclFileTree.swift
[751/752] Compiling TSFCASFileTree DirectoryEntry.swift
[752/752] Compiling TSFCASFileTree Errors.swift
[754/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 | }
[755/757] Compiling TSFCASUtilities LinkedListStream.swift
[756/757] Emitting module TSFCASUtilities
[757/757] Compiling TSFCASUtilities BufferedStreamWriter.swift
Build complete! (37.22s)
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"
}
basic-6.1-latest: Pulling from saguaro1/spi-images
Digest: sha256:bebe373f64586285d153a73cebf57004d534988a7110464fd581e50dd24c756b
Status: Image is up to date for registry.gitlab.com/saguaro1/spi-images:basic-6.1-latest
Done.