Build Information
Successful build of Acheron, reference master (8f252c), with Swift 6.1 for Linux on 1 Oct 2026 04:56:01 UTC.
Swift 6 data race errors: 6
Build Command
bash -c docker run --pull=always --rm -v "checkouts-53886770-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
| `- note: class 'Pebble' does not conform to the 'Sendable' protocol
12 | public enum State {
13 | case pending, running, succeeded, failed
:
41 | self.payload { (success: Bool) in
42 | pond.queue.async {
43 | self.state = success ? .succeeded : .failed
| `- warning: capture of 'self' with non-sendable type 'Pebble' in a '@Sendable' closure; this is an error in the Swift 6 language mode
44 | pond.iterate()
45 | }
/host/spi-builder-workspace/Sources/Acheron/Pebbles/Pebble.swift:44:21: warning: capture of 'pond' with non-sendable type 'Pond' in a '@Sendable' closure; this is an error in the Swift 6 language mode
42 | pond.queue.async {
43 | self.state = success ? .succeeded : .failed
44 | pond.iterate()
| `- warning: capture of 'pond' with non-sendable type 'Pond' in a '@Sendable' closure; this is an error in the Swift 6 language mode
45 | }
46 | }
/host/spi-builder-workspace/Sources/Acheron/Pebbles/Pond.swift:11:12: note: class 'Pond' does not conform to the 'Sendable' protocol
9 | import Foundation
10 |
11 | open class Pond {
| `- note: class 'Pond' does not conform to the 'Sendable' protocol
12 | private var pebbles: [Pebble] = []
13 | let queue: DispatchQueue = DispatchQueue(label: "pond")
/host/spi-builder-workspace/Sources/Acheron/Pebbles/Pond.swift:75:13: warning: capture of 'self' with non-sendable type 'Pond' in a '@Sendable' closure; this is an error in the Swift 6 language mode
9 | import Foundation
10 |
11 | open class Pond {
| `- note: class 'Pond' does not conform to the 'Sendable' protocol
12 | private var pebbles: [Pebble] = []
13 | let queue: DispatchQueue = DispatchQueue(label: "pond")
:
73 | reset()
74 | queue.async {
75 | self.onComplete = onComplete
| `- warning: capture of 'self' with non-sendable type 'Pond' in a '@Sendable' closure; this is an error in the Swift 6 language mode
76 | print("\n[ Pond Starting ] ====================================")
77 | self.iterate()
/host/spi-builder-workspace/Sources/Acheron/Pebbles/Pond.swift:75:31: warning: capture of 'onComplete' with non-sendable type '() -> ()' in a '@Sendable' closure; this is an error in the Swift 6 language mode
73 | reset()
74 | queue.async {
75 | self.onComplete = onComplete
| |- warning: capture of 'onComplete' with non-sendable type '() -> ()' in a '@Sendable' closure; this is an error in the Swift 6 language mode
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
76 | print("\n[ Pond Starting ] ====================================")
77 | self.iterate()
/host/spi-builder-workspace/Sources/Acheron/Utility/AsyncMap.swift:43:13: warning: capture of 'self' with non-sendable type 'AsyncMap<T, U>' in a '@Sendable' closure; this is an error in the Swift 6 language mode
9 | import Foundation
10 |
11 | public class AsyncMap<T:Hashable, U> {
| `- note: generic class 'AsyncMap' does not conform to the 'Sendable' protocol
12 | let label: String
13 | let report: Bool
:
41 | private func startWorking() {
42 | serial.async {
43 | self.working = true
| `- warning: capture of 'self' with non-sendable type 'AsyncMap<T, U>' in a '@Sendable' closure; this is an error in the Swift 6 language mode
44 | let keys: [T] = Array(self.requestedKeys)
45 | guard keys.count > 0 else {
/host/spi-builder-workspace/Sources/Acheron/Utility/AsyncMap.swift:56:20: warning: capture of 'self' with non-sendable type 'AsyncMap<T, U>' in an isolated closure; this is an error in the Swift 6 language mode
9 | import Foundation
10 |
11 | public class AsyncMap<T:Hashable, U> {
| `- note: generic class 'AsyncMap' does not conform to the 'Sendable' protocol
12 | let label: String
13 | let report: Bool
:
54 | let group: DispatchGroup = DispatchGroup()
55 | keys.forEach { (key: T) in
56 | if self.report { print("[ \(self.label) ] request [ \(key) ]") }
| `- warning: capture of 'self' with non-sendable type 'AsyncMap<T, U>' in an isolated closure; this is an error in the Swift 6 language mode
57 | group.enter()
58 | self.concurrent.async {
/host/spi-builder-workspace/Sources/Acheron/Utility/AsyncMap.swift:59:38: warning: capture of 'self' with non-sendable type 'AsyncMap<T, U>' in a '@Sendable' closure; this is an error in the Swift 6 language mode
9 | import Foundation
10 |
11 | public class AsyncMap<T:Hashable, U> {
| `- note: generic class 'AsyncMap' does not conform to the 'Sendable' protocol
12 | let label: String
13 | let report: Bool
:
57 | group.enter()
58 | self.concurrent.async {
59 | let result: U? = self.worker(key)
| `- warning: capture of 'self' with non-sendable type 'AsyncMap<T, U>' in a '@Sendable' closure; this is an error in the Swift 6 language mode
60 | self.serial.async {
61 | if let result {
/host/spi-builder-workspace/Sources/Acheron/Utility/AsyncMap.swift:59:50: warning: capture of 'key' with non-sendable type 'T' in a '@Sendable' closure; this is an error in the Swift 6 language mode
9 | import Foundation
10 |
11 | public class AsyncMap<T:Hashable, U> {
| `- note: consider making generic parameter 'T' conform to the 'Sendable' protocol
12 | let label: String
13 | let report: Bool
:
57 | group.enter()
58 | self.concurrent.async {
59 | let result: U? = self.worker(key)
| `- warning: capture of 'key' with non-sendable type 'T' in a '@Sendable' closure; this is an error in the Swift 6 language mode
60 | self.serial.async {
61 | if let result {
/host/spi-builder-workspace/Sources/Acheron/Utility/AsyncMap.swift:61:32: warning: capture of 'result' with non-sendable type 'U?' in a '@Sendable' closure; this is an error in the Swift 6 language mode
9 | import Foundation
10 |
11 | public class AsyncMap<T:Hashable, U> {
| `- note: consider making generic parameter 'U' conform to the 'Sendable' protocol
12 | let label: String
13 | let report: Bool
:
59 | let result: U? = self.worker(key)
60 | self.serial.async {
61 | if let result {
| `- warning: capture of 'result' with non-sendable type 'U?' in a '@Sendable' closure; this is an error in the Swift 6 language mode
62 | if self.report { print("[ \(self.label) ] complete [ \(key) ]") }
63 | self.cache[key] = result
/host/spi-builder-workspace/Sources/Acheron/Utility/AsyncMap.swift:62:32: warning: capture of 'self' with non-sendable type 'AsyncMap<T, U>' in a '@Sendable' closure; this is an error in the Swift 6 language mode
9 | import Foundation
10 |
11 | public class AsyncMap<T:Hashable, U> {
| `- note: generic class 'AsyncMap' does not conform to the 'Sendable' protocol
12 | let label: String
13 | let report: Bool
:
60 | self.serial.async {
61 | if let result {
62 | if self.report { print("[ \(self.label) ] complete [ \(key) ]") }
| `- warning: capture of 'self' with non-sendable type 'AsyncMap<T, U>' in a '@Sendable' closure; this is an error in the Swift 6 language mode
63 | self.cache[key] = result
64 | }
/host/spi-builder-workspace/Sources/Acheron/Utility/AsyncMap.swift:62:84: warning: capture of 'key' with non-sendable type 'T' in a '@Sendable' closure; this is an error in the Swift 6 language mode
9 | import Foundation
10 |
11 | public class AsyncMap<T:Hashable, U> {
| `- note: consider making generic parameter 'T' conform to the 'Sendable' protocol
12 | let label: String
13 | let report: Bool
:
60 | self.serial.async {
61 | if let result {
62 | if self.report { print("[ \(self.label) ] complete [ \(key) ]") }
| `- warning: capture of 'key' with non-sendable type 'T' in a '@Sendable' closure; this is an error in the Swift 6 language mode
63 | self.cache[key] = result
64 | }
/host/spi-builder-workspace/Sources/Acheron/Utility/AsyncMap.swift:72:32: warning: capture of 'self' with non-sendable type 'AsyncMap<T, U>' in an isolated closure; this is an error in the Swift 6 language mode
9 | import Foundation
10 |
11 | public class AsyncMap<T:Hashable, U> {
| `- note: generic class 'AsyncMap' does not conform to the 'Sendable' protocol
12 | let label: String
13 | let report: Bool
:
70 | }
71 | group.notify(queue: self.serial) {
72 | keys.forEach { self.complete?($0) }
| `- warning: capture of 'self' with non-sendable type 'AsyncMap<T, U>' in an isolated closure; this is an error in the Swift 6 language mode
73 | self.startWorking()
74 | }
/host/spi-builder-workspace/Sources/Acheron/Utility/AsyncMap.swift:72:32: warning: capture of 'self' with non-sendable type 'AsyncMap<T, U>' in an isolated closure; this is an error in the Swift 6 language mode
9 | import Foundation
10 |
11 | public class AsyncMap<T:Hashable, U> {
| `- note: generic class 'AsyncMap' does not conform to the 'Sendable' protocol
12 | let label: String
13 | let report: Bool
:
70 | }
71 | group.notify(queue: self.serial) {
72 | keys.forEach { self.complete?($0) }
| `- warning: capture of 'self' with non-sendable type 'AsyncMap<T, U>' in an isolated closure; this is an error in the Swift 6 language mode
73 | self.startWorking()
74 | }
/host/spi-builder-workspace/Sources/Acheron/Utility/AsyncMap.swift:80:39: warning: capture of 'keys' with non-sendable type '[T]' in a '@Sendable' closure; this is an error in the Swift 6 language mode
9 | import Foundation
10 |
11 | public class AsyncMap<T:Hashable, U> {
| `- note: consider making generic parameter 'T' conform to the 'Sendable' protocol
12 | let label: String
13 | let report: Bool
:
78 | guard keys.count > 0 else { return }
79 | serial.async {
80 | let newKeys: Set<T> = Set(keys).subtracting(self.completedKeys).subtracting(self.requestedKeys)
| `- warning: capture of 'keys' with non-sendable type '[T]' in a '@Sendable' closure; this is an error in the Swift 6 language mode
81 | guard newKeys.count > 0 else { return }
82 | let restart: Bool = !newKeys.isEmpty && self.requestedKeys.isEmpty
/host/spi-builder-workspace/Sources/Acheron/Utility/AsyncMap.swift:80:57: warning: capture of 'self' with non-sendable type 'AsyncMap<T, U>' in a '@Sendable' closure; this is an error in the Swift 6 language mode
9 | import Foundation
10 |
11 | public class AsyncMap<T:Hashable, U> {
| `- note: generic class 'AsyncMap' does not conform to the 'Sendable' protocol
12 | let label: String
13 | let report: Bool
:
78 | guard keys.count > 0 else { return }
79 | serial.async {
80 | let newKeys: Set<T> = Set(keys).subtracting(self.completedKeys).subtracting(self.requestedKeys)
| `- warning: capture of 'self' with non-sendable type 'AsyncMap<T, U>' in a '@Sendable' closure; this is an error in the Swift 6 language mode
81 | guard newKeys.count > 0 else { return }
82 | let restart: Bool = !newKeys.isEmpty && self.requestedKeys.isEmpty
/host/spi-builder-workspace/Sources/Acheron/Utility/AsyncMap.swift:82:53: warning: implicit capture of 'self' requires that 'AsyncMap<T, U>' conforms to 'Sendable'; this is an error in the Swift 6 language mode
9 | import Foundation
10 |
11 | public class AsyncMap<T:Hashable, U> {
| `- note: generic class 'AsyncMap' does not conform to the 'Sendable' protocol
12 | let label: String
13 | let report: Bool
:
80 | let newKeys: Set<T> = Set(keys).subtracting(self.completedKeys).subtracting(self.requestedKeys)
81 | guard newKeys.count > 0 else { return }
82 | let restart: Bool = !newKeys.isEmpty && self.requestedKeys.isEmpty
| `- warning: implicit capture of 'self' requires that 'AsyncMap<T, U>' conforms to 'Sendable'; this is an error in the Swift 6 language mode
83 | self.requestedKeys.formUnion(newKeys)
84 | if restart {
/host/spi-builder-workspace/Sources/Acheron/Utility/AsyncMap.swift:99:16: warning: capture of 'self' with non-sendable type 'AsyncMap<T, U>' in a '@Sendable' closure; this is an error in the Swift 6 language mode
9 | import Foundation
10 |
11 | public class AsyncMap<T:Hashable, U> {
| `- note: generic class 'AsyncMap' does not conform to the 'Sendable' protocol
12 | let label: String
13 | let report: Bool
:
97 | func scheduleWipe() {
98 | serial.async {
99 | if self.working { self.needsWipe = true }
| `- warning: capture of 'self' with non-sendable type 'AsyncMap<T, U>' in a '@Sendable' closure; this is an error in the Swift 6 language mode
100 | else { self.wipe() }
101 | }
/host/spi-builder-workspace/Sources/Acheron/Utility/Log.swift:12:24: warning: static property 'url' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
10 |
11 | class Log {
12 | private static var url: URL? = nil
| |- warning: static property 'url' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'url' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'url' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
13 |
14 | static func setPath(_ path: String) {
/host/spi-builder-workspace/Sources/Acheron/Utility/Log.swift:17:33: warning: result of call to 'createFile(atPath:contents:attributes:)' is unused
15 | url = URL(fileURLWithPath: path)
16 | if !FileManager.default.fileExists(atPath: url!.path) {
17 | FileManager.default.createFile(atPath: url!.path, contents: nil, attributes: nil)
| `- warning: result of call to 'createFile(atPath:contents:attributes:)' is unused
18 | }
19 | }
/host/spi-builder-workspace/Sources/Acheron/Pebbles/Pond.swift:40:36: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
38 | print("\n =======================\n")
39 |
40 | DispatchQueue.main.async { self.onCompleted() }
| |- warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
| `- note: task-isolated 'self' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
41 | }
42 |
/host/spi-builder-workspace/Sources/Acheron/Pebbles/Pond.swift:60:18: warning: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure; this is an error in the Swift 6 language mode
58 | public func pebble(name: String, onMain: Bool = true, _ payload: @escaping () async -> Bool) -> Pebble {
59 | pebble(name: name, onMain: onMain) { (complete: @escaping (Bool)->()) in
60 | Task {
| `- warning: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure; this is an error in the Swift 6 language mode
61 | let result: Bool = await payload()
| `- note: closure captures 'payload' which is accessible to code in the current task
62 | complete(result)
63 | }
/host/spi-builder-workspace/Sources/Acheron/Pebbles/Pond.swift:67:50: warning: sending 'task' risks causing data races; this is an error in the Swift 6 language mode
65 | }
66 | public func addCompletionTask(_ task: @escaping ()->()) {
67 | if completed { DispatchQueue.main.sync { task() } }
| |- warning: sending 'task' risks causing data races; this is an error in the Swift 6 language mode
| `- note: task-isolated 'task' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
68 | else { tasks.append(task) }
69 | }
[333/344] Compiling Acheron AETimer.swift
/host/spi-builder-workspace/Sources/Acheron/Pebbles/Pebble.swift:39:68: warning: capture of 'self' with non-sendable type 'Pebble' in a '@Sendable' closure; this is an error in the Swift 6 language mode
9 | import Foundation
10 |
11 | public class Pebble {
| `- note: class 'Pebble' does not conform to the 'Sendable' protocol
12 | public enum State {
13 | case pending, running, succeeded, failed
:
37 | let queue: DispatchQueue = onMain ? DispatchQueue.main : DispatchQueue.global(qos: .userInitiated)
38 | queue.async {
39 | let dashes: String = String(repeating: "-", count: (32-self.name.count)/2)
| `- warning: capture of 'self' with non-sendable type 'Pebble' in a '@Sendable' closure; this is an error in the Swift 6 language mode
40 | Log.print("\n \(dashes)\(self.name.count % 2 == 1 ? "-" : "") [ \(self.name) ] \(dashes)")
41 | self.payload { (success: Bool) in
/host/spi-builder-workspace/Sources/Acheron/Pebbles/Pebble.swift:42:17: warning: capture of 'pond' with non-sendable type 'Pond' in a '@Sendable' closure; this is an error in the Swift 6 language mode
40 | Log.print("\n \(dashes)\(self.name.count % 2 == 1 ? "-" : "") [ \(self.name) ] \(dashes)")
41 | self.payload { (success: Bool) in
42 | pond.queue.async {
| `- warning: capture of 'pond' with non-sendable type 'Pond' in a '@Sendable' closure; this is an error in the Swift 6 language mode
43 | self.state = success ? .succeeded : .failed
44 | pond.iterate()
/host/spi-builder-workspace/Sources/Acheron/Pebbles/Pond.swift:11:12: note: class 'Pond' does not conform to the 'Sendable' protocol
9 | import Foundation
10 |
11 | open class Pond {
| `- note: class 'Pond' does not conform to the 'Sendable' protocol
12 | private var pebbles: [Pebble] = []
13 | let queue: DispatchQueue = DispatchQueue(label: "pond")
/host/spi-builder-workspace/Sources/Acheron/Pebbles/Pebble.swift:42:17: warning: capture of 'pond' with non-sendable type 'Pond' in an isolated closure; this is an error in the Swift 6 language mode
40 | Log.print("\n \(dashes)\(self.name.count % 2 == 1 ? "-" : "") [ \(self.name) ] \(dashes)")
41 | self.payload { (success: Bool) in
42 | pond.queue.async {
| `- warning: capture of 'pond' with non-sendable type 'Pond' in an isolated closure; this is an error in the Swift 6 language mode
43 | self.state = success ? .succeeded : .failed
44 | pond.iterate()
/host/spi-builder-workspace/Sources/Acheron/Pebbles/Pond.swift:11:12: note: class 'Pond' does not conform to the 'Sendable' protocol
9 | import Foundation
10 |
11 | open class Pond {
| `- note: class 'Pond' does not conform to the 'Sendable' protocol
12 | private var pebbles: [Pebble] = []
13 | let queue: DispatchQueue = DispatchQueue(label: "pond")
/host/spi-builder-workspace/Sources/Acheron/Pebbles/Pebble.swift:43:21: warning: capture of 'self' with non-sendable type 'Pebble' in an isolated closure; this is an error in the Swift 6 language mode
9 | import Foundation
10 |
11 | public class Pebble {
| `- note: class 'Pebble' does not conform to the 'Sendable' protocol
12 | public enum State {
13 | case pending, running, succeeded, failed
:
41 | self.payload { (success: Bool) in
42 | pond.queue.async {
43 | self.state = success ? .succeeded : .failed
| `- warning: capture of 'self' with non-sendable type 'Pebble' in an isolated closure; this is an error in the Swift 6 language mode
44 | pond.iterate()
45 | }
/host/spi-builder-workspace/Sources/Acheron/Pebbles/Pebble.swift:43:21: warning: capture of 'self' with non-sendable type 'Pebble' in a '@Sendable' closure; this is an error in the Swift 6 language mode
9 | import Foundation
10 |
11 | public class Pebble {
| `- note: class 'Pebble' does not conform to the 'Sendable' protocol
12 | public enum State {
13 | case pending, running, succeeded, failed
:
41 | self.payload { (success: Bool) in
42 | pond.queue.async {
43 | self.state = success ? .succeeded : .failed
| `- warning: capture of 'self' with non-sendable type 'Pebble' in a '@Sendable' closure; this is an error in the Swift 6 language mode
44 | pond.iterate()
45 | }
/host/spi-builder-workspace/Sources/Acheron/Pebbles/Pebble.swift:44:21: warning: capture of 'pond' with non-sendable type 'Pond' in a '@Sendable' closure; this is an error in the Swift 6 language mode
42 | pond.queue.async {
43 | self.state = success ? .succeeded : .failed
44 | pond.iterate()
| `- warning: capture of 'pond' with non-sendable type 'Pond' in a '@Sendable' closure; this is an error in the Swift 6 language mode
45 | }
46 | }
/host/spi-builder-workspace/Sources/Acheron/Pebbles/Pond.swift:11:12: note: class 'Pond' does not conform to the 'Sendable' protocol
9 | import Foundation
10 |
11 | open class Pond {
| `- note: class 'Pond' does not conform to the 'Sendable' protocol
12 | private var pebbles: [Pebble] = []
13 | let queue: DispatchQueue = DispatchQueue(label: "pond")
/host/spi-builder-workspace/Sources/Acheron/Pebbles/Pond.swift:75:13: warning: capture of 'self' with non-sendable type 'Pond' in a '@Sendable' closure; this is an error in the Swift 6 language mode
9 | import Foundation
10 |
11 | open class Pond {
| `- note: class 'Pond' does not conform to the 'Sendable' protocol
12 | private var pebbles: [Pebble] = []
13 | let queue: DispatchQueue = DispatchQueue(label: "pond")
:
73 | reset()
74 | queue.async {
75 | self.onComplete = onComplete
| `- warning: capture of 'self' with non-sendable type 'Pond' in a '@Sendable' closure; this is an error in the Swift 6 language mode
76 | print("\n[ Pond Starting ] ====================================")
77 | self.iterate()
/host/spi-builder-workspace/Sources/Acheron/Pebbles/Pond.swift:75:31: warning: capture of 'onComplete' with non-sendable type '() -> ()' in a '@Sendable' closure; this is an error in the Swift 6 language mode
73 | reset()
74 | queue.async {
75 | self.onComplete = onComplete
| |- warning: capture of 'onComplete' with non-sendable type '() -> ()' in a '@Sendable' closure; this is an error in the Swift 6 language mode
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
76 | print("\n[ Pond Starting ] ====================================")
77 | self.iterate()
/host/spi-builder-workspace/Sources/Acheron/Utility/AsyncMap.swift:43:13: warning: capture of 'self' with non-sendable type 'AsyncMap<T, U>' in a '@Sendable' closure; this is an error in the Swift 6 language mode
9 | import Foundation
10 |
11 | public class AsyncMap<T:Hashable, U> {
| `- note: generic class 'AsyncMap' does not conform to the 'Sendable' protocol
12 | let label: String
13 | let report: Bool
:
41 | private func startWorking() {
42 | serial.async {
43 | self.working = true
| `- warning: capture of 'self' with non-sendable type 'AsyncMap<T, U>' in a '@Sendable' closure; this is an error in the Swift 6 language mode
44 | let keys: [T] = Array(self.requestedKeys)
45 | guard keys.count > 0 else {
/host/spi-builder-workspace/Sources/Acheron/Utility/AsyncMap.swift:56:20: warning: capture of 'self' with non-sendable type 'AsyncMap<T, U>' in an isolated closure; this is an error in the Swift 6 language mode
9 | import Foundation
10 |
11 | public class AsyncMap<T:Hashable, U> {
| `- note: generic class 'AsyncMap' does not conform to the 'Sendable' protocol
12 | let label: String
13 | let report: Bool
:
54 | let group: DispatchGroup = DispatchGroup()
55 | keys.forEach { (key: T) in
56 | if self.report { print("[ \(self.label) ] request [ \(key) ]") }
| `- warning: capture of 'self' with non-sendable type 'AsyncMap<T, U>' in an isolated closure; this is an error in the Swift 6 language mode
57 | group.enter()
58 | self.concurrent.async {
/host/spi-builder-workspace/Sources/Acheron/Utility/AsyncMap.swift:59:38: warning: capture of 'self' with non-sendable type 'AsyncMap<T, U>' in a '@Sendable' closure; this is an error in the Swift 6 language mode
9 | import Foundation
10 |
11 | public class AsyncMap<T:Hashable, U> {
| `- note: generic class 'AsyncMap' does not conform to the 'Sendable' protocol
12 | let label: String
13 | let report: Bool
:
57 | group.enter()
58 | self.concurrent.async {
59 | let result: U? = self.worker(key)
| `- warning: capture of 'self' with non-sendable type 'AsyncMap<T, U>' in a '@Sendable' closure; this is an error in the Swift 6 language mode
60 | self.serial.async {
61 | if let result {
/host/spi-builder-workspace/Sources/Acheron/Utility/AsyncMap.swift:59:50: warning: capture of 'key' with non-sendable type 'T' in a '@Sendable' closure; this is an error in the Swift 6 language mode
9 | import Foundation
10 |
11 | public class AsyncMap<T:Hashable, U> {
| `- note: consider making generic parameter 'T' conform to the 'Sendable' protocol
12 | let label: String
13 | let report: Bool
:
57 | group.enter()
58 | self.concurrent.async {
59 | let result: U? = self.worker(key)
| `- warning: capture of 'key' with non-sendable type 'T' in a '@Sendable' closure; this is an error in the Swift 6 language mode
60 | self.serial.async {
61 | if let result {
/host/spi-builder-workspace/Sources/Acheron/Utility/AsyncMap.swift:61:32: warning: capture of 'result' with non-sendable type 'U?' in a '@Sendable' closure; this is an error in the Swift 6 language mode
9 | import Foundation
10 |
11 | public class AsyncMap<T:Hashable, U> {
| `- note: consider making generic parameter 'U' conform to the 'Sendable' protocol
12 | let label: String
13 | let report: Bool
:
59 | let result: U? = self.worker(key)
60 | self.serial.async {
61 | if let result {
| `- warning: capture of 'result' with non-sendable type 'U?' in a '@Sendable' closure; this is an error in the Swift 6 language mode
62 | if self.report { print("[ \(self.label) ] complete [ \(key) ]") }
63 | self.cache[key] = result
/host/spi-builder-workspace/Sources/Acheron/Utility/AsyncMap.swift:62:32: warning: capture of 'self' with non-sendable type 'AsyncMap<T, U>' in a '@Sendable' closure; this is an error in the Swift 6 language mode
9 | import Foundation
10 |
11 | public class AsyncMap<T:Hashable, U> {
| `- note: generic class 'AsyncMap' does not conform to the 'Sendable' protocol
12 | let label: String
13 | let report: Bool
:
60 | self.serial.async {
61 | if let result {
62 | if self.report { print("[ \(self.label) ] complete [ \(key) ]") }
| `- warning: capture of 'self' with non-sendable type 'AsyncMap<T, U>' in a '@Sendable' closure; this is an error in the Swift 6 language mode
63 | self.cache[key] = result
64 | }
/host/spi-builder-workspace/Sources/Acheron/Utility/AsyncMap.swift:62:84: warning: capture of 'key' with non-sendable type 'T' in a '@Sendable' closure; this is an error in the Swift 6 language mode
9 | import Foundation
10 |
11 | public class AsyncMap<T:Hashable, U> {
| `- note: consider making generic parameter 'T' conform to the 'Sendable' protocol
12 | let label: String
13 | let report: Bool
:
60 | self.serial.async {
61 | if let result {
62 | if self.report { print("[ \(self.label) ] complete [ \(key) ]") }
| `- warning: capture of 'key' with non-sendable type 'T' in a '@Sendable' closure; this is an error in the Swift 6 language mode
63 | self.cache[key] = result
64 | }
/host/spi-builder-workspace/Sources/Acheron/Utility/AsyncMap.swift:72:32: warning: capture of 'self' with non-sendable type 'AsyncMap<T, U>' in an isolated closure; this is an error in the Swift 6 language mode
9 | import Foundation
10 |
11 | public class AsyncMap<T:Hashable, U> {
| `- note: generic class 'AsyncMap' does not conform to the 'Sendable' protocol
12 | let label: String
13 | let report: Bool
:
70 | }
71 | group.notify(queue: self.serial) {
72 | keys.forEach { self.complete?($0) }
| `- warning: capture of 'self' with non-sendable type 'AsyncMap<T, U>' in an isolated closure; this is an error in the Swift 6 language mode
73 | self.startWorking()
74 | }
/host/spi-builder-workspace/Sources/Acheron/Utility/AsyncMap.swift:72:32: warning: capture of 'self' with non-sendable type 'AsyncMap<T, U>' in an isolated closure; this is an error in the Swift 6 language mode
9 | import Foundation
10 |
11 | public class AsyncMap<T:Hashable, U> {
| `- note: generic class 'AsyncMap' does not conform to the 'Sendable' protocol
12 | let label: String
13 | let report: Bool
:
70 | }
71 | group.notify(queue: self.serial) {
72 | keys.forEach { self.complete?($0) }
| `- warning: capture of 'self' with non-sendable type 'AsyncMap<T, U>' in an isolated closure; this is an error in the Swift 6 language mode
73 | self.startWorking()
74 | }
/host/spi-builder-workspace/Sources/Acheron/Utility/AsyncMap.swift:80:39: warning: capture of 'keys' with non-sendable type '[T]' in a '@Sendable' closure; this is an error in the Swift 6 language mode
9 | import Foundation
10 |
11 | public class AsyncMap<T:Hashable, U> {
| `- note: consider making generic parameter 'T' conform to the 'Sendable' protocol
12 | let label: String
13 | let report: Bool
:
78 | guard keys.count > 0 else { return }
79 | serial.async {
80 | let newKeys: Set<T> = Set(keys).subtracting(self.completedKeys).subtracting(self.requestedKeys)
| `- warning: capture of 'keys' with non-sendable type '[T]' in a '@Sendable' closure; this is an error in the Swift 6 language mode
81 | guard newKeys.count > 0 else { return }
82 | let restart: Bool = !newKeys.isEmpty && self.requestedKeys.isEmpty
/host/spi-builder-workspace/Sources/Acheron/Utility/AsyncMap.swift:80:57: warning: capture of 'self' with non-sendable type 'AsyncMap<T, U>' in a '@Sendable' closure; this is an error in the Swift 6 language mode
9 | import Foundation
10 |
11 | public class AsyncMap<T:Hashable, U> {
| `- note: generic class 'AsyncMap' does not conform to the 'Sendable' protocol
12 | let label: String
13 | let report: Bool
:
78 | guard keys.count > 0 else { return }
79 | serial.async {
80 | let newKeys: Set<T> = Set(keys).subtracting(self.completedKeys).subtracting(self.requestedKeys)
| `- warning: capture of 'self' with non-sendable type 'AsyncMap<T, U>' in a '@Sendable' closure; this is an error in the Swift 6 language mode
81 | guard newKeys.count > 0 else { return }
82 | let restart: Bool = !newKeys.isEmpty && self.requestedKeys.isEmpty
/host/spi-builder-workspace/Sources/Acheron/Utility/AsyncMap.swift:82:53: warning: implicit capture of 'self' requires that 'AsyncMap<T, U>' conforms to 'Sendable'; this is an error in the Swift 6 language mode
9 | import Foundation
10 |
11 | public class AsyncMap<T:Hashable, U> {
| `- note: generic class 'AsyncMap' does not conform to the 'Sendable' protocol
12 | let label: String
13 | let report: Bool
:
80 | let newKeys: Set<T> = Set(keys).subtracting(self.completedKeys).subtracting(self.requestedKeys)
81 | guard newKeys.count > 0 else { return }
82 | let restart: Bool = !newKeys.isEmpty && self.requestedKeys.isEmpty
| `- warning: implicit capture of 'self' requires that 'AsyncMap<T, U>' conforms to 'Sendable'; this is an error in the Swift 6 language mode
83 | self.requestedKeys.formUnion(newKeys)
84 | if restart {
/host/spi-builder-workspace/Sources/Acheron/Utility/AsyncMap.swift:99:16: warning: capture of 'self' with non-sendable type 'AsyncMap<T, U>' in a '@Sendable' closure; this is an error in the Swift 6 language mode
9 | import Foundation
10 |
11 | public class AsyncMap<T:Hashable, U> {
| `- note: generic class 'AsyncMap' does not conform to the 'Sendable' protocol
12 | let label: String
13 | let report: Bool
:
97 | func scheduleWipe() {
98 | serial.async {
99 | if self.working { self.needsWipe = true }
| `- warning: capture of 'self' with non-sendable type 'AsyncMap<T, U>' in a '@Sendable' closure; this is an error in the Swift 6 language mode
100 | else { self.wipe() }
101 | }
/host/spi-builder-workspace/Sources/Acheron/Utility/Log.swift:12:24: warning: static property 'url' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
10 |
11 | class Log {
12 | private static var url: URL? = nil
| |- warning: static property 'url' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'url' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'url' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
13 |
14 | static func setPath(_ path: String) {
/host/spi-builder-workspace/Sources/Acheron/Utility/Log.swift:17:33: warning: result of call to 'createFile(atPath:contents:attributes:)' is unused
15 | url = URL(fileURLWithPath: path)
16 | if !FileManager.default.fileExists(atPath: url!.path) {
17 | FileManager.default.createFile(atPath: url!.path, contents: nil, attributes: nil)
| `- warning: result of call to 'createFile(atPath:contents:attributes:)' is unused
18 | }
19 | }
/host/spi-builder-workspace/Sources/Acheron/Pebbles/Pond.swift:40:36: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
38 | print("\n =======================\n")
39 |
40 | DispatchQueue.main.async { self.onCompleted() }
| |- warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
| `- note: task-isolated 'self' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
41 | }
42 |
/host/spi-builder-workspace/Sources/Acheron/Pebbles/Pond.swift:60:18: warning: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure; this is an error in the Swift 6 language mode
58 | public func pebble(name: String, onMain: Bool = true, _ payload: @escaping () async -> Bool) -> Pebble {
59 | pebble(name: name, onMain: onMain) { (complete: @escaping (Bool)->()) in
60 | Task {
| `- warning: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure; this is an error in the Swift 6 language mode
61 | let result: Bool = await payload()
| `- note: closure captures 'payload' which is accessible to code in the current task
62 | complete(result)
63 | }
/host/spi-builder-workspace/Sources/Acheron/Pebbles/Pond.swift:67:50: warning: sending 'task' risks causing data races; this is an error in the Swift 6 language mode
65 | }
66 | public func addCompletionTask(_ task: @escaping ()->()) {
67 | if completed { DispatchQueue.main.sync { task() } }
| |- warning: sending 'task' risks causing data races; this is an error in the Swift 6 language mode
| `- note: task-isolated 'task' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
68 | else { tasks.append(task) }
69 | }
[334/344] Compiling Acheron AsyncMap.swift
/host/spi-builder-workspace/Sources/Acheron/Pebbles/Pebble.swift:39:68: warning: capture of 'self' with non-sendable type 'Pebble' in a '@Sendable' closure; this is an error in the Swift 6 language mode
9 | import Foundation
10 |
11 | public class Pebble {
| `- note: class 'Pebble' does not conform to the 'Sendable' protocol
12 | public enum State {
13 | case pending, running, succeeded, failed
:
37 | let queue: DispatchQueue = onMain ? DispatchQueue.main : DispatchQueue.global(qos: .userInitiated)
38 | queue.async {
39 | let dashes: String = String(repeating: "-", count: (32-self.name.count)/2)
| `- warning: capture of 'self' with non-sendable type 'Pebble' in a '@Sendable' closure; this is an error in the Swift 6 language mode
40 | Log.print("\n \(dashes)\(self.name.count % 2 == 1 ? "-" : "") [ \(self.name) ] \(dashes)")
41 | self.payload { (success: Bool) in
/host/spi-builder-workspace/Sources/Acheron/Pebbles/Pebble.swift:42:17: warning: capture of 'pond' with non-sendable type 'Pond' in a '@Sendable' closure; this is an error in the Swift 6 language mode
40 | Log.print("\n \(dashes)\(self.name.count % 2 == 1 ? "-" : "") [ \(self.name) ] \(dashes)")
41 | self.payload { (success: Bool) in
42 | pond.queue.async {
| `- warning: capture of 'pond' with non-sendable type 'Pond' in a '@Sendable' closure; this is an error in the Swift 6 language mode
43 | self.state = success ? .succeeded : .failed
44 | pond.iterate()
/host/spi-builder-workspace/Sources/Acheron/Pebbles/Pond.swift:11:12: note: class 'Pond' does not conform to the 'Sendable' protocol
9 | import Foundation
10 |
11 | open class Pond {
| `- note: class 'Pond' does not conform to the 'Sendable' protocol
12 | private var pebbles: [Pebble] = []
13 | let queue: DispatchQueue = DispatchQueue(label: "pond")
/host/spi-builder-workspace/Sources/Acheron/Pebbles/Pebble.swift:42:17: warning: capture of 'pond' with non-sendable type 'Pond' in an isolated closure; this is an error in the Swift 6 language mode
40 | Log.print("\n \(dashes)\(self.name.count % 2 == 1 ? "-" : "") [ \(self.name) ] \(dashes)")
41 | self.payload { (success: Bool) in
42 | pond.queue.async {
| `- warning: capture of 'pond' with non-sendable type 'Pond' in an isolated closure; this is an error in the Swift 6 language mode
43 | self.state = success ? .succeeded : .failed
44 | pond.iterate()
/host/spi-builder-workspace/Sources/Acheron/Pebbles/Pond.swift:11:12: note: class 'Pond' does not conform to the 'Sendable' protocol
9 | import Foundation
10 |
11 | open class Pond {
| `- note: class 'Pond' does not conform to the 'Sendable' protocol
12 | private var pebbles: [Pebble] = []
13 | let queue: DispatchQueue = DispatchQueue(label: "pond")
/host/spi-builder-workspace/Sources/Acheron/Pebbles/Pebble.swift:43:21: warning: capture of 'self' with non-sendable type 'Pebble' in an isolated closure; this is an error in the Swift 6 language mode
9 | import Foundation
10 |
11 | public class Pebble {
| `- note: class 'Pebble' does not conform to the 'Sendable' protocol
12 | public enum State {
13 | case pending, running, succeeded, failed
:
41 | self.payload { (success: Bool) in
42 | pond.queue.async {
43 | self.state = success ? .succeeded : .failed
| `- warning: capture of 'self' with non-sendable type 'Pebble' in an isolated closure; this is an error in the Swift 6 language mode
44 | pond.iterate()
45 | }
/host/spi-builder-workspace/Sources/Acheron/Pebbles/Pebble.swift:43:21: warning: capture of 'self' with non-sendable type 'Pebble' in a '@Sendable' closure; this is an error in the Swift 6 language mode
9 | import Foundation
10 |
11 | public class Pebble {
| `- note: class 'Pebble' does not conform to the 'Sendable' protocol
12 | public enum State {
13 | case pending, running, succeeded, failed
:
41 | self.payload { (success: Bool) in
42 | pond.queue.async {
43 | self.state = success ? .succeeded : .failed
| `- warning: capture of 'self' with non-sendable type 'Pebble' in a '@Sendable' closure; this is an error in the Swift 6 language mode
44 | pond.iterate()
45 | }
/host/spi-builder-workspace/Sources/Acheron/Pebbles/Pebble.swift:44:21: warning: capture of 'pond' with non-sendable type 'Pond' in a '@Sendable' closure; this is an error in the Swift 6 language mode
42 | pond.queue.async {
43 | self.state = success ? .succeeded : .failed
44 | pond.iterate()
| `- warning: capture of 'pond' with non-sendable type 'Pond' in a '@Sendable' closure; this is an error in the Swift 6 language mode
45 | }
46 | }
/host/spi-builder-workspace/Sources/Acheron/Pebbles/Pond.swift:11:12: note: class 'Pond' does not conform to the 'Sendable' protocol
9 | import Foundation
10 |
11 | open class Pond {
| `- note: class 'Pond' does not conform to the 'Sendable' protocol
12 | private var pebbles: [Pebble] = []
13 | let queue: DispatchQueue = DispatchQueue(label: "pond")
/host/spi-builder-workspace/Sources/Acheron/Pebbles/Pond.swift:75:13: warning: capture of 'self' with non-sendable type 'Pond' in a '@Sendable' closure; this is an error in the Swift 6 language mode
9 | import Foundation
10 |
11 | open class Pond {
| `- note: class 'Pond' does not conform to the 'Sendable' protocol
12 | private var pebbles: [Pebble] = []
13 | let queue: DispatchQueue = DispatchQueue(label: "pond")
:
73 | reset()
74 | queue.async {
75 | self.onComplete = onComplete
| `- warning: capture of 'self' with non-sendable type 'Pond' in a '@Sendable' closure; this is an error in the Swift 6 language mode
76 | print("\n[ Pond Starting ] ====================================")
77 | self.iterate()
/host/spi-builder-workspace/Sources/Acheron/Pebbles/Pond.swift:75:31: warning: capture of 'onComplete' with non-sendable type '() -> ()' in a '@Sendable' closure; this is an error in the Swift 6 language mode
73 | reset()
74 | queue.async {
75 | self.onComplete = onComplete
| |- warning: capture of 'onComplete' with non-sendable type '() -> ()' in a '@Sendable' closure; this is an error in the Swift 6 language mode
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
76 | print("\n[ Pond Starting ] ====================================")
77 | self.iterate()
/host/spi-builder-workspace/Sources/Acheron/Utility/AsyncMap.swift:43:13: warning: capture of 'self' with non-sendable type 'AsyncMap<T, U>' in a '@Sendable' closure; this is an error in the Swift 6 language mode
9 | import Foundation
10 |
11 | public class AsyncMap<T:Hashable, U> {
| `- note: generic class 'AsyncMap' does not conform to the 'Sendable' protocol
12 | let label: String
13 | let report: Bool
:
41 | private func startWorking() {
42 | serial.async {
43 | self.working = true
| `- warning: capture of 'self' with non-sendable type 'AsyncMap<T, U>' in a '@Sendable' closure; this is an error in the Swift 6 language mode
44 | let keys: [T] = Array(self.requestedKeys)
45 | guard keys.count > 0 else {
/host/spi-builder-workspace/Sources/Acheron/Utility/AsyncMap.swift:56:20: warning: capture of 'self' with non-sendable type 'AsyncMap<T, U>' in an isolated closure; this is an error in the Swift 6 language mode
9 | import Foundation
10 |
11 | public class AsyncMap<T:Hashable, U> {
| `- note: generic class 'AsyncMap' does not conform to the 'Sendable' protocol
12 | let label: String
13 | let report: Bool
:
54 | let group: DispatchGroup = DispatchGroup()
55 | keys.forEach { (key: T) in
56 | if self.report { print("[ \(self.label) ] request [ \(key) ]") }
| `- warning: capture of 'self' with non-sendable type 'AsyncMap<T, U>' in an isolated closure; this is an error in the Swift 6 language mode
57 | group.enter()
58 | self.concurrent.async {
/host/spi-builder-workspace/Sources/Acheron/Utility/AsyncMap.swift:59:38: warning: capture of 'self' with non-sendable type 'AsyncMap<T, U>' in a '@Sendable' closure; this is an error in the Swift 6 language mode
9 | import Foundation
10 |
11 | public class AsyncMap<T:Hashable, U> {
| `- note: generic class 'AsyncMap' does not conform to the 'Sendable' protocol
12 | let label: String
13 | let report: Bool
:
57 | group.enter()
58 | self.concurrent.async {
59 | let result: U? = self.worker(key)
| `- warning: capture of 'self' with non-sendable type 'AsyncMap<T, U>' in a '@Sendable' closure; this is an error in the Swift 6 language mode
60 | self.serial.async {
61 | if let result {
/host/spi-builder-workspace/Sources/Acheron/Utility/AsyncMap.swift:59:50: warning: capture of 'key' with non-sendable type 'T' in a '@Sendable' closure; this is an error in the Swift 6 language mode
9 | import Foundation
10 |
11 | public class AsyncMap<T:Hashable, U> {
| `- note: consider making generic parameter 'T' conform to the 'Sendable' protocol
12 | let label: String
13 | let report: Bool
:
57 | group.enter()
58 | self.concurrent.async {
59 | let result: U? = self.worker(key)
| `- warning: capture of 'key' with non-sendable type 'T' in a '@Sendable' closure; this is an error in the Swift 6 language mode
60 | self.serial.async {
61 | if let result {
/host/spi-builder-workspace/Sources/Acheron/Utility/AsyncMap.swift:61:32: warning: capture of 'result' with non-sendable type 'U?' in a '@Sendable' closure; this is an error in the Swift 6 language mode
9 | import Foundation
10 |
11 | public class AsyncMap<T:Hashable, U> {
| `- note: consider making generic parameter 'U' conform to the 'Sendable' protocol
12 | let label: String
13 | let report: Bool
:
59 | let result: U? = self.worker(key)
60 | self.serial.async {
61 | if let result {
| `- warning: capture of 'result' with non-sendable type 'U?' in a '@Sendable' closure; this is an error in the Swift 6 language mode
62 | if self.report { print("[ \(self.label) ] complete [ \(key) ]") }
63 | self.cache[key] = result
/host/spi-builder-workspace/Sources/Acheron/Utility/AsyncMap.swift:62:32: warning: capture of 'self' with non-sendable type 'AsyncMap<T, U>' in a '@Sendable' closure; this is an error in the Swift 6 language mode
9 | import Foundation
10 |
11 | public class AsyncMap<T:Hashable, U> {
| `- note: generic class 'AsyncMap' does not conform to the 'Sendable' protocol
12 | let label: String
13 | let report: Bool
:
60 | self.serial.async {
61 | if let result {
62 | if self.report { print("[ \(self.label) ] complete [ \(key) ]") }
| `- warning: capture of 'self' with non-sendable type 'AsyncMap<T, U>' in a '@Sendable' closure; this is an error in the Swift 6 language mode
63 | self.cache[key] = result
64 | }
/host/spi-builder-workspace/Sources/Acheron/Utility/AsyncMap.swift:62:84: warning: capture of 'key' with non-sendable type 'T' in a '@Sendable' closure; this is an error in the Swift 6 language mode
9 | import Foundation
10 |
11 | public class AsyncMap<T:Hashable, U> {
| `- note: consider making generic parameter 'T' conform to the 'Sendable' protocol
12 | let label: String
13 | let report: Bool
:
60 | self.serial.async {
61 | if let result {
62 | if self.report { print("[ \(self.label) ] complete [ \(key) ]") }
| `- warning: capture of 'key' with non-sendable type 'T' in a '@Sendable' closure; this is an error in the Swift 6 language mode
63 | self.cache[key] = result
64 | }
/host/spi-builder-workspace/Sources/Acheron/Utility/AsyncMap.swift:72:32: warning: capture of 'self' with non-sendable type 'AsyncMap<T, U>' in an isolated closure; this is an error in the Swift 6 language mode
9 | import Foundation
10 |
11 | public class AsyncMap<T:Hashable, U> {
| `- note: generic class 'AsyncMap' does not conform to the 'Sendable' protocol
12 | let label: String
13 | let report: Bool
:
70 | }
71 | group.notify(queue: self.serial) {
72 | keys.forEach { self.complete?($0) }
| `- warning: capture of 'self' with non-sendable type 'AsyncMap<T, U>' in an isolated closure; this is an error in the Swift 6 language mode
73 | self.startWorking()
74 | }
/host/spi-builder-workspace/Sources/Acheron/Utility/AsyncMap.swift:72:32: warning: capture of 'self' with non-sendable type 'AsyncMap<T, U>' in an isolated closure; this is an error in the Swift 6 language mode
9 | import Foundation
10 |
11 | public class AsyncMap<T:Hashable, U> {
| `- note: generic class 'AsyncMap' does not conform to the 'Sendable' protocol
12 | let label: String
13 | let report: Bool
:
70 | }
71 | group.notify(queue: self.serial) {
72 | keys.forEach { self.complete?($0) }
| `- warning: capture of 'self' with non-sendable type 'AsyncMap<T, U>' in an isolated closure; this is an error in the Swift 6 language mode
73 | self.startWorking()
74 | }
/host/spi-builder-workspace/Sources/Acheron/Utility/AsyncMap.swift:80:39: warning: capture of 'keys' with non-sendable type '[T]' in a '@Sendable' closure; this is an error in the Swift 6 language mode
9 | import Foundation
10 |
11 | public class AsyncMap<T:Hashable, U> {
| `- note: consider making generic parameter 'T' conform to the 'Sendable' protocol
12 | let label: String
13 | let report: Bool
:
78 | guard keys.count > 0 else { return }
79 | serial.async {
80 | let newKeys: Set<T> = Set(keys).subtracting(self.completedKeys).subtracting(self.requestedKeys)
| `- warning: capture of 'keys' with non-sendable type '[T]' in a '@Sendable' closure; this is an error in the Swift 6 language mode
81 | guard newKeys.count > 0 else { return }
82 | let restart: Bool = !newKeys.isEmpty && self.requestedKeys.isEmpty
/host/spi-builder-workspace/Sources/Acheron/Utility/AsyncMap.swift:80:57: warning: capture of 'self' with non-sendable type 'AsyncMap<T, U>' in a '@Sendable' closure; this is an error in the Swift 6 language mode
9 | import Foundation
10 |
11 | public class AsyncMap<T:Hashable, U> {
| `- note: generic class 'AsyncMap' does not conform to the 'Sendable' protocol
12 | let label: String
13 | let report: Bool
:
78 | guard keys.count > 0 else { return }
79 | serial.async {
80 | let newKeys: Set<T> = Set(keys).subtracting(self.completedKeys).subtracting(self.requestedKeys)
| `- warning: capture of 'self' with non-sendable type 'AsyncMap<T, U>' in a '@Sendable' closure; this is an error in the Swift 6 language mode
81 | guard newKeys.count > 0 else { return }
82 | let restart: Bool = !newKeys.isEmpty && self.requestedKeys.isEmpty
/host/spi-builder-workspace/Sources/Acheron/Utility/AsyncMap.swift:82:53: warning: implicit capture of 'self' requires that 'AsyncMap<T, U>' conforms to 'Sendable'; this is an error in the Swift 6 language mode
9 | import Foundation
10 |
11 | public class AsyncMap<T:Hashable, U> {
| `- note: generic class 'AsyncMap' does not conform to the 'Sendable' protocol
12 | let label: String
13 | let report: Bool
:
80 | let newKeys: Set<T> = Set(keys).subtracting(self.completedKeys).subtracting(self.requestedKeys)
81 | guard newKeys.count > 0 else { return }
82 | let restart: Bool = !newKeys.isEmpty && self.requestedKeys.isEmpty
| `- warning: implicit capture of 'self' requires that 'AsyncMap<T, U>' conforms to 'Sendable'; this is an error in the Swift 6 language mode
83 | self.requestedKeys.formUnion(newKeys)
84 | if restart {
/host/spi-builder-workspace/Sources/Acheron/Utility/AsyncMap.swift:99:16: warning: capture of 'self' with non-sendable type 'AsyncMap<T, U>' in a '@Sendable' closure; this is an error in the Swift 6 language mode
9 | import Foundation
10 |
11 | public class AsyncMap<T:Hashable, U> {
| `- note: generic class 'AsyncMap' does not conform to the 'Sendable' protocol
12 | let label: String
13 | let report: Bool
:
97 | func scheduleWipe() {
98 | serial.async {
99 | if self.working { self.needsWipe = true }
| `- warning: capture of 'self' with non-sendable type 'AsyncMap<T, U>' in a '@Sendable' closure; this is an error in the Swift 6 language mode
100 | else { self.wipe() }
101 | }
/host/spi-builder-workspace/Sources/Acheron/Utility/Log.swift:12:24: warning: static property 'url' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
10 |
11 | class Log {
12 | private static var url: URL? = nil
| |- warning: static property 'url' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'url' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'url' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
13 |
14 | static func setPath(_ path: String) {
/host/spi-builder-workspace/Sources/Acheron/Utility/Log.swift:17:33: warning: result of call to 'createFile(atPath:contents:attributes:)' is unused
15 | url = URL(fileURLWithPath: path)
16 | if !FileManager.default.fileExists(atPath: url!.path) {
17 | FileManager.default.createFile(atPath: url!.path, contents: nil, attributes: nil)
| `- warning: result of call to 'createFile(atPath:contents:attributes:)' is unused
18 | }
19 | }
/host/spi-builder-workspace/Sources/Acheron/Pebbles/Pond.swift:40:36: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
38 | print("\n =======================\n")
39 |
40 | DispatchQueue.main.async { self.onCompleted() }
| |- warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
| `- note: task-isolated 'self' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
41 | }
42 |
/host/spi-builder-workspace/Sources/Acheron/Pebbles/Pond.swift:60:18: warning: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure; this is an error in the Swift 6 language mode
58 | public func pebble(name: String, onMain: Bool = true, _ payload: @escaping () async -> Bool) -> Pebble {
59 | pebble(name: name, onMain: onMain) { (complete: @escaping (Bool)->()) in
60 | Task {
| `- warning: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure; this is an error in the Swift 6 language mode
61 | let result: Bool = await payload()
| `- note: closure captures 'payload' which is accessible to code in the current task
62 | complete(result)
63 | }
/host/spi-builder-workspace/Sources/Acheron/Pebbles/Pond.swift:67:50: warning: sending 'task' risks causing data races; this is an error in the Swift 6 language mode
65 | }
66 | public func addCompletionTask(_ task: @escaping ()->()) {
67 | if completed { DispatchQueue.main.sync { task() } }
| |- warning: sending 'task' risks causing data races; this is an error in the Swift 6 language mode
| `- note: task-isolated 'task' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
68 | else { tasks.append(task) }
69 | }
[335/344] Compiling Acheron CSV.swift
/host/spi-builder-workspace/Sources/Acheron/Pebbles/Pebble.swift:39:68: warning: capture of 'self' with non-sendable type 'Pebble' in a '@Sendable' closure; this is an error in the Swift 6 language mode
9 | import Foundation
10 |
11 | public class Pebble {
| `- note: class 'Pebble' does not conform to the 'Sendable' protocol
12 | public enum State {
13 | case pending, running, succeeded, failed
:
37 | let queue: DispatchQueue = onMain ? DispatchQueue.main : DispatchQueue.global(qos: .userInitiated)
38 | queue.async {
39 | let dashes: String = String(repeating: "-", count: (32-self.name.count)/2)
| `- warning: capture of 'self' with non-sendable type 'Pebble' in a '@Sendable' closure; this is an error in the Swift 6 language mode
40 | Log.print("\n \(dashes)\(self.name.count % 2 == 1 ? "-" : "") [ \(self.name) ] \(dashes)")
41 | self.payload { (success: Bool) in
/host/spi-builder-workspace/Sources/Acheron/Pebbles/Pebble.swift:42:17: warning: capture of 'pond' with non-sendable type 'Pond' in a '@Sendable' closure; this is an error in the Swift 6 language mode
40 | Log.print("\n \(dashes)\(self.name.count % 2 == 1 ? "-" : "") [ \(self.name) ] \(dashes)")
41 | self.payload { (success: Bool) in
42 | pond.queue.async {
| `- warning: capture of 'pond' with non-sendable type 'Pond' in a '@Sendable' closure; this is an error in the Swift 6 language mode
43 | self.state = success ? .succeeded : .failed
44 | pond.iterate()
/host/spi-builder-workspace/Sources/Acheron/Pebbles/Pond.swift:11:12: note: class 'Pond' does not conform to the 'Sendable' protocol
9 | import Foundation
10 |
11 | open class Pond {
| `- note: class 'Pond' does not conform to the 'Sendable' protocol
12 | private var pebbles: [Pebble] = []
13 | let queue: DispatchQueue = DispatchQueue(label: "pond")
/host/spi-builder-workspace/Sources/Acheron/Pebbles/Pebble.swift:42:17: warning: capture of 'pond' with non-sendable type 'Pond' in an isolated closure; this is an error in the Swift 6 language mode
40 | Log.print("\n \(dashes)\(self.name.count % 2 == 1 ? "-" : "") [ \(self.name) ] \(dashes)")
41 | self.payload { (success: Bool) in
42 | pond.queue.async {
| `- warning: capture of 'pond' with non-sendable type 'Pond' in an isolated closure; this is an error in the Swift 6 language mode
43 | self.state = success ? .succeeded : .failed
44 | pond.iterate()
/host/spi-builder-workspace/Sources/Acheron/Pebbles/Pond.swift:11:12: note: class 'Pond' does not conform to the 'Sendable' protocol
9 | import Foundation
10 |
11 | open class Pond {
| `- note: class 'Pond' does not conform to the 'Sendable' protocol
12 | private var pebbles: [Pebble] = []
13 | let queue: DispatchQueue = DispatchQueue(label: "pond")
/host/spi-builder-workspace/Sources/Acheron/Pebbles/Pebble.swift:43:21: warning: capture of 'self' with non-sendable type 'Pebble' in an isolated closure; this is an error in the Swift 6 language mode
9 | import Foundation
10 |
11 | public class Pebble {
| `- note: class 'Pebble' does not conform to the 'Sendable' protocol
12 | public enum State {
13 | case pending, running, succeeded, failed
:
41 | self.payload { (success: Bool) in
42 | pond.queue.async {
43 | self.state = success ? .succeeded : .failed
| `- warning: capture of 'self' with non-sendable type 'Pebble' in an isolated closure; this is an error in the Swift 6 language mode
44 | pond.iterate()
45 | }
/host/spi-builder-workspace/Sources/Acheron/Pebbles/Pebble.swift:43:21: warning: capture of 'self' with non-sendable type 'Pebble' in a '@Sendable' closure; this is an error in the Swift 6 language mode
9 | import Foundation
10 |
11 | public class Pebble {
| `- note: class 'Pebble' does not conform to the 'Sendable' protocol
12 | public enum State {
13 | case pending, running, succeeded, failed
:
41 | self.payload { (success: Bool) in
42 | pond.queue.async {
43 | self.state = success ? .succeeded : .failed
| `- warning: capture of 'self' with non-sendable type 'Pebble' in a '@Sendable' closure; this is an error in the Swift 6 language mode
44 | pond.iterate()
45 | }
/host/spi-builder-workspace/Sources/Acheron/Pebbles/Pebble.swift:44:21: warning: capture of 'pond' with non-sendable type 'Pond' in a '@Sendable' closure; this is an error in the Swift 6 language mode
42 | pond.queue.async {
43 | self.state = success ? .succeeded : .failed
44 | pond.iterate()
| `- warning: capture of 'pond' with non-sendable type 'Pond' in a '@Sendable' closure; this is an error in the Swift 6 language mode
45 | }
46 | }
/host/spi-builder-workspace/Sources/Acheron/Pebbles/Pond.swift:11:12: note: class 'Pond' does not conform to the 'Sendable' protocol
9 | import Foundation
10 |
11 | open class Pond {
| `- note: class 'Pond' does not conform to the 'Sendable' protocol
12 | private var pebbles: [Pebble] = []
13 | let queue: DispatchQueue = DispatchQueue(label: "pond")
/host/spi-builder-workspace/Sources/Acheron/Pebbles/Pond.swift:75:13: warning: capture of 'self' with non-sendable type 'Pond' in a '@Sendable' closure; this is an error in the Swift 6 language mode
9 | import Foundation
10 |
11 | open class Pond {
| `- note: class 'Pond' does not conform to the 'Sendable' protocol
12 | private var pebbles: [Pebble] = []
13 | let queue: DispatchQueue = DispatchQueue(label: "pond")
:
73 | reset()
74 | queue.async {
75 | self.onComplete = onComplete
| `- warning: capture of 'self' with non-sendable type 'Pond' in a '@Sendable' closure; this is an error in the Swift 6 language mode
76 | print("\n[ Pond Starting ] ====================================")
77 | self.iterate()
/host/spi-builder-workspace/Sources/Acheron/Pebbles/Pond.swift:75:31: warning: capture of 'onComplete' with non-sendable type '() -> ()' in a '@Sendable' closure; this is an error in the Swift 6 language mode
73 | reset()
74 | queue.async {
75 | self.onComplete = onComplete
| |- warning: capture of 'onComplete' with non-sendable type '() -> ()' in a '@Sendable' closure; this is an error in the Swift 6 language mode
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
76 | print("\n[ Pond Starting ] ====================================")
77 | self.iterate()
/host/spi-builder-workspace/Sources/Acheron/Utility/AsyncMap.swift:43:13: warning: capture of 'self' with non-sendable type 'AsyncMap<T, U>' in a '@Sendable' closure; this is an error in the Swift 6 language mode
9 | import Foundation
10 |
11 | public class AsyncMap<T:Hashable, U> {
| `- note: generic class 'AsyncMap' does not conform to the 'Sendable' protocol
12 | let label: String
13 | let report: Bool
:
41 | private func startWorking() {
42 | serial.async {
43 | self.working = true
| `- warning: capture of 'self' with non-sendable type 'AsyncMap<T, U>' in a '@Sendable' closure; this is an error in the Swift 6 language mode
44 | let keys: [T] = Array(self.requestedKeys)
45 | guard keys.count > 0 else {
/host/spi-builder-workspace/Sources/Acheron/Utility/AsyncMap.swift:56:20: warning: capture of 'self' with non-sendable type 'AsyncMap<T, U>' in an isolated closure; this is an error in the Swift 6 language mode
9 | import Foundation
10 |
11 | public class AsyncMap<T:Hashable, U> {
| `- note: generic class 'AsyncMap' does not conform to the 'Sendable' protocol
12 | let label: String
13 | let report: Bool
:
54 | let group: DispatchGroup = DispatchGroup()
55 | keys.forEach { (key: T) in
56 | if self.report { print("[ \(self.label) ] request [ \(key) ]") }
| `- warning: capture of 'self' with non-sendable type 'AsyncMap<T, U>' in an isolated closure; this is an error in the Swift 6 language mode
57 | group.enter()
58 | self.concurrent.async {
/host/spi-builder-workspace/Sources/Acheron/Utility/AsyncMap.swift:59:38: warning: capture of 'self' with non-sendable type 'AsyncMap<T, U>' in a '@Sendable' closure; this is an error in the Swift 6 language mode
9 | import Foundation
10 |
11 | public class AsyncMap<T:Hashable, U> {
| `- note: generic class 'AsyncMap' does not conform to the 'Sendable' protocol
12 | let label: String
13 | let report: Bool
:
57 | group.enter()
58 | self.concurrent.async {
59 | let result: U? = self.worker(key)
| `- warning: capture of 'self' with non-sendable type 'AsyncMap<T, U>' in a '@Sendable' closure; this is an error in the Swift 6 language mode
60 | self.serial.async {
61 | if let result {
/host/spi-builder-workspace/Sources/Acheron/Utility/AsyncMap.swift:59:50: warning: capture of 'key' with non-sendable type 'T' in a '@Sendable' closure; this is an error in the Swift 6 language mode
9 | import Foundation
10 |
11 | public class AsyncMap<T:Hashable, U> {
| `- note: consider making generic parameter 'T' conform to the 'Sendable' protocol
12 | let label: String
13 | let report: Bool
:
57 | group.enter()
58 | self.concurrent.async {
59 | let result: U? = self.worker(key)
| `- warning: capture of 'key' with non-sendable type 'T' in a '@Sendable' closure; this is an error in the Swift 6 language mode
60 | self.serial.async {
61 | if let result {
/host/spi-builder-workspace/Sources/Acheron/Utility/AsyncMap.swift:61:32: warning: capture of 'result' with non-sendable type 'U?' in a '@Sendable' closure; this is an error in the Swift 6 language mode
9 | import Foundation
10 |
11 | public class AsyncMap<T:Hashable, U> {
| `- note: consider making generic parameter 'U' conform to the 'Sendable' protocol
12 | let label: String
13 | let report: Bool
:
59 | let result: U? = self.worker(key)
60 | self.serial.async {
61 | if let result {
| `- warning: capture of 'result' with non-sendable type 'U?' in a '@Sendable' closure; this is an error in the Swift 6 language mode
62 | if self.report { print("[ \(self.label) ] complete [ \(key) ]") }
63 | self.cache[key] = result
/host/spi-builder-workspace/Sources/Acheron/Utility/AsyncMap.swift:62:32: warning: capture of 'self' with non-sendable type 'AsyncMap<T, U>' in a '@Sendable' closure; this is an error in the Swift 6 language mode
9 | import Foundation
10 |
11 | public class AsyncMap<T:Hashable, U> {
| `- note: generic class 'AsyncMap' does not conform to the 'Sendable' protocol
12 | let label: String
13 | let report: Bool
:
60 | self.serial.async {
61 | if let result {
62 | if self.report { print("[ \(self.label) ] complete [ \(key) ]") }
| `- warning: capture of 'self' with non-sendable type 'AsyncMap<T, U>' in a '@Sendable' closure; this is an error in the Swift 6 language mode
63 | self.cache[key] = result
64 | }
/host/spi-builder-workspace/Sources/Acheron/Utility/AsyncMap.swift:62:84: warning: capture of 'key' with non-sendable type 'T' in a '@Sendable' closure; this is an error in the Swift 6 language mode
9 | import Foundation
10 |
11 | public class AsyncMap<T:Hashable, U> {
| `- note: consider making generic parameter 'T' conform to the 'Sendable' protocol
12 | let label: String
13 | let report: Bool
:
60 | self.serial.async {
61 | if let result {
62 | if self.report { print("[ \(self.label) ] complete [ \(key) ]") }
| `- warning: capture of 'key' with non-sendable type 'T' in a '@Sendable' closure; this is an error in the Swift 6 language mode
63 | self.cache[key] = result
64 | }
/host/spi-builder-workspace/Sources/Acheron/Utility/AsyncMap.swift:72:32: warning: capture of 'self' with non-sendable type 'AsyncMap<T, U>' in an isolated closure; this is an error in the Swift 6 language mode
9 | import Foundation
10 |
11 | public class AsyncMap<T:Hashable, U> {
| `- note: generic class 'AsyncMap' does not conform to the 'Sendable' protocol
12 | let label: String
13 | let report: Bool
:
70 | }
71 | group.notify(queue: self.serial) {
72 | keys.forEach { self.complete?($0) }
| `- warning: capture of 'self' with non-sendable type 'AsyncMap<T, U>' in an isolated closure; this is an error in the Swift 6 language mode
73 | self.startWorking()
74 | }
/host/spi-builder-workspace/Sources/Acheron/Utility/AsyncMap.swift:72:32: warning: capture of 'self' with non-sendable type 'AsyncMap<T, U>' in an isolated closure; this is an error in the Swift 6 language mode
9 | import Foundation
10 |
11 | public class AsyncMap<T:Hashable, U> {
| `- note: generic class 'AsyncMap' does not conform to the 'Sendable' protocol
12 | let label: String
13 | let report: Bool
:
70 | }
71 | group.notify(queue: self.serial) {
72 | keys.forEach { self.complete?($0) }
| `- warning: capture of 'self' with non-sendable type 'AsyncMap<T, U>' in an isolated closure; this is an error in the Swift 6 language mode
73 | self.startWorking()
74 | }
/host/spi-builder-workspace/Sources/Acheron/Utility/AsyncMap.swift:80:39: warning: capture of 'keys' with non-sendable type '[T]' in a '@Sendable' closure; this is an error in the Swift 6 language mode
9 | import Foundation
10 |
11 | public class AsyncMap<T:Hashable, U> {
| `- note: consider making generic parameter 'T' conform to the 'Sendable' protocol
12 | let label: String
13 | let report: Bool
:
78 | guard keys.count > 0 else { return }
79 | serial.async {
80 | let newKeys: Set<T> = Set(keys).subtracting(self.completedKeys).subtracting(self.requestedKeys)
| `- warning: capture of 'keys' with non-sendable type '[T]' in a '@Sendable' closure; this is an error in the Swift 6 language mode
81 | guard newKeys.count > 0 else { return }
82 | let restart: Bool = !newKeys.isEmpty && self.requestedKeys.isEmpty
/host/spi-builder-workspace/Sources/Acheron/Utility/AsyncMap.swift:80:57: warning: capture of 'self' with non-sendable type 'AsyncMap<T, U>' in a '@Sendable' closure; this is an error in the Swift 6 language mode
9 | import Foundation
10 |
11 | public class AsyncMap<T:Hashable, U> {
| `- note: generic class 'AsyncMap' does not conform to the 'Sendable' protocol
12 | let label: String
13 | let report: Bool
:
78 | guard keys.count > 0 else { return }
79 | serial.async {
80 | let newKeys: Set<T> = Set(keys).subtracting(self.completedKeys).subtracting(self.requestedKeys)
| `- warning: capture of 'self' with non-sendable type 'AsyncMap<T, U>' in a '@Sendable' closure; this is an error in the Swift 6 language mode
81 | guard newKeys.count > 0 else { return }
82 | let restart: Bool = !newKeys.isEmpty && self.requestedKeys.isEmpty
/host/spi-builder-workspace/Sources/Acheron/Utility/AsyncMap.swift:82:53: warning: implicit capture of 'self' requires that 'AsyncMap<T, U>' conforms to 'Sendable'; this is an error in the Swift 6 language mode
9 | import Foundation
10 |
11 | public class AsyncMap<T:Hashable, U> {
| `- note: generic class 'AsyncMap' does not conform to the 'Sendable' protocol
12 | let label: String
13 | let report: Bool
:
80 | let newKeys: Set<T> = Set(keys).subtracting(self.completedKeys).subtracting(self.requestedKeys)
81 | guard newKeys.count > 0 else { return }
82 | let restart: Bool = !newKeys.isEmpty && self.requestedKeys.isEmpty
| `- warning: implicit capture of 'self' requires that 'AsyncMap<T, U>' conforms to 'Sendable'; this is an error in the Swift 6 language mode
83 | self.requestedKeys.formUnion(newKeys)
84 | if restart {
/host/spi-builder-workspace/Sources/Acheron/Utility/AsyncMap.swift:99:16: warning: capture of 'self' with non-sendable type 'AsyncMap<T, U>' in a '@Sendable' closure; this is an error in the Swift 6 language mode
9 | import Foundation
10 |
11 | public class AsyncMap<T:Hashable, U> {
| `- note: generic class 'AsyncMap' does not conform to the 'Sendable' protocol
12 | let label: String
13 | let report: Bool
:
97 | func scheduleWipe() {
98 | serial.async {
99 | if self.working { self.needsWipe = true }
| `- warning: capture of 'self' with non-sendable type 'AsyncMap<T, U>' in a '@Sendable' closure; this is an error in the Swift 6 language mode
100 | else { self.wipe() }
101 | }
/host/spi-builder-workspace/Sources/Acheron/Utility/Log.swift:12:24: warning: static property 'url' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
10 |
11 | class Log {
12 | private static var url: URL? = nil
| |- warning: static property 'url' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'url' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'url' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
13 |
14 | static func setPath(_ path: String) {
/host/spi-builder-workspace/Sources/Acheron/Utility/Log.swift:17:33: warning: result of call to 'createFile(atPath:contents:attributes:)' is unused
15 | url = URL(fileURLWithPath: path)
16 | if !FileManager.default.fileExists(atPath: url!.path) {
17 | FileManager.default.createFile(atPath: url!.path, contents: nil, attributes: nil)
| `- warning: result of call to 'createFile(atPath:contents:attributes:)' is unused
18 | }
19 | }
/host/spi-builder-workspace/Sources/Acheron/Pebbles/Pond.swift:40:36: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
38 | print("\n =======================\n")
39 |
40 | DispatchQueue.main.async { self.onCompleted() }
| |- warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
| `- note: task-isolated 'self' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
41 | }
42 |
/host/spi-builder-workspace/Sources/Acheron/Pebbles/Pond.swift:60:18: warning: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure; this is an error in the Swift 6 language mode
58 | public func pebble(name: String, onMain: Bool = true, _ payload: @escaping () async -> Bool) -> Pebble {
59 | pebble(name: name, onMain: onMain) { (complete: @escaping (Bool)->()) in
60 | Task {
| `- warning: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure; this is an error in the Swift 6 language mode
61 | let result: Bool = await payload()
| `- note: closure captures 'payload' which is accessible to code in the current task
62 | complete(result)
63 | }
/host/spi-builder-workspace/Sources/Acheron/Pebbles/Pond.swift:67:50: warning: sending 'task' risks causing data races; this is an error in the Swift 6 language mode
65 | }
66 | public func addCompletionTask(_ task: @escaping ()->()) {
67 | if completed { DispatchQueue.main.sync { task() } }
| |- warning: sending 'task' risks causing data races; this is an error in the Swift 6 language mode
| `- note: task-isolated 'task' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
68 | else { tasks.append(task) }
69 | }
[336/344] Compiling Acheron Log.swift
/host/spi-builder-workspace/Sources/Acheron/Pebbles/Pebble.swift:39:68: warning: capture of 'self' with non-sendable type 'Pebble' in a '@Sendable' closure; this is an error in the Swift 6 language mode
9 | import Foundation
10 |
11 | public class Pebble {
| `- note: class 'Pebble' does not conform to the 'Sendable' protocol
12 | public enum State {
13 | case pending, running, succeeded, failed
:
37 | let queue: DispatchQueue = onMain ? DispatchQueue.main : DispatchQueue.global(qos: .userInitiated)
38 | queue.async {
39 | let dashes: String = String(repeating: "-", count: (32-self.name.count)/2)
| `- warning: capture of 'self' with non-sendable type 'Pebble' in a '@Sendable' closure; this is an error in the Swift 6 language mode
40 | Log.print("\n \(dashes)\(self.name.count % 2 == 1 ? "-" : "") [ \(self.name) ] \(dashes)")
41 | self.payload { (success: Bool) in
/host/spi-builder-workspace/Sources/Acheron/Pebbles/Pebble.swift:42:17: warning: capture of 'pond' with non-sendable type 'Pond' in a '@Sendable' closure; this is an error in the Swift 6 language mode
40 | Log.print("\n \(dashes)\(self.name.count % 2 == 1 ? "-" : "") [ \(self.name) ] \(dashes)")
41 | self.payload { (success: Bool) in
42 | pond.queue.async {
| `- warning: capture of 'pond' with non-sendable type 'Pond' in a '@Sendable' closure; this is an error in the Swift 6 language mode
43 | self.state = success ? .succeeded : .failed
44 | pond.iterate()
/host/spi-builder-workspace/Sources/Acheron/Pebbles/Pond.swift:11:12: note: class 'Pond' does not conform to the 'Sendable' protocol
9 | import Foundation
10 |
11 | open class Pond {
| `- note: class 'Pond' does not conform to the 'Sendable' protocol
12 | private var pebbles: [Pebble] = []
13 | let queue: DispatchQueue = DispatchQueue(label: "pond")
/host/spi-builder-workspace/Sources/Acheron/Pebbles/Pebble.swift:42:17: warning: capture of 'pond' with non-sendable type 'Pond' in an isolated closure; this is an error in the Swift 6 language mode
40 | Log.print("\n \(dashes)\(self.name.count % 2 == 1 ? "-" : "") [ \(self.name) ] \(dashes)")
41 | self.payload { (success: Bool) in
42 | pond.queue.async {
| `- warning: capture of 'pond' with non-sendable type 'Pond' in an isolated closure; this is an error in the Swift 6 language mode
43 | self.state = success ? .succeeded : .failed
44 | pond.iterate()
/host/spi-builder-workspace/Sources/Acheron/Pebbles/Pond.swift:11:12: note: class 'Pond' does not conform to the 'Sendable' protocol
9 | import Foundation
10 |
11 | open class Pond {
| `- note: class 'Pond' does not conform to the 'Sendable' protocol
12 | private var pebbles: [Pebble] = []
13 | let queue: DispatchQueue = DispatchQueue(label: "pond")
/host/spi-builder-workspace/Sources/Acheron/Pebbles/Pebble.swift:43:21: warning: capture of 'self' with non-sendable type 'Pebble' in an isolated closure; this is an error in the Swift 6 language mode
9 | import Foundation
10 |
11 | public class Pebble {
| `- note: class 'Pebble' does not conform to the 'Sendable' protocol
12 | public enum State {
13 | case pending, running, succeeded, failed
:
41 | self.payload { (success: Bool) in
42 | pond.queue.async {
43 | self.state = success ? .succeeded : .failed
| `- warning: capture of 'self' with non-sendable type 'Pebble' in an isolated closure; this is an error in the Swift 6 language mode
44 | pond.iterate()
45 | }
/host/spi-builder-workspace/Sources/Acheron/Pebbles/Pebble.swift:43:21: warning: capture of 'self' with non-sendable type 'Pebble' in a '@Sendable' closure; this is an error in the Swift 6 language mode
9 | import Foundation
10 |
11 | public class Pebble {
| `- note: class 'Pebble' does not conform to the 'Sendable' protocol
12 | public enum State {
13 | case pending, running, succeeded, failed
:
41 | self.payload { (success: Bool) in
42 | pond.queue.async {
43 | self.state = success ? .succeeded : .failed
| `- warning: capture of 'self' with non-sendable type 'Pebble' in a '@Sendable' closure; this is an error in the Swift 6 language mode
44 | pond.iterate()
45 | }
/host/spi-builder-workspace/Sources/Acheron/Pebbles/Pebble.swift:44:21: warning: capture of 'pond' with non-sendable type 'Pond' in a '@Sendable' closure; this is an error in the Swift 6 language mode
42 | pond.queue.async {
43 | self.state = success ? .succeeded : .failed
44 | pond.iterate()
| `- warning: capture of 'pond' with non-sendable type 'Pond' in a '@Sendable' closure; this is an error in the Swift 6 language mode
45 | }
46 | }
/host/spi-builder-workspace/Sources/Acheron/Pebbles/Pond.swift:11:12: note: class 'Pond' does not conform to the 'Sendable' protocol
9 | import Foundation
10 |
11 | open class Pond {
| `- note: class 'Pond' does not conform to the 'Sendable' protocol
12 | private var pebbles: [Pebble] = []
13 | let queue: DispatchQueue = DispatchQueue(label: "pond")
/host/spi-builder-workspace/Sources/Acheron/Pebbles/Pond.swift:75:13: warning: capture of 'self' with non-sendable type 'Pond' in a '@Sendable' closure; this is an error in the Swift 6 language mode
9 | import Foundation
10 |
11 | open class Pond {
| `- note: class 'Pond' does not conform to the 'Sendable' protocol
12 | private var pebbles: [Pebble] = []
13 | let queue: DispatchQueue = DispatchQueue(label: "pond")
:
73 | reset()
74 | queue.async {
75 | self.onComplete = onComplete
| `- warning: capture of 'self' with non-sendable type 'Pond' in a '@Sendable' closure; this is an error in the Swift 6 language mode
76 | print("\n[ Pond Starting ] ====================================")
77 | self.iterate()
/host/spi-builder-workspace/Sources/Acheron/Pebbles/Pond.swift:75:31: warning: capture of 'onComplete' with non-sendable type '() -> ()' in a '@Sendable' closure; this is an error in the Swift 6 language mode
73 | reset()
74 | queue.async {
75 | self.onComplete = onComplete
| |- warning: capture of 'onComplete' with non-sendable type '() -> ()' in a '@Sendable' closure; this is an error in the Swift 6 language mode
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
76 | print("\n[ Pond Starting ] ====================================")
77 | self.iterate()
/host/spi-builder-workspace/Sources/Acheron/Utility/AsyncMap.swift:43:13: warning: capture of 'self' with non-sendable type 'AsyncMap<T, U>' in a '@Sendable' closure; this is an error in the Swift 6 language mode
9 | import Foundation
10 |
11 | public class AsyncMap<T:Hashable, U> {
| `- note: generic class 'AsyncMap' does not conform to the 'Sendable' protocol
12 | let label: String
13 | let report: Bool
:
41 | private func startWorking() {
42 | serial.async {
43 | self.working = true
| `- warning: capture of 'self' with non-sendable type 'AsyncMap<T, U>' in a '@Sendable' closure; this is an error in the Swift 6 language mode
44 | let keys: [T] = Array(self.requestedKeys)
45 | guard keys.count > 0 else {
/host/spi-builder-workspace/Sources/Acheron/Utility/AsyncMap.swift:56:20: warning: capture of 'self' with non-sendable type 'AsyncMap<T, U>' in an isolated closure; this is an error in the Swift 6 language mode
9 | import Foundation
10 |
11 | public class AsyncMap<T:Hashable, U> {
| `- note: generic class 'AsyncMap' does not conform to the 'Sendable' protocol
12 | let label: String
13 | let report: Bool
:
54 | let group: DispatchGroup = DispatchGroup()
55 | keys.forEach { (key: T) in
56 | if self.report { print("[ \(self.label) ] request [ \(key) ]") }
| `- warning: capture of 'self' with non-sendable type 'AsyncMap<T, U>' in an isolated closure; this is an error in the Swift 6 language mode
57 | group.enter()
58 | self.concurrent.async {
/host/spi-builder-workspace/Sources/Acheron/Utility/AsyncMap.swift:59:38: warning: capture of 'self' with non-sendable type 'AsyncMap<T, U>' in a '@Sendable' closure; this is an error in the Swift 6 language mode
9 | import Foundation
10 |
11 | public class AsyncMap<T:Hashable, U> {
| `- note: generic class 'AsyncMap' does not conform to the 'Sendable' protocol
12 | let label: String
13 | let report: Bool
:
57 | group.enter()
58 | self.concurrent.async {
59 | let result: U? = self.worker(key)
| `- warning: capture of 'self' with non-sendable type 'AsyncMap<T, U>' in a '@Sendable' closure; this is an error in the Swift 6 language mode
60 | self.serial.async {
61 | if let result {
/host/spi-builder-workspace/Sources/Acheron/Utility/AsyncMap.swift:59:50: warning: capture of 'key' with non-sendable type 'T' in a '@Sendable' closure; this is an error in the Swift 6 language mode
9 | import Foundation
10 |
11 | public class AsyncMap<T:Hashable, U> {
| `- note: consider making generic parameter 'T' conform to the 'Sendable' protocol
12 | let label: String
13 | let report: Bool
:
57 | group.enter()
58 | self.concurrent.async {
59 | let result: U? = self.worker(key)
| `- warning: capture of 'key' with non-sendable type 'T' in a '@Sendable' closure; this is an error in the Swift 6 language mode
60 | self.serial.async {
61 | if let result {
/host/spi-builder-workspace/Sources/Acheron/Utility/AsyncMap.swift:61:32: warning: capture of 'result' with non-sendable type 'U?' in a '@Sendable' closure; this is an error in the Swift 6 language mode
9 | import Foundation
10 |
11 | public class AsyncMap<T:Hashable, U> {
| `- note: consider making generic parameter 'U' conform to the 'Sendable' protocol
12 | let label: String
13 | let report: Bool
:
59 | let result: U? = self.worker(key)
60 | self.serial.async {
61 | if let result {
| `- warning: capture of 'result' with non-sendable type 'U?' in a '@Sendable' closure; this is an error in the Swift 6 language mode
62 | if self.report { print("[ \(self.label) ] complete [ \(key) ]") }
63 | self.cache[key] = result
/host/spi-builder-workspace/Sources/Acheron/Utility/AsyncMap.swift:62:32: warning: capture of 'self' with non-sendable type 'AsyncMap<T, U>' in a '@Sendable' closure; this is an error in the Swift 6 language mode
9 | import Foundation
10 |
11 | public class AsyncMap<T:Hashable, U> {
| `- note: generic class 'AsyncMap' does not conform to the 'Sendable' protocol
12 | let label: String
13 | let report: Bool
:
60 | self.serial.async {
61 | if let result {
62 | if self.report { print("[ \(self.label) ] complete [ \(key) ]") }
| `- warning: capture of 'self' with non-sendable type 'AsyncMap<T, U>' in a '@Sendable' closure; this is an error in the Swift 6 language mode
63 | self.cache[key] = result
64 | }
/host/spi-builder-workspace/Sources/Acheron/Utility/AsyncMap.swift:62:84: warning: capture of 'key' with non-sendable type 'T' in a '@Sendable' closure; this is an error in the Swift 6 language mode
9 | import Foundation
10 |
11 | public class AsyncMap<T:Hashable, U> {
| `- note: consider making generic parameter 'T' conform to the 'Sendable' protocol
12 | let label: String
13 | let report: Bool
:
60 | self.serial.async {
61 | if let result {
62 | if self.report { print("[ \(self.label) ] complete [ \(key) ]") }
| `- warning: capture of 'key' with non-sendable type 'T' in a '@Sendable' closure; this is an error in the Swift 6 language mode
63 | self.cache[key] = result
64 | }
/host/spi-builder-workspace/Sources/Acheron/Utility/AsyncMap.swift:72:32: warning: capture of 'self' with non-sendable type 'AsyncMap<T, U>' in an isolated closure; this is an error in the Swift 6 language mode
9 | import Foundation
10 |
11 | public class AsyncMap<T:Hashable, U> {
| `- note: generic class 'AsyncMap' does not conform to the 'Sendable' protocol
12 | let label: String
13 | let report: Bool
:
70 | }
71 | group.notify(queue: self.serial) {
72 | keys.forEach { self.complete?($0) }
| `- warning: capture of 'self' with non-sendable type 'AsyncMap<T, U>' in an isolated closure; this is an error in the Swift 6 language mode
73 | self.startWorking()
74 | }
/host/spi-builder-workspace/Sources/Acheron/Utility/AsyncMap.swift:72:32: warning: capture of 'self' with non-sendable type 'AsyncMap<T, U>' in an isolated closure; this is an error in the Swift 6 language mode
9 | import Foundation
10 |
11 | public class AsyncMap<T:Hashable, U> {
| `- note: generic class 'AsyncMap' does not conform to the 'Sendable' protocol
12 | let label: String
13 | let report: Bool
:
70 | }
71 | group.notify(queue: self.serial) {
72 | keys.forEach { self.complete?($0) }
| `- warning: capture of 'self' with non-sendable type 'AsyncMap<T, U>' in an isolated closure; this is an error in the Swift 6 language mode
73 | self.startWorking()
74 | }
/host/spi-builder-workspace/Sources/Acheron/Utility/AsyncMap.swift:80:39: warning: capture of 'keys' with non-sendable type '[T]' in a '@Sendable' closure; this is an error in the Swift 6 language mode
9 | import Foundation
10 |
11 | public class AsyncMap<T:Hashable, U> {
| `- note: consider making generic parameter 'T' conform to the 'Sendable' protocol
12 | let label: String
13 | let report: Bool
:
78 | guard keys.count > 0 else { return }
79 | serial.async {
80 | let newKeys: Set<T> = Set(keys).subtracting(self.completedKeys).subtracting(self.requestedKeys)
| `- warning: capture of 'keys' with non-sendable type '[T]' in a '@Sendable' closure; this is an error in the Swift 6 language mode
81 | guard newKeys.count > 0 else { return }
82 | let restart: Bool = !newKeys.isEmpty && self.requestedKeys.isEmpty
/host/spi-builder-workspace/Sources/Acheron/Utility/AsyncMap.swift:80:57: warning: capture of 'self' with non-sendable type 'AsyncMap<T, U>' in a '@Sendable' closure; this is an error in the Swift 6 language mode
9 | import Foundation
10 |
11 | public class AsyncMap<T:Hashable, U> {
| `- note: generic class 'AsyncMap' does not conform to the 'Sendable' protocol
12 | let label: String
13 | let report: Bool
:
78 | guard keys.count > 0 else { return }
79 | serial.async {
80 | let newKeys: Set<T> = Set(keys).subtracting(self.completedKeys).subtracting(self.requestedKeys)
| `- warning: capture of 'self' with non-sendable type 'AsyncMap<T, U>' in a '@Sendable' closure; this is an error in the Swift 6 language mode
81 | guard newKeys.count > 0 else { return }
82 | let restart: Bool = !newKeys.isEmpty && self.requestedKeys.isEmpty
/host/spi-builder-workspace/Sources/Acheron/Utility/AsyncMap.swift:82:53: warning: implicit capture of 'self' requires that 'AsyncMap<T, U>' conforms to 'Sendable'; this is an error in the Swift 6 language mode
9 | import Foundation
10 |
11 | public class AsyncMap<T:Hashable, U> {
| `- note: generic class 'AsyncMap' does not conform to the 'Sendable' protocol
12 | let label: String
13 | let report: Bool
:
80 | let newKeys: Set<T> = Set(keys).subtracting(self.completedKeys).subtracting(self.requestedKeys)
81 | guard newKeys.count > 0 else { return }
82 | let restart: Bool = !newKeys.isEmpty && self.requestedKeys.isEmpty
| `- warning: implicit capture of 'self' requires that 'AsyncMap<T, U>' conforms to 'Sendable'; this is an error in the Swift 6 language mode
83 | self.requestedKeys.formUnion(newKeys)
84 | if restart {
/host/spi-builder-workspace/Sources/Acheron/Utility/AsyncMap.swift:99:16: warning: capture of 'self' with non-sendable type 'AsyncMap<T, U>' in a '@Sendable' closure; this is an error in the Swift 6 language mode
9 | import Foundation
10 |
11 | public class AsyncMap<T:Hashable, U> {
| `- note: generic class 'AsyncMap' does not conform to the 'Sendable' protocol
12 | let label: String
13 | let report: Bool
:
97 | func scheduleWipe() {
98 | serial.async {
99 | if self.working { self.needsWipe = true }
| `- warning: capture of 'self' with non-sendable type 'AsyncMap<T, U>' in a '@Sendable' closure; this is an error in the Swift 6 language mode
100 | else { self.wipe() }
101 | }
/host/spi-builder-workspace/Sources/Acheron/Utility/Log.swift:12:24: warning: static property 'url' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
10 |
11 | class Log {
12 | private static var url: URL? = nil
| |- warning: static property 'url' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'url' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'url' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
13 |
14 | static func setPath(_ path: String) {
/host/spi-builder-workspace/Sources/Acheron/Utility/Log.swift:17:33: warning: result of call to 'createFile(atPath:contents:attributes:)' is unused
15 | url = URL(fileURLWithPath: path)
16 | if !FileManager.default.fileExists(atPath: url!.path) {
17 | FileManager.default.createFile(atPath: url!.path, contents: nil, attributes: nil)
| `- warning: result of call to 'createFile(atPath:contents:attributes:)' is unused
18 | }
19 | }
/host/spi-builder-workspace/Sources/Acheron/Pebbles/Pond.swift:40:36: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
38 | print("\n =======================\n")
39 |
40 | DispatchQueue.main.async { self.onCompleted() }
| |- warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
| `- note: task-isolated 'self' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
41 | }
42 |
/host/spi-builder-workspace/Sources/Acheron/Pebbles/Pond.swift:60:18: warning: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure; this is an error in the Swift 6 language mode
58 | public func pebble(name: String, onMain: Bool = true, _ payload: @escaping () async -> Bool) -> Pebble {
59 | pebble(name: name, onMain: onMain) { (complete: @escaping (Bool)->()) in
60 | Task {
| `- warning: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure; this is an error in the Swift 6 language mode
61 | let result: Bool = await payload()
| `- note: closure captures 'payload' which is accessible to code in the current task
62 | complete(result)
63 | }
/host/spi-builder-workspace/Sources/Acheron/Pebbles/Pond.swift:67:50: warning: sending 'task' risks causing data races; this is an error in the Swift 6 language mode
65 | }
66 | public func addCompletionTask(_ task: @escaping ()->()) {
67 | if completed { DispatchQueue.main.sync { task() } }
| |- warning: sending 'task' risks causing data races; this is an error in the Swift 6 language mode
| `- note: task-isolated 'task' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
68 | else { tasks.append(task) }
69 | }
[337/344] Compiling Acheron Pen.swift
/host/spi-builder-workspace/Sources/Acheron/Utility/Profiler.swift:37:23: warning: static property 'profiler' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
35 |
36 | public class Profiler {
37 | public static var profiler: Profiler = Profiler()
| |- warning: static property 'profiler' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'profiler' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'profiler' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
38 |
39 | private let stopwatches: DoubleMap = DoubleMap()
/host/spi-builder-workspace/Sources/Acheron/Utility/ScramMap.swift:54:13: warning: capture of 'self' with non-sendable type 'ScramMap<T, U>' in a '@Sendable' closure; this is an error in the Swift 6 language mode
16 | }
17 |
18 | public class ScramMap<T:Hashable, U:Scramble<T>> {
| `- note: generic class 'ScramMap' does not conform to the 'Sendable' protocol
19 | let label: String
20 | let report: Bool
:
52 | private func handleRequests() {
53 | serial.async {
54 | self.working = true
| `- warning: capture of 'self' with non-sendable type 'ScramMap<T, U>' in a '@Sendable' closure; this is an error in the Swift 6 language mode
55 | let keys: [T] = Array(self.requestedKeys)
56 | guard keys.count > 0 else {
/host/spi-builder-workspace/Sources/Acheron/Utility/ScramMap.swift:63:20: warning: capture of 'self' with non-sendable type 'ScramMap<T, U>' in an isolated closure; this is an error in the Swift 6 language mode
16 | }
17 |
18 | public class ScramMap<T:Hashable, U:Scramble<T>> {
| `- note: generic class 'ScramMap' does not conform to the 'Sendable' protocol
19 | let label: String
20 | let report: Bool
:
61 | let group: DispatchGroup = DispatchGroup()
62 | keys.forEach { (key: T) in
63 | if self.report { print("[ \(self.label) ] request [ \(key) ]") }
| `- warning: capture of 'self' with non-sendable type 'ScramMap<T, U>' in an isolated closure; this is an error in the Swift 6 language mode
64 | group.enter()
65 | self.concurrent.async {
/host/spi-builder-workspace/Sources/Acheron/Utility/ScramMap.swift:66:36: warning: capture of 'self' with non-sendable type 'ScramMap<T, U>' in a '@Sendable' closure; this is an error in the Swift 6 language mode
16 | }
17 |
18 | public class ScramMap<T:Hashable, U:Scramble<T>> {
| `- note: generic class 'ScramMap' does not conform to the 'Sendable' protocol
19 | let label: String
20 | let report: Bool
:
64 | group.enter()
65 | self.concurrent.async {
66 | let value: U = self[key]
| `- warning: capture of 'self' with non-sendable type 'ScramMap<T, U>' in a '@Sendable' closure; this is an error in the Swift 6 language mode
67 | self.onScrape(key, value)
68 | self.serial.async {
/host/spi-builder-workspace/Sources/Acheron/Utility/ScramMap.swift:66:41: warning: capture of 'key' with non-sendable type 'T' in a '@Sendable' closure; this is an error in the Swift 6 language mode
16 | }
17 |
18 | public class ScramMap<T:Hashable, U:Scramble<T>> {
| `- note: consider making generic parameter 'T' conform to the 'Sendable' protocol
19 | let label: String
20 | let report: Bool
:
64 | group.enter()
65 | self.concurrent.async {
66 | let value: U = self[key]
| `- warning: capture of 'key' with non-sendable type 'T' in a '@Sendable' closure; this is an error in the Swift 6 language mode
67 | self.onScrape(key, value)
68 | self.serial.async {
/host/spi-builder-workspace/Sources/Acheron/Utility/ScramMap.swift:69:28: warning: capture of 'value' with non-sendable type 'U' in a '@Sendable' closure; this is an error in the Swift 6 language mode
16 | }
17 |
18 | public class ScramMap<T:Hashable, U:Scramble<T>> {
| `- note: consider making generic parameter 'U' conform to the 'Sendable' protocol
19 | let label: String
20 | let report: Bool
:
67 | self.onScrape(key, value)
68 | self.serial.async {
69 | if value.complete { self.completedKeys.insert(key) }
| `- warning: capture of 'value' with non-sendable type 'U' in a '@Sendable' closure; this is an error in the Swift 6 language mode
70 | self.requestedKeys.remove(key)
71 | if value.progress { self.onProgress(key) }
/host/spi-builder-workspace/Sources/Acheron/Utility/ScramMap.swift:69:45: warning: capture of 'self' with non-sendable type 'ScramMap<T, U>' in a '@Sendable' closure; this is an error in the Swift 6 language mode
16 | }
17 |
18 | public class ScramMap<T:Hashable, U:Scramble<T>> {
| `- note: generic class 'ScramMap' does not conform to the 'Sendable' protocol
19 | let label: String
20 | let report: Bool
:
67 | self.onScrape(key, value)
68 | self.serial.async {
69 | if value.complete { self.completedKeys.insert(key) }
| `- warning: capture of 'self' with non-sendable type 'ScramMap<T, U>' in a '@Sendable' closure; this is an error in the Swift 6 language mode
70 | self.requestedKeys.remove(key)
71 | if value.progress { self.onProgress(key) }
/host/spi-builder-workspace/Sources/Acheron/Utility/ScramMap.swift:69:71: warning: capture of 'key' with non-sendable type 'T' in a '@Sendable' closure; this is an error in the Swift 6 language mode
16 | }
17 |
18 | public class ScramMap<T:Hashable, U:Scramble<T>> {
| `- note: consider making generic parameter 'T' conform to the 'Sendable' protocol
19 | let label: String
20 | let report: Bool
:
67 | self.onScrape(key, value)
68 | self.serial.async {
69 | if value.complete { self.completedKeys.insert(key) }
| `- warning: capture of 'key' with non-sendable type 'T' in a '@Sendable' closure; this is an error in the Swift 6 language mode
70 | self.requestedKeys.remove(key)
71 | if value.progress { self.onProgress(key) }
/host/spi-builder-workspace/Sources/Acheron/Utility/ScramMap.swift:76:48: warning: capture of 'self' with non-sendable type 'ScramMap<T, U>' in an isolated closure; this is an error in the Swift 6 language mode
16 | }
17 |
18 | public class ScramMap<T:Hashable, U:Scramble<T>> {
| `- note: generic class 'ScramMap' does not conform to the 'Sendable' protocol
19 | let label: String
20 | let report: Bool
:
74 | }
75 | }
76 | group.notify(queue: self.serial) { self.handleRequests() }
| `- warning: capture of 'self' with non-sendable type 'ScramMap<T, U>' in an isolated closure; this is an error in the Swift 6 language mode
77 | }
78 | }
/host/spi-builder-workspace/Sources/Acheron/Utility/ScramMap.swift:82:39: warning: capture of 'keys' with non-sendable type '[T]' in a '@Sendable' closure; this is an error in the Swift 6 language mode
16 | }
17 |
18 | public class ScramMap<T:Hashable, U:Scramble<T>> {
| `- note: consider making generic parameter 'T' conform to the 'Sendable' protocol
19 | let label: String
20 | let report: Bool
:
80 | guard keys.count > 0 else { return }
81 | serial.async {
82 | let newKeys: Set<T> = Set(keys).subtracting(self.completedKeys).subtracting(self.requestedKeys)
| `- warning: capture of 'keys' with non-sendable type '[T]' in a '@Sendable' closure; this is an error in the Swift 6 language mode
83 | guard newKeys.count > 0 else { return }
84 | let restart: Bool = !newKeys.isEmpty && self.requestedKeys.isEmpty
/host/spi-builder-workspace/Sources/Acheron/Utility/ScramMap.swift:82:57: warning: capture of 'self' with non-sendable type 'ScramMap<T, U>' in a '@Sendable' closure; this is an error in the Swift 6 language mode
16 | }
17 |
18 | public class ScramMap<T:Hashable, U:Scramble<T>> {
| `- note: generic class 'ScramMap' does not conform to the 'Sendable' protocol
19 | let label: String
20 | let report: Bool
:
80 | guard keys.count > 0 else { return }
81 | serial.async {
82 | let newKeys: Set<T> = Set(keys).subtracting(self.completedKeys).subtracting(self.requestedKeys)
| `- warning: capture of 'self' with non-sendable type 'ScramMap<T, U>' in a '@Sendable' closure; this is an error in the Swift 6 language mode
83 | guard newKeys.count > 0 else { return }
84 | let restart: Bool = !newKeys.isEmpty && self.requestedKeys.isEmpty
/host/spi-builder-workspace/Sources/Acheron/Utility/ScramMap.swift:84:53: warning: implicit capture of 'self' requires that 'ScramMap<T, U>' conforms to 'Sendable'; this is an error in the Swift 6 language mode
16 | }
17 |
18 | public class ScramMap<T:Hashable, U:Scramble<T>> {
| `- note: generic class 'ScramMap' does not conform to the 'Sendable' protocol
19 | let label: String
20 | let report: Bool
:
82 | let newKeys: Set<T> = Set(keys).subtracting(self.completedKeys).subtracting(self.requestedKeys)
83 | guard newKeys.count > 0 else { return }
84 | let restart: Bool = !newKeys.isEmpty && self.requestedKeys.isEmpty
| `- warning: implicit capture of 'self' requires that 'ScramMap<T, U>' conforms to 'Sendable'; this is an error in the Swift 6 language mode
85 | self.requestedKeys.formUnion(newKeys)
86 | if restart {
[338/344] Compiling Acheron Profiler.swift
/host/spi-builder-workspace/Sources/Acheron/Utility/Profiler.swift:37:23: warning: static property 'profiler' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
35 |
36 | public class Profiler {
37 | public static var profiler: Profiler = Profiler()
| |- warning: static property 'profiler' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'profiler' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'profiler' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
38 |
39 | private let stopwatches: DoubleMap = DoubleMap()
/host/spi-builder-workspace/Sources/Acheron/Utility/ScramMap.swift:54:13: warning: capture of 'self' with non-sendable type 'ScramMap<T, U>' in a '@Sendable' closure; this is an error in the Swift 6 language mode
16 | }
17 |
18 | public class ScramMap<T:Hashable, U:Scramble<T>> {
| `- note: generic class 'ScramMap' does not conform to the 'Sendable' protocol
19 | let label: String
20 | let report: Bool
:
52 | private func handleRequests() {
53 | serial.async {
54 | self.working = true
| `- warning: capture of 'self' with non-sendable type 'ScramMap<T, U>' in a '@Sendable' closure; this is an error in the Swift 6 language mode
55 | let keys: [T] = Array(self.requestedKeys)
56 | guard keys.count > 0 else {
/host/spi-builder-workspace/Sources/Acheron/Utility/ScramMap.swift:63:20: warning: capture of 'self' with non-sendable type 'ScramMap<T, U>' in an isolated closure; this is an error in the Swift 6 language mode
16 | }
17 |
18 | public class ScramMap<T:Hashable, U:Scramble<T>> {
| `- note: generic class 'ScramMap' does not conform to the 'Sendable' protocol
19 | let label: String
20 | let report: Bool
:
61 | let group: DispatchGroup = DispatchGroup()
62 | keys.forEach { (key: T) in
63 | if self.report { print("[ \(self.label) ] request [ \(key) ]") }
| `- warning: capture of 'self' with non-sendable type 'ScramMap<T, U>' in an isolated closure; this is an error in the Swift 6 language mode
64 | group.enter()
65 | self.concurrent.async {
/host/spi-builder-workspace/Sources/Acheron/Utility/ScramMap.swift:66:36: warning: capture of 'self' with non-sendable type 'ScramMap<T, U>' in a '@Sendable' closure; this is an error in the Swift 6 language mode
16 | }
17 |
18 | public class ScramMap<T:Hashable, U:Scramble<T>> {
| `- note: generic class 'ScramMap' does not conform to the 'Sendable' protocol
19 | let label: String
20 | let report: Bool
:
64 | group.enter()
65 | self.concurrent.async {
66 | let value: U = self[key]
| `- warning: capture of 'self' with non-sendable type 'ScramMap<T, U>' in a '@Sendable' closure; this is an error in the Swift 6 language mode
67 | self.onScrape(key, value)
68 | self.serial.async {
/host/spi-builder-workspace/Sources/Acheron/Utility/ScramMap.swift:66:41: warning: capture of 'key' with non-sendable type 'T' in a '@Sendable' closure; this is an error in the Swift 6 language mode
16 | }
17 |
18 | public class ScramMap<T:Hashable, U:Scramble<T>> {
| `- note: consider making generic parameter 'T' conform to the 'Sendable' protocol
19 | let label: String
20 | let report: Bool
:
64 | group.enter()
65 | self.concurrent.async {
66 | let value: U = self[key]
| `- warning: capture of 'key' with non-sendable type 'T' in a '@Sendable' closure; this is an error in the Swift 6 language mode
67 | self.onScrape(key, value)
68 | self.serial.async {
/host/spi-builder-workspace/Sources/Acheron/Utility/ScramMap.swift:69:28: warning: capture of 'value' with non-sendable type 'U' in a '@Sendable' closure; this is an error in the Swift 6 language mode
16 | }
17 |
18 | public class ScramMap<T:Hashable, U:Scramble<T>> {
| `- note: consider making generic parameter 'U' conform to the 'Sendable' protocol
19 | let label: String
20 | let report: Bool
:
67 | self.onScrape(key, value)
68 | self.serial.async {
69 | if value.complete { self.completedKeys.insert(key) }
| `- warning: capture of 'value' with non-sendable type 'U' in a '@Sendable' closure; this is an error in the Swift 6 language mode
70 | self.requestedKeys.remove(key)
71 | if value.progress { self.onProgress(key) }
/host/spi-builder-workspace/Sources/Acheron/Utility/ScramMap.swift:69:45: warning: capture of 'self' with non-sendable type 'ScramMap<T, U>' in a '@Sendable' closure; this is an error in the Swift 6 language mode
16 | }
17 |
18 | public class ScramMap<T:Hashable, U:Scramble<T>> {
| `- note: generic class 'ScramMap' does not conform to the 'Sendable' protocol
19 | let label: String
20 | let report: Bool
:
67 | self.onScrape(key, value)
68 | self.serial.async {
69 | if value.complete { self.completedKeys.insert(key) }
| `- warning: capture of 'self' with non-sendable type 'ScramMap<T, U>' in a '@Sendable' closure; this is an error in the Swift 6 language mode
70 | self.requestedKeys.remove(key)
71 | if value.progress { self.onProgress(key) }
/host/spi-builder-workspace/Sources/Acheron/Utility/ScramMap.swift:69:71: warning: capture of 'key' with non-sendable type 'T' in a '@Sendable' closure; this is an error in the Swift 6 language mode
16 | }
17 |
18 | public class ScramMap<T:Hashable, U:Scramble<T>> {
| `- note: consider making generic parameter 'T' conform to the 'Sendable' protocol
19 | let label: String
20 | let report: Bool
:
67 | self.onScrape(key, value)
68 | self.serial.async {
69 | if value.complete { self.completedKeys.insert(key) }
| `- warning: capture of 'key' with non-sendable type 'T' in a '@Sendable' closure; this is an error in the Swift 6 language mode
70 | self.requestedKeys.remove(key)
71 | if value.progress { self.onProgress(key) }
/host/spi-builder-workspace/Sources/Acheron/Utility/ScramMap.swift:76:48: warning: capture of 'self' with non-sendable type 'ScramMap<T, U>' in an isolated closure; this is an error in the Swift 6 language mode
16 | }
17 |
18 | public class ScramMap<T:Hashable, U:Scramble<T>> {
| `- note: generic class 'ScramMap' does not conform to the 'Sendable' protocol
19 | let label: String
20 | let report: Bool
:
74 | }
75 | }
76 | group.notify(queue: self.serial) { self.handleRequests() }
| `- warning: capture of 'self' with non-sendable type 'ScramMap<T, U>' in an isolated closure; this is an error in the Swift 6 language mode
77 | }
78 | }
/host/spi-builder-workspace/Sources/Acheron/Utility/ScramMap.swift:82:39: warning: capture of 'keys' with non-sendable type '[T]' in a '@Sendable' closure; this is an error in the Swift 6 language mode
16 | }
17 |
18 | public class ScramMap<T:Hashable, U:Scramble<T>> {
| `- note: consider making generic parameter 'T' conform to the 'Sendable' protocol
19 | let label: String
20 | let report: Bool
:
80 | guard keys.count > 0 else { return }
81 | serial.async {
82 | let newKeys: Set<T> = Set(keys).subtracting(self.completedKeys).subtracting(self.requestedKeys)
| `- warning: capture of 'keys' with non-sendable type '[T]' in a '@Sendable' closure; this is an error in the Swift 6 language mode
83 | guard newKeys.count > 0 else { return }
84 | let restart: Bool = !newKeys.isEmpty && self.requestedKeys.isEmpty
/host/spi-builder-workspace/Sources/Acheron/Utility/ScramMap.swift:82:57: warning: capture of 'self' with non-sendable type 'ScramMap<T, U>' in a '@Sendable' closure; this is an error in the Swift 6 language mode
16 | }
17 |
18 | public class ScramMap<T:Hashable, U:Scramble<T>> {
| `- note: generic class 'ScramMap' does not conform to the 'Sendable' protocol
19 | let label: String
20 | let report: Bool
:
80 | guard keys.count > 0 else { return }
81 | serial.async {
82 | let newKeys: Set<T> = Set(keys).subtracting(self.completedKeys).subtracting(self.requestedKeys)
| `- warning: capture of 'self' with non-sendable type 'ScramMap<T, U>' in a '@Sendable' closure; this is an error in the Swift 6 language mode
83 | guard newKeys.count > 0 else { return }
84 | let restart: Bool = !newKeys.isEmpty && self.requestedKeys.isEmpty
/host/spi-builder-workspace/Sources/Acheron/Utility/ScramMap.swift:84:53: warning: implicit capture of 'self' requires that 'ScramMap<T, U>' conforms to 'Sendable'; this is an error in the Swift 6 language mode
16 | }
17 |
18 | public class ScramMap<T:Hashable, U:Scramble<T>> {
| `- note: generic class 'ScramMap' does not conform to the 'Sendable' protocol
19 | let label: String
20 | let report: Bool
:
82 | let newKeys: Set<T> = Set(keys).subtracting(self.completedKeys).subtracting(self.requestedKeys)
83 | guard newKeys.count > 0 else { return }
84 | let restart: Bool = !newKeys.isEmpty && self.requestedKeys.isEmpty
| `- warning: implicit capture of 'self' requires that 'ScramMap<T, U>' conforms to 'Sendable'; this is an error in the Swift 6 language mode
85 | self.requestedKeys.formUnion(newKeys)
86 | if restart {
[339/344] Compiling Acheron RGB.swift
/host/spi-builder-workspace/Sources/Acheron/Utility/Profiler.swift:37:23: warning: static property 'profiler' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
35 |
36 | public class Profiler {
37 | public static var profiler: Profiler = Profiler()
| |- warning: static property 'profiler' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'profiler' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'profiler' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
38 |
39 | private let stopwatches: DoubleMap = DoubleMap()
/host/spi-builder-workspace/Sources/Acheron/Utility/ScramMap.swift:54:13: warning: capture of 'self' with non-sendable type 'ScramMap<T, U>' in a '@Sendable' closure; this is an error in the Swift 6 language mode
16 | }
17 |
18 | public class ScramMap<T:Hashable, U:Scramble<T>> {
| `- note: generic class 'ScramMap' does not conform to the 'Sendable' protocol
19 | let label: String
20 | let report: Bool
:
52 | private func handleRequests() {
53 | serial.async {
54 | self.working = true
| `- warning: capture of 'self' with non-sendable type 'ScramMap<T, U>' in a '@Sendable' closure; this is an error in the Swift 6 language mode
55 | let keys: [T] = Array(self.requestedKeys)
56 | guard keys.count > 0 else {
/host/spi-builder-workspace/Sources/Acheron/Utility/ScramMap.swift:63:20: warning: capture of 'self' with non-sendable type 'ScramMap<T, U>' in an isolated closure; this is an error in the Swift 6 language mode
16 | }
17 |
18 | public class ScramMap<T:Hashable, U:Scramble<T>> {
| `- note: generic class 'ScramMap' does not conform to the 'Sendable' protocol
19 | let label: String
20 | let report: Bool
:
61 | let group: DispatchGroup = DispatchGroup()
62 | keys.forEach { (key: T) in
63 | if self.report { print("[ \(self.label) ] request [ \(key) ]") }
| `- warning: capture of 'self' with non-sendable type 'ScramMap<T, U>' in an isolated closure; this is an error in the Swift 6 language mode
64 | group.enter()
65 | self.concurrent.async {
/host/spi-builder-workspace/Sources/Acheron/Utility/ScramMap.swift:66:36: warning: capture of 'self' with non-sendable type 'ScramMap<T, U>' in a '@Sendable' closure; this is an error in the Swift 6 language mode
16 | }
17 |
18 | public class ScramMap<T:Hashable, U:Scramble<T>> {
| `- note: generic class 'ScramMap' does not conform to the 'Sendable' protocol
19 | let label: String
20 | let report: Bool
:
64 | group.enter()
65 | self.concurrent.async {
66 | let value: U = self[key]
| `- warning: capture of 'self' with non-sendable type 'ScramMap<T, U>' in a '@Sendable' closure; this is an error in the Swift 6 language mode
67 | self.onScrape(key, value)
68 | self.serial.async {
/host/spi-builder-workspace/Sources/Acheron/Utility/ScramMap.swift:66:41: warning: capture of 'key' with non-sendable type 'T' in a '@Sendable' closure; this is an error in the Swift 6 language mode
16 | }
17 |
18 | public class ScramMap<T:Hashable, U:Scramble<T>> {
| `- note: consider making generic parameter 'T' conform to the 'Sendable' protocol
19 | let label: String
20 | let report: Bool
:
64 | group.enter()
65 | self.concurrent.async {
66 | let value: U = self[key]
| `- warning: capture of 'key' with non-sendable type 'T' in a '@Sendable' closure; this is an error in the Swift 6 language mode
67 | self.onScrape(key, value)
68 | self.serial.async {
/host/spi-builder-workspace/Sources/Acheron/Utility/ScramMap.swift:69:28: warning: capture of 'value' with non-sendable type 'U' in a '@Sendable' closure; this is an error in the Swift 6 language mode
16 | }
17 |
18 | public class ScramMap<T:Hashable, U:Scramble<T>> {
| `- note: consider making generic parameter 'U' conform to the 'Sendable' protocol
19 | let label: String
20 | let report: Bool
:
67 | self.onScrape(key, value)
68 | self.serial.async {
69 | if value.complete { self.completedKeys.insert(key) }
| `- warning: capture of 'value' with non-sendable type 'U' in a '@Sendable' closure; this is an error in the Swift 6 language mode
70 | self.requestedKeys.remove(key)
71 | if value.progress { self.onProgress(key) }
/host/spi-builder-workspace/Sources/Acheron/Utility/ScramMap.swift:69:45: warning: capture of 'self' with non-sendable type 'ScramMap<T, U>' in a '@Sendable' closure; this is an error in the Swift 6 language mode
16 | }
17 |
18 | public class ScramMap<T:Hashable, U:Scramble<T>> {
| `- note: generic class 'ScramMap' does not conform to the 'Sendable' protocol
19 | let label: String
20 | let report: Bool
:
67 | self.onScrape(key, value)
68 | self.serial.async {
69 | if value.complete { self.completedKeys.insert(key) }
| `- warning: capture of 'self' with non-sendable type 'ScramMap<T, U>' in a '@Sendable' closure; this is an error in the Swift 6 language mode
70 | self.requestedKeys.remove(key)
71 | if value.progress { self.onProgress(key) }
/host/spi-builder-workspace/Sources/Acheron/Utility/ScramMap.swift:69:71: warning: capture of 'key' with non-sendable type 'T' in a '@Sendable' closure; this is an error in the Swift 6 language mode
16 | }
17 |
18 | public class ScramMap<T:Hashable, U:Scramble<T>> {
| `- note: consider making generic parameter 'T' conform to the 'Sendable' protocol
19 | let label: String
20 | let report: Bool
:
67 | self.onScrape(key, value)
68 | self.serial.async {
69 | if value.complete { self.completedKeys.insert(key) }
| `- warning: capture of 'key' with non-sendable type 'T' in a '@Sendable' closure; this is an error in the Swift 6 language mode
70 | self.requestedKeys.remove(key)
71 | if value.progress { self.onProgress(key) }
/host/spi-builder-workspace/Sources/Acheron/Utility/ScramMap.swift:76:48: warning: capture of 'self' with non-sendable type 'ScramMap<T, U>' in an isolated closure; this is an error in the Swift 6 language mode
16 | }
17 |
18 | public class ScramMap<T:Hashable, U:Scramble<T>> {
| `- note: generic class 'ScramMap' does not conform to the 'Sendable' protocol
19 | let label: String
20 | let report: Bool
:
74 | }
75 | }
76 | group.notify(queue: self.serial) { self.handleRequests() }
| `- warning: capture of 'self' with non-sendable type 'ScramMap<T, U>' in an isolated closure; this is an error in the Swift 6 language mode
77 | }
78 | }
/host/spi-builder-workspace/Sources/Acheron/Utility/ScramMap.swift:82:39: warning: capture of 'keys' with non-sendable type '[T]' in a '@Sendable' closure; this is an error in the Swift 6 language mode
16 | }
17 |
18 | public class ScramMap<T:Hashable, U:Scramble<T>> {
| `- note: consider making generic parameter 'T' conform to the 'Sendable' protocol
19 | let label: String
20 | let report: Bool
:
80 | guard keys.count > 0 else { return }
81 | serial.async {
82 | let newKeys: Set<T> = Set(keys).subtracting(self.completedKeys).subtracting(self.requestedKeys)
| `- warning: capture of 'keys' with non-sendable type '[T]' in a '@Sendable' closure; this is an error in the Swift 6 language mode
83 | guard newKeys.count > 0 else { return }
84 | let restart: Bool = !newKeys.isEmpty && self.requestedKeys.isEmpty
/host/spi-builder-workspace/Sources/Acheron/Utility/ScramMap.swift:82:57: warning: capture of 'self' with non-sendable type 'ScramMap<T, U>' in a '@Sendable' closure; this is an error in the Swift 6 language mode
16 | }
17 |
18 | public class ScramMap<T:Hashable, U:Scramble<T>> {
| `- note: generic class 'ScramMap' does not conform to the 'Sendable' protocol
19 | let label: String
20 | let report: Bool
:
80 | guard keys.count > 0 else { return }
81 | serial.async {
82 | let newKeys: Set<T> = Set(keys).subtracting(self.completedKeys).subtracting(self.requestedKeys)
| `- warning: capture of 'self' with non-sendable type 'ScramMap<T, U>' in a '@Sendable' closure; this is an error in the Swift 6 language mode
83 | guard newKeys.count > 0 else { return }
84 | let restart: Bool = !newKeys.isEmpty && self.requestedKeys.isEmpty
/host/spi-builder-workspace/Sources/Acheron/Utility/ScramMap.swift:84:53: warning: implicit capture of 'self' requires that 'ScramMap<T, U>' conforms to 'Sendable'; this is an error in the Swift 6 language mode
16 | }
17 |
18 | public class ScramMap<T:Hashable, U:Scramble<T>> {
| `- note: generic class 'ScramMap' does not conform to the 'Sendable' protocol
19 | let label: String
20 | let report: Bool
:
82 | let newKeys: Set<T> = Set(keys).subtracting(self.completedKeys).subtracting(self.requestedKeys)
83 | guard newKeys.count > 0 else { return }
84 | let restart: Bool = !newKeys.isEmpty && self.requestedKeys.isEmpty
| `- warning: implicit capture of 'self' requires that 'ScramMap<T, U>' conforms to 'Sendable'; this is an error in the Swift 6 language mode
85 | self.requestedKeys.formUnion(newKeys)
86 | if restart {
[340/344] Compiling Acheron SafeMap.swift
/host/spi-builder-workspace/Sources/Acheron/Utility/Profiler.swift:37:23: warning: static property 'profiler' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
35 |
36 | public class Profiler {
37 | public static var profiler: Profiler = Profiler()
| |- warning: static property 'profiler' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'profiler' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'profiler' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
38 |
39 | private let stopwatches: DoubleMap = DoubleMap()
/host/spi-builder-workspace/Sources/Acheron/Utility/ScramMap.swift:54:13: warning: capture of 'self' with non-sendable type 'ScramMap<T, U>' in a '@Sendable' closure; this is an error in the Swift 6 language mode
16 | }
17 |
18 | public class ScramMap<T:Hashable, U:Scramble<T>> {
| `- note: generic class 'ScramMap' does not conform to the 'Sendable' protocol
19 | let label: String
20 | let report: Bool
:
52 | private func handleRequests() {
53 | serial.async {
54 | self.working = true
| `- warning: capture of 'self' with non-sendable type 'ScramMap<T, U>' in a '@Sendable' closure; this is an error in the Swift 6 language mode
55 | let keys: [T] = Array(self.requestedKeys)
56 | guard keys.count > 0 else {
/host/spi-builder-workspace/Sources/Acheron/Utility/ScramMap.swift:63:20: warning: capture of 'self' with non-sendable type 'ScramMap<T, U>' in an isolated closure; this is an error in the Swift 6 language mode
16 | }
17 |
18 | public class ScramMap<T:Hashable, U:Scramble<T>> {
| `- note: generic class 'ScramMap' does not conform to the 'Sendable' protocol
19 | let label: String
20 | let report: Bool
:
61 | let group: DispatchGroup = DispatchGroup()
62 | keys.forEach { (key: T) in
63 | if self.report { print("[ \(self.label) ] request [ \(key) ]") }
| `- warning: capture of 'self' with non-sendable type 'ScramMap<T, U>' in an isolated closure; this is an error in the Swift 6 language mode
64 | group.enter()
65 | self.concurrent.async {
/host/spi-builder-workspace/Sources/Acheron/Utility/ScramMap.swift:66:36: warning: capture of 'self' with non-sendable type 'ScramMap<T, U>' in a '@Sendable' closure; this is an error in the Swift 6 language mode
16 | }
17 |
18 | public class ScramMap<T:Hashable, U:Scramble<T>> {
| `- note: generic class 'ScramMap' does not conform to the 'Sendable' protocol
19 | let label: String
20 | let report: Bool
:
64 | group.enter()
65 | self.concurrent.async {
66 | let value: U = self[key]
| `- warning: capture of 'self' with non-sendable type 'ScramMap<T, U>' in a '@Sendable' closure; this is an error in the Swift 6 language mode
67 | self.onScrape(key, value)
68 | self.serial.async {
/host/spi-builder-workspace/Sources/Acheron/Utility/ScramMap.swift:66:41: warning: capture of 'key' with non-sendable type 'T' in a '@Sendable' closure; this is an error in the Swift 6 language mode
16 | }
17 |
18 | public class ScramMap<T:Hashable, U:Scramble<T>> {
| `- note: consider making generic parameter 'T' conform to the 'Sendable' protocol
19 | let label: String
20 | let report: Bool
:
64 | group.enter()
65 | self.concurrent.async {
66 | let value: U = self[key]
| `- warning: capture of 'key' with non-sendable type 'T' in a '@Sendable' closure; this is an error in the Swift 6 language mode
67 | self.onScrape(key, value)
68 | self.serial.async {
/host/spi-builder-workspace/Sources/Acheron/Utility/ScramMap.swift:69:28: warning: capture of 'value' with non-sendable type 'U' in a '@Sendable' closure; this is an error in the Swift 6 language mode
16 | }
17 |
18 | public class ScramMap<T:Hashable, U:Scramble<T>> {
| `- note: consider making generic parameter 'U' conform to the 'Sendable' protocol
19 | let label: String
20 | let report: Bool
:
67 | self.onScrape(key, value)
68 | self.serial.async {
69 | if value.complete { self.completedKeys.insert(key) }
| `- warning: capture of 'value' with non-sendable type 'U' in a '@Sendable' closure; this is an error in the Swift 6 language mode
70 | self.requestedKeys.remove(key)
71 | if value.progress { self.onProgress(key) }
/host/spi-builder-workspace/Sources/Acheron/Utility/ScramMap.swift:69:45: warning: capture of 'self' with non-sendable type 'ScramMap<T, U>' in a '@Sendable' closure; this is an error in the Swift 6 language mode
16 | }
17 |
18 | public class ScramMap<T:Hashable, U:Scramble<T>> {
| `- note: generic class 'ScramMap' does not conform to the 'Sendable' protocol
19 | let label: String
20 | let report: Bool
:
67 | self.onScrape(key, value)
68 | self.serial.async {
69 | if value.complete { self.completedKeys.insert(key) }
| `- warning: capture of 'self' with non-sendable type 'ScramMap<T, U>' in a '@Sendable' closure; this is an error in the Swift 6 language mode
70 | self.requestedKeys.remove(key)
71 | if value.progress { self.onProgress(key) }
/host/spi-builder-workspace/Sources/Acheron/Utility/ScramMap.swift:69:71: warning: capture of 'key' with non-sendable type 'T' in a '@Sendable' closure; this is an error in the Swift 6 language mode
16 | }
17 |
18 | public class ScramMap<T:Hashable, U:Scramble<T>> {
| `- note: consider making generic parameter 'T' conform to the 'Sendable' protocol
19 | let label: String
20 | let report: Bool
:
67 | self.onScrape(key, value)
68 | self.serial.async {
69 | if value.complete { self.completedKeys.insert(key) }
| `- warning: capture of 'key' with non-sendable type 'T' in a '@Sendable' closure; this is an error in the Swift 6 language mode
70 | self.requestedKeys.remove(key)
71 | if value.progress { self.onProgress(key) }
/host/spi-builder-workspace/Sources/Acheron/Utility/ScramMap.swift:76:48: warning: capture of 'self' with non-sendable type 'ScramMap<T, U>' in an isolated closure; this is an error in the Swift 6 language mode
16 | }
17 |
18 | public class ScramMap<T:Hashable, U:Scramble<T>> {
| `- note: generic class 'ScramMap' does not conform to the 'Sendable' protocol
19 | let label: String
20 | let report: Bool
:
74 | }
75 | }
76 | group.notify(queue: self.serial) { self.handleRequests() }
| `- warning: capture of 'self' with non-sendable type 'ScramMap<T, U>' in an isolated closure; this is an error in the Swift 6 language mode
77 | }
78 | }
/host/spi-builder-workspace/Sources/Acheron/Utility/ScramMap.swift:82:39: warning: capture of 'keys' with non-sendable type '[T]' in a '@Sendable' closure; this is an error in the Swift 6 language mode
16 | }
17 |
18 | public class ScramMap<T:Hashable, U:Scramble<T>> {
| `- note: consider making generic parameter 'T' conform to the 'Sendable' protocol
19 | let label: String
20 | let report: Bool
:
80 | guard keys.count > 0 else { return }
81 | serial.async {
82 | let newKeys: Set<T> = Set(keys).subtracting(self.completedKeys).subtracting(self.requestedKeys)
| `- warning: capture of 'keys' with non-sendable type '[T]' in a '@Sendable' closure; this is an error in the Swift 6 language mode
83 | guard newKeys.count > 0 else { return }
84 | let restart: Bool = !newKeys.isEmpty && self.requestedKeys.isEmpty
/host/spi-builder-workspace/Sources/Acheron/Utility/ScramMap.swift:82:57: warning: capture of 'self' with non-sendable type 'ScramMap<T, U>' in a '@Sendable' closure; this is an error in the Swift 6 language mode
16 | }
17 |
18 | public class ScramMap<T:Hashable, U:Scramble<T>> {
| `- note: generic class 'ScramMap' does not conform to the 'Sendable' protocol
19 | let label: String
20 | let report: Bool
:
80 | guard keys.count > 0 else { return }
81 | serial.async {
82 | let newKeys: Set<T> = Set(keys).subtracting(self.completedKeys).subtracting(self.requestedKeys)
| `- warning: capture of 'self' with non-sendable type 'ScramMap<T, U>' in a '@Sendable' closure; this is an error in the Swift 6 language mode
83 | guard newKeys.count > 0 else { return }
84 | let restart: Bool = !newKeys.isEmpty && self.requestedKeys.isEmpty
/host/spi-builder-workspace/Sources/Acheron/Utility/ScramMap.swift:84:53: warning: implicit capture of 'self' requires that 'ScramMap<T, U>' conforms to 'Sendable'; this is an error in the Swift 6 language mode
16 | }
17 |
18 | public class ScramMap<T:Hashable, U:Scramble<T>> {
| `- note: generic class 'ScramMap' does not conform to the 'Sendable' protocol
19 | let label: String
20 | let report: Bool
:
82 | let newKeys: Set<T> = Set(keys).subtracting(self.completedKeys).subtracting(self.requestedKeys)
83 | guard newKeys.count > 0 else { return }
84 | let restart: Bool = !newKeys.isEmpty && self.requestedKeys.isEmpty
| `- warning: implicit capture of 'self' requires that 'ScramMap<T, U>' conforms to 'Sendable'; this is an error in the Swift 6 language mode
85 | self.requestedKeys.formUnion(newKeys)
86 | if restart {
[341/344] Compiling Acheron SafeSet.swift
/host/spi-builder-workspace/Sources/Acheron/Utility/Profiler.swift:37:23: warning: static property 'profiler' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
35 |
36 | public class Profiler {
37 | public static var profiler: Profiler = Profiler()
| |- warning: static property 'profiler' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'profiler' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'profiler' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
38 |
39 | private let stopwatches: DoubleMap = DoubleMap()
/host/spi-builder-workspace/Sources/Acheron/Utility/ScramMap.swift:54:13: warning: capture of 'self' with non-sendable type 'ScramMap<T, U>' in a '@Sendable' closure; this is an error in the Swift 6 language mode
16 | }
17 |
18 | public class ScramMap<T:Hashable, U:Scramble<T>> {
| `- note: generic class 'ScramMap' does not conform to the 'Sendable' protocol
19 | let label: String
20 | let report: Bool
:
52 | private func handleRequests() {
53 | serial.async {
54 | self.working = true
| `- warning: capture of 'self' with non-sendable type 'ScramMap<T, U>' in a '@Sendable' closure; this is an error in the Swift 6 language mode
55 | let keys: [T] = Array(self.requestedKeys)
56 | guard keys.count > 0 else {
/host/spi-builder-workspace/Sources/Acheron/Utility/ScramMap.swift:63:20: warning: capture of 'self' with non-sendable type 'ScramMap<T, U>' in an isolated closure; this is an error in the Swift 6 language mode
16 | }
17 |
18 | public class ScramMap<T:Hashable, U:Scramble<T>> {
| `- note: generic class 'ScramMap' does not conform to the 'Sendable' protocol
19 | let label: String
20 | let report: Bool
:
61 | let group: DispatchGroup = DispatchGroup()
62 | keys.forEach { (key: T) in
63 | if self.report { print("[ \(self.label) ] request [ \(key) ]") }
| `- warning: capture of 'self' with non-sendable type 'ScramMap<T, U>' in an isolated closure; this is an error in the Swift 6 language mode
64 | group.enter()
65 | self.concurrent.async {
/host/spi-builder-workspace/Sources/Acheron/Utility/ScramMap.swift:66:36: warning: capture of 'self' with non-sendable type 'ScramMap<T, U>' in a '@Sendable' closure; this is an error in the Swift 6 language mode
16 | }
17 |
18 | public class ScramMap<T:Hashable, U:Scramble<T>> {
| `- note: generic class 'ScramMap' does not conform to the 'Sendable' protocol
19 | let label: String
20 | let report: Bool
:
64 | group.enter()
65 | self.concurrent.async {
66 | let value: U = self[key]
| `- warning: capture of 'self' with non-sendable type 'ScramMap<T, U>' in a '@Sendable' closure; this is an error in the Swift 6 language mode
67 | self.onScrape(key, value)
68 | self.serial.async {
/host/spi-builder-workspace/Sources/Acheron/Utility/ScramMap.swift:66:41: warning: capture of 'key' with non-sendable type 'T' in a '@Sendable' closure; this is an error in the Swift 6 language mode
16 | }
17 |
18 | public class ScramMap<T:Hashable, U:Scramble<T>> {
| `- note: consider making generic parameter 'T' conform to the 'Sendable' protocol
19 | let label: String
20 | let report: Bool
:
64 | group.enter()
65 | self.concurrent.async {
66 | let value: U = self[key]
| `- warning: capture of 'key' with non-sendable type 'T' in a '@Sendable' closure; this is an error in the Swift 6 language mode
67 | self.onScrape(key, value)
68 | self.serial.async {
/host/spi-builder-workspace/Sources/Acheron/Utility/ScramMap.swift:69:28: warning: capture of 'value' with non-sendable type 'U' in a '@Sendable' closure; this is an error in the Swift 6 language mode
16 | }
17 |
18 | public class ScramMap<T:Hashable, U:Scramble<T>> {
| `- note: consider making generic parameter 'U' conform to the 'Sendable' protocol
19 | let label: String
20 | let report: Bool
:
67 | self.onScrape(key, value)
68 | self.serial.async {
69 | if value.complete { self.completedKeys.insert(key) }
| `- warning: capture of 'value' with non-sendable type 'U' in a '@Sendable' closure; this is an error in the Swift 6 language mode
70 | self.requestedKeys.remove(key)
71 | if value.progress { self.onProgress(key) }
/host/spi-builder-workspace/Sources/Acheron/Utility/ScramMap.swift:69:45: warning: capture of 'self' with non-sendable type 'ScramMap<T, U>' in a '@Sendable' closure; this is an error in the Swift 6 language mode
16 | }
17 |
18 | public class ScramMap<T:Hashable, U:Scramble<T>> {
| `- note: generic class 'ScramMap' does not conform to the 'Sendable' protocol
19 | let label: String
20 | let report: Bool
:
67 | self.onScrape(key, value)
68 | self.serial.async {
69 | if value.complete { self.completedKeys.insert(key) }
| `- warning: capture of 'self' with non-sendable type 'ScramMap<T, U>' in a '@Sendable' closure; this is an error in the Swift 6 language mode
70 | self.requestedKeys.remove(key)
71 | if value.progress { self.onProgress(key) }
/host/spi-builder-workspace/Sources/Acheron/Utility/ScramMap.swift:69:71: warning: capture of 'key' with non-sendable type 'T' in a '@Sendable' closure; this is an error in the Swift 6 language mode
16 | }
17 |
18 | public class ScramMap<T:Hashable, U:Scramble<T>> {
| `- note: consider making generic parameter 'T' conform to the 'Sendable' protocol
19 | let label: String
20 | let report: Bool
:
67 | self.onScrape(key, value)
68 | self.serial.async {
69 | if value.complete { self.completedKeys.insert(key) }
| `- warning: capture of 'key' with non-sendable type 'T' in a '@Sendable' closure; this is an error in the Swift 6 language mode
70 | self.requestedKeys.remove(key)
71 | if value.progress { self.onProgress(key) }
/host/spi-builder-workspace/Sources/Acheron/Utility/ScramMap.swift:76:48: warning: capture of 'self' with non-sendable type 'ScramMap<T, U>' in an isolated closure; this is an error in the Swift 6 language mode
16 | }
17 |
18 | public class ScramMap<T:Hashable, U:Scramble<T>> {
| `- note: generic class 'ScramMap' does not conform to the 'Sendable' protocol
19 | let label: String
20 | let report: Bool
:
74 | }
75 | }
76 | group.notify(queue: self.serial) { self.handleRequests() }
| `- warning: capture of 'self' with non-sendable type 'ScramMap<T, U>' in an isolated closure; this is an error in the Swift 6 language mode
77 | }
78 | }
/host/spi-builder-workspace/Sources/Acheron/Utility/ScramMap.swift:82:39: warning: capture of 'keys' with non-sendable type '[T]' in a '@Sendable' closure; this is an error in the Swift 6 language mode
16 | }
17 |
18 | public class ScramMap<T:Hashable, U:Scramble<T>> {
| `- note: consider making generic parameter 'T' conform to the 'Sendable' protocol
19 | let label: String
20 | let report: Bool
:
80 | guard keys.count > 0 else { return }
81 | serial.async {
82 | let newKeys: Set<T> = Set(keys).subtracting(self.completedKeys).subtracting(self.requestedKeys)
| `- warning: capture of 'keys' with non-sendable type '[T]' in a '@Sendable' closure; this is an error in the Swift 6 language mode
83 | guard newKeys.count > 0 else { return }
84 | let restart: Bool = !newKeys.isEmpty && self.requestedKeys.isEmpty
/host/spi-builder-workspace/Sources/Acheron/Utility/ScramMap.swift:82:57: warning: capture of 'self' with non-sendable type 'ScramMap<T, U>' in a '@Sendable' closure; this is an error in the Swift 6 language mode
16 | }
17 |
18 | public class ScramMap<T:Hashable, U:Scramble<T>> {
| `- note: generic class 'ScramMap' does not conform to the 'Sendable' protocol
19 | let label: String
20 | let report: Bool
:
80 | guard keys.count > 0 else { return }
81 | serial.async {
82 | let newKeys: Set<T> = Set(keys).subtracting(self.completedKeys).subtracting(self.requestedKeys)
| `- warning: capture of 'self' with non-sendable type 'ScramMap<T, U>' in a '@Sendable' closure; this is an error in the Swift 6 language mode
83 | guard newKeys.count > 0 else { return }
84 | let restart: Bool = !newKeys.isEmpty && self.requestedKeys.isEmpty
/host/spi-builder-workspace/Sources/Acheron/Utility/ScramMap.swift:84:53: warning: implicit capture of 'self' requires that 'ScramMap<T, U>' conforms to 'Sendable'; this is an error in the Swift 6 language mode
16 | }
17 |
18 | public class ScramMap<T:Hashable, U:Scramble<T>> {
| `- note: generic class 'ScramMap' does not conform to the 'Sendable' protocol
19 | let label: String
20 | let report: Bool
:
82 | let newKeys: Set<T> = Set(keys).subtracting(self.completedKeys).subtracting(self.requestedKeys)
83 | guard newKeys.count > 0 else { return }
84 | let restart: Bool = !newKeys.isEmpty && self.requestedKeys.isEmpty
| `- warning: implicit capture of 'self' requires that 'ScramMap<T, U>' conforms to 'Sendable'; this is an error in the Swift 6 language mode
85 | self.requestedKeys.formUnion(newKeys)
86 | if restart {
[342/344] Compiling Acheron ScramMap.swift
/host/spi-builder-workspace/Sources/Acheron/Utility/Profiler.swift:37:23: warning: static property 'profiler' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
35 |
36 | public class Profiler {
37 | public static var profiler: Profiler = Profiler()
| |- warning: static property 'profiler' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'profiler' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'profiler' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
38 |
39 | private let stopwatches: DoubleMap = DoubleMap()
/host/spi-builder-workspace/Sources/Acheron/Utility/ScramMap.swift:54:13: warning: capture of 'self' with non-sendable type 'ScramMap<T, U>' in a '@Sendable' closure; this is an error in the Swift 6 language mode
16 | }
17 |
18 | public class ScramMap<T:Hashable, U:Scramble<T>> {
| `- note: generic class 'ScramMap' does not conform to the 'Sendable' protocol
19 | let label: String
20 | let report: Bool
:
52 | private func handleRequests() {
53 | serial.async {
54 | self.working = true
| `- warning: capture of 'self' with non-sendable type 'ScramMap<T, U>' in a '@Sendable' closure; this is an error in the Swift 6 language mode
55 | let keys: [T] = Array(self.requestedKeys)
56 | guard keys.count > 0 else {
/host/spi-builder-workspace/Sources/Acheron/Utility/ScramMap.swift:63:20: warning: capture of 'self' with non-sendable type 'ScramMap<T, U>' in an isolated closure; this is an error in the Swift 6 language mode
16 | }
17 |
18 | public class ScramMap<T:Hashable, U:Scramble<T>> {
| `- note: generic class 'ScramMap' does not conform to the 'Sendable' protocol
19 | let label: String
20 | let report: Bool
:
61 | let group: DispatchGroup = DispatchGroup()
62 | keys.forEach { (key: T) in
63 | if self.report { print("[ \(self.label) ] request [ \(key) ]") }
| `- warning: capture of 'self' with non-sendable type 'ScramMap<T, U>' in an isolated closure; this is an error in the Swift 6 language mode
64 | group.enter()
65 | self.concurrent.async {
/host/spi-builder-workspace/Sources/Acheron/Utility/ScramMap.swift:66:36: warning: capture of 'self' with non-sendable type 'ScramMap<T, U>' in a '@Sendable' closure; this is an error in the Swift 6 language mode
16 | }
17 |
18 | public class ScramMap<T:Hashable, U:Scramble<T>> {
| `- note: generic class 'ScramMap' does not conform to the 'Sendable' protocol
19 | let label: String
20 | let report: Bool
:
64 | group.enter()
65 | self.concurrent.async {
66 | let value: U = self[key]
| `- warning: capture of 'self' with non-sendable type 'ScramMap<T, U>' in a '@Sendable' closure; this is an error in the Swift 6 language mode
67 | self.onScrape(key, value)
68 | self.serial.async {
/host/spi-builder-workspace/Sources/Acheron/Utility/ScramMap.swift:66:41: warning: capture of 'key' with non-sendable type 'T' in a '@Sendable' closure; this is an error in the Swift 6 language mode
16 | }
17 |
18 | public class ScramMap<T:Hashable, U:Scramble<T>> {
| `- note: consider making generic parameter 'T' conform to the 'Sendable' protocol
19 | let label: String
20 | let report: Bool
:
64 | group.enter()
65 | self.concurrent.async {
66 | let value: U = self[key]
| `- warning: capture of 'key' with non-sendable type 'T' in a '@Sendable' closure; this is an error in the Swift 6 language mode
67 | self.onScrape(key, value)
68 | self.serial.async {
/host/spi-builder-workspace/Sources/Acheron/Utility/ScramMap.swift:69:28: warning: capture of 'value' with non-sendable type 'U' in a '@Sendable' closure; this is an error in the Swift 6 language mode
16 | }
17 |
18 | public class ScramMap<T:Hashable, U:Scramble<T>> {
| `- note: consider making generic parameter 'U' conform to the 'Sendable' protocol
19 | let label: String
20 | let report: Bool
:
67 | self.onScrape(key, value)
68 | self.serial.async {
69 | if value.complete { self.completedKeys.insert(key) }
| `- warning: capture of 'value' with non-sendable type 'U' in a '@Sendable' closure; this is an error in the Swift 6 language mode
70 | self.requestedKeys.remove(key)
71 | if value.progress { self.onProgress(key) }
/host/spi-builder-workspace/Sources/Acheron/Utility/ScramMap.swift:69:45: warning: capture of 'self' with non-sendable type 'ScramMap<T, U>' in a '@Sendable' closure; this is an error in the Swift 6 language mode
16 | }
17 |
18 | public class ScramMap<T:Hashable, U:Scramble<T>> {
| `- note: generic class 'ScramMap' does not conform to the 'Sendable' protocol
19 | let label: String
20 | let report: Bool
:
67 | self.onScrape(key, value)
68 | self.serial.async {
69 | if value.complete { self.completedKeys.insert(key) }
| `- warning: capture of 'self' with non-sendable type 'ScramMap<T, U>' in a '@Sendable' closure; this is an error in the Swift 6 language mode
70 | self.requestedKeys.remove(key)
71 | if value.progress { self.onProgress(key) }
/host/spi-builder-workspace/Sources/Acheron/Utility/ScramMap.swift:69:71: warning: capture of 'key' with non-sendable type 'T' in a '@Sendable' closure; this is an error in the Swift 6 language mode
16 | }
17 |
18 | public class ScramMap<T:Hashable, U:Scramble<T>> {
| `- note: consider making generic parameter 'T' conform to the 'Sendable' protocol
19 | let label: String
20 | let report: Bool
:
67 | self.onScrape(key, value)
68 | self.serial.async {
69 | if value.complete { self.completedKeys.insert(key) }
| `- warning: capture of 'key' with non-sendable type 'T' in a '@Sendable' closure; this is an error in the Swift 6 language mode
70 | self.requestedKeys.remove(key)
71 | if value.progress { self.onProgress(key) }
/host/spi-builder-workspace/Sources/Acheron/Utility/ScramMap.swift:76:48: warning: capture of 'self' with non-sendable type 'ScramMap<T, U>' in an isolated closure; this is an error in the Swift 6 language mode
16 | }
17 |
18 | public class ScramMap<T:Hashable, U:Scramble<T>> {
| `- note: generic class 'ScramMap' does not conform to the 'Sendable' protocol
19 | let label: String
20 | let report: Bool
:
74 | }
75 | }
76 | group.notify(queue: self.serial) { self.handleRequests() }
| `- warning: capture of 'self' with non-sendable type 'ScramMap<T, U>' in an isolated closure; this is an error in the Swift 6 language mode
77 | }
78 | }
/host/spi-builder-workspace/Sources/Acheron/Utility/ScramMap.swift:82:39: warning: capture of 'keys' with non-sendable type '[T]' in a '@Sendable' closure; this is an error in the Swift 6 language mode
16 | }
17 |
18 | public class ScramMap<T:Hashable, U:Scramble<T>> {
| `- note: consider making generic parameter 'T' conform to the 'Sendable' protocol
19 | let label: String
20 | let report: Bool
:
80 | guard keys.count > 0 else { return }
81 | serial.async {
82 | let newKeys: Set<T> = Set(keys).subtracting(self.completedKeys).subtracting(self.requestedKeys)
| `- warning: capture of 'keys' with non-sendable type '[T]' in a '@Sendable' closure; this is an error in the Swift 6 language mode
83 | guard newKeys.count > 0 else { return }
84 | let restart: Bool = !newKeys.isEmpty && self.requestedKeys.isEmpty
/host/spi-builder-workspace/Sources/Acheron/Utility/ScramMap.swift:82:57: warning: capture of 'self' with non-sendable type 'ScramMap<T, U>' in a '@Sendable' closure; this is an error in the Swift 6 language mode
16 | }
17 |
18 | public class ScramMap<T:Hashable, U:Scramble<T>> {
| `- note: generic class 'ScramMap' does not conform to the 'Sendable' protocol
19 | let label: String
20 | let report: Bool
:
80 | guard keys.count > 0 else { return }
81 | serial.async {
82 | let newKeys: Set<T> = Set(keys).subtracting(self.completedKeys).subtracting(self.requestedKeys)
| `- warning: capture of 'self' with non-sendable type 'ScramMap<T, U>' in a '@Sendable' closure; this is an error in the Swift 6 language mode
83 | guard newKeys.count > 0 else { return }
84 | let restart: Bool = !newKeys.isEmpty && self.requestedKeys.isEmpty
/host/spi-builder-workspace/Sources/Acheron/Utility/ScramMap.swift:84:53: warning: implicit capture of 'self' requires that 'ScramMap<T, U>' conforms to 'Sendable'; this is an error in the Swift 6 language mode
16 | }
17 |
18 | public class ScramMap<T:Hashable, U:Scramble<T>> {
| `- note: generic class 'ScramMap' does not conform to the 'Sendable' protocol
19 | let label: String
20 | let report: Bool
:
82 | let newKeys: Set<T> = Set(keys).subtracting(self.completedKeys).subtracting(self.requestedKeys)
83 | guard newKeys.count > 0 else { return }
84 | let restart: Bool = !newKeys.isEmpty && self.requestedKeys.isEmpty
| `- warning: implicit capture of 'self' requires that 'ScramMap<T, U>' conforms to 'Sendable'; this is an error in the Swift 6 language mode
85 | self.requestedKeys.formUnion(newKeys)
86 | if restart {
[343/344] Compiling Acheron WeakSet.swift
/host/spi-builder-workspace/Sources/Acheron/Utility/Profiler.swift:37:23: warning: static property 'profiler' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
35 |
36 | public class Profiler {
37 | public static var profiler: Profiler = Profiler()
| |- warning: static property 'profiler' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'profiler' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'profiler' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
38 |
39 | private let stopwatches: DoubleMap = DoubleMap()
/host/spi-builder-workspace/Sources/Acheron/Utility/ScramMap.swift:54:13: warning: capture of 'self' with non-sendable type 'ScramMap<T, U>' in a '@Sendable' closure; this is an error in the Swift 6 language mode
16 | }
17 |
18 | public class ScramMap<T:Hashable, U:Scramble<T>> {
| `- note: generic class 'ScramMap' does not conform to the 'Sendable' protocol
19 | let label: String
20 | let report: Bool
:
52 | private func handleRequests() {
53 | serial.async {
54 | self.working = true
| `- warning: capture of 'self' with non-sendable type 'ScramMap<T, U>' in a '@Sendable' closure; this is an error in the Swift 6 language mode
55 | let keys: [T] = Array(self.requestedKeys)
56 | guard keys.count > 0 else {
/host/spi-builder-workspace/Sources/Acheron/Utility/ScramMap.swift:63:20: warning: capture of 'self' with non-sendable type 'ScramMap<T, U>' in an isolated closure; this is an error in the Swift 6 language mode
16 | }
17 |
18 | public class ScramMap<T:Hashable, U:Scramble<T>> {
| `- note: generic class 'ScramMap' does not conform to the 'Sendable' protocol
19 | let label: String
20 | let report: Bool
:
61 | let group: DispatchGroup = DispatchGroup()
62 | keys.forEach { (key: T) in
63 | if self.report { print("[ \(self.label) ] request [ \(key) ]") }
| `- warning: capture of 'self' with non-sendable type 'ScramMap<T, U>' in an isolated closure; this is an error in the Swift 6 language mode
64 | group.enter()
65 | self.concurrent.async {
/host/spi-builder-workspace/Sources/Acheron/Utility/ScramMap.swift:66:36: warning: capture of 'self' with non-sendable type 'ScramMap<T, U>' in a '@Sendable' closure; this is an error in the Swift 6 language mode
16 | }
17 |
18 | public class ScramMap<T:Hashable, U:Scramble<T>> {
| `- note: generic class 'ScramMap' does not conform to the 'Sendable' protocol
19 | let label: String
20 | let report: Bool
:
64 | group.enter()
65 | self.concurrent.async {
66 | let value: U = self[key]
| `- warning: capture of 'self' with non-sendable type 'ScramMap<T, U>' in a '@Sendable' closure; this is an error in the Swift 6 language mode
67 | self.onScrape(key, value)
68 | self.serial.async {
/host/spi-builder-workspace/Sources/Acheron/Utility/ScramMap.swift:66:41: warning: capture of 'key' with non-sendable type 'T' in a '@Sendable' closure; this is an error in the Swift 6 language mode
16 | }
17 |
18 | public class ScramMap<T:Hashable, U:Scramble<T>> {
| `- note: consider making generic parameter 'T' conform to the 'Sendable' protocol
19 | let label: String
20 | let report: Bool
:
64 | group.enter()
65 | self.concurrent.async {
66 | let value: U = self[key]
| `- warning: capture of 'key' with non-sendable type 'T' in a '@Sendable' closure; this is an error in the Swift 6 language mode
67 | self.onScrape(key, value)
68 | self.serial.async {
/host/spi-builder-workspace/Sources/Acheron/Utility/ScramMap.swift:69:28: warning: capture of 'value' with non-sendable type 'U' in a '@Sendable' closure; this is an error in the Swift 6 language mode
16 | }
17 |
18 | public class ScramMap<T:Hashable, U:Scramble<T>> {
| `- note: consider making generic parameter 'U' conform to the 'Sendable' protocol
19 | let label: String
20 | let report: Bool
:
67 | self.onScrape(key, value)
68 | self.serial.async {
69 | if value.complete { self.completedKeys.insert(key) }
| `- warning: capture of 'value' with non-sendable type 'U' in a '@Sendable' closure; this is an error in the Swift 6 language mode
70 | self.requestedKeys.remove(key)
71 | if value.progress { self.onProgress(key) }
/host/spi-builder-workspace/Sources/Acheron/Utility/ScramMap.swift:69:45: warning: capture of 'self' with non-sendable type 'ScramMap<T, U>' in a '@Sendable' closure; this is an error in the Swift 6 language mode
16 | }
17 |
18 | public class ScramMap<T:Hashable, U:Scramble<T>> {
| `- note: generic class 'ScramMap' does not conform to the 'Sendable' protocol
19 | let label: String
20 | let report: Bool
:
67 | self.onScrape(key, value)
68 | self.serial.async {
69 | if value.complete { self.completedKeys.insert(key) }
| `- warning: capture of 'self' with non-sendable type 'ScramMap<T, U>' in a '@Sendable' closure; this is an error in the Swift 6 language mode
70 | self.requestedKeys.remove(key)
71 | if value.progress { self.onProgress(key) }
/host/spi-builder-workspace/Sources/Acheron/Utility/ScramMap.swift:69:71: warning: capture of 'key' with non-sendable type 'T' in a '@Sendable' closure; this is an error in the Swift 6 language mode
16 | }
17 |
18 | public class ScramMap<T:Hashable, U:Scramble<T>> {
| `- note: consider making generic parameter 'T' conform to the 'Sendable' protocol
19 | let label: String
20 | let report: Bool
:
67 | self.onScrape(key, value)
68 | self.serial.async {
69 | if value.complete { self.completedKeys.insert(key) }
| `- warning: capture of 'key' with non-sendable type 'T' in a '@Sendable' closure; this is an error in the Swift 6 language mode
70 | self.requestedKeys.remove(key)
71 | if value.progress { self.onProgress(key) }
/host/spi-builder-workspace/Sources/Acheron/Utility/ScramMap.swift:76:48: warning: capture of 'self' with non-sendable type 'ScramMap<T, U>' in an isolated closure; this is an error in the Swift 6 language mode
16 | }
17 |
18 | public class ScramMap<T:Hashable, U:Scramble<T>> {
| `- note: generic class 'ScramMap' does not conform to the 'Sendable' protocol
19 | let label: String
20 | let report: Bool
:
74 | }
75 | }
76 | group.notify(queue: self.serial) { self.handleRequests() }
| `- warning: capture of 'self' with non-sendable type 'ScramMap<T, U>' in an isolated closure; this is an error in the Swift 6 language mode
77 | }
78 | }
/host/spi-builder-workspace/Sources/Acheron/Utility/ScramMap.swift:82:39: warning: capture of 'keys' with non-sendable type '[T]' in a '@Sendable' closure; this is an error in the Swift 6 language mode
16 | }
17 |
18 | public class ScramMap<T:Hashable, U:Scramble<T>> {
| `- note: consider making generic parameter 'T' conform to the 'Sendable' protocol
19 | let label: String
20 | let report: Bool
:
80 | guard keys.count > 0 else { return }
81 | serial.async {
82 | let newKeys: Set<T> = Set(keys).subtracting(self.completedKeys).subtracting(self.requestedKeys)
| `- warning: capture of 'keys' with non-sendable type '[T]' in a '@Sendable' closure; this is an error in the Swift 6 language mode
83 | guard newKeys.count > 0 else { return }
84 | let restart: Bool = !newKeys.isEmpty && self.requestedKeys.isEmpty
/host/spi-builder-workspace/Sources/Acheron/Utility/ScramMap.swift:82:57: warning: capture of 'self' with non-sendable type 'ScramMap<T, U>' in a '@Sendable' closure; this is an error in the Swift 6 language mode
16 | }
17 |
18 | public class ScramMap<T:Hashable, U:Scramble<T>> {
| `- note: generic class 'ScramMap' does not conform to the 'Sendable' protocol
19 | let label: String
20 | let report: Bool
:
80 | guard keys.count > 0 else { return }
81 | serial.async {
82 | let newKeys: Set<T> = Set(keys).subtracting(self.completedKeys).subtracting(self.requestedKeys)
| `- warning: capture of 'self' with non-sendable type 'ScramMap<T, U>' in a '@Sendable' closure; this is an error in the Swift 6 language mode
83 | guard newKeys.count > 0 else { return }
84 | let restart: Bool = !newKeys.isEmpty && self.requestedKeys.isEmpty
/host/spi-builder-workspace/Sources/Acheron/Utility/ScramMap.swift:84:53: warning: implicit capture of 'self' requires that 'ScramMap<T, U>' conforms to 'Sendable'; this is an error in the Swift 6 language mode
16 | }
17 |
18 | public class ScramMap<T:Hashable, U:Scramble<T>> {
| `- note: generic class 'ScramMap' does not conform to the 'Sendable' protocol
19 | let label: String
20 | let report: Bool
:
82 | let newKeys: Set<T> = Set(keys).subtracting(self.completedKeys).subtracting(self.requestedKeys)
83 | guard newKeys.count > 0 else { return }
84 | let restart: Bool = !newKeys.isEmpty && self.requestedKeys.isEmpty
| `- warning: implicit capture of 'self' requires that 'ScramMap<T, U>' conforms to 'Sendable'; this is an error in the Swift 6 language mode
85 | self.requestedKeys.formUnion(newKeys)
86 | if restart {
[344/344] Compiling Acheron XMLtoAttributes.swift
/host/spi-builder-workspace/Sources/Acheron/Utility/Profiler.swift:37:23: warning: static property 'profiler' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
35 |
36 | public class Profiler {
37 | public static var profiler: Profiler = Profiler()
| |- warning: static property 'profiler' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'profiler' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'profiler' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
38 |
39 | private let stopwatches: DoubleMap = DoubleMap()
/host/spi-builder-workspace/Sources/Acheron/Utility/ScramMap.swift:54:13: warning: capture of 'self' with non-sendable type 'ScramMap<T, U>' in a '@Sendable' closure; this is an error in the Swift 6 language mode
16 | }
17 |
18 | public class ScramMap<T:Hashable, U:Scramble<T>> {
| `- note: generic class 'ScramMap' does not conform to the 'Sendable' protocol
19 | let label: String
20 | let report: Bool
:
52 | private func handleRequests() {
53 | serial.async {
54 | self.working = true
| `- warning: capture of 'self' with non-sendable type 'ScramMap<T, U>' in a '@Sendable' closure; this is an error in the Swift 6 language mode
55 | let keys: [T] = Array(self.requestedKeys)
56 | guard keys.count > 0 else {
/host/spi-builder-workspace/Sources/Acheron/Utility/ScramMap.swift:63:20: warning: capture of 'self' with non-sendable type 'ScramMap<T, U>' in an isolated closure; this is an error in the Swift 6 language mode
16 | }
17 |
18 | public class ScramMap<T:Hashable, U:Scramble<T>> {
| `- note: generic class 'ScramMap' does not conform to the 'Sendable' protocol
19 | let label: String
20 | let report: Bool
:
61 | let group: DispatchGroup = DispatchGroup()
62 | keys.forEach { (key: T) in
63 | if self.report { print("[ \(self.label) ] request [ \(key) ]") }
| `- warning: capture of 'self' with non-sendable type 'ScramMap<T, U>' in an isolated closure; this is an error in the Swift 6 language mode
64 | group.enter()
65 | self.concurrent.async {
/host/spi-builder-workspace/Sources/Acheron/Utility/ScramMap.swift:66:36: warning: capture of 'self' with non-sendable type 'ScramMap<T, U>' in a '@Sendable' closure; this is an error in the Swift 6 language mode
16 | }
17 |
18 | public class ScramMap<T:Hashable, U:Scramble<T>> {
| `- note: generic class 'ScramMap' does not conform to the 'Sendable' protocol
19 | let label: String
20 | let report: Bool
:
64 | group.enter()
65 | self.concurrent.async {
66 | let value: U = self[key]
| `- warning: capture of 'self' with non-sendable type 'ScramMap<T, U>' in a '@Sendable' closure; this is an error in the Swift 6 language mode
67 | self.onScrape(key, value)
68 | self.serial.async {
/host/spi-builder-workspace/Sources/Acheron/Utility/ScramMap.swift:66:41: warning: capture of 'key' with non-sendable type 'T' in a '@Sendable' closure; this is an error in the Swift 6 language mode
16 | }
17 |
18 | public class ScramMap<T:Hashable, U:Scramble<T>> {
| `- note: consider making generic parameter 'T' conform to the 'Sendable' protocol
19 | let label: String
20 | let report: Bool
:
64 | group.enter()
65 | self.concurrent.async {
66 | let value: U = self[key]
| `- warning: capture of 'key' with non-sendable type 'T' in a '@Sendable' closure; this is an error in the Swift 6 language mode
67 | self.onScrape(key, value)
68 | self.serial.async {
/host/spi-builder-workspace/Sources/Acheron/Utility/ScramMap.swift:69:28: warning: capture of 'value' with non-sendable type 'U' in a '@Sendable' closure; this is an error in the Swift 6 language mode
16 | }
17 |
18 | public class ScramMap<T:Hashable, U:Scramble<T>> {
| `- note: consider making generic parameter 'U' conform to the 'Sendable' protocol
19 | let label: String
20 | let report: Bool
:
67 | self.onScrape(key, value)
68 | self.serial.async {
69 | if value.complete { self.completedKeys.insert(key) }
| `- warning: capture of 'value' with non-sendable type 'U' in a '@Sendable' closure; this is an error in the Swift 6 language mode
70 | self.requestedKeys.remove(key)
71 | if value.progress { self.onProgress(key) }
/host/spi-builder-workspace/Sources/Acheron/Utility/ScramMap.swift:69:45: warning: capture of 'self' with non-sendable type 'ScramMap<T, U>' in a '@Sendable' closure; this is an error in the Swift 6 language mode
16 | }
17 |
18 | public class ScramMap<T:Hashable, U:Scramble<T>> {
| `- note: generic class 'ScramMap' does not conform to the 'Sendable' protocol
19 | let label: String
20 | let report: Bool
:
67 | self.onScrape(key, value)
68 | self.serial.async {
69 | if value.complete { self.completedKeys.insert(key) }
| `- warning: capture of 'self' with non-sendable type 'ScramMap<T, U>' in a '@Sendable' closure; this is an error in the Swift 6 language mode
70 | self.requestedKeys.remove(key)
71 | if value.progress { self.onProgress(key) }
/host/spi-builder-workspace/Sources/Acheron/Utility/ScramMap.swift:69:71: warning: capture of 'key' with non-sendable type 'T' in a '@Sendable' closure; this is an error in the Swift 6 language mode
16 | }
17 |
18 | public class ScramMap<T:Hashable, U:Scramble<T>> {
| `- note: consider making generic parameter 'T' conform to the 'Sendable' protocol
19 | let label: String
20 | let report: Bool
:
67 | self.onScrape(key, value)
68 | self.serial.async {
69 | if value.complete { self.completedKeys.insert(key) }
| `- warning: capture of 'key' with non-sendable type 'T' in a '@Sendable' closure; this is an error in the Swift 6 language mode
70 | self.requestedKeys.remove(key)
71 | if value.progress { self.onProgress(key) }
/host/spi-builder-workspace/Sources/Acheron/Utility/ScramMap.swift:76:48: warning: capture of 'self' with non-sendable type 'ScramMap<T, U>' in an isolated closure; this is an error in the Swift 6 language mode
16 | }
17 |
18 | public class ScramMap<T:Hashable, U:Scramble<T>> {
| `- note: generic class 'ScramMap' does not conform to the 'Sendable' protocol
19 | let label: String
20 | let report: Bool
:
74 | }
75 | }
76 | group.notify(queue: self.serial) { self.handleRequests() }
| `- warning: capture of 'self' with non-sendable type 'ScramMap<T, U>' in an isolated closure; this is an error in the Swift 6 language mode
77 | }
78 | }
/host/spi-builder-workspace/Sources/Acheron/Utility/ScramMap.swift:82:39: warning: capture of 'keys' with non-sendable type '[T]' in a '@Sendable' closure; this is an error in the Swift 6 language mode
16 | }
17 |
18 | public class ScramMap<T:Hashable, U:Scramble<T>> {
| `- note: consider making generic parameter 'T' conform to the 'Sendable' protocol
19 | let label: String
20 | let report: Bool
:
80 | guard keys.count > 0 else { return }
81 | serial.async {
82 | let newKeys: Set<T> = Set(keys).subtracting(self.completedKeys).subtracting(self.requestedKeys)
| `- warning: capture of 'keys' with non-sendable type '[T]' in a '@Sendable' closure; this is an error in the Swift 6 language mode
83 | guard newKeys.count > 0 else { return }
84 | let restart: Bool = !newKeys.isEmpty && self.requestedKeys.isEmpty
/host/spi-builder-workspace/Sources/Acheron/Utility/ScramMap.swift:82:57: warning: capture of 'self' with non-sendable type 'ScramMap<T, U>' in a '@Sendable' closure; this is an error in the Swift 6 language mode
16 | }
17 |
18 | public class ScramMap<T:Hashable, U:Scramble<T>> {
| `- note: generic class 'ScramMap' does not conform to the 'Sendable' protocol
19 | let label: String
20 | let report: Bool
:
80 | guard keys.count > 0 else { return }
81 | serial.async {
82 | let newKeys: Set<T> = Set(keys).subtracting(self.completedKeys).subtracting(self.requestedKeys)
| `- warning: capture of 'self' with non-sendable type 'ScramMap<T, U>' in a '@Sendable' closure; this is an error in the Swift 6 language mode
83 | guard newKeys.count > 0 else { return }
84 | let restart: Bool = !newKeys.isEmpty && self.requestedKeys.isEmpty
/host/spi-builder-workspace/Sources/Acheron/Utility/ScramMap.swift:84:53: warning: implicit capture of 'self' requires that 'ScramMap<T, U>' conforms to 'Sendable'; this is an error in the Swift 6 language mode
16 | }
17 |
18 | public class ScramMap<T:Hashable, U:Scramble<T>> {
| `- note: generic class 'ScramMap' does not conform to the 'Sendable' protocol
19 | let label: String
20 | let report: Bool
:
82 | let newKeys: Set<T> = Set(keys).subtracting(self.completedKeys).subtracting(self.requestedKeys)
83 | guard newKeys.count > 0 else { return }
84 | let restart: Bool = !newKeys.isEmpty && self.requestedKeys.isEmpty
| `- warning: implicit capture of 'self' requires that 'ScramMap<T, U>' conforms to 'Sendable'; this is an error in the Swift 6 language mode
85 | self.requestedKeys.formUnion(newKeys)
86 | if restart {
Build complete! (82.36s)
Build complete.
{
"dependencies" : [
{
"identity" : "swift-syntax",
"requirement" : {
"range" : [
{
"lower_bound" : "600.0.0",
"upper_bound" : "601.0.0"
}
]
},
"type" : "sourceControl",
"url" : "https://github.com/swiftlang/swift-syntax.git"
}
],
"manifest_display_name" : "Acheron",
"name" : "Acheron",
"path" : "/host/spi-builder-workspace",
"platforms" : [
{
"name" : "ios",
"version" : "13.0"
},
{
"name" : "macos",
"version" : "12.0"
},
{
"name" : "maccatalyst",
"version" : "13.0"
}
],
"products" : [
{
"name" : "Acheron",
"targets" : [
"Acheron"
],
"type" : {
"library" : [
"automatic"
]
}
},
{
"name" : "AcheronMacros",
"targets" : [
"AcheronMacros"
],
"type" : {
"macro" : null
}
}
],
"swift_languages_versions" : [
"5"
],
"targets" : [
{
"c99name" : "AcheronTests",
"module_type" : "SwiftTarget",
"name" : "AcheronTests",
"path" : "Tests/AcheronTests",
"sources" : [
"LoomTests.swift",
"SQLitePersistTests.swift",
"StringAcheronTests.swift",
"WeaveTests.swift"
],
"target_dependencies" : [
"Acheron"
],
"type" : "test"
},
{
"c99name" : "AcheronMacros",
"module_type" : "SwiftTarget",
"name" : "AcheronMacros",
"path" : "Sources/AcheronMacros",
"product_dependencies" : [
"SwiftSyntaxMacros",
"SwiftCompilerPlugin"
],
"product_memberships" : [
"Acheron",
"AcheronMacros"
],
"sources" : [
"AcheronMacros.swift"
],
"type" : "macro"
},
{
"c99name" : "Acheron",
"module_type" : "SwiftTarget",
"name" : "Acheron",
"path" : "Sources/Acheron",
"product_memberships" : [
"Acheron"
],
"sources" : [
"Extensions/Array+Acheron.swift",
"Extensions/Bundle+Acheron.swift",
"Extensions/CALayer+Acheron.swift",
"Extensions/CGPoint+Acheron.swift",
"Extensions/CGRect+Acheron.swift",
"Extensions/CGSize+Acheron.swift",
"Extensions/CaseIterable+Acheron.swift",
"Extensions/Codable+Acheron.swift",
"Extensions/Comparable+Acheron.swift",
"Extensions/Date+Acheron.swift",
"Extensions/Dictionary+Acheron.swift",
"Extensions/NSMutableAttributedString+Acheron.swift",
"Extensions/String+Acheron.swift",
"Extensions/UIButton+Acheron.swift",
"Extensions/UIColor+Acheron.swift",
"Extensions/UIControl+Acheron.swift",
"Extensions/UIImage+Acheron.swift",
"Extensions/UIImageView+Acheron.swift",
"Extensions/UILabel+Acheron.swift",
"Extensions/UITextField+Acheron.swift",
"Extensions/UIView+Acheron.swift",
"Extensions/UIViewController+Acheron.swift",
"Interface/AETableView.swift",
"Interface/AEViewController.swift",
"Interface/CellsView.swift",
"Interface/CellsViewCell.swift",
"Interface/ColorView.swift",
"Interface/ExpandableCell.swift",
"Interface/ExpandableTableView.swift",
"Interface/NodeView/Node.swift",
"Interface/NodeView/NodeCell.swift",
"Interface/NodeView/NodeColumn.swift",
"Interface/NodeView/NodeData.swift",
"Interface/NodeView/NodeHeader.swift",
"Interface/NodeView/NodeView.swift",
"Interface/Screen.swift",
"Interface/SplitterView.swift",
"Interface/TripWire.swift",
"Interface/UIKit/AEControl.swift",
"Interface/UIKit/AETableViewCell.swift",
"Interface/UIKit/AEView.swift",
"Loom/Anchor.swift",
"Loom/Basket.swift",
"Loom/Domain.swift",
"Loom/Loom.swift",
"Loom/Persist.swift",
"Loom/Persists/SQLitePersist.swift",
"Loom/Weave.swift",
"Network/Wrapper.swift",
"Pebbles/BackgroundPond.swift",
"Pebbles/Pebble.swift",
"Pebbles/Pond.swift",
"Utility/AESync.swift",
"Utility/AETimer.swift",
"Utility/AsyncMap.swift",
"Utility/CSV.swift",
"Utility/Log.swift",
"Utility/Pen.swift",
"Utility/Profiler.swift",
"Utility/RGB.swift",
"Utility/SafeMap.swift",
"Utility/SafeSet.swift",
"Utility/ScramMap.swift",
"Utility/WeakSet.swift",
"Utility/XMLtoAttributes.swift"
],
"target_dependencies" : [
"AcheronMacros"
],
"type" : "library"
}
],
"tools_version" : "6.1"
}
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.