Build Information
Successful build of Acheron, reference master (f1ce6e), with Swift 6.1 for macOS (SPM) on 30 Oct 2026 08:47:55 UTC.
Swift 6 data race errors: 9
Build Command
env DEVELOPER_DIR=/Applications/Xcode-16.3.0.app xcrun swift build --arch arm64 -Xswiftc -Xfrontend -Xswiftc -stats-output-dir -Xswiftc -Xfrontend -Xswiftc .stats -Xswiftc -strict-concurrency=complete -Xswiftc -enable-upcoming-feature -Xswiftc StrictConcurrency -Xswiftc -enable-upcoming-feature -Xswiftc DisableOutwardActorInference -Xswiftc -enable-upcoming-feature -Xswiftc GlobalActorIsolatedTypesUsability -Xswiftc -enable-upcoming-feature -Xswiftc InferSendableFromCapturesBuild Log
| `- 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]
/Users/admin/builder/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")
/Users/admin/builder/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, *) {
[289/315] Compiling Acheron String+Acheron.swift
/Users/admin/builder/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]
/Users/admin/builder/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")
/Users/admin/builder/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, *) {
[290/315] Compiling Acheron UIButton+Acheron.swift
/Users/admin/builder/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]
/Users/admin/builder/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")
/Users/admin/builder/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, *) {
[291/315] Compiling Acheron RGB.swift
/Users/admin/builder/spi-builder-workspace/Sources/Acheron/Utility/ScramMap.swift:54:13: warning: capture of 'self' with non-sendable type 'ScramMap<T, U>' in a '@Sendable' closure
16 | }
17 |
18 | public class ScramMap<T:Hashable, U:Scramble<T>> {
| `- note: generic class 'ScramMap' does not conform to the 'Sendable' protocol
19 | let label: String
20 | let report: Bool
:
52 | private func handleRequests() {
53 | serial.async {
54 | self.working = true
| `- warning: capture of 'self' with non-sendable type 'ScramMap<T, U>' in a '@Sendable' closure
55 | let keys: [T] = Array(self.requestedKeys)
56 | guard keys.count > 0 else {
/Users/admin/builder/spi-builder-workspace/Sources/Acheron/Utility/ScramMap.swift:63:20: warning: capture of 'self' with non-sendable type 'ScramMap<T, U>' in an isolated closure; this is an error in the Swift 6 language mode
16 | }
17 |
18 | public class ScramMap<T:Hashable, U:Scramble<T>> {
| `- note: generic class 'ScramMap' does not conform to the 'Sendable' protocol
19 | let label: String
20 | let report: Bool
:
61 | let group: DispatchGroup = DispatchGroup()
62 | keys.forEach { (key: T) in
63 | if self.report { print("[ \(self.label) ] request [ \(key) ]") }
| `- warning: capture of 'self' with non-sendable type 'ScramMap<T, U>' in an isolated closure; this is an error in the Swift 6 language mode
64 | group.enter()
65 | self.concurrent.async {
/Users/admin/builder/spi-builder-workspace/Sources/Acheron/Utility/ScramMap.swift:66:36: warning: capture of 'self' with non-sendable type 'ScramMap<T, U>' in a '@Sendable' closure
16 | }
17 |
18 | public class ScramMap<T:Hashable, U:Scramble<T>> {
| `- note: generic class 'ScramMap' does not conform to the 'Sendable' protocol
19 | let label: String
20 | let report: Bool
:
64 | group.enter()
65 | self.concurrent.async {
66 | let value: U = self[key]
| `- warning: capture of 'self' with non-sendable type 'ScramMap<T, U>' in a '@Sendable' closure
67 | self.onScrape(key, value)
68 | self.serial.async {
/Users/admin/builder/spi-builder-workspace/Sources/Acheron/Utility/ScramMap.swift:66:41: warning: capture of 'key' with non-sendable type 'T' in a '@Sendable' closure
16 | }
17 |
18 | public class ScramMap<T:Hashable, U:Scramble<T>> {
| `- note: consider making generic parameter 'T' conform to the 'Sendable' protocol
19 | let label: String
20 | let report: Bool
:
64 | group.enter()
65 | self.concurrent.async {
66 | let value: U = self[key]
| `- warning: capture of 'key' with non-sendable type 'T' in a '@Sendable' closure
67 | self.onScrape(key, value)
68 | self.serial.async {
/Users/admin/builder/spi-builder-workspace/Sources/Acheron/Utility/ScramMap.swift:69:28: warning: capture of 'value' with non-sendable type 'U' in a '@Sendable' closure
16 | }
17 |
18 | public class ScramMap<T:Hashable, U:Scramble<T>> {
| `- note: consider making generic parameter 'U' conform to the 'Sendable' protocol
19 | let label: String
20 | let report: Bool
:
67 | self.onScrape(key, value)
68 | self.serial.async {
69 | if value.complete { self.completedKeys.insert(key) }
| `- warning: capture of 'value' with non-sendable type 'U' in a '@Sendable' closure
70 | self.requestedKeys.remove(key)
71 | if value.progress { self.onProgress(key) }
/Users/admin/builder/spi-builder-workspace/Sources/Acheron/Utility/ScramMap.swift:69:45: warning: capture of 'self' with non-sendable type 'ScramMap<T, U>' in a '@Sendable' closure
16 | }
17 |
18 | public class ScramMap<T:Hashable, U:Scramble<T>> {
| `- note: generic class 'ScramMap' does not conform to the 'Sendable' protocol
19 | let label: String
20 | let report: Bool
:
67 | self.onScrape(key, value)
68 | self.serial.async {
69 | if value.complete { self.completedKeys.insert(key) }
| `- warning: capture of 'self' with non-sendable type 'ScramMap<T, U>' in a '@Sendable' closure
70 | self.requestedKeys.remove(key)
71 | if value.progress { self.onProgress(key) }
/Users/admin/builder/spi-builder-workspace/Sources/Acheron/Utility/ScramMap.swift:69:71: warning: capture of 'key' with non-sendable type 'T' in a '@Sendable' closure
16 | }
17 |
18 | public class ScramMap<T:Hashable, U:Scramble<T>> {
| `- note: consider making generic parameter 'T' conform to the 'Sendable' protocol
19 | let label: String
20 | let report: Bool
:
67 | self.onScrape(key, value)
68 | self.serial.async {
69 | if value.complete { self.completedKeys.insert(key) }
| `- warning: capture of 'key' with non-sendable type 'T' in a '@Sendable' closure
70 | self.requestedKeys.remove(key)
71 | if value.progress { self.onProgress(key) }
/Users/admin/builder/spi-builder-workspace/Sources/Acheron/Utility/ScramMap.swift:76:48: warning: capture of 'self' with non-sendable type 'ScramMap<T, U>' in an isolated closure; this is an error in the Swift 6 language mode
16 | }
17 |
18 | public class ScramMap<T:Hashable, U:Scramble<T>> {
| `- note: generic class 'ScramMap' does not conform to the 'Sendable' protocol
19 | let label: String
20 | let report: Bool
:
74 | }
75 | }
76 | group.notify(queue: self.serial) { self.handleRequests() }
| `- warning: capture of 'self' with non-sendable type 'ScramMap<T, U>' in an isolated closure; this is an error in the Swift 6 language mode
77 | }
78 | }
/Users/admin/builder/spi-builder-workspace/Sources/Acheron/Utility/ScramMap.swift:82:39: warning: capture of 'keys' with non-sendable type '[T]' in a '@Sendable' closure
16 | }
17 |
18 | public class ScramMap<T:Hashable, U:Scramble<T>> {
| `- note: consider making generic parameter 'T' conform to the 'Sendable' protocol
19 | let label: String
20 | let report: Bool
:
80 | guard keys.count > 0 else { return }
81 | serial.async {
82 | let newKeys: Set<T> = Set(keys).subtracting(self.completedKeys).subtracting(self.requestedKeys)
| `- warning: capture of 'keys' with non-sendable type '[T]' in a '@Sendable' closure
83 | guard newKeys.count > 0 else { return }
84 | let restart: Bool = !newKeys.isEmpty && self.requestedKeys.isEmpty
/Users/admin/builder/spi-builder-workspace/Sources/Acheron/Utility/ScramMap.swift:82:57: warning: capture of 'self' with non-sendable type 'ScramMap<T, U>' in a '@Sendable' closure
16 | }
17 |
18 | public class ScramMap<T:Hashable, U:Scramble<T>> {
| `- note: generic class 'ScramMap' does not conform to the 'Sendable' protocol
19 | let label: String
20 | let report: Bool
:
80 | guard keys.count > 0 else { return }
81 | serial.async {
82 | let newKeys: Set<T> = Set(keys).subtracting(self.completedKeys).subtracting(self.requestedKeys)
| `- warning: capture of 'self' with non-sendable type 'ScramMap<T, U>' in a '@Sendable' closure
83 | guard newKeys.count > 0 else { return }
84 | let restart: Bool = !newKeys.isEmpty && self.requestedKeys.isEmpty
/Users/admin/builder/spi-builder-workspace/Sources/Acheron/Utility/ScramMap.swift:84:53: warning: implicit capture of 'self' requires that 'ScramMap<T, U>' conforms to 'Sendable'; this is an error in the Swift 6 language mode
16 | }
17 |
18 | public class ScramMap<T:Hashable, U:Scramble<T>> {
| `- note: generic class 'ScramMap' does not conform to the 'Sendable' protocol
19 | let label: String
20 | let report: Bool
:
82 | let newKeys: Set<T> = Set(keys).subtracting(self.completedKeys).subtracting(self.requestedKeys)
83 | guard newKeys.count > 0 else { return }
84 | let restart: Bool = !newKeys.isEmpty && self.requestedKeys.isEmpty
| `- warning: implicit capture of 'self' requires that 'ScramMap<T, U>' conforms to 'Sendable'; this is an error in the Swift 6 language mode
85 | self.requestedKeys.formUnion(newKeys)
86 | if restart {
[292/315] Compiling Acheron SafeMap.swift
/Users/admin/builder/spi-builder-workspace/Sources/Acheron/Utility/ScramMap.swift:54:13: warning: capture of 'self' with non-sendable type 'ScramMap<T, U>' in a '@Sendable' closure
16 | }
17 |
18 | public class ScramMap<T:Hashable, U:Scramble<T>> {
| `- note: generic class 'ScramMap' does not conform to the 'Sendable' protocol
19 | let label: String
20 | let report: Bool
:
52 | private func handleRequests() {
53 | serial.async {
54 | self.working = true
| `- warning: capture of 'self' with non-sendable type 'ScramMap<T, U>' in a '@Sendable' closure
55 | let keys: [T] = Array(self.requestedKeys)
56 | guard keys.count > 0 else {
/Users/admin/builder/spi-builder-workspace/Sources/Acheron/Utility/ScramMap.swift:63:20: warning: capture of 'self' with non-sendable type 'ScramMap<T, U>' in an isolated closure; this is an error in the Swift 6 language mode
16 | }
17 |
18 | public class ScramMap<T:Hashable, U:Scramble<T>> {
| `- note: generic class 'ScramMap' does not conform to the 'Sendable' protocol
19 | let label: String
20 | let report: Bool
:
61 | let group: DispatchGroup = DispatchGroup()
62 | keys.forEach { (key: T) in
63 | if self.report { print("[ \(self.label) ] request [ \(key) ]") }
| `- warning: capture of 'self' with non-sendable type 'ScramMap<T, U>' in an isolated closure; this is an error in the Swift 6 language mode
64 | group.enter()
65 | self.concurrent.async {
/Users/admin/builder/spi-builder-workspace/Sources/Acheron/Utility/ScramMap.swift:66:36: warning: capture of 'self' with non-sendable type 'ScramMap<T, U>' in a '@Sendable' closure
16 | }
17 |
18 | public class ScramMap<T:Hashable, U:Scramble<T>> {
| `- note: generic class 'ScramMap' does not conform to the 'Sendable' protocol
19 | let label: String
20 | let report: Bool
:
64 | group.enter()
65 | self.concurrent.async {
66 | let value: U = self[key]
| `- warning: capture of 'self' with non-sendable type 'ScramMap<T, U>' in a '@Sendable' closure
67 | self.onScrape(key, value)
68 | self.serial.async {
/Users/admin/builder/spi-builder-workspace/Sources/Acheron/Utility/ScramMap.swift:66:41: warning: capture of 'key' with non-sendable type 'T' in a '@Sendable' closure
16 | }
17 |
18 | public class ScramMap<T:Hashable, U:Scramble<T>> {
| `- note: consider making generic parameter 'T' conform to the 'Sendable' protocol
19 | let label: String
20 | let report: Bool
:
64 | group.enter()
65 | self.concurrent.async {
66 | let value: U = self[key]
| `- warning: capture of 'key' with non-sendable type 'T' in a '@Sendable' closure
67 | self.onScrape(key, value)
68 | self.serial.async {
/Users/admin/builder/spi-builder-workspace/Sources/Acheron/Utility/ScramMap.swift:69:28: warning: capture of 'value' with non-sendable type 'U' in a '@Sendable' closure
16 | }
17 |
18 | public class ScramMap<T:Hashable, U:Scramble<T>> {
| `- note: consider making generic parameter 'U' conform to the 'Sendable' protocol
19 | let label: String
20 | let report: Bool
:
67 | self.onScrape(key, value)
68 | self.serial.async {
69 | if value.complete { self.completedKeys.insert(key) }
| `- warning: capture of 'value' with non-sendable type 'U' in a '@Sendable' closure
70 | self.requestedKeys.remove(key)
71 | if value.progress { self.onProgress(key) }
/Users/admin/builder/spi-builder-workspace/Sources/Acheron/Utility/ScramMap.swift:69:45: warning: capture of 'self' with non-sendable type 'ScramMap<T, U>' in a '@Sendable' closure
16 | }
17 |
18 | public class ScramMap<T:Hashable, U:Scramble<T>> {
| `- note: generic class 'ScramMap' does not conform to the 'Sendable' protocol
19 | let label: String
20 | let report: Bool
:
67 | self.onScrape(key, value)
68 | self.serial.async {
69 | if value.complete { self.completedKeys.insert(key) }
| `- warning: capture of 'self' with non-sendable type 'ScramMap<T, U>' in a '@Sendable' closure
70 | self.requestedKeys.remove(key)
71 | if value.progress { self.onProgress(key) }
/Users/admin/builder/spi-builder-workspace/Sources/Acheron/Utility/ScramMap.swift:69:71: warning: capture of 'key' with non-sendable type 'T' in a '@Sendable' closure
16 | }
17 |
18 | public class ScramMap<T:Hashable, U:Scramble<T>> {
| `- note: consider making generic parameter 'T' conform to the 'Sendable' protocol
19 | let label: String
20 | let report: Bool
:
67 | self.onScrape(key, value)
68 | self.serial.async {
69 | if value.complete { self.completedKeys.insert(key) }
| `- warning: capture of 'key' with non-sendable type 'T' in a '@Sendable' closure
70 | self.requestedKeys.remove(key)
71 | if value.progress { self.onProgress(key) }
/Users/admin/builder/spi-builder-workspace/Sources/Acheron/Utility/ScramMap.swift:76:48: warning: capture of 'self' with non-sendable type 'ScramMap<T, U>' in an isolated closure; this is an error in the Swift 6 language mode
16 | }
17 |
18 | public class ScramMap<T:Hashable, U:Scramble<T>> {
| `- note: generic class 'ScramMap' does not conform to the 'Sendable' protocol
19 | let label: String
20 | let report: Bool
:
74 | }
75 | }
76 | group.notify(queue: self.serial) { self.handleRequests() }
| `- warning: capture of 'self' with non-sendable type 'ScramMap<T, U>' in an isolated closure; this is an error in the Swift 6 language mode
77 | }
78 | }
/Users/admin/builder/spi-builder-workspace/Sources/Acheron/Utility/ScramMap.swift:82:39: warning: capture of 'keys' with non-sendable type '[T]' in a '@Sendable' closure
16 | }
17 |
18 | public class ScramMap<T:Hashable, U:Scramble<T>> {
| `- note: consider making generic parameter 'T' conform to the 'Sendable' protocol
19 | let label: String
20 | let report: Bool
:
80 | guard keys.count > 0 else { return }
81 | serial.async {
82 | let newKeys: Set<T> = Set(keys).subtracting(self.completedKeys).subtracting(self.requestedKeys)
| `- warning: capture of 'keys' with non-sendable type '[T]' in a '@Sendable' closure
83 | guard newKeys.count > 0 else { return }
84 | let restart: Bool = !newKeys.isEmpty && self.requestedKeys.isEmpty
/Users/admin/builder/spi-builder-workspace/Sources/Acheron/Utility/ScramMap.swift:82:57: warning: capture of 'self' with non-sendable type 'ScramMap<T, U>' in a '@Sendable' closure
16 | }
17 |
18 | public class ScramMap<T:Hashable, U:Scramble<T>> {
| `- note: generic class 'ScramMap' does not conform to the 'Sendable' protocol
19 | let label: String
20 | let report: Bool
:
80 | guard keys.count > 0 else { return }
81 | serial.async {
82 | let newKeys: Set<T> = Set(keys).subtracting(self.completedKeys).subtracting(self.requestedKeys)
| `- warning: capture of 'self' with non-sendable type 'ScramMap<T, U>' in a '@Sendable' closure
83 | guard newKeys.count > 0 else { return }
84 | let restart: Bool = !newKeys.isEmpty && self.requestedKeys.isEmpty
/Users/admin/builder/spi-builder-workspace/Sources/Acheron/Utility/ScramMap.swift:84:53: warning: implicit capture of 'self' requires that 'ScramMap<T, U>' conforms to 'Sendable'; this is an error in the Swift 6 language mode
16 | }
17 |
18 | public class ScramMap<T:Hashable, U:Scramble<T>> {
| `- note: generic class 'ScramMap' does not conform to the 'Sendable' protocol
19 | let label: String
20 | let report: Bool
:
82 | let newKeys: Set<T> = Set(keys).subtracting(self.completedKeys).subtracting(self.requestedKeys)
83 | guard newKeys.count > 0 else { return }
84 | let restart: Bool = !newKeys.isEmpty && self.requestedKeys.isEmpty
| `- warning: implicit capture of 'self' requires that 'ScramMap<T, U>' conforms to 'Sendable'; this is an error in the Swift 6 language mode
85 | self.requestedKeys.formUnion(newKeys)
86 | if restart {
[293/315] Compiling Acheron SafeSet.swift
/Users/admin/builder/spi-builder-workspace/Sources/Acheron/Utility/ScramMap.swift:54:13: warning: capture of 'self' with non-sendable type 'ScramMap<T, U>' in a '@Sendable' closure
16 | }
17 |
18 | public class ScramMap<T:Hashable, U:Scramble<T>> {
| `- note: generic class 'ScramMap' does not conform to the 'Sendable' protocol
19 | let label: String
20 | let report: Bool
:
52 | private func handleRequests() {
53 | serial.async {
54 | self.working = true
| `- warning: capture of 'self' with non-sendable type 'ScramMap<T, U>' in a '@Sendable' closure
55 | let keys: [T] = Array(self.requestedKeys)
56 | guard keys.count > 0 else {
/Users/admin/builder/spi-builder-workspace/Sources/Acheron/Utility/ScramMap.swift:63:20: warning: capture of 'self' with non-sendable type 'ScramMap<T, U>' in an isolated closure; this is an error in the Swift 6 language mode
16 | }
17 |
18 | public class ScramMap<T:Hashable, U:Scramble<T>> {
| `- note: generic class 'ScramMap' does not conform to the 'Sendable' protocol
19 | let label: String
20 | let report: Bool
:
61 | let group: DispatchGroup = DispatchGroup()
62 | keys.forEach { (key: T) in
63 | if self.report { print("[ \(self.label) ] request [ \(key) ]") }
| `- warning: capture of 'self' with non-sendable type 'ScramMap<T, U>' in an isolated closure; this is an error in the Swift 6 language mode
64 | group.enter()
65 | self.concurrent.async {
/Users/admin/builder/spi-builder-workspace/Sources/Acheron/Utility/ScramMap.swift:66:36: warning: capture of 'self' with non-sendable type 'ScramMap<T, U>' in a '@Sendable' closure
16 | }
17 |
18 | public class ScramMap<T:Hashable, U:Scramble<T>> {
| `- note: generic class 'ScramMap' does not conform to the 'Sendable' protocol
19 | let label: String
20 | let report: Bool
:
64 | group.enter()
65 | self.concurrent.async {
66 | let value: U = self[key]
| `- warning: capture of 'self' with non-sendable type 'ScramMap<T, U>' in a '@Sendable' closure
67 | self.onScrape(key, value)
68 | self.serial.async {
/Users/admin/builder/spi-builder-workspace/Sources/Acheron/Utility/ScramMap.swift:66:41: warning: capture of 'key' with non-sendable type 'T' in a '@Sendable' closure
16 | }
17 |
18 | public class ScramMap<T:Hashable, U:Scramble<T>> {
| `- note: consider making generic parameter 'T' conform to the 'Sendable' protocol
19 | let label: String
20 | let report: Bool
:
64 | group.enter()
65 | self.concurrent.async {
66 | let value: U = self[key]
| `- warning: capture of 'key' with non-sendable type 'T' in a '@Sendable' closure
67 | self.onScrape(key, value)
68 | self.serial.async {
/Users/admin/builder/spi-builder-workspace/Sources/Acheron/Utility/ScramMap.swift:69:28: warning: capture of 'value' with non-sendable type 'U' in a '@Sendable' closure
16 | }
17 |
18 | public class ScramMap<T:Hashable, U:Scramble<T>> {
| `- note: consider making generic parameter 'U' conform to the 'Sendable' protocol
19 | let label: String
20 | let report: Bool
:
67 | self.onScrape(key, value)
68 | self.serial.async {
69 | if value.complete { self.completedKeys.insert(key) }
| `- warning: capture of 'value' with non-sendable type 'U' in a '@Sendable' closure
70 | self.requestedKeys.remove(key)
71 | if value.progress { self.onProgress(key) }
/Users/admin/builder/spi-builder-workspace/Sources/Acheron/Utility/ScramMap.swift:69:45: warning: capture of 'self' with non-sendable type 'ScramMap<T, U>' in a '@Sendable' closure
16 | }
17 |
18 | public class ScramMap<T:Hashable, U:Scramble<T>> {
| `- note: generic class 'ScramMap' does not conform to the 'Sendable' protocol
19 | let label: String
20 | let report: Bool
:
67 | self.onScrape(key, value)
68 | self.serial.async {
69 | if value.complete { self.completedKeys.insert(key) }
| `- warning: capture of 'self' with non-sendable type 'ScramMap<T, U>' in a '@Sendable' closure
70 | self.requestedKeys.remove(key)
71 | if value.progress { self.onProgress(key) }
/Users/admin/builder/spi-builder-workspace/Sources/Acheron/Utility/ScramMap.swift:69:71: warning: capture of 'key' with non-sendable type 'T' in a '@Sendable' closure
16 | }
17 |
18 | public class ScramMap<T:Hashable, U:Scramble<T>> {
| `- note: consider making generic parameter 'T' conform to the 'Sendable' protocol
19 | let label: String
20 | let report: Bool
:
67 | self.onScrape(key, value)
68 | self.serial.async {
69 | if value.complete { self.completedKeys.insert(key) }
| `- warning: capture of 'key' with non-sendable type 'T' in a '@Sendable' closure
70 | self.requestedKeys.remove(key)
71 | if value.progress { self.onProgress(key) }
/Users/admin/builder/spi-builder-workspace/Sources/Acheron/Utility/ScramMap.swift:76:48: warning: capture of 'self' with non-sendable type 'ScramMap<T, U>' in an isolated closure; this is an error in the Swift 6 language mode
16 | }
17 |
18 | public class ScramMap<T:Hashable, U:Scramble<T>> {
| `- note: generic class 'ScramMap' does not conform to the 'Sendable' protocol
19 | let label: String
20 | let report: Bool
:
74 | }
75 | }
76 | group.notify(queue: self.serial) { self.handleRequests() }
| `- warning: capture of 'self' with non-sendable type 'ScramMap<T, U>' in an isolated closure; this is an error in the Swift 6 language mode
77 | }
78 | }
/Users/admin/builder/spi-builder-workspace/Sources/Acheron/Utility/ScramMap.swift:82:39: warning: capture of 'keys' with non-sendable type '[T]' in a '@Sendable' closure
16 | }
17 |
18 | public class ScramMap<T:Hashable, U:Scramble<T>> {
| `- note: consider making generic parameter 'T' conform to the 'Sendable' protocol
19 | let label: String
20 | let report: Bool
:
80 | guard keys.count > 0 else { return }
81 | serial.async {
82 | let newKeys: Set<T> = Set(keys).subtracting(self.completedKeys).subtracting(self.requestedKeys)
| `- warning: capture of 'keys' with non-sendable type '[T]' in a '@Sendable' closure
83 | guard newKeys.count > 0 else { return }
84 | let restart: Bool = !newKeys.isEmpty && self.requestedKeys.isEmpty
/Users/admin/builder/spi-builder-workspace/Sources/Acheron/Utility/ScramMap.swift:82:57: warning: capture of 'self' with non-sendable type 'ScramMap<T, U>' in a '@Sendable' closure
16 | }
17 |
18 | public class ScramMap<T:Hashable, U:Scramble<T>> {
| `- note: generic class 'ScramMap' does not conform to the 'Sendable' protocol
19 | let label: String
20 | let report: Bool
:
80 | guard keys.count > 0 else { return }
81 | serial.async {
82 | let newKeys: Set<T> = Set(keys).subtracting(self.completedKeys).subtracting(self.requestedKeys)
| `- warning: capture of 'self' with non-sendable type 'ScramMap<T, U>' in a '@Sendable' closure
83 | guard newKeys.count > 0 else { return }
84 | let restart: Bool = !newKeys.isEmpty && self.requestedKeys.isEmpty
/Users/admin/builder/spi-builder-workspace/Sources/Acheron/Utility/ScramMap.swift:84:53: warning: implicit capture of 'self' requires that 'ScramMap<T, U>' conforms to 'Sendable'; this is an error in the Swift 6 language mode
16 | }
17 |
18 | public class ScramMap<T:Hashable, U:Scramble<T>> {
| `- note: generic class 'ScramMap' does not conform to the 'Sendable' protocol
19 | let label: String
20 | let report: Bool
:
82 | let newKeys: Set<T> = Set(keys).subtracting(self.completedKeys).subtracting(self.requestedKeys)
83 | guard newKeys.count > 0 else { return }
84 | let restart: Bool = !newKeys.isEmpty && self.requestedKeys.isEmpty
| `- warning: implicit capture of 'self' requires that 'ScramMap<T, U>' conforms to 'Sendable'; this is an error in the Swift 6 language mode
85 | self.requestedKeys.formUnion(newKeys)
86 | if restart {
[294/315] Compiling Acheron ScramMap.swift
/Users/admin/builder/spi-builder-workspace/Sources/Acheron/Utility/ScramMap.swift:54:13: warning: capture of 'self' with non-sendable type 'ScramMap<T, U>' in a '@Sendable' closure
16 | }
17 |
18 | public class ScramMap<T:Hashable, U:Scramble<T>> {
| `- note: generic class 'ScramMap' does not conform to the 'Sendable' protocol
19 | let label: String
20 | let report: Bool
:
52 | private func handleRequests() {
53 | serial.async {
54 | self.working = true
| `- warning: capture of 'self' with non-sendable type 'ScramMap<T, U>' in a '@Sendable' closure
55 | let keys: [T] = Array(self.requestedKeys)
56 | guard keys.count > 0 else {
/Users/admin/builder/spi-builder-workspace/Sources/Acheron/Utility/ScramMap.swift:63:20: warning: capture of 'self' with non-sendable type 'ScramMap<T, U>' in an isolated closure; this is an error in the Swift 6 language mode
16 | }
17 |
18 | public class ScramMap<T:Hashable, U:Scramble<T>> {
| `- note: generic class 'ScramMap' does not conform to the 'Sendable' protocol
19 | let label: String
20 | let report: Bool
:
61 | let group: DispatchGroup = DispatchGroup()
62 | keys.forEach { (key: T) in
63 | if self.report { print("[ \(self.label) ] request [ \(key) ]") }
| `- warning: capture of 'self' with non-sendable type 'ScramMap<T, U>' in an isolated closure; this is an error in the Swift 6 language mode
64 | group.enter()
65 | self.concurrent.async {
/Users/admin/builder/spi-builder-workspace/Sources/Acheron/Utility/ScramMap.swift:66:36: warning: capture of 'self' with non-sendable type 'ScramMap<T, U>' in a '@Sendable' closure
16 | }
17 |
18 | public class ScramMap<T:Hashable, U:Scramble<T>> {
| `- note: generic class 'ScramMap' does not conform to the 'Sendable' protocol
19 | let label: String
20 | let report: Bool
:
64 | group.enter()
65 | self.concurrent.async {
66 | let value: U = self[key]
| `- warning: capture of 'self' with non-sendable type 'ScramMap<T, U>' in a '@Sendable' closure
67 | self.onScrape(key, value)
68 | self.serial.async {
/Users/admin/builder/spi-builder-workspace/Sources/Acheron/Utility/ScramMap.swift:66:41: warning: capture of 'key' with non-sendable type 'T' in a '@Sendable' closure
16 | }
17 |
18 | public class ScramMap<T:Hashable, U:Scramble<T>> {
| `- note: consider making generic parameter 'T' conform to the 'Sendable' protocol
19 | let label: String
20 | let report: Bool
:
64 | group.enter()
65 | self.concurrent.async {
66 | let value: U = self[key]
| `- warning: capture of 'key' with non-sendable type 'T' in a '@Sendable' closure
67 | self.onScrape(key, value)
68 | self.serial.async {
/Users/admin/builder/spi-builder-workspace/Sources/Acheron/Utility/ScramMap.swift:69:28: warning: capture of 'value' with non-sendable type 'U' in a '@Sendable' closure
16 | }
17 |
18 | public class ScramMap<T:Hashable, U:Scramble<T>> {
| `- note: consider making generic parameter 'U' conform to the 'Sendable' protocol
19 | let label: String
20 | let report: Bool
:
67 | self.onScrape(key, value)
68 | self.serial.async {
69 | if value.complete { self.completedKeys.insert(key) }
| `- warning: capture of 'value' with non-sendable type 'U' in a '@Sendable' closure
70 | self.requestedKeys.remove(key)
71 | if value.progress { self.onProgress(key) }
/Users/admin/builder/spi-builder-workspace/Sources/Acheron/Utility/ScramMap.swift:69:45: warning: capture of 'self' with non-sendable type 'ScramMap<T, U>' in a '@Sendable' closure
16 | }
17 |
18 | public class ScramMap<T:Hashable, U:Scramble<T>> {
| `- note: generic class 'ScramMap' does not conform to the 'Sendable' protocol
19 | let label: String
20 | let report: Bool
:
67 | self.onScrape(key, value)
68 | self.serial.async {
69 | if value.complete { self.completedKeys.insert(key) }
| `- warning: capture of 'self' with non-sendable type 'ScramMap<T, U>' in a '@Sendable' closure
70 | self.requestedKeys.remove(key)
71 | if value.progress { self.onProgress(key) }
/Users/admin/builder/spi-builder-workspace/Sources/Acheron/Utility/ScramMap.swift:69:71: warning: capture of 'key' with non-sendable type 'T' in a '@Sendable' closure
16 | }
17 |
18 | public class ScramMap<T:Hashable, U:Scramble<T>> {
| `- note: consider making generic parameter 'T' conform to the 'Sendable' protocol
19 | let label: String
20 | let report: Bool
:
67 | self.onScrape(key, value)
68 | self.serial.async {
69 | if value.complete { self.completedKeys.insert(key) }
| `- warning: capture of 'key' with non-sendable type 'T' in a '@Sendable' closure
70 | self.requestedKeys.remove(key)
71 | if value.progress { self.onProgress(key) }
/Users/admin/builder/spi-builder-workspace/Sources/Acheron/Utility/ScramMap.swift:76:48: warning: capture of 'self' with non-sendable type 'ScramMap<T, U>' in an isolated closure; this is an error in the Swift 6 language mode
16 | }
17 |
18 | public class ScramMap<T:Hashable, U:Scramble<T>> {
| `- note: generic class 'ScramMap' does not conform to the 'Sendable' protocol
19 | let label: String
20 | let report: Bool
:
74 | }
75 | }
76 | group.notify(queue: self.serial) { self.handleRequests() }
| `- warning: capture of 'self' with non-sendable type 'ScramMap<T, U>' in an isolated closure; this is an error in the Swift 6 language mode
77 | }
78 | }
/Users/admin/builder/spi-builder-workspace/Sources/Acheron/Utility/ScramMap.swift:82:39: warning: capture of 'keys' with non-sendable type '[T]' in a '@Sendable' closure
16 | }
17 |
18 | public class ScramMap<T:Hashable, U:Scramble<T>> {
| `- note: consider making generic parameter 'T' conform to the 'Sendable' protocol
19 | let label: String
20 | let report: Bool
:
80 | guard keys.count > 0 else { return }
81 | serial.async {
82 | let newKeys: Set<T> = Set(keys).subtracting(self.completedKeys).subtracting(self.requestedKeys)
| `- warning: capture of 'keys' with non-sendable type '[T]' in a '@Sendable' closure
83 | guard newKeys.count > 0 else { return }
84 | let restart: Bool = !newKeys.isEmpty && self.requestedKeys.isEmpty
/Users/admin/builder/spi-builder-workspace/Sources/Acheron/Utility/ScramMap.swift:82:57: warning: capture of 'self' with non-sendable type 'ScramMap<T, U>' in a '@Sendable' closure
16 | }
17 |
18 | public class ScramMap<T:Hashable, U:Scramble<T>> {
| `- note: generic class 'ScramMap' does not conform to the 'Sendable' protocol
19 | let label: String
20 | let report: Bool
:
80 | guard keys.count > 0 else { return }
81 | serial.async {
82 | let newKeys: Set<T> = Set(keys).subtracting(self.completedKeys).subtracting(self.requestedKeys)
| `- warning: capture of 'self' with non-sendable type 'ScramMap<T, U>' in a '@Sendable' closure
83 | guard newKeys.count > 0 else { return }
84 | let restart: Bool = !newKeys.isEmpty && self.requestedKeys.isEmpty
/Users/admin/builder/spi-builder-workspace/Sources/Acheron/Utility/ScramMap.swift:84:53: warning: implicit capture of 'self' requires that 'ScramMap<T, U>' conforms to 'Sendable'; this is an error in the Swift 6 language mode
16 | }
17 |
18 | public class ScramMap<T:Hashable, U:Scramble<T>> {
| `- note: generic class 'ScramMap' does not conform to the 'Sendable' protocol
19 | let label: String
20 | let report: Bool
:
82 | let newKeys: Set<T> = Set(keys).subtracting(self.completedKeys).subtracting(self.requestedKeys)
83 | guard newKeys.count > 0 else { return }
84 | let restart: Bool = !newKeys.isEmpty && self.requestedKeys.isEmpty
| `- warning: implicit capture of 'self' requires that 'ScramMap<T, U>' conforms to 'Sendable'; this is an error in the Swift 6 language mode
85 | self.requestedKeys.formUnion(newKeys)
86 | if restart {
[295/315] Compiling Acheron WeakSet.swift
/Users/admin/builder/spi-builder-workspace/Sources/Acheron/Utility/ScramMap.swift:54:13: warning: capture of 'self' with non-sendable type 'ScramMap<T, U>' in a '@Sendable' closure
16 | }
17 |
18 | public class ScramMap<T:Hashable, U:Scramble<T>> {
| `- note: generic class 'ScramMap' does not conform to the 'Sendable' protocol
19 | let label: String
20 | let report: Bool
:
52 | private func handleRequests() {
53 | serial.async {
54 | self.working = true
| `- warning: capture of 'self' with non-sendable type 'ScramMap<T, U>' in a '@Sendable' closure
55 | let keys: [T] = Array(self.requestedKeys)
56 | guard keys.count > 0 else {
/Users/admin/builder/spi-builder-workspace/Sources/Acheron/Utility/ScramMap.swift:63:20: warning: capture of 'self' with non-sendable type 'ScramMap<T, U>' in an isolated closure; this is an error in the Swift 6 language mode
16 | }
17 |
18 | public class ScramMap<T:Hashable, U:Scramble<T>> {
| `- note: generic class 'ScramMap' does not conform to the 'Sendable' protocol
19 | let label: String
20 | let report: Bool
:
61 | let group: DispatchGroup = DispatchGroup()
62 | keys.forEach { (key: T) in
63 | if self.report { print("[ \(self.label) ] request [ \(key) ]") }
| `- warning: capture of 'self' with non-sendable type 'ScramMap<T, U>' in an isolated closure; this is an error in the Swift 6 language mode
64 | group.enter()
65 | self.concurrent.async {
/Users/admin/builder/spi-builder-workspace/Sources/Acheron/Utility/ScramMap.swift:66:36: warning: capture of 'self' with non-sendable type 'ScramMap<T, U>' in a '@Sendable' closure
16 | }
17 |
18 | public class ScramMap<T:Hashable, U:Scramble<T>> {
| `- note: generic class 'ScramMap' does not conform to the 'Sendable' protocol
19 | let label: String
20 | let report: Bool
:
64 | group.enter()
65 | self.concurrent.async {
66 | let value: U = self[key]
| `- warning: capture of 'self' with non-sendable type 'ScramMap<T, U>' in a '@Sendable' closure
67 | self.onScrape(key, value)
68 | self.serial.async {
/Users/admin/builder/spi-builder-workspace/Sources/Acheron/Utility/ScramMap.swift:66:41: warning: capture of 'key' with non-sendable type 'T' in a '@Sendable' closure
16 | }
17 |
18 | public class ScramMap<T:Hashable, U:Scramble<T>> {
| `- note: consider making generic parameter 'T' conform to the 'Sendable' protocol
19 | let label: String
20 | let report: Bool
:
64 | group.enter()
65 | self.concurrent.async {
66 | let value: U = self[key]
| `- warning: capture of 'key' with non-sendable type 'T' in a '@Sendable' closure
67 | self.onScrape(key, value)
68 | self.serial.async {
/Users/admin/builder/spi-builder-workspace/Sources/Acheron/Utility/ScramMap.swift:69:28: warning: capture of 'value' with non-sendable type 'U' in a '@Sendable' closure
16 | }
17 |
18 | public class ScramMap<T:Hashable, U:Scramble<T>> {
| `- note: consider making generic parameter 'U' conform to the 'Sendable' protocol
19 | let label: String
20 | let report: Bool
:
67 | self.onScrape(key, value)
68 | self.serial.async {
69 | if value.complete { self.completedKeys.insert(key) }
| `- warning: capture of 'value' with non-sendable type 'U' in a '@Sendable' closure
70 | self.requestedKeys.remove(key)
71 | if value.progress { self.onProgress(key) }
/Users/admin/builder/spi-builder-workspace/Sources/Acheron/Utility/ScramMap.swift:69:45: warning: capture of 'self' with non-sendable type 'ScramMap<T, U>' in a '@Sendable' closure
16 | }
17 |
18 | public class ScramMap<T:Hashable, U:Scramble<T>> {
| `- note: generic class 'ScramMap' does not conform to the 'Sendable' protocol
19 | let label: String
20 | let report: Bool
:
67 | self.onScrape(key, value)
68 | self.serial.async {
69 | if value.complete { self.completedKeys.insert(key) }
| `- warning: capture of 'self' with non-sendable type 'ScramMap<T, U>' in a '@Sendable' closure
70 | self.requestedKeys.remove(key)
71 | if value.progress { self.onProgress(key) }
/Users/admin/builder/spi-builder-workspace/Sources/Acheron/Utility/ScramMap.swift:69:71: warning: capture of 'key' with non-sendable type 'T' in a '@Sendable' closure
16 | }
17 |
18 | public class ScramMap<T:Hashable, U:Scramble<T>> {
| `- note: consider making generic parameter 'T' conform to the 'Sendable' protocol
19 | let label: String
20 | let report: Bool
:
67 | self.onScrape(key, value)
68 | self.serial.async {
69 | if value.complete { self.completedKeys.insert(key) }
| `- warning: capture of 'key' with non-sendable type 'T' in a '@Sendable' closure
70 | self.requestedKeys.remove(key)
71 | if value.progress { self.onProgress(key) }
/Users/admin/builder/spi-builder-workspace/Sources/Acheron/Utility/ScramMap.swift:76:48: warning: capture of 'self' with non-sendable type 'ScramMap<T, U>' in an isolated closure; this is an error in the Swift 6 language mode
16 | }
17 |
18 | public class ScramMap<T:Hashable, U:Scramble<T>> {
| `- note: generic class 'ScramMap' does not conform to the 'Sendable' protocol
19 | let label: String
20 | let report: Bool
:
74 | }
75 | }
76 | group.notify(queue: self.serial) { self.handleRequests() }
| `- warning: capture of 'self' with non-sendable type 'ScramMap<T, U>' in an isolated closure; this is an error in the Swift 6 language mode
77 | }
78 | }
/Users/admin/builder/spi-builder-workspace/Sources/Acheron/Utility/ScramMap.swift:82:39: warning: capture of 'keys' with non-sendable type '[T]' in a '@Sendable' closure
16 | }
17 |
18 | public class ScramMap<T:Hashable, U:Scramble<T>> {
| `- note: consider making generic parameter 'T' conform to the 'Sendable' protocol
19 | let label: String
20 | let report: Bool
:
80 | guard keys.count > 0 else { return }
81 | serial.async {
82 | let newKeys: Set<T> = Set(keys).subtracting(self.completedKeys).subtracting(self.requestedKeys)
| `- warning: capture of 'keys' with non-sendable type '[T]' in a '@Sendable' closure
83 | guard newKeys.count > 0 else { return }
84 | let restart: Bool = !newKeys.isEmpty && self.requestedKeys.isEmpty
/Users/admin/builder/spi-builder-workspace/Sources/Acheron/Utility/ScramMap.swift:82:57: warning: capture of 'self' with non-sendable type 'ScramMap<T, U>' in a '@Sendable' closure
16 | }
17 |
18 | public class ScramMap<T:Hashable, U:Scramble<T>> {
| `- note: generic class 'ScramMap' does not conform to the 'Sendable' protocol
19 | let label: String
20 | let report: Bool
:
80 | guard keys.count > 0 else { return }
81 | serial.async {
82 | let newKeys: Set<T> = Set(keys).subtracting(self.completedKeys).subtracting(self.requestedKeys)
| `- warning: capture of 'self' with non-sendable type 'ScramMap<T, U>' in a '@Sendable' closure
83 | guard newKeys.count > 0 else { return }
84 | let restart: Bool = !newKeys.isEmpty && self.requestedKeys.isEmpty
/Users/admin/builder/spi-builder-workspace/Sources/Acheron/Utility/ScramMap.swift:84:53: warning: implicit capture of 'self' requires that 'ScramMap<T, U>' conforms to 'Sendable'; this is an error in the Swift 6 language mode
16 | }
17 |
18 | public class ScramMap<T:Hashable, U:Scramble<T>> {
| `- note: generic class 'ScramMap' does not conform to the 'Sendable' protocol
19 | let label: String
20 | let report: Bool
:
82 | let newKeys: Set<T> = Set(keys).subtracting(self.completedKeys).subtracting(self.requestedKeys)
83 | guard newKeys.count > 0 else { return }
84 | let restart: Bool = !newKeys.isEmpty && self.requestedKeys.isEmpty
| `- warning: implicit capture of 'self' requires that 'ScramMap<T, U>' conforms to 'Sendable'; this is an error in the Swift 6 language mode
85 | self.requestedKeys.formUnion(newKeys)
86 | if restart {
[296/315] Compiling Acheron XMLtoAttributes.swift
/Users/admin/builder/spi-builder-workspace/Sources/Acheron/Utility/ScramMap.swift:54:13: warning: capture of 'self' with non-sendable type 'ScramMap<T, U>' in a '@Sendable' closure
16 | }
17 |
18 | public class ScramMap<T:Hashable, U:Scramble<T>> {
| `- note: generic class 'ScramMap' does not conform to the 'Sendable' protocol
19 | let label: String
20 | let report: Bool
:
52 | private func handleRequests() {
53 | serial.async {
54 | self.working = true
| `- warning: capture of 'self' with non-sendable type 'ScramMap<T, U>' in a '@Sendable' closure
55 | let keys: [T] = Array(self.requestedKeys)
56 | guard keys.count > 0 else {
/Users/admin/builder/spi-builder-workspace/Sources/Acheron/Utility/ScramMap.swift:63:20: warning: capture of 'self' with non-sendable type 'ScramMap<T, U>' in an isolated closure; this is an error in the Swift 6 language mode
16 | }
17 |
18 | public class ScramMap<T:Hashable, U:Scramble<T>> {
| `- note: generic class 'ScramMap' does not conform to the 'Sendable' protocol
19 | let label: String
20 | let report: Bool
:
61 | let group: DispatchGroup = DispatchGroup()
62 | keys.forEach { (key: T) in
63 | if self.report { print("[ \(self.label) ] request [ \(key) ]") }
| `- warning: capture of 'self' with non-sendable type 'ScramMap<T, U>' in an isolated closure; this is an error in the Swift 6 language mode
64 | group.enter()
65 | self.concurrent.async {
/Users/admin/builder/spi-builder-workspace/Sources/Acheron/Utility/ScramMap.swift:66:36: warning: capture of 'self' with non-sendable type 'ScramMap<T, U>' in a '@Sendable' closure
16 | }
17 |
18 | public class ScramMap<T:Hashable, U:Scramble<T>> {
| `- note: generic class 'ScramMap' does not conform to the 'Sendable' protocol
19 | let label: String
20 | let report: Bool
:
64 | group.enter()
65 | self.concurrent.async {
66 | let value: U = self[key]
| `- warning: capture of 'self' with non-sendable type 'ScramMap<T, U>' in a '@Sendable' closure
67 | self.onScrape(key, value)
68 | self.serial.async {
/Users/admin/builder/spi-builder-workspace/Sources/Acheron/Utility/ScramMap.swift:66:41: warning: capture of 'key' with non-sendable type 'T' in a '@Sendable' closure
16 | }
17 |
18 | public class ScramMap<T:Hashable, U:Scramble<T>> {
| `- note: consider making generic parameter 'T' conform to the 'Sendable' protocol
19 | let label: String
20 | let report: Bool
:
64 | group.enter()
65 | self.concurrent.async {
66 | let value: U = self[key]
| `- warning: capture of 'key' with non-sendable type 'T' in a '@Sendable' closure
67 | self.onScrape(key, value)
68 | self.serial.async {
/Users/admin/builder/spi-builder-workspace/Sources/Acheron/Utility/ScramMap.swift:69:28: warning: capture of 'value' with non-sendable type 'U' in a '@Sendable' closure
16 | }
17 |
18 | public class ScramMap<T:Hashable, U:Scramble<T>> {
| `- note: consider making generic parameter 'U' conform to the 'Sendable' protocol
19 | let label: String
20 | let report: Bool
:
67 | self.onScrape(key, value)
68 | self.serial.async {
69 | if value.complete { self.completedKeys.insert(key) }
| `- warning: capture of 'value' with non-sendable type 'U' in a '@Sendable' closure
70 | self.requestedKeys.remove(key)
71 | if value.progress { self.onProgress(key) }
/Users/admin/builder/spi-builder-workspace/Sources/Acheron/Utility/ScramMap.swift:69:45: warning: capture of 'self' with non-sendable type 'ScramMap<T, U>' in a '@Sendable' closure
16 | }
17 |
18 | public class ScramMap<T:Hashable, U:Scramble<T>> {
| `- note: generic class 'ScramMap' does not conform to the 'Sendable' protocol
19 | let label: String
20 | let report: Bool
:
67 | self.onScrape(key, value)
68 | self.serial.async {
69 | if value.complete { self.completedKeys.insert(key) }
| `- warning: capture of 'self' with non-sendable type 'ScramMap<T, U>' in a '@Sendable' closure
70 | self.requestedKeys.remove(key)
71 | if value.progress { self.onProgress(key) }
/Users/admin/builder/spi-builder-workspace/Sources/Acheron/Utility/ScramMap.swift:69:71: warning: capture of 'key' with non-sendable type 'T' in a '@Sendable' closure
16 | }
17 |
18 | public class ScramMap<T:Hashable, U:Scramble<T>> {
| `- note: consider making generic parameter 'T' conform to the 'Sendable' protocol
19 | let label: String
20 | let report: Bool
:
67 | self.onScrape(key, value)
68 | self.serial.async {
69 | if value.complete { self.completedKeys.insert(key) }
| `- warning: capture of 'key' with non-sendable type 'T' in a '@Sendable' closure
70 | self.requestedKeys.remove(key)
71 | if value.progress { self.onProgress(key) }
/Users/admin/builder/spi-builder-workspace/Sources/Acheron/Utility/ScramMap.swift:76:48: warning: capture of 'self' with non-sendable type 'ScramMap<T, U>' in an isolated closure; this is an error in the Swift 6 language mode
16 | }
17 |
18 | public class ScramMap<T:Hashable, U:Scramble<T>> {
| `- note: generic class 'ScramMap' does not conform to the 'Sendable' protocol
19 | let label: String
20 | let report: Bool
:
74 | }
75 | }
76 | group.notify(queue: self.serial) { self.handleRequests() }
| `- warning: capture of 'self' with non-sendable type 'ScramMap<T, U>' in an isolated closure; this is an error in the Swift 6 language mode
77 | }
78 | }
/Users/admin/builder/spi-builder-workspace/Sources/Acheron/Utility/ScramMap.swift:82:39: warning: capture of 'keys' with non-sendable type '[T]' in a '@Sendable' closure
16 | }
17 |
18 | public class ScramMap<T:Hashable, U:Scramble<T>> {
| `- note: consider making generic parameter 'T' conform to the 'Sendable' protocol
19 | let label: String
20 | let report: Bool
:
80 | guard keys.count > 0 else { return }
81 | serial.async {
82 | let newKeys: Set<T> = Set(keys).subtracting(self.completedKeys).subtracting(self.requestedKeys)
| `- warning: capture of 'keys' with non-sendable type '[T]' in a '@Sendable' closure
83 | guard newKeys.count > 0 else { return }
84 | let restart: Bool = !newKeys.isEmpty && self.requestedKeys.isEmpty
/Users/admin/builder/spi-builder-workspace/Sources/Acheron/Utility/ScramMap.swift:82:57: warning: capture of 'self' with non-sendable type 'ScramMap<T, U>' in a '@Sendable' closure
16 | }
17 |
18 | public class ScramMap<T:Hashable, U:Scramble<T>> {
| `- note: generic class 'ScramMap' does not conform to the 'Sendable' protocol
19 | let label: String
20 | let report: Bool
:
80 | guard keys.count > 0 else { return }
81 | serial.async {
82 | let newKeys: Set<T> = Set(keys).subtracting(self.completedKeys).subtracting(self.requestedKeys)
| `- warning: capture of 'self' with non-sendable type 'ScramMap<T, U>' in a '@Sendable' closure
83 | guard newKeys.count > 0 else { return }
84 | let restart: Bool = !newKeys.isEmpty && self.requestedKeys.isEmpty
/Users/admin/builder/spi-builder-workspace/Sources/Acheron/Utility/ScramMap.swift:84:53: warning: implicit capture of 'self' requires that 'ScramMap<T, U>' conforms to 'Sendable'; this is an error in the Swift 6 language mode
16 | }
17 |
18 | public class ScramMap<T:Hashable, U:Scramble<T>> {
| `- note: generic class 'ScramMap' does not conform to the 'Sendable' protocol
19 | let label: String
20 | let report: Bool
:
82 | let newKeys: Set<T> = Set(keys).subtracting(self.completedKeys).subtracting(self.requestedKeys)
83 | guard newKeys.count > 0 else { return }
84 | let restart: Bool = !newKeys.isEmpty && self.requestedKeys.isEmpty
| `- warning: implicit capture of 'self' requires that 'ScramMap<T, U>' conforms to 'Sendable'; this is an error in the Swift 6 language mode
85 | self.requestedKeys.formUnion(newKeys)
86 | if restart {
[297/315] Compiling Acheron MCPServer.swift
/Users/admin/builder/spi-builder-workspace/Sources/Acheron/MCP/MCPServer.swift:76:23: warning: capture of 'self' with non-sendable type 'MCPServer?' in a '@Sendable' closure; this is an error in the Swift 6 language mode
44 | }
45 |
46 | public final class MCPServer {
| `- note: class 'MCPServer' does not conform to the 'Sendable' protocol
47 | public let name: String
48 | public let version: String
:
74 | let listener: NWListener = try NWListener(using: parameters)
75 | listener.newConnectionHandler = { [weak self] (connection: NWConnection) in
76 | guard let self else { connection.cancel(); return }
| `- warning: capture of 'self' with non-sendable type 'MCPServer?' in a '@Sendable' closure; this is an error in the Swift 6 language mode
77 | connection.start(queue: self.queue)
78 | self.serve(connection, Data())
/Users/admin/builder/spi-builder-workspace/Sources/Acheron/MCP/MCPServer.swift:140:32: warning: capture of 'self' with non-sendable type 'MCPServer?' in a '@Sendable' closure
44 | }
45 |
46 | public final class MCPServer {
| `- note: class 'MCPServer' does not conform to the 'Sendable' protocol
47 | public let name: String
48 | public let version: String
:
138 | connection.send(content: response, completion: .contentProcessed { _ in
139 | if closes || request.closes { connection.cancel() }
140 | else { self?.serve(connection, buffer) }
| `- warning: capture of 'self' with non-sendable type 'MCPServer?' in a '@Sendable' closure
141 | })
142 | }
/Users/admin/builder/spi-builder-workspace/Sources/Acheron/MCP/MCPServer.swift:140:32: warning: reference to captured var 'self' in concurrently-executing code
138 | connection.send(content: response, completion: .contentProcessed { _ in
139 | if closes || request.closes { connection.cancel() }
140 | else { self?.serve(connection, buffer) }
| `- warning: reference to captured var 'self' in concurrently-executing code
141 | })
142 | }
/Users/admin/builder/spi-builder-workspace/Sources/Acheron/MCP/MCPServer.swift:140:56: warning: reference to captured var 'buffer' in concurrently-executing code
138 | connection.send(content: response, completion: .contentProcessed { _ in
139 | if closes || request.closes { connection.cancel() }
140 | else { self?.serve(connection, buffer) }
| `- warning: reference to captured var 'buffer' in concurrently-executing code
141 | })
142 | }
/Users/admin/builder/spi-builder-workspace/Sources/Acheron/MCP/MCPServer.swift:147:50: warning: capture of 'self' with non-sendable type 'MCPServer?' in a '@Sendable' closure
44 | }
45 |
46 | public final class MCPServer {
| `- note: class 'MCPServer' does not conform to the 'Sendable' protocol
47 | public let name: String
48 | public let version: String
:
145 | case .more:
146 | connection.receive(minimumIncompleteLength: 1, maximumLength: 1 << 20) { [weak self] (data: Data?, _, complete: Bool, error: NWError?) in
147 | if let data, !data.isEmpty { self?.serve(connection, buffer + data) }
| `- warning: capture of 'self' with non-sendable type 'MCPServer?' in a '@Sendable' closure
148 | else if complete || error != nil { connection.cancel() }
149 | else { self?.serve(connection, buffer) }
/Users/admin/builder/spi-builder-workspace/Sources/Acheron/MCP/MCPServer.swift:147:74: warning: reference to captured var 'buffer' in concurrently-executing code
145 | case .more:
146 | connection.receive(minimumIncompleteLength: 1, maximumLength: 1 << 20) { [weak self] (data: Data?, _, complete: Bool, error: NWError?) in
147 | if let data, !data.isEmpty { self?.serve(connection, buffer + data) }
| `- warning: reference to captured var 'buffer' in concurrently-executing code
148 | else if complete || error != nil { connection.cancel() }
149 | else { self?.serve(connection, buffer) }
/Users/admin/builder/spi-builder-workspace/Sources/Acheron/MCP/MCPServer.swift:149:52: warning: reference to captured var 'buffer' in concurrently-executing code
147 | if let data, !data.isEmpty { self?.serve(connection, buffer + data) }
148 | else if complete || error != nil { connection.cancel() }
149 | else { self?.serve(connection, buffer) }
| `- warning: reference to captured var 'buffer' in concurrently-executing code
150 | }
151 | }
/Users/admin/builder/spi-builder-workspace/Sources/Acheron/Network/Wrapper.swift:44:17: warning: capture of 'failure' with non-sendable type '(String) -> ()' in a '@Sendable' closure
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
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
45 | return
46 | }
/Users/admin/builder/spi-builder-workspace/Sources/Acheron/Network/Wrapper.swift:56:67: warning: capture of 'success' with non-sendable type '([String : Any]) -> ()' in a '@Sendable' closure
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
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
57 | else { failure("decode failed") }
58 | }
/Users/admin/builder/spi-builder-workspace/Sources/Acheron/Pebbles/Pebble.swift:39:68: warning: capture of 'self' with non-sendable type 'Pebble' in a '@Sendable' closure
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
40 | Log.print("\n \(dashes)\(self.name.count % 2 == 1 ? "-" : "") [ \(self.name) ] \(dashes)")
41 | self.payload { (success: Bool) in
/Users/admin/builder/spi-builder-workspace/Sources/Acheron/Pebbles/Pebble.swift:42:17: warning: capture of 'pond' with non-sendable type 'Pond' in a '@Sendable' closure
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
43 | self.state = success ? .succeeded : .failed
44 | pond.iterate()
/Users/admin/builder/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")
/Users/admin/builder/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()
/Users/admin/builder/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")
/Users/admin/builder/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 | }
/Users/admin/builder/spi-builder-workspace/Sources/Acheron/Pebbles/Pebble.swift:43:21: warning: capture of 'self' with non-sendable type 'Pebble' in a '@Sendable' closure
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
44 | pond.iterate()
45 | }
/Users/admin/builder/spi-builder-workspace/Sources/Acheron/Pebbles/Pebble.swift:44:21: warning: capture of 'pond' with non-sendable type 'Pond' in a '@Sendable' closure
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
45 | }
46 | }
/Users/admin/builder/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")
/Users/admin/builder/spi-builder-workspace/Sources/Acheron/Pebbles/Pond.swift:75:13: warning: capture of 'self' with non-sendable type 'Pond' in a '@Sendable' closure
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
76 | print("\n[ Pond Starting ] ====================================")
77 | self.iterate()
/Users/admin/builder/spi-builder-workspace/Sources/Acheron/Pebbles/Pond.swift:75:31: warning: capture of 'onComplete' with non-sendable type '() -> ()' in a '@Sendable' closure
73 | reset()
74 | queue.async {
75 | self.onComplete = onComplete
| |- warning: capture of 'onComplete' with non-sendable type '() -> ()' in a '@Sendable' closure
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
76 | print("\n[ Pond Starting ] ====================================")
77 | self.iterate()
/Users/admin/builder/spi-builder-workspace/Sources/Acheron/MCP/MCPServer.swift:163:14: 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
161 | reply(MCPServer.response(400, "Bad Request", json: MCPServer.failure(NSNull(), -32700, "Parse error")), false); return
162 | }
163 | 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
164 | if let batch: [Any] = message as? [Any] {
165 | var answers: [[String: Any]] = []
166 | for one in batch { if let answer = await self.answer(one) { answers.append(answer) } }
| `- note: closure captures 'self' which is accessible to code in the current task
167 | reply(answers.isEmpty ? MCPServer.response(202, "Accepted") : MCPServer.response(200, "OK", json: answers), false)
168 | } else if let answer = await self.answer(message) {
/Users/admin/builder/spi-builder-workspace/Sources/Acheron/MCP/MCPServer.swift:208:55: warning: sending 'arguments' risks causing data races; this is an error in the Swift 6 language mode
206 | let arguments: [String: Any] = params["arguments"] as? [String: Any] ?? [:]
207 | do {
208 | let text: String = try await tool.run(arguments)
| |- warning: sending 'arguments' risks causing data races; this is an error in the Swift 6 language mode
| `- note: sending task-isolated 'arguments' to main actor-isolated callee risks causing data races between main actor-isolated and task-isolated uses
209 | result = ["content": [["type": "text", "text": text]], "isError": false]
210 | } catch {
/Users/admin/builder/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 |
/Users/admin/builder/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 | }
/Users/admin/builder/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 | }
[298/315] Compiling Acheron Wrapper.swift
/Users/admin/builder/spi-builder-workspace/Sources/Acheron/MCP/MCPServer.swift:76:23: warning: capture of 'self' with non-sendable type 'MCPServer?' in a '@Sendable' closure; this is an error in the Swift 6 language mode
44 | }
45 |
46 | public final class MCPServer {
| `- note: class 'MCPServer' does not conform to the 'Sendable' protocol
47 | public let name: String
48 | public let version: String
:
74 | let listener: NWListener = try NWListener(using: parameters)
75 | listener.newConnectionHandler = { [weak self] (connection: NWConnection) in
76 | guard let self else { connection.cancel(); return }
| `- warning: capture of 'self' with non-sendable type 'MCPServer?' in a '@Sendable' closure; this is an error in the Swift 6 language mode
77 | connection.start(queue: self.queue)
78 | self.serve(connection, Data())
/Users/admin/builder/spi-builder-workspace/Sources/Acheron/MCP/MCPServer.swift:140:32: warning: capture of 'self' with non-sendable type 'MCPServer?' in a '@Sendable' closure
44 | }
45 |
46 | public final class MCPServer {
| `- note: class 'MCPServer' does not conform to the 'Sendable' protocol
47 | public let name: String
48 | public let version: String
:
138 | connection.send(content: response, completion: .contentProcessed { _ in
139 | if closes || request.closes { connection.cancel() }
140 | else { self?.serve(connection, buffer) }
| `- warning: capture of 'self' with non-sendable type 'MCPServer?' in a '@Sendable' closure
141 | })
142 | }
/Users/admin/builder/spi-builder-workspace/Sources/Acheron/MCP/MCPServer.swift:140:32: warning: reference to captured var 'self' in concurrently-executing code
138 | connection.send(content: response, completion: .contentProcessed { _ in
139 | if closes || request.closes { connection.cancel() }
140 | else { self?.serve(connection, buffer) }
| `- warning: reference to captured var 'self' in concurrently-executing code
141 | })
142 | }
/Users/admin/builder/spi-builder-workspace/Sources/Acheron/MCP/MCPServer.swift:140:56: warning: reference to captured var 'buffer' in concurrently-executing code
138 | connection.send(content: response, completion: .contentProcessed { _ in
139 | if closes || request.closes { connection.cancel() }
140 | else { self?.serve(connection, buffer) }
| `- warning: reference to captured var 'buffer' in concurrently-executing code
141 | })
142 | }
/Users/admin/builder/spi-builder-workspace/Sources/Acheron/MCP/MCPServer.swift:147:50: warning: capture of 'self' with non-sendable type 'MCPServer?' in a '@Sendable' closure
44 | }
45 |
46 | public final class MCPServer {
| `- note: class 'MCPServer' does not conform to the 'Sendable' protocol
47 | public let name: String
48 | public let version: String
:
145 | case .more:
146 | connection.receive(minimumIncompleteLength: 1, maximumLength: 1 << 20) { [weak self] (data: Data?, _, complete: Bool, error: NWError?) in
147 | if let data, !data.isEmpty { self?.serve(connection, buffer + data) }
| `- warning: capture of 'self' with non-sendable type 'MCPServer?' in a '@Sendable' closure
148 | else if complete || error != nil { connection.cancel() }
149 | else { self?.serve(connection, buffer) }
/Users/admin/builder/spi-builder-workspace/Sources/Acheron/MCP/MCPServer.swift:147:74: warning: reference to captured var 'buffer' in concurrently-executing code
145 | case .more:
146 | connection.receive(minimumIncompleteLength: 1, maximumLength: 1 << 20) { [weak self] (data: Data?, _, complete: Bool, error: NWError?) in
147 | if let data, !data.isEmpty { self?.serve(connection, buffer + data) }
| `- warning: reference to captured var 'buffer' in concurrently-executing code
148 | else if complete || error != nil { connection.cancel() }
149 | else { self?.serve(connection, buffer) }
/Users/admin/builder/spi-builder-workspace/Sources/Acheron/MCP/MCPServer.swift:149:52: warning: reference to captured var 'buffer' in concurrently-executing code
147 | if let data, !data.isEmpty { self?.serve(connection, buffer + data) }
148 | else if complete || error != nil { connection.cancel() }
149 | else { self?.serve(connection, buffer) }
| `- warning: reference to captured var 'buffer' in concurrently-executing code
150 | }
151 | }
/Users/admin/builder/spi-builder-workspace/Sources/Acheron/Network/Wrapper.swift:44:17: warning: capture of 'failure' with non-sendable type '(String) -> ()' in a '@Sendable' closure
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
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
45 | return
46 | }
/Users/admin/builder/spi-builder-workspace/Sources/Acheron/Network/Wrapper.swift:56:67: warning: capture of 'success' with non-sendable type '([String : Any]) -> ()' in a '@Sendable' closure
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
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
57 | else { failure("decode failed") }
58 | }
/Users/admin/builder/spi-builder-workspace/Sources/Acheron/Pebbles/Pebble.swift:39:68: warning: capture of 'self' with non-sendable type 'Pebble' in a '@Sendable' closure
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
40 | Log.print("\n \(dashes)\(self.name.count % 2 == 1 ? "-" : "") [ \(self.name) ] \(dashes)")
41 | self.payload { (success: Bool) in
/Users/admin/builder/spi-builder-workspace/Sources/Acheron/Pebbles/Pebble.swift:42:17: warning: capture of 'pond' with non-sendable type 'Pond' in a '@Sendable' closure
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
43 | self.state = success ? .succeeded : .failed
44 | pond.iterate()
/Users/admin/builder/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")
/Users/admin/builder/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()
/Users/admin/builder/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")
/Users/admin/builder/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 | }
/Users/admin/builder/spi-builder-workspace/Sources/Acheron/Pebbles/Pebble.swift:43:21: warning: capture of 'self' with non-sendable type 'Pebble' in a '@Sendable' closure
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
44 | pond.iterate()
45 | }
/Users/admin/builder/spi-builder-workspace/Sources/Acheron/Pebbles/Pebble.swift:44:21: warning: capture of 'pond' with non-sendable type 'Pond' in a '@Sendable' closure
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
45 | }
46 | }
/Users/admin/builder/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")
/Users/admin/builder/spi-builder-workspace/Sources/Acheron/Pebbles/Pond.swift:75:13: warning: capture of 'self' with non-sendable type 'Pond' in a '@Sendable' closure
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
76 | print("\n[ Pond Starting ] ====================================")
77 | self.iterate()
/Users/admin/builder/spi-builder-workspace/Sources/Acheron/Pebbles/Pond.swift:75:31: warning: capture of 'onComplete' with non-sendable type '() -> ()' in a '@Sendable' closure
73 | reset()
74 | queue.async {
75 | self.onComplete = onComplete
| |- warning: capture of 'onComplete' with non-sendable type '() -> ()' in a '@Sendable' closure
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
76 | print("\n[ Pond Starting ] ====================================")
77 | self.iterate()
/Users/admin/builder/spi-builder-workspace/Sources/Acheron/MCP/MCPServer.swift:163:14: 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
161 | reply(MCPServer.response(400, "Bad Request", json: MCPServer.failure(NSNull(), -32700, "Parse error")), false); return
162 | }
163 | 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
164 | if let batch: [Any] = message as? [Any] {
165 | var answers: [[String: Any]] = []
166 | for one in batch { if let answer = await self.answer(one) { answers.append(answer) } }
| `- note: closure captures 'self' which is accessible to code in the current task
167 | reply(answers.isEmpty ? MCPServer.response(202, "Accepted") : MCPServer.response(200, "OK", json: answers), false)
168 | } else if let answer = await self.answer(message) {
/Users/admin/builder/spi-builder-workspace/Sources/Acheron/MCP/MCPServer.swift:208:55: warning: sending 'arguments' risks causing data races; this is an error in the Swift 6 language mode
206 | let arguments: [String: Any] = params["arguments"] as? [String: Any] ?? [:]
207 | do {
208 | let text: String = try await tool.run(arguments)
| |- warning: sending 'arguments' risks causing data races; this is an error in the Swift 6 language mode
| `- note: sending task-isolated 'arguments' to main actor-isolated callee risks causing data races between main actor-isolated and task-isolated uses
209 | result = ["content": [["type": "text", "text": text]], "isError": false]
210 | } catch {
/Users/admin/builder/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 |
/Users/admin/builder/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 | }
/Users/admin/builder/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 | }
[299/315] Compiling Acheron BackgroundPond.swift
/Users/admin/builder/spi-builder-workspace/Sources/Acheron/MCP/MCPServer.swift:76:23: warning: capture of 'self' with non-sendable type 'MCPServer?' in a '@Sendable' closure; this is an error in the Swift 6 language mode
44 | }
45 |
46 | public final class MCPServer {
| `- note: class 'MCPServer' does not conform to the 'Sendable' protocol
47 | public let name: String
48 | public let version: String
:
74 | let listener: NWListener = try NWListener(using: parameters)
75 | listener.newConnectionHandler = { [weak self] (connection: NWConnection) in
76 | guard let self else { connection.cancel(); return }
| `- warning: capture of 'self' with non-sendable type 'MCPServer?' in a '@Sendable' closure; this is an error in the Swift 6 language mode
77 | connection.start(queue: self.queue)
78 | self.serve(connection, Data())
/Users/admin/builder/spi-builder-workspace/Sources/Acheron/MCP/MCPServer.swift:140:32: warning: capture of 'self' with non-sendable type 'MCPServer?' in a '@Sendable' closure
44 | }
45 |
46 | public final class MCPServer {
| `- note: class 'MCPServer' does not conform to the 'Sendable' protocol
47 | public let name: String
48 | public let version: String
:
138 | connection.send(content: response, completion: .contentProcessed { _ in
139 | if closes || request.closes { connection.cancel() }
140 | else { self?.serve(connection, buffer) }
| `- warning: capture of 'self' with non-sendable type 'MCPServer?' in a '@Sendable' closure
141 | })
142 | }
/Users/admin/builder/spi-builder-workspace/Sources/Acheron/MCP/MCPServer.swift:140:32: warning: reference to captured var 'self' in concurrently-executing code
138 | connection.send(content: response, completion: .contentProcessed { _ in
139 | if closes || request.closes { connection.cancel() }
140 | else { self?.serve(connection, buffer) }
| `- warning: reference to captured var 'self' in concurrently-executing code
141 | })
142 | }
/Users/admin/builder/spi-builder-workspace/Sources/Acheron/MCP/MCPServer.swift:140:56: warning: reference to captured var 'buffer' in concurrently-executing code
138 | connection.send(content: response, completion: .contentProcessed { _ in
139 | if closes || request.closes { connection.cancel() }
140 | else { self?.serve(connection, buffer) }
| `- warning: reference to captured var 'buffer' in concurrently-executing code
141 | })
142 | }
/Users/admin/builder/spi-builder-workspace/Sources/Acheron/MCP/MCPServer.swift:147:50: warning: capture of 'self' with non-sendable type 'MCPServer?' in a '@Sendable' closure
44 | }
45 |
46 | public final class MCPServer {
| `- note: class 'MCPServer' does not conform to the 'Sendable' protocol
47 | public let name: String
48 | public let version: String
:
145 | case .more:
146 | connection.receive(minimumIncompleteLength: 1, maximumLength: 1 << 20) { [weak self] (data: Data?, _, complete: Bool, error: NWError?) in
147 | if let data, !data.isEmpty { self?.serve(connection, buffer + data) }
| `- warning: capture of 'self' with non-sendable type 'MCPServer?' in a '@Sendable' closure
148 | else if complete || error != nil { connection.cancel() }
149 | else { self?.serve(connection, buffer) }
/Users/admin/builder/spi-builder-workspace/Sources/Acheron/MCP/MCPServer.swift:147:74: warning: reference to captured var 'buffer' in concurrently-executing code
145 | case .more:
146 | connection.receive(minimumIncompleteLength: 1, maximumLength: 1 << 20) { [weak self] (data: Data?, _, complete: Bool, error: NWError?) in
147 | if let data, !data.isEmpty { self?.serve(connection, buffer + data) }
| `- warning: reference to captured var 'buffer' in concurrently-executing code
148 | else if complete || error != nil { connection.cancel() }
149 | else { self?.serve(connection, buffer) }
/Users/admin/builder/spi-builder-workspace/Sources/Acheron/MCP/MCPServer.swift:149:52: warning: reference to captured var 'buffer' in concurrently-executing code
147 | if let data, !data.isEmpty { self?.serve(connection, buffer + data) }
148 | else if complete || error != nil { connection.cancel() }
149 | else { self?.serve(connection, buffer) }
| `- warning: reference to captured var 'buffer' in concurrently-executing code
150 | }
151 | }
/Users/admin/builder/spi-builder-workspace/Sources/Acheron/Network/Wrapper.swift:44:17: warning: capture of 'failure' with non-sendable type '(String) -> ()' in a '@Sendable' closure
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
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
45 | return
46 | }
/Users/admin/builder/spi-builder-workspace/Sources/Acheron/Network/Wrapper.swift:56:67: warning: capture of 'success' with non-sendable type '([String : Any]) -> ()' in a '@Sendable' closure
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
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
57 | else { failure("decode failed") }
58 | }
/Users/admin/builder/spi-builder-workspace/Sources/Acheron/Pebbles/Pebble.swift:39:68: warning: capture of 'self' with non-sendable type 'Pebble' in a '@Sendable' closure
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
40 | Log.print("\n \(dashes)\(self.name.count % 2 == 1 ? "-" : "") [ \(self.name) ] \(dashes)")
41 | self.payload { (success: Bool) in
/Users/admin/builder/spi-builder-workspace/Sources/Acheron/Pebbles/Pebble.swift:42:17: warning: capture of 'pond' with non-sendable type 'Pond' in a '@Sendable' closure
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
43 | self.state = success ? .succeeded : .failed
44 | pond.iterate()
/Users/admin/builder/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")
/Users/admin/builder/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()
/Users/admin/builder/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")
/Users/admin/builder/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 | }
/Users/admin/builder/spi-builder-workspace/Sources/Acheron/Pebbles/Pebble.swift:43:21: warning: capture of 'self' with non-sendable type 'Pebble' in a '@Sendable' closure
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
44 | pond.iterate()
45 | }
/Users/admin/builder/spi-builder-workspace/Sources/Acheron/Pebbles/Pebble.swift:44:21: warning: capture of 'pond' with non-sendable type 'Pond' in a '@Sendable' closure
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
45 | }
46 | }
/Users/admin/builder/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")
/Users/admin/builder/spi-builder-workspace/Sources/Acheron/Pebbles/Pond.swift:75:13: warning: capture of 'self' with non-sendable type 'Pond' in a '@Sendable' closure
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
76 | print("\n[ Pond Starting ] ====================================")
77 | self.iterate()
/Users/admin/builder/spi-builder-workspace/Sources/Acheron/Pebbles/Pond.swift:75:31: warning: capture of 'onComplete' with non-sendable type '() -> ()' in a '@Sendable' closure
73 | reset()
74 | queue.async {
75 | self.onComplete = onComplete
| |- warning: capture of 'onComplete' with non-sendable type '() -> ()' in a '@Sendable' closure
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
76 | print("\n[ Pond Starting ] ====================================")
77 | self.iterate()
/Users/admin/builder/spi-builder-workspace/Sources/Acheron/MCP/MCPServer.swift:163:14: 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
161 | reply(MCPServer.response(400, "Bad Request", json: MCPServer.failure(NSNull(), -32700, "Parse error")), false); return
162 | }
163 | 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
164 | if let batch: [Any] = message as? [Any] {
165 | var answers: [[String: Any]] = []
166 | for one in batch { if let answer = await self.answer(one) { answers.append(answer) } }
| `- note: closure captures 'self' which is accessible to code in the current task
167 | reply(answers.isEmpty ? MCPServer.response(202, "Accepted") : MCPServer.response(200, "OK", json: answers), false)
168 | } else if let answer = await self.answer(message) {
/Users/admin/builder/spi-builder-workspace/Sources/Acheron/MCP/MCPServer.swift:208:55: warning: sending 'arguments' risks causing data races; this is an error in the Swift 6 language mode
206 | let arguments: [String: Any] = params["arguments"] as? [String: Any] ?? [:]
207 | do {
208 | let text: String = try await tool.run(arguments)
| |- warning: sending 'arguments' risks causing data races; this is an error in the Swift 6 language mode
| `- note: sending task-isolated 'arguments' to main actor-isolated callee risks causing data races between main actor-isolated and task-isolated uses
209 | result = ["content": [["type": "text", "text": text]], "isError": false]
210 | } catch {
/Users/admin/builder/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 |
/Users/admin/builder/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 | }
/Users/admin/builder/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 | }
[300/315] Compiling Acheron Pebble.swift
/Users/admin/builder/spi-builder-workspace/Sources/Acheron/MCP/MCPServer.swift:76:23: warning: capture of 'self' with non-sendable type 'MCPServer?' in a '@Sendable' closure; this is an error in the Swift 6 language mode
44 | }
45 |
46 | public final class MCPServer {
| `- note: class 'MCPServer' does not conform to the 'Sendable' protocol
47 | public let name: String
48 | public let version: String
:
74 | let listener: NWListener = try NWListener(using: parameters)
75 | listener.newConnectionHandler = { [weak self] (connection: NWConnection) in
76 | guard let self else { connection.cancel(); return }
| `- warning: capture of 'self' with non-sendable type 'MCPServer?' in a '@Sendable' closure; this is an error in the Swift 6 language mode
77 | connection.start(queue: self.queue)
78 | self.serve(connection, Data())
/Users/admin/builder/spi-builder-workspace/Sources/Acheron/MCP/MCPServer.swift:140:32: warning: capture of 'self' with non-sendable type 'MCPServer?' in a '@Sendable' closure
44 | }
45 |
46 | public final class MCPServer {
| `- note: class 'MCPServer' does not conform to the 'Sendable' protocol
47 | public let name: String
48 | public let version: String
:
138 | connection.send(content: response, completion: .contentProcessed { _ in
139 | if closes || request.closes { connection.cancel() }
140 | else { self?.serve(connection, buffer) }
| `- warning: capture of 'self' with non-sendable type 'MCPServer?' in a '@Sendable' closure
141 | })
142 | }
/Users/admin/builder/spi-builder-workspace/Sources/Acheron/MCP/MCPServer.swift:140:32: warning: reference to captured var 'self' in concurrently-executing code
138 | connection.send(content: response, completion: .contentProcessed { _ in
139 | if closes || request.closes { connection.cancel() }
140 | else { self?.serve(connection, buffer) }
| `- warning: reference to captured var 'self' in concurrently-executing code
141 | })
142 | }
/Users/admin/builder/spi-builder-workspace/Sources/Acheron/MCP/MCPServer.swift:140:56: warning: reference to captured var 'buffer' in concurrently-executing code
138 | connection.send(content: response, completion: .contentProcessed { _ in
139 | if closes || request.closes { connection.cancel() }
140 | else { self?.serve(connection, buffer) }
| `- warning: reference to captured var 'buffer' in concurrently-executing code
141 | })
142 | }
/Users/admin/builder/spi-builder-workspace/Sources/Acheron/MCP/MCPServer.swift:147:50: warning: capture of 'self' with non-sendable type 'MCPServer?' in a '@Sendable' closure
44 | }
45 |
46 | public final class MCPServer {
| `- note: class 'MCPServer' does not conform to the 'Sendable' protocol
47 | public let name: String
48 | public let version: String
:
145 | case .more:
146 | connection.receive(minimumIncompleteLength: 1, maximumLength: 1 << 20) { [weak self] (data: Data?, _, complete: Bool, error: NWError?) in
147 | if let data, !data.isEmpty { self?.serve(connection, buffer + data) }
| `- warning: capture of 'self' with non-sendable type 'MCPServer?' in a '@Sendable' closure
148 | else if complete || error != nil { connection.cancel() }
149 | else { self?.serve(connection, buffer) }
/Users/admin/builder/spi-builder-workspace/Sources/Acheron/MCP/MCPServer.swift:147:74: warning: reference to captured var 'buffer' in concurrently-executing code
145 | case .more:
146 | connection.receive(minimumIncompleteLength: 1, maximumLength: 1 << 20) { [weak self] (data: Data?, _, complete: Bool, error: NWError?) in
147 | if let data, !data.isEmpty { self?.serve(connection, buffer + data) }
| `- warning: reference to captured var 'buffer' in concurrently-executing code
148 | else if complete || error != nil { connection.cancel() }
149 | else { self?.serve(connection, buffer) }
/Users/admin/builder/spi-builder-workspace/Sources/Acheron/MCP/MCPServer.swift:149:52: warning: reference to captured var 'buffer' in concurrently-executing code
147 | if let data, !data.isEmpty { self?.serve(connection, buffer + data) }
148 | else if complete || error != nil { connection.cancel() }
149 | else { self?.serve(connection, buffer) }
| `- warning: reference to captured var 'buffer' in concurrently-executing code
150 | }
151 | }
/Users/admin/builder/spi-builder-workspace/Sources/Acheron/Network/Wrapper.swift:44:17: warning: capture of 'failure' with non-sendable type '(String) -> ()' in a '@Sendable' closure
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
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
45 | return
46 | }
/Users/admin/builder/spi-builder-workspace/Sources/Acheron/Network/Wrapper.swift:56:67: warning: capture of 'success' with non-sendable type '([String : Any]) -> ()' in a '@Sendable' closure
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
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
57 | else { failure("decode failed") }
58 | }
/Users/admin/builder/spi-builder-workspace/Sources/Acheron/Pebbles/Pebble.swift:39:68: warning: capture of 'self' with non-sendable type 'Pebble' in a '@Sendable' closure
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
40 | Log.print("\n \(dashes)\(self.name.count % 2 == 1 ? "-" : "") [ \(self.name) ] \(dashes)")
41 | self.payload { (success: Bool) in
/Users/admin/builder/spi-builder-workspace/Sources/Acheron/Pebbles/Pebble.swift:42:17: warning: capture of 'pond' with non-sendable type 'Pond' in a '@Sendable' closure
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
43 | self.state = success ? .succeeded : .failed
44 | pond.iterate()
/Users/admin/builder/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")
/Users/admin/builder/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()
/Users/admin/builder/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")
/Users/admin/builder/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 | }
/Users/admin/builder/spi-builder-workspace/Sources/Acheron/Pebbles/Pebble.swift:43:21: warning: capture of 'self' with non-sendable type 'Pebble' in a '@Sendable' closure
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
44 | pond.iterate()
45 | }
/Users/admin/builder/spi-builder-workspace/Sources/Acheron/Pebbles/Pebble.swift:44:21: warning: capture of 'pond' with non-sendable type 'Pond' in a '@Sendable' closure
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
45 | }
46 | }
/Users/admin/builder/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")
/Users/admin/builder/spi-builder-workspace/Sources/Acheron/Pebbles/Pond.swift:75:13: warning: capture of 'self' with non-sendable type 'Pond' in a '@Sendable' closure
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
76 | print("\n[ Pond Starting ] ====================================")
77 | self.iterate()
/Users/admin/builder/spi-builder-workspace/Sources/Acheron/Pebbles/Pond.swift:75:31: warning: capture of 'onComplete' with non-sendable type '() -> ()' in a '@Sendable' closure
73 | reset()
74 | queue.async {
75 | self.onComplete = onComplete
| |- warning: capture of 'onComplete' with non-sendable type '() -> ()' in a '@Sendable' closure
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
76 | print("\n[ Pond Starting ] ====================================")
77 | self.iterate()
/Users/admin/builder/spi-builder-workspace/Sources/Acheron/MCP/MCPServer.swift:163:14: 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
161 | reply(MCPServer.response(400, "Bad Request", json: MCPServer.failure(NSNull(), -32700, "Parse error")), false); return
162 | }
163 | 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
164 | if let batch: [Any] = message as? [Any] {
165 | var answers: [[String: Any]] = []
166 | for one in batch { if let answer = await self.answer(one) { answers.append(answer) } }
| `- note: closure captures 'self' which is accessible to code in the current task
167 | reply(answers.isEmpty ? MCPServer.response(202, "Accepted") : MCPServer.response(200, "OK", json: answers), false)
168 | } else if let answer = await self.answer(message) {
/Users/admin/builder/spi-builder-workspace/Sources/Acheron/MCP/MCPServer.swift:208:55: warning: sending 'arguments' risks causing data races; this is an error in the Swift 6 language mode
206 | let arguments: [String: Any] = params["arguments"] as? [String: Any] ?? [:]
207 | do {
208 | let text: String = try await tool.run(arguments)
| |- warning: sending 'arguments' risks causing data races; this is an error in the Swift 6 language mode
| `- note: sending task-isolated 'arguments' to main actor-isolated callee risks causing data races between main actor-isolated and task-isolated uses
209 | result = ["content": [["type": "text", "text": text]], "isError": false]
210 | } catch {
/Users/admin/builder/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 |
/Users/admin/builder/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 | }
/Users/admin/builder/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 | }
[301/315] Compiling Acheron Pond.swift
/Users/admin/builder/spi-builder-workspace/Sources/Acheron/MCP/MCPServer.swift:76:23: warning: capture of 'self' with non-sendable type 'MCPServer?' in a '@Sendable' closure; this is an error in the Swift 6 language mode
44 | }
45 |
46 | public final class MCPServer {
| `- note: class 'MCPServer' does not conform to the 'Sendable' protocol
47 | public let name: String
48 | public let version: String
:
74 | let listener: NWListener = try NWListener(using: parameters)
75 | listener.newConnectionHandler = { [weak self] (connection: NWConnection) in
76 | guard let self else { connection.cancel(); return }
| `- warning: capture of 'self' with non-sendable type 'MCPServer?' in a '@Sendable' closure; this is an error in the Swift 6 language mode
77 | connection.start(queue: self.queue)
78 | self.serve(connection, Data())
/Users/admin/builder/spi-builder-workspace/Sources/Acheron/MCP/MCPServer.swift:140:32: warning: capture of 'self' with non-sendable type 'MCPServer?' in a '@Sendable' closure
44 | }
45 |
46 | public final class MCPServer {
| `- note: class 'MCPServer' does not conform to the 'Sendable' protocol
47 | public let name: String
48 | public let version: String
:
138 | connection.send(content: response, completion: .contentProcessed { _ in
139 | if closes || request.closes { connection.cancel() }
140 | else { self?.serve(connection, buffer) }
| `- warning: capture of 'self' with non-sendable type 'MCPServer?' in a '@Sendable' closure
141 | })
142 | }
/Users/admin/builder/spi-builder-workspace/Sources/Acheron/MCP/MCPServer.swift:140:32: warning: reference to captured var 'self' in concurrently-executing code
138 | connection.send(content: response, completion: .contentProcessed { _ in
139 | if closes || request.closes { connection.cancel() }
140 | else { self?.serve(connection, buffer) }
| `- warning: reference to captured var 'self' in concurrently-executing code
141 | })
142 | }
/Users/admin/builder/spi-builder-workspace/Sources/Acheron/MCP/MCPServer.swift:140:56: warning: reference to captured var 'buffer' in concurrently-executing code
138 | connection.send(content: response, completion: .contentProcessed { _ in
139 | if closes || request.closes { connection.cancel() }
140 | else { self?.serve(connection, buffer) }
| `- warning: reference to captured var 'buffer' in concurrently-executing code
141 | })
142 | }
/Users/admin/builder/spi-builder-workspace/Sources/Acheron/MCP/MCPServer.swift:147:50: warning: capture of 'self' with non-sendable type 'MCPServer?' in a '@Sendable' closure
44 | }
45 |
46 | public final class MCPServer {
| `- note: class 'MCPServer' does not conform to the 'Sendable' protocol
47 | public let name: String
48 | public let version: String
:
145 | case .more:
146 | connection.receive(minimumIncompleteLength: 1, maximumLength: 1 << 20) { [weak self] (data: Data?, _, complete: Bool, error: NWError?) in
147 | if let data, !data.isEmpty { self?.serve(connection, buffer + data) }
| `- warning: capture of 'self' with non-sendable type 'MCPServer?' in a '@Sendable' closure
148 | else if complete || error != nil { connection.cancel() }
149 | else { self?.serve(connection, buffer) }
/Users/admin/builder/spi-builder-workspace/Sources/Acheron/MCP/MCPServer.swift:147:74: warning: reference to captured var 'buffer' in concurrently-executing code
145 | case .more:
146 | connection.receive(minimumIncompleteLength: 1, maximumLength: 1 << 20) { [weak self] (data: Data?, _, complete: Bool, error: NWError?) in
147 | if let data, !data.isEmpty { self?.serve(connection, buffer + data) }
| `- warning: reference to captured var 'buffer' in concurrently-executing code
148 | else if complete || error != nil { connection.cancel() }
149 | else { self?.serve(connection, buffer) }
/Users/admin/builder/spi-builder-workspace/Sources/Acheron/MCP/MCPServer.swift:149:52: warning: reference to captured var 'buffer' in concurrently-executing code
147 | if let data, !data.isEmpty { self?.serve(connection, buffer + data) }
148 | else if complete || error != nil { connection.cancel() }
149 | else { self?.serve(connection, buffer) }
| `- warning: reference to captured var 'buffer' in concurrently-executing code
150 | }
151 | }
/Users/admin/builder/spi-builder-workspace/Sources/Acheron/Network/Wrapper.swift:44:17: warning: capture of 'failure' with non-sendable type '(String) -> ()' in a '@Sendable' closure
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
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
45 | return
46 | }
/Users/admin/builder/spi-builder-workspace/Sources/Acheron/Network/Wrapper.swift:56:67: warning: capture of 'success' with non-sendable type '([String : Any]) -> ()' in a '@Sendable' closure
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
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
57 | else { failure("decode failed") }
58 | }
/Users/admin/builder/spi-builder-workspace/Sources/Acheron/Pebbles/Pebble.swift:39:68: warning: capture of 'self' with non-sendable type 'Pebble' in a '@Sendable' closure
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
40 | Log.print("\n \(dashes)\(self.name.count % 2 == 1 ? "-" : "") [ \(self.name) ] \(dashes)")
41 | self.payload { (success: Bool) in
/Users/admin/builder/spi-builder-workspace/Sources/Acheron/Pebbles/Pebble.swift:42:17: warning: capture of 'pond' with non-sendable type 'Pond' in a '@Sendable' closure
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
43 | self.state = success ? .succeeded : .failed
44 | pond.iterate()
/Users/admin/builder/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")
/Users/admin/builder/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()
/Users/admin/builder/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")
/Users/admin/builder/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 | }
/Users/admin/builder/spi-builder-workspace/Sources/Acheron/Pebbles/Pebble.swift:43:21: warning: capture of 'self' with non-sendable type 'Pebble' in a '@Sendable' closure
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
44 | pond.iterate()
45 | }
/Users/admin/builder/spi-builder-workspace/Sources/Acheron/Pebbles/Pebble.swift:44:21: warning: capture of 'pond' with non-sendable type 'Pond' in a '@Sendable' closure
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
45 | }
46 | }
/Users/admin/builder/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")
/Users/admin/builder/spi-builder-workspace/Sources/Acheron/Pebbles/Pond.swift:75:13: warning: capture of 'self' with non-sendable type 'Pond' in a '@Sendable' closure
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
76 | print("\n[ Pond Starting ] ====================================")
77 | self.iterate()
/Users/admin/builder/spi-builder-workspace/Sources/Acheron/Pebbles/Pond.swift:75:31: warning: capture of 'onComplete' with non-sendable type '() -> ()' in a '@Sendable' closure
73 | reset()
74 | queue.async {
75 | self.onComplete = onComplete
| |- warning: capture of 'onComplete' with non-sendable type '() -> ()' in a '@Sendable' closure
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
76 | print("\n[ Pond Starting ] ====================================")
77 | self.iterate()
/Users/admin/builder/spi-builder-workspace/Sources/Acheron/MCP/MCPServer.swift:163:14: 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
161 | reply(MCPServer.response(400, "Bad Request", json: MCPServer.failure(NSNull(), -32700, "Parse error")), false); return
162 | }
163 | 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
164 | if let batch: [Any] = message as? [Any] {
165 | var answers: [[String: Any]] = []
166 | for one in batch { if let answer = await self.answer(one) { answers.append(answer) } }
| `- note: closure captures 'self' which is accessible to code in the current task
167 | reply(answers.isEmpty ? MCPServer.response(202, "Accepted") : MCPServer.response(200, "OK", json: answers), false)
168 | } else if let answer = await self.answer(message) {
/Users/admin/builder/spi-builder-workspace/Sources/Acheron/MCP/MCPServer.swift:208:55: warning: sending 'arguments' risks causing data races; this is an error in the Swift 6 language mode
206 | let arguments: [String: Any] = params["arguments"] as? [String: Any] ?? [:]
207 | do {
208 | let text: String = try await tool.run(arguments)
| |- warning: sending 'arguments' risks causing data races; this is an error in the Swift 6 language mode
| `- note: sending task-isolated 'arguments' to main actor-isolated callee risks causing data races between main actor-isolated and task-isolated uses
209 | result = ["content": [["type": "text", "text": text]], "isError": false]
210 | } catch {
/Users/admin/builder/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 |
/Users/admin/builder/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 | }
/Users/admin/builder/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 | }
[302/315] Compiling Acheron AESync.swift
/Users/admin/builder/spi-builder-workspace/Sources/Acheron/MCP/MCPServer.swift:76:23: warning: capture of 'self' with non-sendable type 'MCPServer?' in a '@Sendable' closure; this is an error in the Swift 6 language mode
44 | }
45 |
46 | public final class MCPServer {
| `- note: class 'MCPServer' does not conform to the 'Sendable' protocol
47 | public let name: String
48 | public let version: String
:
74 | let listener: NWListener = try NWListener(using: parameters)
75 | listener.newConnectionHandler = { [weak self] (connection: NWConnection) in
76 | guard let self else { connection.cancel(); return }
| `- warning: capture of 'self' with non-sendable type 'MCPServer?' in a '@Sendable' closure; this is an error in the Swift 6 language mode
77 | connection.start(queue: self.queue)
78 | self.serve(connection, Data())
/Users/admin/builder/spi-builder-workspace/Sources/Acheron/MCP/MCPServer.swift:140:32: warning: capture of 'self' with non-sendable type 'MCPServer?' in a '@Sendable' closure
44 | }
45 |
46 | public final class MCPServer {
| `- note: class 'MCPServer' does not conform to the 'Sendable' protocol
47 | public let name: String
48 | public let version: String
:
138 | connection.send(content: response, completion: .contentProcessed { _ in
139 | if closes || request.closes { connection.cancel() }
140 | else { self?.serve(connection, buffer) }
| `- warning: capture of 'self' with non-sendable type 'MCPServer?' in a '@Sendable' closure
141 | })
142 | }
/Users/admin/builder/spi-builder-workspace/Sources/Acheron/MCP/MCPServer.swift:140:32: warning: reference to captured var 'self' in concurrently-executing code
138 | connection.send(content: response, completion: .contentProcessed { _ in
139 | if closes || request.closes { connection.cancel() }
140 | else { self?.serve(connection, buffer) }
| `- warning: reference to captured var 'self' in concurrently-executing code
141 | })
142 | }
/Users/admin/builder/spi-builder-workspace/Sources/Acheron/MCP/MCPServer.swift:140:56: warning: reference to captured var 'buffer' in concurrently-executing code
138 | connection.send(content: response, completion: .contentProcessed { _ in
139 | if closes || request.closes { connection.cancel() }
140 | else { self?.serve(connection, buffer) }
| `- warning: reference to captured var 'buffer' in concurrently-executing code
141 | })
142 | }
/Users/admin/builder/spi-builder-workspace/Sources/Acheron/MCP/MCPServer.swift:147:50: warning: capture of 'self' with non-sendable type 'MCPServer?' in a '@Sendable' closure
44 | }
45 |
46 | public final class MCPServer {
| `- note: class 'MCPServer' does not conform to the 'Sendable' protocol
47 | public let name: String
48 | public let version: String
:
145 | case .more:
146 | connection.receive(minimumIncompleteLength: 1, maximumLength: 1 << 20) { [weak self] (data: Data?, _, complete: Bool, error: NWError?) in
147 | if let data, !data.isEmpty { self?.serve(connection, buffer + data) }
| `- warning: capture of 'self' with non-sendable type 'MCPServer?' in a '@Sendable' closure
148 | else if complete || error != nil { connection.cancel() }
149 | else { self?.serve(connection, buffer) }
/Users/admin/builder/spi-builder-workspace/Sources/Acheron/MCP/MCPServer.swift:147:74: warning: reference to captured var 'buffer' in concurrently-executing code
145 | case .more:
146 | connection.receive(minimumIncompleteLength: 1, maximumLength: 1 << 20) { [weak self] (data: Data?, _, complete: Bool, error: NWError?) in
147 | if let data, !data.isEmpty { self?.serve(connection, buffer + data) }
| `- warning: reference to captured var 'buffer' in concurrently-executing code
148 | else if complete || error != nil { connection.cancel() }
149 | else { self?.serve(connection, buffer) }
/Users/admin/builder/spi-builder-workspace/Sources/Acheron/MCP/MCPServer.swift:149:52: warning: reference to captured var 'buffer' in concurrently-executing code
147 | if let data, !data.isEmpty { self?.serve(connection, buffer + data) }
148 | else if complete || error != nil { connection.cancel() }
149 | else { self?.serve(connection, buffer) }
| `- warning: reference to captured var 'buffer' in concurrently-executing code
150 | }
151 | }
/Users/admin/builder/spi-builder-workspace/Sources/Acheron/Network/Wrapper.swift:44:17: warning: capture of 'failure' with non-sendable type '(String) -> ()' in a '@Sendable' closure
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
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
45 | return
46 | }
/Users/admin/builder/spi-builder-workspace/Sources/Acheron/Network/Wrapper.swift:56:67: warning: capture of 'success' with non-sendable type '([String : Any]) -> ()' in a '@Sendable' closure
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
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
57 | else { failure("decode failed") }
58 | }
/Users/admin/builder/spi-builder-workspace/Sources/Acheron/Pebbles/Pebble.swift:39:68: warning: capture of 'self' with non-sendable type 'Pebble' in a '@Sendable' closure
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
40 | Log.print("\n \(dashes)\(self.name.count % 2 == 1 ? "-" : "") [ \(self.name) ] \(dashes)")
41 | self.payload { (success: Bool) in
/Users/admin/builder/spi-builder-workspace/Sources/Acheron/Pebbles/Pebble.swift:42:17: warning: capture of 'pond' with non-sendable type 'Pond' in a '@Sendable' closure
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
43 | self.state = success ? .succeeded : .failed
44 | pond.iterate()
/Users/admin/builder/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")
/Users/admin/builder/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()
/Users/admin/builder/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")
/Users/admin/builder/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 | }
/Users/admin/builder/spi-builder-workspace/Sources/Acheron/Pebbles/Pebble.swift:43:21: warning: capture of 'self' with non-sendable type 'Pebble' in a '@Sendable' closure
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
44 | pond.iterate()
45 | }
/Users/admin/builder/spi-builder-workspace/Sources/Acheron/Pebbles/Pebble.swift:44:21: warning: capture of 'pond' with non-sendable type 'Pond' in a '@Sendable' closure
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
45 | }
46 | }
/Users/admin/builder/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")
/Users/admin/builder/spi-builder-workspace/Sources/Acheron/Pebbles/Pond.swift:75:13: warning: capture of 'self' with non-sendable type 'Pond' in a '@Sendable' closure
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
76 | print("\n[ Pond Starting ] ====================================")
77 | self.iterate()
/Users/admin/builder/spi-builder-workspace/Sources/Acheron/Pebbles/Pond.swift:75:31: warning: capture of 'onComplete' with non-sendable type '() -> ()' in a '@Sendable' closure
73 | reset()
74 | queue.async {
75 | self.onComplete = onComplete
| |- warning: capture of 'onComplete' with non-sendable type '() -> ()' in a '@Sendable' closure
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
76 | print("\n[ Pond Starting ] ====================================")
77 | self.iterate()
/Users/admin/builder/spi-builder-workspace/Sources/Acheron/MCP/MCPServer.swift:163:14: 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
161 | reply(MCPServer.response(400, "Bad Request", json: MCPServer.failure(NSNull(), -32700, "Parse error")), false); return
162 | }
163 | 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
164 | if let batch: [Any] = message as? [Any] {
165 | var answers: [[String: Any]] = []
166 | for one in batch { if let answer = await self.answer(one) { answers.append(answer) } }
| `- note: closure captures 'self' which is accessible to code in the current task
167 | reply(answers.isEmpty ? MCPServer.response(202, "Accepted") : MCPServer.response(200, "OK", json: answers), false)
168 | } else if let answer = await self.answer(message) {
/Users/admin/builder/spi-builder-workspace/Sources/Acheron/MCP/MCPServer.swift:208:55: warning: sending 'arguments' risks causing data races; this is an error in the Swift 6 language mode
206 | let arguments: [String: Any] = params["arguments"] as? [String: Any] ?? [:]
207 | do {
208 | let text: String = try await tool.run(arguments)
| |- warning: sending 'arguments' risks causing data races; this is an error in the Swift 6 language mode
| `- note: sending task-isolated 'arguments' to main actor-isolated callee risks causing data races between main actor-isolated and task-isolated uses
209 | result = ["content": [["type": "text", "text": text]], "isError": false]
210 | } catch {
/Users/admin/builder/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 |
/Users/admin/builder/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 | }
/Users/admin/builder/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 | }
[303/315] Compiling Acheron ExpandableTableView.swift
[304/315] Compiling Acheron Node.swift
[305/315] Compiling Acheron NodeCell.swift
[306/315] Compiling Acheron NodeColumn.swift
[307/315] Compiling Acheron NodeData.swift
[308/315] Compiling Acheron NodeHeader.swift
[309/315] Compiling Acheron NodeView.swift
[310/315] Compiling Acheron Basket.swift
/Users/admin/builder/spi-builder-workspace/Sources/Acheron/Loom/Basket.swift:268:33: warning: capture of 'closure' with non-sendable type '() -> ()' in a '@Sendable' closure
266 | await withCheckedContinuation { (continuation: CheckedContinuation<Void, Never>) in
267 | DispatchQueue.global().async {
268 | basket.transact(closure)
| |- warning: capture of 'closure' with non-sendable type '() -> ()' in a '@Sendable' closure
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
269 | continuation.resume()
270 | }
/Users/admin/builder/spi-builder-workspace/Sources/Acheron/Loom/Loom.swift:14:23: warning: static property 'basket' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
12 |
13 | public class Loom {
14 | public static var basket: Basket!
| |- warning: static property 'basket' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'basket' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'basket' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
15 |
16 | public static var namespaces: [String] = []
/Users/admin/builder/spi-builder-workspace/Sources/Acheron/Loom/Loom.swift:16:23: warning: static property 'namespaces' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
14 | public static var basket: Basket!
15 |
16 | public static var namespaces: [String] = []
| |- warning: static property 'namespaces' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'namespaces' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'namespaces' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
17 | static var domains = [String:[String:AnyClass]]()
18 |
/Users/admin/builder/spi-builder-workspace/Sources/Acheron/Loom/Loom.swift:17:16: warning: static property 'domains' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
15 |
16 | public static var namespaces: [String] = []
17 | static var domains = [String:[String:AnyClass]]()
| |- warning: static property 'domains' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'domains' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'domains' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
18 |
19 | static func name(for type: Domain.Type) -> String { nameFromType(type) }
[311/315] Compiling Acheron Domain.swift
/Users/admin/builder/spi-builder-workspace/Sources/Acheron/Loom/Basket.swift:268:33: warning: capture of 'closure' with non-sendable type '() -> ()' in a '@Sendable' closure
266 | await withCheckedContinuation { (continuation: CheckedContinuation<Void, Never>) in
267 | DispatchQueue.global().async {
268 | basket.transact(closure)
| |- warning: capture of 'closure' with non-sendable type '() -> ()' in a '@Sendable' closure
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
269 | continuation.resume()
270 | }
/Users/admin/builder/spi-builder-workspace/Sources/Acheron/Loom/Loom.swift:14:23: warning: static property 'basket' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
12 |
13 | public class Loom {
14 | public static var basket: Basket!
| |- warning: static property 'basket' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'basket' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'basket' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
15 |
16 | public static var namespaces: [String] = []
/Users/admin/builder/spi-builder-workspace/Sources/Acheron/Loom/Loom.swift:16:23: warning: static property 'namespaces' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
14 | public static var basket: Basket!
15 |
16 | public static var namespaces: [String] = []
| |- warning: static property 'namespaces' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'namespaces' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'namespaces' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
17 | static var domains = [String:[String:AnyClass]]()
18 |
/Users/admin/builder/spi-builder-workspace/Sources/Acheron/Loom/Loom.swift:17:16: warning: static property 'domains' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
15 |
16 | public static var namespaces: [String] = []
17 | static var domains = [String:[String:AnyClass]]()
| |- warning: static property 'domains' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'domains' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'domains' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
18 |
19 | static func name(for type: Domain.Type) -> String { nameFromType(type) }
[312/315] Compiling Acheron Loom.swift
/Users/admin/builder/spi-builder-workspace/Sources/Acheron/Loom/Basket.swift:268:33: warning: capture of 'closure' with non-sendable type '() -> ()' in a '@Sendable' closure
266 | await withCheckedContinuation { (continuation: CheckedContinuation<Void, Never>) in
267 | DispatchQueue.global().async {
268 | basket.transact(closure)
| |- warning: capture of 'closure' with non-sendable type '() -> ()' in a '@Sendable' closure
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
269 | continuation.resume()
270 | }
/Users/admin/builder/spi-builder-workspace/Sources/Acheron/Loom/Loom.swift:14:23: warning: static property 'basket' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
12 |
13 | public class Loom {
14 | public static var basket: Basket!
| |- warning: static property 'basket' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'basket' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'basket' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
15 |
16 | public static var namespaces: [String] = []
/Users/admin/builder/spi-builder-workspace/Sources/Acheron/Loom/Loom.swift:16:23: warning: static property 'namespaces' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
14 | public static var basket: Basket!
15 |
16 | public static var namespaces: [String] = []
| |- warning: static property 'namespaces' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'namespaces' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'namespaces' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
17 | static var domains = [String:[String:AnyClass]]()
18 |
/Users/admin/builder/spi-builder-workspace/Sources/Acheron/Loom/Loom.swift:17:16: warning: static property 'domains' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
15 |
16 | public static var namespaces: [String] = []
17 | static var domains = [String:[String:AnyClass]]()
| |- warning: static property 'domains' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'domains' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'domains' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
18 |
19 | static func name(for type: Domain.Type) -> String { nameFromType(type) }
[313/315] Compiling Acheron Persist.swift
/Users/admin/builder/spi-builder-workspace/Sources/Acheron/Loom/Basket.swift:268:33: warning: capture of 'closure' with non-sendable type '() -> ()' in a '@Sendable' closure
266 | await withCheckedContinuation { (continuation: CheckedContinuation<Void, Never>) in
267 | DispatchQueue.global().async {
268 | basket.transact(closure)
| |- warning: capture of 'closure' with non-sendable type '() -> ()' in a '@Sendable' closure
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
269 | continuation.resume()
270 | }
/Users/admin/builder/spi-builder-workspace/Sources/Acheron/Loom/Loom.swift:14:23: warning: static property 'basket' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
12 |
13 | public class Loom {
14 | public static var basket: Basket!
| |- warning: static property 'basket' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'basket' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'basket' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
15 |
16 | public static var namespaces: [String] = []
/Users/admin/builder/spi-builder-workspace/Sources/Acheron/Loom/Loom.swift:16:23: warning: static property 'namespaces' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
14 | public static var basket: Basket!
15 |
16 | public static var namespaces: [String] = []
| |- warning: static property 'namespaces' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'namespaces' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'namespaces' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
17 | static var domains = [String:[String:AnyClass]]()
18 |
/Users/admin/builder/spi-builder-workspace/Sources/Acheron/Loom/Loom.swift:17:16: warning: static property 'domains' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
15 |
16 | public static var namespaces: [String] = []
17 | static var domains = [String:[String:AnyClass]]()
| |- warning: static property 'domains' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'domains' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'domains' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
18 |
19 | static func name(for type: Domain.Type) -> String { nameFromType(type) }
[314/315] Compiling Acheron SQLitePersist.swift
/Users/admin/builder/spi-builder-workspace/Sources/Acheron/Loom/Basket.swift:268:33: warning: capture of 'closure' with non-sendable type '() -> ()' in a '@Sendable' closure
266 | await withCheckedContinuation { (continuation: CheckedContinuation<Void, Never>) in
267 | DispatchQueue.global().async {
268 | basket.transact(closure)
| |- warning: capture of 'closure' with non-sendable type '() -> ()' in a '@Sendable' closure
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
269 | continuation.resume()
270 | }
/Users/admin/builder/spi-builder-workspace/Sources/Acheron/Loom/Loom.swift:14:23: warning: static property 'basket' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
12 |
13 | public class Loom {
14 | public static var basket: Basket!
| |- warning: static property 'basket' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'basket' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'basket' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
15 |
16 | public static var namespaces: [String] = []
/Users/admin/builder/spi-builder-workspace/Sources/Acheron/Loom/Loom.swift:16:23: warning: static property 'namespaces' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
14 | public static var basket: Basket!
15 |
16 | public static var namespaces: [String] = []
| |- warning: static property 'namespaces' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'namespaces' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'namespaces' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
17 | static var domains = [String:[String:AnyClass]]()
18 |
/Users/admin/builder/spi-builder-workspace/Sources/Acheron/Loom/Loom.swift:17:16: warning: static property 'domains' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
15 |
16 | public static var namespaces: [String] = []
17 | static var domains = [String:[String:AnyClass]]()
| |- warning: static property 'domains' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'domains' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'domains' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
18 |
19 | static func name(for type: Domain.Type) -> String { nameFromType(type) }
[315/315] Compiling Acheron Weave.swift
/Users/admin/builder/spi-builder-workspace/Sources/Acheron/Loom/Basket.swift:268:33: warning: capture of 'closure' with non-sendable type '() -> ()' in a '@Sendable' closure
266 | await withCheckedContinuation { (continuation: CheckedContinuation<Void, Never>) in
267 | DispatchQueue.global().async {
268 | basket.transact(closure)
| |- warning: capture of 'closure' with non-sendable type '() -> ()' in a '@Sendable' closure
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
269 | continuation.resume()
270 | }
/Users/admin/builder/spi-builder-workspace/Sources/Acheron/Loom/Loom.swift:14:23: warning: static property 'basket' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
12 |
13 | public class Loom {
14 | public static var basket: Basket!
| |- warning: static property 'basket' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'basket' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'basket' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
15 |
16 | public static var namespaces: [String] = []
/Users/admin/builder/spi-builder-workspace/Sources/Acheron/Loom/Loom.swift:16:23: warning: static property 'namespaces' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
14 | public static var basket: Basket!
15 |
16 | public static var namespaces: [String] = []
| |- warning: static property 'namespaces' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'namespaces' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'namespaces' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
17 | static var domains = [String:[String:AnyClass]]()
18 |
/Users/admin/builder/spi-builder-workspace/Sources/Acheron/Loom/Loom.swift:17:16: warning: static property 'domains' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
15 |
16 | public static var namespaces: [String] = []
17 | static var domains = [String:[String:AnyClass]]()
| |- warning: static property 'domains' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'domains' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'domains' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
18 |
19 | static func name(for type: Domain.Type) -> String { nameFromType(type) }
Build complete! (36.39s)
Fetching https://github.com/swiftlang/swift-syntax.git from cache
Fetched https://github.com/swiftlang/swift-syntax.git from cache (3.39s)
Computing version for https://github.com/swiftlang/swift-syntax.git
Computed https://github.com/swiftlang/swift-syntax.git at 600.0.1 (6.51s)
Creating working copy for https://github.com/swiftlang/swift-syntax.git
Working copy of https://github.com/swiftlang/swift-syntax.git resolved at 600.0.1
warning: 'spi-builder-workspace': found 1 file(s) which are unhandled; explicitly declare them as resources or exclude from the target
/Users/admin/builder/spi-builder-workspace/Sources/Acheron/Loom/LOOM.md
Build complete.
{
"dependencies" : [
{
"identity" : "swift-syntax",
"requirement" : {
"range" : [
{
"lower_bound" : "600.0.0",
"upper_bound" : "601.0.0"
}
]
},
"type" : "sourceControl",
"url" : "https://github.com/swiftlang/swift-syntax.git"
}
],
"manifest_display_name" : "Acheron",
"name" : "Acheron",
"path" : "/Users/admin/builder/spi-builder-workspace",
"platforms" : [
{
"name" : "ios",
"version" : "13.0"
},
{
"name" : "macos",
"version" : "12.0"
},
{
"name" : "maccatalyst",
"version" : "13.0"
}
],
"products" : [
{
"name" : "Acheron",
"targets" : [
"Acheron"
],
"type" : {
"library" : [
"automatic"
]
}
},
{
"name" : "AcheronMacros",
"targets" : [
"AcheronMacros"
],
"type" : {
"macro" : null
}
}
],
"swift_languages_versions" : [
"5"
],
"targets" : [
{
"c99name" : "AcheronTests",
"module_type" : "SwiftTarget",
"name" : "AcheronTests",
"path" : "Tests/AcheronTests",
"sources" : [
"LoomTests.swift",
"SQLitePersistTests.swift",
"StringAcheronTests.swift",
"WeaveTests.swift"
],
"target_dependencies" : [
"Acheron"
],
"type" : "test"
},
{
"c99name" : "AcheronMacros",
"module_type" : "SwiftTarget",
"name" : "AcheronMacros",
"path" : "Sources/AcheronMacros",
"product_dependencies" : [
"SwiftSyntaxMacros",
"SwiftCompilerPlugin"
],
"product_memberships" : [
"Acheron",
"AcheronMacros"
],
"sources" : [
"AcheronMacros.swift"
],
"type" : "macro"
},
{
"c99name" : "Acheron",
"module_type" : "SwiftTarget",
"name" : "Acheron",
"path" : "Sources/Acheron",
"product_memberships" : [
"Acheron"
],
"sources" : [
"Extensions/Array+Acheron.swift",
"Extensions/Bundle+Acheron.swift",
"Extensions/CALayer+Acheron.swift",
"Extensions/CGPoint+Acheron.swift",
"Extensions/CGRect+Acheron.swift",
"Extensions/CGSize+Acheron.swift",
"Extensions/CaseIterable+Acheron.swift",
"Extensions/Codable+Acheron.swift",
"Extensions/Comparable+Acheron.swift",
"Extensions/Date+Acheron.swift",
"Extensions/Dictionary+Acheron.swift",
"Extensions/NSMutableAttributedString+Acheron.swift",
"Extensions/String+Acheron.swift",
"Extensions/UIButton+Acheron.swift",
"Extensions/UIColor+Acheron.swift",
"Extensions/UIControl+Acheron.swift",
"Extensions/UIImage+Acheron.swift",
"Extensions/UIImageView+Acheron.swift",
"Extensions/UILabel+Acheron.swift",
"Extensions/UITextField+Acheron.swift",
"Extensions/UIView+Acheron.swift",
"Extensions/UIViewController+Acheron.swift",
"Interface/AETableView.swift",
"Interface/AEViewController.swift",
"Interface/CellsView.swift",
"Interface/CellsViewCell.swift",
"Interface/ColorView.swift",
"Interface/ExpandableCell.swift",
"Interface/ExpandableTableView.swift",
"Interface/NodeView/Node.swift",
"Interface/NodeView/NodeCell.swift",
"Interface/NodeView/NodeColumn.swift",
"Interface/NodeView/NodeData.swift",
"Interface/NodeView/NodeHeader.swift",
"Interface/NodeView/NodeView.swift",
"Interface/Screen.swift",
"Interface/SplitterView.swift",
"Interface/TripWire.swift",
"Interface/UIKit/AEControl.swift",
"Interface/UIKit/AETableViewCell.swift",
"Interface/UIKit/AEView.swift",
"Loom/Anchor.swift",
"Loom/Basket.swift",
"Loom/Domain.swift",
"Loom/Loom.swift",
"Loom/Persist.swift",
"Loom/Persists/SQLitePersist.swift",
"Loom/Weave.swift",
"MCP/MCPServer.swift",
"Network/Wrapper.swift",
"Pebbles/BackgroundPond.swift",
"Pebbles/Pebble.swift",
"Pebbles/Pond.swift",
"Utility/AESync.swift",
"Utility/AETimer.swift",
"Utility/AsyncMap.swift",
"Utility/CSV.swift",
"Utility/Log.swift",
"Utility/Pen.swift",
"Utility/Profiler.swift",
"Utility/RGB.swift",
"Utility/SafeMap.swift",
"Utility/SafeSet.swift",
"Utility/ScramMap.swift",
"Utility/WeakSet.swift",
"Utility/XMLtoAttributes.swift"
],
"target_dependencies" : [
"AcheronMacros"
],
"type" : "library"
}
],
"tools_version" : "6.1"
}
Done.