Build Information
Successful build of Acheron, reference master (982528), with Swift 6.1 for Linux on 29 Apr 2026 12:46:55 UTC.
Swift 6 data race errors: 5
Build Command
bash -c docker run --pull=always --rm -v "checkouts-4606859-3":/host -w "$PWD" -e JAVA_HOME="/root/.sdkman/candidates/java/current" -e SPI_BUILD="1" -e SPI_PROCESSING="1" registry.gitlab.com/swiftpackageindex/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
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 | }
[44/66] Compiling Acheron Pond.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 | }
[45/66] Compiling Acheron AESync.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 | }
[46/66] 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 | }
[47/66] 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 | }
[48/66] 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 | }
[49/66] 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 | }
[50/66] Compiling Acheron Pen.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 | }
[51/66] Compiling Acheron Date+Acheron.swift
/host/spi-builder-workspace/Sources/Acheron/Extensions/Date+Acheron.swift:21:24: warning: static property 'formatters' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
19 | }
20 |
21 | private static var formatters: [String:DateFormatter] = [:]
| |- warning: static property 'formatters' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'formatters' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'formatters' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
22 | func format(_ template: String) -> String {
23 | var formatter = Date.formatters[template]
/host/spi-builder-workspace/Sources/Acheron/Extensions/Date+Acheron.swift:39:16: warning: static property 'isoFormatter' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
37 | static var now: Date { Date() }
38 |
39 | static var isoFormatter: DateFormatter = {
| |- warning: static property 'isoFormatter' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'isoFormatter' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'isoFormatter' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
40 | var formatter = DateFormatter()
41 | formatter.locale = Locale(identifier: "en_US_POSIX")
/host/spi-builder-workspace/Sources/Acheron/Extensions/Date+Acheron.swift:45:16: warning: static property 'iso8601Formatter' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
43 | return formatter
44 | }()
45 | static var iso8601Formatter: ISO8601DateFormatter = {
| |- warning: static property 'iso8601Formatter' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'iso8601Formatter' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'iso8601Formatter' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
46 | let formatter: ISO8601DateFormatter = ISO8601DateFormatter()
47 | if #available(iOS 11, *) {
[52/66] Compiling Acheron Dictionary+Acheron.swift
/host/spi-builder-workspace/Sources/Acheron/Extensions/Date+Acheron.swift:21:24: warning: static property 'formatters' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
19 | }
20 |
21 | private static var formatters: [String:DateFormatter] = [:]
| |- warning: static property 'formatters' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'formatters' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'formatters' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
22 | func format(_ template: String) -> String {
23 | var formatter = Date.formatters[template]
/host/spi-builder-workspace/Sources/Acheron/Extensions/Date+Acheron.swift:39:16: warning: static property 'isoFormatter' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
37 | static var now: Date { Date() }
38 |
39 | static var isoFormatter: DateFormatter = {
| |- warning: static property 'isoFormatter' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'isoFormatter' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'isoFormatter' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
40 | var formatter = DateFormatter()
41 | formatter.locale = Locale(identifier: "en_US_POSIX")
/host/spi-builder-workspace/Sources/Acheron/Extensions/Date+Acheron.swift:45:16: warning: static property 'iso8601Formatter' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
43 | return formatter
44 | }()
45 | static var iso8601Formatter: ISO8601DateFormatter = {
| |- warning: static property 'iso8601Formatter' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'iso8601Formatter' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'iso8601Formatter' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
46 | let formatter: ISO8601DateFormatter = ISO8601DateFormatter()
47 | if #available(iOS 11, *) {
[53/66] Compiling Acheron NSMutableAttributedString+Acheron.swift
/host/spi-builder-workspace/Sources/Acheron/Extensions/Date+Acheron.swift:21:24: warning: static property 'formatters' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
19 | }
20 |
21 | private static var formatters: [String:DateFormatter] = [:]
| |- warning: static property 'formatters' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'formatters' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'formatters' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
22 | func format(_ template: String) -> String {
23 | var formatter = Date.formatters[template]
/host/spi-builder-workspace/Sources/Acheron/Extensions/Date+Acheron.swift:39:16: warning: static property 'isoFormatter' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
37 | static var now: Date { Date() }
38 |
39 | static var isoFormatter: DateFormatter = {
| |- warning: static property 'isoFormatter' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'isoFormatter' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'isoFormatter' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
40 | var formatter = DateFormatter()
41 | formatter.locale = Locale(identifier: "en_US_POSIX")
/host/spi-builder-workspace/Sources/Acheron/Extensions/Date+Acheron.swift:45:16: warning: static property 'iso8601Formatter' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
43 | return formatter
44 | }()
45 | static var iso8601Formatter: ISO8601DateFormatter = {
| |- warning: static property 'iso8601Formatter' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'iso8601Formatter' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'iso8601Formatter' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
46 | let formatter: ISO8601DateFormatter = ISO8601DateFormatter()
47 | if #available(iOS 11, *) {
[54/66] Compiling Acheron String+Acheron.swift
/host/spi-builder-workspace/Sources/Acheron/Extensions/Date+Acheron.swift:21:24: warning: static property 'formatters' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
19 | }
20 |
21 | private static var formatters: [String:DateFormatter] = [:]
| |- warning: static property 'formatters' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'formatters' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'formatters' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
22 | func format(_ template: String) -> String {
23 | var formatter = Date.formatters[template]
/host/spi-builder-workspace/Sources/Acheron/Extensions/Date+Acheron.swift:39:16: warning: static property 'isoFormatter' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
37 | static var now: Date { Date() }
38 |
39 | static var isoFormatter: DateFormatter = {
| |- warning: static property 'isoFormatter' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'isoFormatter' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'isoFormatter' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
40 | var formatter = DateFormatter()
41 | formatter.locale = Locale(identifier: "en_US_POSIX")
/host/spi-builder-workspace/Sources/Acheron/Extensions/Date+Acheron.swift:45:16: warning: static property 'iso8601Formatter' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
43 | return formatter
44 | }()
45 | static var iso8601Formatter: ISO8601DateFormatter = {
| |- warning: static property 'iso8601Formatter' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'iso8601Formatter' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'iso8601Formatter' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
46 | let formatter: ISO8601DateFormatter = ISO8601DateFormatter()
47 | if #available(iOS 11, *) {
[55/66] Compiling Acheron UIButton+Acheron.swift
/host/spi-builder-workspace/Sources/Acheron/Extensions/Date+Acheron.swift:21:24: warning: static property 'formatters' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
19 | }
20 |
21 | private static var formatters: [String:DateFormatter] = [:]
| |- warning: static property 'formatters' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'formatters' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'formatters' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
22 | func format(_ template: String) -> String {
23 | var formatter = Date.formatters[template]
/host/spi-builder-workspace/Sources/Acheron/Extensions/Date+Acheron.swift:39:16: warning: static property 'isoFormatter' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
37 | static var now: Date { Date() }
38 |
39 | static var isoFormatter: DateFormatter = {
| |- warning: static property 'isoFormatter' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'isoFormatter' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'isoFormatter' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
40 | var formatter = DateFormatter()
41 | formatter.locale = Locale(identifier: "en_US_POSIX")
/host/spi-builder-workspace/Sources/Acheron/Extensions/Date+Acheron.swift:45:16: warning: static property 'iso8601Formatter' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
43 | return formatter
44 | }()
45 | static var iso8601Formatter: ISO8601DateFormatter = {
| |- warning: static property 'iso8601Formatter' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'iso8601Formatter' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'iso8601Formatter' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
46 | let formatter: ISO8601DateFormatter = ISO8601DateFormatter()
47 | if #available(iOS 11, *) {
[56/66] Compiling Acheron UIColor+Acheron.swift
/host/spi-builder-workspace/Sources/Acheron/Extensions/Date+Acheron.swift:21:24: warning: static property 'formatters' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
19 | }
20 |
21 | private static var formatters: [String:DateFormatter] = [:]
| |- warning: static property 'formatters' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'formatters' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'formatters' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
22 | func format(_ template: String) -> String {
23 | var formatter = Date.formatters[template]
/host/spi-builder-workspace/Sources/Acheron/Extensions/Date+Acheron.swift:39:16: warning: static property 'isoFormatter' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
37 | static var now: Date { Date() }
38 |
39 | static var isoFormatter: DateFormatter = {
| |- warning: static property 'isoFormatter' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'isoFormatter' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'isoFormatter' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
40 | var formatter = DateFormatter()
41 | formatter.locale = Locale(identifier: "en_US_POSIX")
/host/spi-builder-workspace/Sources/Acheron/Extensions/Date+Acheron.swift:45:16: warning: static property 'iso8601Formatter' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
43 | return formatter
44 | }()
45 | static var iso8601Formatter: ISO8601DateFormatter = {
| |- warning: static property 'iso8601Formatter' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'iso8601Formatter' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'iso8601Formatter' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
46 | let formatter: ISO8601DateFormatter = ISO8601DateFormatter()
47 | if #available(iOS 11, *) {
[57/66] Compiling Acheron UIControl+Acheron.swift
/host/spi-builder-workspace/Sources/Acheron/Extensions/Date+Acheron.swift:21:24: warning: static property 'formatters' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
19 | }
20 |
21 | private static var formatters: [String:DateFormatter] = [:]
| |- warning: static property 'formatters' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'formatters' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'formatters' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
22 | func format(_ template: String) -> String {
23 | var formatter = Date.formatters[template]
/host/spi-builder-workspace/Sources/Acheron/Extensions/Date+Acheron.swift:39:16: warning: static property 'isoFormatter' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
37 | static var now: Date { Date() }
38 |
39 | static var isoFormatter: DateFormatter = {
| |- warning: static property 'isoFormatter' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'isoFormatter' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'isoFormatter' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
40 | var formatter = DateFormatter()
41 | formatter.locale = Locale(identifier: "en_US_POSIX")
/host/spi-builder-workspace/Sources/Acheron/Extensions/Date+Acheron.swift:45:16: warning: static property 'iso8601Formatter' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
43 | return formatter
44 | }()
45 | static var iso8601Formatter: ISO8601DateFormatter = {
| |- warning: static property 'iso8601Formatter' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'iso8601Formatter' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'iso8601Formatter' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
46 | let formatter: ISO8601DateFormatter = ISO8601DateFormatter()
47 | if #available(iOS 11, *) {
[58/66] Compiling Acheron UIImage+Acheron.swift
/host/spi-builder-workspace/Sources/Acheron/Extensions/Date+Acheron.swift:21:24: warning: static property 'formatters' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
19 | }
20 |
21 | private static var formatters: [String:DateFormatter] = [:]
| |- warning: static property 'formatters' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'formatters' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'formatters' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
22 | func format(_ template: String) -> String {
23 | var formatter = Date.formatters[template]
/host/spi-builder-workspace/Sources/Acheron/Extensions/Date+Acheron.swift:39:16: warning: static property 'isoFormatter' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
37 | static var now: Date { Date() }
38 |
39 | static var isoFormatter: DateFormatter = {
| |- warning: static property 'isoFormatter' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'isoFormatter' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'isoFormatter' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
40 | var formatter = DateFormatter()
41 | formatter.locale = Locale(identifier: "en_US_POSIX")
/host/spi-builder-workspace/Sources/Acheron/Extensions/Date+Acheron.swift:45:16: warning: static property 'iso8601Formatter' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
43 | return formatter
44 | }()
45 | static var iso8601Formatter: ISO8601DateFormatter = {
| |- warning: static property 'iso8601Formatter' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'iso8601Formatter' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'iso8601Formatter' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
46 | let formatter: ISO8601DateFormatter = ISO8601DateFormatter()
47 | if #available(iOS 11, *) {
[59/66] Compiling Acheron Anchor.swift
/host/spi-builder-workspace/Sources/Acheron/Network/Wrapper.swift:44:17: warning: capture of 'failure' with non-sendable type '(String) -> ()' in a '@Sendable' closure; this is an error in the Swift 6 language mode
42 | let task = session.dataTask(with: request) { (data: Data?, response: URLResponse?, error: Error?) in
43 | if let error {
44 | failure(error.localizedDescription)
| |- warning: capture of 'failure' with non-sendable type '(String) -> ()' 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'
45 | return
46 | }
/host/spi-builder-workspace/Sources/Acheron/Network/Wrapper.swift:56:67: warning: capture of 'success' with non-sendable type '([String : Any]) -> ()' in a '@Sendable' closure; this is an error in the Swift 6 language mode
54 | }
55 |
56 | if let result = String(data: data, encoding: .utf8) { success(result.toAttributes()) }
| |- warning: capture of 'success' with non-sendable type '([String : Any]) -> ()' 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'
57 | else { failure("decode failed") }
58 | }
[60/66] Compiling Acheron Basket.swift
/host/spi-builder-workspace/Sources/Acheron/Network/Wrapper.swift:44:17: warning: capture of 'failure' with non-sendable type '(String) -> ()' in a '@Sendable' closure; this is an error in the Swift 6 language mode
42 | let task = session.dataTask(with: request) { (data: Data?, response: URLResponse?, error: Error?) in
43 | if let error {
44 | failure(error.localizedDescription)
| |- warning: capture of 'failure' with non-sendable type '(String) -> ()' 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'
45 | return
46 | }
/host/spi-builder-workspace/Sources/Acheron/Network/Wrapper.swift:56:67: warning: capture of 'success' with non-sendable type '([String : Any]) -> ()' in a '@Sendable' closure; this is an error in the Swift 6 language mode
54 | }
55 |
56 | if let result = String(data: data, encoding: .utf8) { success(result.toAttributes()) }
| |- warning: capture of 'success' with non-sendable type '([String : Any]) -> ()' 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'
57 | else { failure("decode failed") }
58 | }
[61/66] Compiling Acheron Domain.swift
/host/spi-builder-workspace/Sources/Acheron/Network/Wrapper.swift:44:17: warning: capture of 'failure' with non-sendable type '(String) -> ()' in a '@Sendable' closure; this is an error in the Swift 6 language mode
42 | let task = session.dataTask(with: request) { (data: Data?, response: URLResponse?, error: Error?) in
43 | if let error {
44 | failure(error.localizedDescription)
| |- warning: capture of 'failure' with non-sendable type '(String) -> ()' 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'
45 | return
46 | }
/host/spi-builder-workspace/Sources/Acheron/Network/Wrapper.swift:56:67: warning: capture of 'success' with non-sendable type '([String : Any]) -> ()' in a '@Sendable' closure; this is an error in the Swift 6 language mode
54 | }
55 |
56 | if let result = String(data: data, encoding: .utf8) { success(result.toAttributes()) }
| |- warning: capture of 'success' with non-sendable type '([String : Any]) -> ()' 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'
57 | else { failure("decode failed") }
58 | }
[62/66] Compiling Acheron Loom.swift
/host/spi-builder-workspace/Sources/Acheron/Network/Wrapper.swift:44:17: warning: capture of 'failure' with non-sendable type '(String) -> ()' in a '@Sendable' closure; this is an error in the Swift 6 language mode
42 | let task = session.dataTask(with: request) { (data: Data?, response: URLResponse?, error: Error?) in
43 | if let error {
44 | failure(error.localizedDescription)
| |- warning: capture of 'failure' with non-sendable type '(String) -> ()' 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'
45 | return
46 | }
/host/spi-builder-workspace/Sources/Acheron/Network/Wrapper.swift:56:67: warning: capture of 'success' with non-sendable type '([String : Any]) -> ()' in a '@Sendable' closure; this is an error in the Swift 6 language mode
54 | }
55 |
56 | if let result = String(data: data, encoding: .utf8) { success(result.toAttributes()) }
| |- warning: capture of 'success' with non-sendable type '([String : Any]) -> ()' 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'
57 | else { failure("decode failed") }
58 | }
[63/66] Compiling Acheron Persist.swift
/host/spi-builder-workspace/Sources/Acheron/Network/Wrapper.swift:44:17: warning: capture of 'failure' with non-sendable type '(String) -> ()' in a '@Sendable' closure; this is an error in the Swift 6 language mode
42 | let task = session.dataTask(with: request) { (data: Data?, response: URLResponse?, error: Error?) in
43 | if let error {
44 | failure(error.localizedDescription)
| |- warning: capture of 'failure' with non-sendable type '(String) -> ()' 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'
45 | return
46 | }
/host/spi-builder-workspace/Sources/Acheron/Network/Wrapper.swift:56:67: warning: capture of 'success' with non-sendable type '([String : Any]) -> ()' in a '@Sendable' closure; this is an error in the Swift 6 language mode
54 | }
55 |
56 | if let result = String(data: data, encoding: .utf8) { success(result.toAttributes()) }
| |- warning: capture of 'success' with non-sendable type '([String : Any]) -> ()' 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'
57 | else { failure("decode failed") }
58 | }
[64/66] Compiling Acheron SQLitePersist.swift
/host/spi-builder-workspace/Sources/Acheron/Network/Wrapper.swift:44:17: warning: capture of 'failure' with non-sendable type '(String) -> ()' in a '@Sendable' closure; this is an error in the Swift 6 language mode
42 | let task = session.dataTask(with: request) { (data: Data?, response: URLResponse?, error: Error?) in
43 | if let error {
44 | failure(error.localizedDescription)
| |- warning: capture of 'failure' with non-sendable type '(String) -> ()' 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'
45 | return
46 | }
/host/spi-builder-workspace/Sources/Acheron/Network/Wrapper.swift:56:67: warning: capture of 'success' with non-sendable type '([String : Any]) -> ()' in a '@Sendable' closure; this is an error in the Swift 6 language mode
54 | }
55 |
56 | if let result = String(data: data, encoding: .utf8) { success(result.toAttributes()) }
| |- warning: capture of 'success' with non-sendable type '([String : Any]) -> ()' 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'
57 | else { failure("decode failed") }
58 | }
[65/66] Compiling Acheron Wrapper.swift
/host/spi-builder-workspace/Sources/Acheron/Network/Wrapper.swift:44:17: warning: capture of 'failure' with non-sendable type '(String) -> ()' in a '@Sendable' closure; this is an error in the Swift 6 language mode
42 | let task = session.dataTask(with: request) { (data: Data?, response: URLResponse?, error: Error?) in
43 | if let error {
44 | failure(error.localizedDescription)
| |- warning: capture of 'failure' with non-sendable type '(String) -> ()' 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'
45 | return
46 | }
/host/spi-builder-workspace/Sources/Acheron/Network/Wrapper.swift:56:67: warning: capture of 'success' with non-sendable type '([String : Any]) -> ()' in a '@Sendable' closure; this is an error in the Swift 6 language mode
54 | }
55 |
56 | if let result = String(data: data, encoding: .utf8) { success(result.toAttributes()) }
| |- warning: capture of 'success' with non-sendable type '([String : Any]) -> ()' 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'
57 | else { failure("decode failed") }
58 | }
[66/66] Compiling Acheron BackgroundPond.swift
/host/spi-builder-workspace/Sources/Acheron/Network/Wrapper.swift:44:17: warning: capture of 'failure' with non-sendable type '(String) -> ()' in a '@Sendable' closure; this is an error in the Swift 6 language mode
42 | let task = session.dataTask(with: request) { (data: Data?, response: URLResponse?, error: Error?) in
43 | if let error {
44 | failure(error.localizedDescription)
| |- warning: capture of 'failure' with non-sendable type '(String) -> ()' 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'
45 | return
46 | }
/host/spi-builder-workspace/Sources/Acheron/Network/Wrapper.swift:56:67: warning: capture of 'success' with non-sendable type '([String : Any]) -> ()' in a '@Sendable' closure; this is an error in the Swift 6 language mode
54 | }
55 |
56 | if let result = String(data: data, encoding: .utf8) { success(result.toAttributes()) }
| |- warning: capture of 'success' with non-sendable type '([String : Any]) -> ()' 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'
57 | else { failure("decode failed") }
58 | }
Build complete! (17.45s)
Build complete.
{
"dependencies" : [
],
"manifest_display_name" : "Acheron",
"name" : "Acheron",
"path" : "/host/spi-builder-workspace",
"platforms" : [
{
"name" : "ios",
"version" : "13.0"
},
{
"name" : "macos",
"version" : "10.15"
},
{
"name" : "maccatalyst",
"version" : "13.0"
}
],
"products" : [
{
"name" : "Acheron",
"targets" : [
"Acheron"
],
"type" : {
"library" : [
"automatic"
]
}
}
],
"targets" : [
{
"c99name" : "Acheron",
"module_type" : "SwiftTarget",
"name" : "Acheron",
"path" : "Sources/Acheron",
"product_memberships" : [
"Acheron"
],
"sources" : [
"Extensions/Array+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",
"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"
],
"type" : "library"
}
],
"tools_version" : "5.5"
}
basic-6.1-latest: Pulling from swiftpackageindex/spi-images
Digest: sha256:a7bfd71e9384436264431030299dc8a2d42d0664a168cfa1a5dd84c9bc592ccf
Status: Image is up to date for registry.gitlab.com/swiftpackageindex/spi-images:basic-6.1-latest
Done.