Build Information
Failed to build Monstra, reference v0.1.0 (44efbc
), with Swift 6.1 for Linux on 7 Sep 2025 23:23:48 UTC.
Build Command
bash -c docker run --pull=always --rm -v "checkouts-4606859-1":/host -w "$PWD" -e JAVA_HOME="/root/.sdkman/candidates/java/current" -e SPI_BUILD="1" -e SPI_PROCESSING="1" registry.gitlab.com/finestructure/spi-images:basic-6.1-latest swift build --triple x86_64-unknown-linux-gnu 2>&1
Build Log
========================================
RunAll
========================================
Builder version: 4.67.1
Interrupt handler set up.
========================================
Checkout
========================================
Clone URL: https://github.com/yangchenlarkin/Monstra.git
Reference: v0.1.0
Initialized empty Git repository in /host/spi-builder-workspace/.git/
hint: Using 'master' as the name for the initial branch. This default branch name
hint: is subject to change. To configure the initial branch name to use in all
hint: of your new repositories, which will suppress this warning, call:
hint:
hint: git config --global init.defaultBranch <name>
hint:
hint: Names commonly chosen instead of 'master' are 'main', 'trunk' and
hint: 'development'. The just-created branch can be renamed via this command:
hint:
hint: git branch -m <name>
From https://github.com/yangchenlarkin/Monstra
* tag v0.1.0 -> FETCH_HEAD
HEAD is now at 44efbcc Release v0.1.0: Update version numbers and changelog
Cloned https://github.com/yangchenlarkin/Monstra.git
Revision (git rev-parse @):
44efbccb666635430d416dfcc2b810231e31a807
SUCCESS checkout https://github.com/yangchenlarkin/Monstra.git at v0.1.0
========================================
Build
========================================
Selected platform: linux
Swift version: 6.1
Building package at path: $PWD
https://github.com/yangchenlarkin/Monstra.git
https://github.com/yangchenlarkin/Monstra.git
WARNING: environment variable SUPPRESS_SWIFT_6_FLAGS is not set
{
"dependencies" : [
],
"manifest_display_name" : "Monstra",
"name" : "Monstra",
"path" : "/host/spi-builder-workspace",
"platforms" : [
{
"name" : "ios",
"version" : "13.0"
},
{
"name" : "macos",
"version" : "10.15"
},
{
"name" : "tvos",
"version" : "13.0"
},
{
"name" : "watchos",
"version" : "6.0"
}
],
"products" : [
{
"name" : "Monstra",
"targets" : [
"Monstra"
],
"type" : {
"library" : [
"automatic"
]
}
}
],
"targets" : [
{
"c99name" : "MonstraBaseTests",
"module_type" : "SwiftTarget",
"name" : "MonstraBaseTests",
"path" : "Tests/MonstraBaseTests",
"sources" : [
"CPUTimeStampPerformanceTests.swift",
"CPUTimeStampTests.swift",
"DoublyLinkTests.swift",
"HashQueueTests.swift",
"HeapPerformanceTests.swift",
"HeapTests.swift",
"RetryCountTests.swift",
"TracingIDFactoryTest.swift"
],
"target_dependencies" : [
"Monstra"
],
"type" : "test"
},
{
"c99name" : "Monstra",
"module_type" : "SwiftTarget",
"name" : "Monstra",
"path" : "Sources",
"product_memberships" : [
"Monstra"
],
"sources" : [
"Monstask/KVHeavyTasksManager.swift",
"Monstask/KVLightTasksManager.swift",
"Monstask/MonoTask.swift",
"Monstore/MemoryCache/MemoryCache.swift",
"Monstore/MemoryCache/PriorityLRUQueue.swift",
"Monstore/MemoryCache/TTLPriorityLRUQueue.swift",
"Monstore/Statistics/CacheStatistics.swift",
"MonstraBase/CPUTimeStamp.swift",
"MonstraBase/DoublyLink.swift",
"MonstraBase/HashQueue.swift",
"MonstraBase/Heap.swift",
"MonstraBase/RetryCount.swift",
"MonstraBase/TracingIDFactory.swift"
],
"type" : "library"
},
{
"c99name" : "MonstoreTests",
"module_type" : "SwiftTarget",
"name" : "MonstoreTests",
"path" : "Tests/MonstoreTests",
"sources" : [
"MemoryCache/FeatureTest/MemoryCacheTests.swift",
"MemoryCache/FeatureTest/PriorityLRUQueueTests.swift",
"MemoryCache/FeatureTest/TTLPriorityLRUQueueTests.swift",
"MemoryCache/PerformanceTest/MemoryCachePerformanceTests.swift",
"MemoryCache/PerformanceTest/PriorityLRUQueuePerformanceTests.swift",
"MemoryCache/PerformanceTest/TTLPriorityLRUQueuePerformanceTests.swift",
"Statistics/CacheStatisticsTests.swift"
],
"target_dependencies" : [
"Monstra"
],
"type" : "test"
},
{
"c99name" : "MonstaskTests",
"module_type" : "SwiftTarget",
"name" : "MonstaskTests",
"path" : "Tests/MonstaskTests",
"sources" : [
"KVHeavyTasksManagerTests.swift",
"KVLightTasksManagerTests.swift",
"MonoTaskClearResultTests.swift",
"MonoTaskCrossScenarioTests.swift",
"MonoTaskForceUpdateTests.swift",
"MonoTaskTests.swift"
],
"target_dependencies" : [
"Monstra"
],
"type" : "test"
}
],
"tools_version" : "5.5"
}
Running build ...
bash -c docker run --pull=always --rm -v "checkouts-4606859-1":/host -w "$PWD" -e JAVA_HOME="/root/.sdkman/candidates/java/current" -e SPI_BUILD="1" -e SPI_PROCESSING="1" registry.gitlab.com/finestructure/spi-images:basic-6.1-latest swift build --triple x86_64-unknown-linux-gnu -Xswiftc -Xfrontend -Xswiftc -stats-output-dir -Xswiftc -Xfrontend -Xswiftc .stats -Xswiftc -strict-concurrency=complete -Xswiftc -enable-upcoming-feature -Xswiftc StrictConcurrency -Xswiftc -enable-upcoming-feature -Xswiftc DisableOutwardActorInference -Xswiftc -enable-upcoming-feature -Xswiftc GlobalActorIsolatedTypesUsability -Xswiftc -enable-upcoming-feature -Xswiftc InferSendableFromCaptures 2>&1
basic-6.1-latest: Pulling from finestructure/spi-images
Digest: sha256:99ea6d26ace67c023f359493a2ac553a612b92a7f2dee009657225f46f43aa0e
Status: Image is up to date for registry.gitlab.com/finestructure/spi-images:basic-6.1-latest
warning: 'spi-builder-workspace': found 1 file(s) which are unhandled; explicitly declare them as resources or exclude from the target
/host/spi-builder-workspace/Sources/Monstore/MemoryCache/README.md
Building for debugging...
[0/2] Write sources
[1/2] Write swift-version-24593BA9C3E375BF.txt
[3/15] Compiling Monstra Heap.swift
[4/16] Compiling Monstra TracingIDFactory.swift
/host/spi-builder-workspace/Sources/MonstraBase/TracingIDFactory.swift:223:24: error: cannot find 'os_unfair_lock' in scope
221 | /// Uses `os_unfair_lock` for minimal overhead while providing mutual exclusion.
222 | /// This lock protects the `sequentialCounter` during increment and ID calculation.
223 | private var lock = os_unfair_lock()
| `- error: cannot find 'os_unfair_lock' in scope
224 |
225 | /// Core ID generation logic without thread safety (maximum performance).
/host/spi-builder-workspace/Sources/MonstraBase/TracingIDFactory.swift:280:9: error: cannot find 'os_unfair_lock_lock' in scope
278 | private mutating func _safe_next() -> Int64 {
279 | // Acquire exclusive access to mutable state
280 | os_unfair_lock_lock(&lock)
| `- error: cannot find 'os_unfair_lock_lock' in scope
281 | defer {
282 | // Ensure lock is always released, even if _unsafe_next() throws or returns early
/host/spi-builder-workspace/Sources/MonstraBase/TracingIDFactory.swift:283:13: error: cannot find 'os_unfair_lock_unlock' in scope
281 | defer {
282 | // Ensure lock is always released, even if _unsafe_next() throws or returns early
283 | os_unfair_lock_unlock(&self.lock)
| `- error: cannot find 'os_unfair_lock_unlock' in scope
284 | }
285 |
[5/16] Compiling Monstra RetryCount.swift
error: emit-module command failed with exit code 1 (use -v to see invocation)
[6/16] Compiling Monstra DoublyLink.swift
[7/16] Compiling Monstra HashQueue.swift
[8/16] Emitting module Monstra
/host/spi-builder-workspace/Sources/Monstask/KVHeavyTasksManager.swift:650:14: warning: associated value 'taskEvictedDueToPriorityConstraints' of 'Sendable'-conforming enum 'Errors' has non-sendable type 'K'; this is an error in the Swift 6 language mode
542 | /// - **Provider lifecycle**: Balance setup cost vs memory usage with reuse/dealloc decisions
543 | public class KVHeavyTasksManager<
544 | K,
| `- note: consider making generic parameter 'K' conform to the 'Sendable' protocol
545 | Element,
546 | CustomEvent,
:
648 | /// A task could not be enqueued due to priority/queue constraints.
649 | /// - Parameter key: The key of the task that was evicted.
650 | case taskEvictedDueToPriorityConstraints(K)
| `- warning: associated value 'taskEvictedDueToPriorityConstraints' of 'Sendable'-conforming enum 'Errors' has non-sendable type 'K'; this is an error in the Swift 6 language mode
651 | }
652 |
/host/spi-builder-workspace/Sources/Monstore/Statistics/CacheStatistics.swift:22:29: warning: static property 'tracingIDFactory' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
20 | /// - Thread-safety: This type is not synchronized; coordinate access externally if needed.
21 | public struct CacheStatistics {
22 | private(set) static var tracingIDFactory = TracingIDFactory()
| |- warning: static property 'tracingIDFactory' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'tracingIDFactory' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'tracingIDFactory' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
23 |
24 | private(set) var tracingID = tracingIDFactory.unsafeNextUInt64()
/host/spi-builder-workspace/Sources/MonstraBase/CPUTimeStamp.swift:18:38: error: cannot find type 'mach_timebase_info_data_t' in scope
16 |
17 | /// Mach timebase info for converting between different time units. Cached for performance.
18 | private static let timebaseInfo: mach_timebase_info_data_t = {
| `- error: cannot find type 'mach_timebase_info_data_t' in scope
19 | var info = mach_timebase_info_data_t()
20 | mach_timebase_info(&info)
/host/spi-builder-workspace/Sources/MonstraBase/CPUTimeStamp.swift:35:23: warning: static property 'infinity' is not concurrency-safe because non-'Sendable' type 'CPUTimeStamp' may have shared mutable state; this is an error in the Swift 6 language mode
11 | /// - Thread-safe and value-semantic; creation is fast
12 | /// - `infinity` and `zero` helpers simplify sentinel usage
13 | public struct CPUTimeStamp {
| `- note: consider making struct 'CPUTimeStamp' conform to the 'Sendable' protocol
14 | /// The timestamp value in seconds since CPU start.
15 | private let timestampSeconds: TimeInterval
:
33 |
34 | /// A timestamp representing positive infinity (never expires).
35 | public static let infinity: Self = .init(timeInterval: .infinity)
| |- warning: static property 'infinity' is not concurrency-safe because non-'Sendable' type 'CPUTimeStamp' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'infinity' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
36 |
37 | /// Creates a timestamp representing the current moment.
/host/spi-builder-workspace/Sources/MonstraBase/CPUTimeStamp.swift:41:23: warning: static property 'zero' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
39 |
40 | /// A timestamp representing zero time (epoch).
41 | public static var zero: Self = .init(timeInterval: 0.0)
| |- warning: static property 'zero' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'zero' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'zero' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
42 |
43 | /// Initialize with current CPU time.
/host/spi-builder-workspace/Sources/MonstraBase/TracingIDFactory.swift:223:24: error: cannot find 'os_unfair_lock' in scope
221 | /// Uses `os_unfair_lock` for minimal overhead while providing mutual exclusion.
222 | /// This lock protects the `sequentialCounter` during increment and ID calculation.
223 | private var lock = os_unfair_lock()
| `- error: cannot find 'os_unfair_lock' in scope
224 |
225 | /// Core ID generation logic without thread safety (maximum performance).
[9/16] Compiling Monstra PriorityLRUQueue.swift
[10/16] Compiling Monstra TTLPriorityLRUQueue.swift
[11/16] Compiling Monstra KVHeavyTasksManager.swift
/host/spi-builder-workspace/Sources/Monstask/KVHeavyTasksManager.swift:650:14: warning: associated value 'taskEvictedDueToPriorityConstraints' of 'Sendable'-conforming enum 'Errors' has non-sendable type 'K'; this is an error in the Swift 6 language mode
542 | /// - **Provider lifecycle**: Balance setup cost vs memory usage with reuse/dealloc decisions
543 | public class KVHeavyTasksManager<
544 | K,
| `- note: consider making generic parameter 'K' conform to the 'Sendable' protocol
545 | Element,
546 | CustomEvent,
:
648 | /// A task could not be enqueued due to priority/queue constraints.
649 | /// - Parameter key: The key of the task that was evicted.
650 | case taskEvictedDueToPriorityConstraints(K)
| `- warning: associated value 'taskEvictedDueToPriorityConstraints' of 'Sendable'-conforming enum 'Errors' has non-sendable type 'K'; this is an error in the Swift 6 language mode
651 | }
652 |
/host/spi-builder-workspace/Sources/Monstask/KVHeavyTasksManager.swift:754:42: warning: capture of 'element' with non-sendable type 'Element' in a '@Sendable' closure; this is an error in the Swift 6 language mode
543 | public class KVHeavyTasksManager<
544 | K,
545 | Element,
| `- note: consider making generic parameter 'Element' conform to the 'Sendable' protocol
546 | CustomEvent,
547 | DataProvider: KVHeavyTaskBaseDataProvider<K, Element, CustomEvent>
:
752 | // Cache hit with valid result - return immediately without task execution
753 | DispatchQueue.global().async {
754 | resultCallback?(.success(element))
| `- warning: capture of 'element' with non-sendable type 'Element' in a '@Sendable' closure; this is an error in the Swift 6 language mode
755 | }
756 | return
/host/spi-builder-workspace/Sources/Monstask/KVHeavyTasksManager.swift:1017:54: warning: capture of 'key' with non-sendable type 'K' in a '@Sendable' closure; this is an error in the Swift 6 language mode
542 | /// - **Provider lifecycle**: Balance setup cost vs memory usage with reuse/dealloc decisions
543 | public class KVHeavyTasksManager<
544 | K,
| `- note: consider making generic parameter 'K' conform to the 'Sendable' protocol
545 | Element,
546 | CustomEvent,
:
1015 |
1016 | // Broadcast event to all registered observers for this key
1017 | taskManager.customEventObservers[key]?.forEach { observer in
| `- warning: capture of 'key' with non-sendable type 'K' in a '@Sendable' closure; this is an error in the Swift 6 language mode
1018 | DispatchQueue.global().async {
1019 | observer(customEvent)
/host/spi-builder-workspace/Sources/Monstask/KVHeavyTasksManager.swift:1017:54: warning: capture of 'key' with non-sendable type 'K' in a '@Sendable' closure; this is an error in the Swift 6 language mode
542 | /// - **Provider lifecycle**: Balance setup cost vs memory usage with reuse/dealloc decisions
543 | public class KVHeavyTasksManager<
544 | K,
| `- note: consider making generic parameter 'K' conform to the 'Sendable' protocol
545 | Element,
546 | CustomEvent,
:
1015 |
1016 | // Broadcast event to all registered observers for this key
1017 | taskManager.customEventObservers[key]?.forEach { observer in
| `- warning: capture of 'key' with non-sendable type 'K' in a '@Sendable' closure; this is an error in the Swift 6 language mode
1018 | DispatchQueue.global().async {
1019 | observer(customEvent)
/host/spi-builder-workspace/Sources/Monstask/KVHeavyTasksManager.swift:1019:38: warning: capture of 'customEvent' with non-sendable type 'CustomEvent' in a '@Sendable' closure; this is an error in the Swift 6 language mode
544 | K,
545 | Element,
546 | CustomEvent,
| `- note: consider making generic parameter 'CustomEvent' conform to the 'Sendable' protocol
547 | DataProvider: KVHeavyTaskBaseDataProvider<K, Element, CustomEvent>
548 | > where DataProvider: KVHeavyTaskDataProviderInterface {
:
1017 | taskManager.customEventObservers[key]?.forEach { observer in
1018 | DispatchQueue.global().async {
1019 | observer(customEvent)
| `- warning: capture of 'customEvent' with non-sendable type 'CustomEvent' in a '@Sendable' closure; this is an error in the Swift 6 language mode
1020 | }
1021 | }
/host/spi-builder-workspace/Sources/Monstask/KVHeavyTasksManager.swift:1019:38: warning: capture of 'customEvent' with non-sendable type 'CustomEvent' in an isolated closure; this is an error in the Swift 6 language mode
544 | K,
545 | Element,
546 | CustomEvent,
| `- note: consider making generic parameter 'CustomEvent' conform to the 'Sendable' protocol
547 | DataProvider: KVHeavyTaskBaseDataProvider<K, Element, CustomEvent>
548 | > where DataProvider: KVHeavyTaskDataProviderInterface {
:
1017 | taskManager.customEventObservers[key]?.forEach { observer in
1018 | DispatchQueue.global().async {
1019 | observer(customEvent)
| `- warning: capture of 'customEvent' with non-sendable type 'CustomEvent' in an isolated closure; this is an error in the Swift 6 language mode
1020 | }
1021 | }
/host/spi-builder-workspace/Sources/Monstask/KVHeavyTasksManager.swift:1019:38: warning: capture of 'customEvent' with non-sendable type 'CustomEvent' in a '@Sendable' closure; this is an error in the Swift 6 language mode
544 | K,
545 | Element,
546 | CustomEvent,
| `- note: consider making generic parameter 'CustomEvent' conform to the 'Sendable' protocol
547 | DataProvider: KVHeavyTaskBaseDataProvider<K, Element, CustomEvent>
548 | > where DataProvider: KVHeavyTaskDataProviderInterface {
:
1017 | taskManager.customEventObservers[key]?.forEach { observer in
1018 | DispatchQueue.global().async {
1019 | observer(customEvent)
| `- warning: capture of 'customEvent' with non-sendable type 'CustomEvent' in a '@Sendable' closure; this is an error in the Swift 6 language mode
1020 | }
1021 | }
/host/spi-builder-workspace/Sources/Monstask/KVHeavyTasksManager.swift:1033:70: warning: capture of 'key' with non-sendable type 'K' in a '@Sendable' closure; this is an error in the Swift 6 language mode
542 | /// - **Provider lifecycle**: Balance setup cost vs memory usage with reuse/dealloc decisions
543 | public class KVHeavyTasksManager<
544 | K,
| `- note: consider making generic parameter 'K' conform to the 'Sendable' protocol
545 | Element,
546 | CustomEvent,
:
1031 | case let .success(element):
1032 | // Cache successful results for future requests
1033 | taskManager.cache.set(element: element, for: key)
| `- warning: capture of 'key' with non-sendable type 'K' in a '@Sendable' closure; this is an error in the Swift 6 language mode
1034 | taskManager.consumeCallbacks(for: key, result: .success(element))
1035 | case let .failure(error):
/host/spi-builder-workspace/Sources/Monstask/KVHeavyTasksManager.swift:1030:28: warning: capture of 'result' with non-sendable type 'Result<Element?, any Error>' in a '@Sendable' closure; this is an error in the Swift 6 language mode
543 | public class KVHeavyTasksManager<
544 | K,
545 | Element,
| `- note: consider making generic parameter 'Element' conform to the 'Sendable' protocol
546 | CustomEvent,
547 | DataProvider: KVHeavyTaskBaseDataProvider<K, Element, CustomEvent>
:
1028 | defer { taskManager.semaphore.signal() }
1029 |
1030 | switch result {
| `- warning: capture of 'result' with non-sendable type 'Result<Element?, any Error>' in a '@Sendable' closure; this is an error in the Swift 6 language mode
1031 | case let .success(element):
1032 | // Cache successful results for future requests
/host/spi-builder-workspace/Sources/Monstask/KVHeavyTasksManager.swift:1033:70: warning: capture of 'key' with non-sendable type 'K' in a '@Sendable' closure; this is an error in the Swift 6 language mode
542 | /// - **Provider lifecycle**: Balance setup cost vs memory usage with reuse/dealloc decisions
543 | public class KVHeavyTasksManager<
544 | K,
| `- note: consider making generic parameter 'K' conform to the 'Sendable' protocol
545 | Element,
546 | CustomEvent,
:
1031 | case let .success(element):
1032 | // Cache successful results for future requests
1033 | taskManager.cache.set(element: element, for: key)
| `- warning: capture of 'key' with non-sendable type 'K' in a '@Sendable' closure; this is an error in the Swift 6 language mode
1034 | taskManager.consumeCallbacks(for: key, result: .success(element))
1035 | case let .failure(error):
/host/spi-builder-workspace/Sources/Monstask/KVHeavyTasksManager.swift:1119:26: warning: capture of 'result' with non-sendable type 'Result<Element?, any Error>' in a '@Sendable' closure; this is an error in the Swift 6 language mode
543 | public class KVHeavyTasksManager<
544 | K,
545 | Element,
| `- note: consider making generic parameter 'Element' conform to the 'Sendable' protocol
546 | CustomEvent,
547 | DataProvider: KVHeavyTaskBaseDataProvider<K, Element, CustomEvent>
:
1117 | resultCallbacks[key]?.forEach { callback in
1118 | DispatchQueue.global().async {
1119 | callback(result)
| `- warning: capture of 'result' with non-sendable type 'Result<Element?, any Error>' in a '@Sendable' closure; this is an error in the Swift 6 language mode
1120 | }
1121 | }
/host/spi-builder-workspace/Sources/Monstask/KVLightTasksManager.swift:290:21: warning: capture of 'multiCallback' with non-sendable type 'KVLightTasksManager<K, Element>.BatchResultCallback' (aka '(Array<(K, Result<Optional<Element>, any Error>)>) -> ()') in a '@Sendable' closure; this is an error in the Swift 6 language mode
288 | let capturedResults = results
289 | DispatchQueue.global().async {
290 | multiCallback(
| |- warning: capture of 'multiCallback' with non-sendable type 'KVLightTasksManager<K, Element>.BatchResultCallback' (aka '(Array<(K, Result<Optional<Element>, any Error>)>) -> ()') in a '@Sendable' closure; this is an error in the Swift 6 language mode
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
291 | keys.map { ($0, capturedResults[$0] ?? .success(nil)) }
292 | )
/host/spi-builder-workspace/Sources/Monstask/KVLightTasksManager.swift:291:25: warning: capture of 'keys' with non-sendable type '[K]' in a '@Sendable' closure; this is an error in the Swift 6 language mode
289 | DispatchQueue.global().async {
290 | multiCallback(
291 | keys.map { ($0, capturedResults[$0] ?? .success(nil)) }
| `- warning: capture of 'keys' with non-sendable type '[K]' in a '@Sendable' closure; this is an error in the Swift 6 language mode
292 | )
293 | }
:
384 |
385 | /// A lightweight key-value tasks manager that integrates a cache and configurable providers.
386 | public class KVLightTasksManager<K: Hashable, Element> {
| `- note: consider making generic parameter 'K' conform to the 'Sendable' protocol
387 | private init(_ config: Config) {
388 | self.config = config
/host/spi-builder-workspace/Sources/Monstask/KVLightTasksManager.swift:291:41: warning: capture of 'capturedResults' with non-sendable type '[K : Result<Element?, any Error>]' in a '@Sendable' closure; this is an error in the Swift 6 language mode
289 | DispatchQueue.global().async {
290 | multiCallback(
291 | keys.map { ($0, capturedResults[$0] ?? .success(nil)) }
| `- warning: capture of 'capturedResults' with non-sendable type '[K : Result<Element?, any Error>]' in a '@Sendable' closure; this is an error in the Swift 6 language mode
292 | )
293 | }
:
384 |
385 | /// A lightweight key-value tasks manager that integrates a cache and configurable providers.
386 | public class KVLightTasksManager<K: Hashable, Element> {
| `- note: consider making generic parameter 'K' conform to the 'Sendable' protocol
387 | private init(_ config: Config) {
388 | self.config = config
/host/spi-builder-workspace/Sources/Monstask/KVLightTasksManager.swift:291:41: warning: capture of 'capturedResults' with non-sendable type '[K : Result<Element?, any Error>]' in a '@Sendable' closure; this is an error in the Swift 6 language mode
289 | DispatchQueue.global().async {
290 | multiCallback(
291 | keys.map { ($0, capturedResults[$0] ?? .success(nil)) }
| `- warning: capture of 'capturedResults' with non-sendable type '[K : Result<Element?, any Error>]' in a '@Sendable' closure; this is an error in the Swift 6 language mode
292 | )
293 | }
:
384 |
385 | /// A lightweight key-value tasks manager that integrates a cache and configurable providers.
386 | public class KVLightTasksManager<K: Hashable, Element> {
| `- note: consider making generic parameter 'Element' conform to the 'Sendable' protocol
387 | private init(_ config: Config) {
388 | self.config = config
/host/spi-builder-workspace/Sources/Monstask/KVLightTasksManager.swift:291:41: warning: capture of 'capturedResults' with non-sendable type '[K : Result<Element?, any Error>]' in an isolated closure; this is an error in the Swift 6 language mode
289 | DispatchQueue.global().async {
290 | multiCallback(
291 | keys.map { ($0, capturedResults[$0] ?? .success(nil)) }
| `- warning: capture of 'capturedResults' with non-sendable type '[K : Result<Element?, any Error>]' in an isolated closure; this is an error in the Swift 6 language mode
292 | )
293 | }
:
384 |
385 | /// A lightweight key-value tasks manager that integrates a cache and configurable providers.
386 | public class KVLightTasksManager<K: Hashable, Element> {
| `- note: consider making generic parameter 'K' conform to the 'Sendable' protocol
387 | private init(_ config: Config) {
388 | self.config = config
/host/spi-builder-workspace/Sources/Monstask/KVLightTasksManager.swift:291:41: warning: capture of 'capturedResults' with non-sendable type '[K : Result<Element?, any Error>]' in an isolated closure; this is an error in the Swift 6 language mode
289 | DispatchQueue.global().async {
290 | multiCallback(
291 | keys.map { ($0, capturedResults[$0] ?? .success(nil)) }
| `- warning: capture of 'capturedResults' with non-sendable type '[K : Result<Element?, any Error>]' in an isolated closure; this is an error in the Swift 6 language mode
292 | )
293 | }
:
384 |
385 | /// A lightweight key-value tasks manager that integrates a cache and configurable providers.
386 | public class KVLightTasksManager<K: Hashable, Element> {
| `- note: consider making generic parameter 'Element' conform to the 'Sendable' protocol
387 | private init(_ config: Config) {
388 | self.config = config
/host/spi-builder-workspace/Sources/Monstask/KVLightTasksManager.swift:428:39: warning: capture of 'completion' with non-sendable type 'KVLightTasksManager<K, Element>.ResultCallback' (aka '(K, Result<Optional<Element>, any Error>) -> ()') in a '@Sendable' closure; this is an error in the Swift 6 language mode
426 | switch cache.getElement(for: key) {
427 | case .invalidKey:
428 | dispatchQueue.async { completion(key, .success(nil)) }
| |- warning: capture of 'completion' with non-sendable type 'KVLightTasksManager<K, Element>.ResultCallback' (aka '(K, Result<Optional<Element>, any Error>) -> ()') in a '@Sendable' closure; this is an error in the Swift 6 language mode
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
429 | case .hitNullElement:
430 | dispatchQueue.async { completion(key, .success(nil)) }
/host/spi-builder-workspace/Sources/Monstask/KVLightTasksManager.swift:428:50: warning: capture of 'key' with non-sendable type 'K' in a '@Sendable' closure; this is an error in the Swift 6 language mode
384 |
385 | /// A lightweight key-value tasks manager that integrates a cache and configurable providers.
386 | public class KVLightTasksManager<K: Hashable, Element> {
| `- note: consider making generic parameter 'K' conform to the 'Sendable' protocol
387 | private init(_ config: Config) {
388 | self.config = config
:
426 | switch cache.getElement(for: key) {
427 | case .invalidKey:
428 | dispatchQueue.async { completion(key, .success(nil)) }
| `- warning: capture of 'key' with non-sendable type 'K' in a '@Sendable' closure; this is an error in the Swift 6 language mode
429 | case .hitNullElement:
430 | dispatchQueue.async { completion(key, .success(nil)) }
/host/spi-builder-workspace/Sources/Monstask/KVLightTasksManager.swift:430:39: warning: capture of 'completion' with non-sendable type 'KVLightTasksManager<K, Element>.ResultCallback' (aka '(K, Result<Optional<Element>, any Error>) -> ()') in a '@Sendable' closure; this is an error in the Swift 6 language mode
428 | dispatchQueue.async { completion(key, .success(nil)) }
429 | case .hitNullElement:
430 | dispatchQueue.async { completion(key, .success(nil)) }
| |- warning: capture of 'completion' with non-sendable type 'KVLightTasksManager<K, Element>.ResultCallback' (aka '(K, Result<Optional<Element>, any Error>) -> ()') in a '@Sendable' closure; this is an error in the Swift 6 language mode
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
431 | case let .hitNonNullElement(element: element):
432 | dispatchQueue.async { completion(key, .success(element)) }
/host/spi-builder-workspace/Sources/Monstask/KVLightTasksManager.swift:430:50: warning: capture of 'key' with non-sendable type 'K' in a '@Sendable' closure; this is an error in the Swift 6 language mode
384 |
385 | /// A lightweight key-value tasks manager that integrates a cache and configurable providers.
386 | public class KVLightTasksManager<K: Hashable, Element> {
| `- note: consider making generic parameter 'K' conform to the 'Sendable' protocol
387 | private init(_ config: Config) {
388 | self.config = config
:
428 | dispatchQueue.async { completion(key, .success(nil)) }
429 | case .hitNullElement:
430 | dispatchQueue.async { completion(key, .success(nil)) }
| `- warning: capture of 'key' with non-sendable type 'K' in a '@Sendable' closure; this is an error in the Swift 6 language mode
431 | case let .hitNonNullElement(element: element):
432 | dispatchQueue.async { completion(key, .success(element)) }
/host/spi-builder-workspace/Sources/Monstask/KVLightTasksManager.swift:432:39: warning: capture of 'completion' with non-sendable type 'KVLightTasksManager<K, Element>.ResultCallback' (aka '(K, Result<Optional<Element>, any Error>) -> ()') in a '@Sendable' closure; this is an error in the Swift 6 language mode
430 | dispatchQueue.async { completion(key, .success(nil)) }
431 | case let .hitNonNullElement(element: element):
432 | dispatchQueue.async { completion(key, .success(element)) }
| |- warning: capture of 'completion' with non-sendable type 'KVLightTasksManager<K, Element>.ResultCallback' (aka '(K, Result<Optional<Element>, any Error>) -> ()') in a '@Sendable' closure; this is an error in the Swift 6 language mode
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
433 | case .miss:
434 | remoteKeys.append(key)
/host/spi-builder-workspace/Sources/Monstask/KVLightTasksManager.swift:432:50: warning: capture of 'key' with non-sendable type 'K' in a '@Sendable' closure; this is an error in the Swift 6 language mode
384 |
385 | /// A lightweight key-value tasks manager that integrates a cache and configurable providers.
386 | public class KVLightTasksManager<K: Hashable, Element> {
| `- note: consider making generic parameter 'K' conform to the 'Sendable' protocol
387 | private init(_ config: Config) {
388 | self.config = config
:
430 | dispatchQueue.async { completion(key, .success(nil)) }
431 | case let .hitNonNullElement(element: element):
432 | dispatchQueue.async { completion(key, .success(element)) }
| `- warning: capture of 'key' with non-sendable type 'K' in a '@Sendable' closure; this is an error in the Swift 6 language mode
433 | case .miss:
434 | remoteKeys.append(key)
/host/spi-builder-workspace/Sources/Monstask/KVLightTasksManager.swift:432:64: warning: capture of 'element' with non-sendable type 'Element' in a '@Sendable' closure; this is an error in the Swift 6 language mode
384 |
385 | /// A lightweight key-value tasks manager that integrates a cache and configurable providers.
386 | public class KVLightTasksManager<K: Hashable, Element> {
| `- note: consider making generic parameter 'Element' conform to the 'Sendable' protocol
387 | private init(_ config: Config) {
388 | self.config = config
:
430 | dispatchQueue.async { completion(key, .success(nil)) }
431 | case let .hitNonNullElement(element: element):
432 | dispatchQueue.async { completion(key, .success(element)) }
| `- warning: capture of 'element' with non-sendable type 'Element' in a '@Sendable' closure; this is an error in the Swift 6 language mode
433 | case .miss:
434 | remoteKeys.append(key)
/host/spi-builder-workspace/Sources/Monstask/KVLightTasksManager.swift:445:27: warning: capture of 'self' with non-sendable type 'KVLightTasksManager<K, Element>?' in a '@Sendable' closure; this is an error in the Swift 6 language mode
384 |
385 | /// A lightweight key-value tasks manager that integrates a cache and configurable providers.
386 | public class KVLightTasksManager<K: Hashable, Element> {
| `- note: generic class 'KVLightTasksManager' does not conform to the 'Sendable' protocol
387 | private init(_ config: Config) {
388 | self.config = config
:
443 | startTaskExecution(keys: _remoteKeys) { [weak self] key, res in
444 | DispatchQueue.global().async {
445 | guard let self else { return }
| `- warning: capture of 'self' with non-sendable type 'KVLightTasksManager<K, Element>?' in a '@Sendable' closure; this is an error in the Swift 6 language mode
446 | self.semaphore.wait()
447 | defer { self.semaphore.signal() }
/host/spi-builder-workspace/Sources/Monstask/KVLightTasksManager.swift:448:49: warning: capture of 'res' with non-sendable type 'Result<Element?, any Error>' in a '@Sendable' closure; this is an error in the Swift 6 language mode
384 |
385 | /// A lightweight key-value tasks manager that integrates a cache and configurable providers.
386 | public class KVLightTasksManager<K: Hashable, Element> {
| `- note: consider making generic parameter 'Element' conform to the 'Sendable' protocol
387 | private init(_ config: Config) {
388 | self.config = config
:
446 | self.semaphore.wait()
447 | defer { self.semaphore.signal() }
448 | if case let .success(element) = res {
| `- warning: capture of 'res' with non-sendable type 'Result<Element?, any Error>' in a '@Sendable' closure; this is an error in the Swift 6 language mode
449 | self.cache.set(element: element, for: key)
450 | }
/host/spi-builder-workspace/Sources/Monstask/KVLightTasksManager.swift:449:59: warning: capture of 'key' with non-sendable type 'K' in a '@Sendable' closure; this is an error in the Swift 6 language mode
384 |
385 | /// A lightweight key-value tasks manager that integrates a cache and configurable providers.
386 | public class KVLightTasksManager<K: Hashable, Element> {
| `- note: consider making generic parameter 'K' conform to the 'Sendable' protocol
387 | private init(_ config: Config) {
388 | self.config = config
:
447 | defer { self.semaphore.signal() }
448 | if case let .success(element) = res {
449 | self.cache.set(element: element, for: key)
| `- warning: capture of 'key' with non-sendable type 'K' in a '@Sendable' closure; this is an error in the Swift 6 language mode
450 | }
451 | self.consumeCallbacks(key: key, dispatchQueue: dispatchQueue, result: res)
/host/spi-builder-workspace/Sources/Monstask/KVLightTasksManager.swift:445:27: warning: reference to captured var 'self' in concurrently-executing code; this is an error in the Swift 6 language mode
443 | startTaskExecution(keys: _remoteKeys) { [weak self] key, res in
444 | DispatchQueue.global().async {
445 | guard let self else { return }
| `- warning: reference to captured var 'self' in concurrently-executing code; this is an error in the Swift 6 language mode
446 | self.semaphore.wait()
447 | defer { self.semaphore.signal() }
/host/spi-builder-workspace/Sources/Monstask/KVLightTasksManager.swift:468:35: warning: capture of 'callback' with non-sendable type '(K, Result<Element?, any Error>) -> Void' in a '@Sendable' closure; this is an error in the Swift 6 language mode
466 | private func consumeCallbacks(key: K, dispatchQueue: DispatchQueue, result: Result<Element?, Error>) {
467 | resultCallbacks[key]?.forEach { callback in
468 | dispatchQueue.async { callback(key, result) }
| |- warning: capture of 'callback' with non-sendable type '(K, Result<Element?, any Error>) -> Void' in a '@Sendable' closure; this is an error in the Swift 6 language mode
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
469 | }
470 | resultCallbacks.removeValue(forKey: key)
/host/spi-builder-workspace/Sources/Monstask/KVLightTasksManager.swift:468:44: warning: capture of 'key' with non-sendable type 'K' in a '@Sendable' closure; this is an error in the Swift 6 language mode
384 |
385 | /// A lightweight key-value tasks manager that integrates a cache and configurable providers.
386 | public class KVLightTasksManager<K: Hashable, Element> {
| `- note: consider making generic parameter 'K' conform to the 'Sendable' protocol
387 | private init(_ config: Config) {
388 | self.config = config
:
466 | private func consumeCallbacks(key: K, dispatchQueue: DispatchQueue, result: Result<Element?, Error>) {
467 | resultCallbacks[key]?.forEach { callback in
468 | dispatchQueue.async { callback(key, result) }
| `- warning: capture of 'key' with non-sendable type 'K' in a '@Sendable' closure; this is an error in the Swift 6 language mode
469 | }
470 | resultCallbacks.removeValue(forKey: key)
/host/spi-builder-workspace/Sources/Monstask/KVLightTasksManager.swift:468:49: warning: capture of 'result' with non-sendable type 'Result<Element?, any Error>' in a '@Sendable' closure; this is an error in the Swift 6 language mode
384 |
385 | /// A lightweight key-value tasks manager that integrates a cache and configurable providers.
386 | public class KVLightTasksManager<K: Hashable, Element> {
| `- note: consider making generic parameter 'Element' conform to the 'Sendable' protocol
387 | private init(_ config: Config) {
388 | self.config = config
:
466 | private func consumeCallbacks(key: K, dispatchQueue: DispatchQueue, result: Result<Element?, Error>) {
467 | resultCallbacks[key]?.forEach { callback in
468 | dispatchQueue.async { callback(key, result) }
| `- warning: capture of 'result' with non-sendable type 'Result<Element?, any Error>' in a '@Sendable' closure; this is an error in the Swift 6 language mode
469 | }
470 | resultCallbacks.removeValue(forKey: key)
/host/spi-builder-workspace/Sources/Monstask/KVLightTasksManager.swift:550:23: warning: capture of 'self' with non-sendable type 'KVLightTasksManager<K, Element>?' in a '@Sendable' closure; this is an error in the Swift 6 language mode
384 |
385 | /// A lightweight key-value tasks manager that integrates a cache and configurable providers.
386 | public class KVLightTasksManager<K: Hashable, Element> {
| `- note: generic class 'KVLightTasksManager' does not conform to the 'Sendable' protocol
387 | private init(_ config: Config) {
388 | self.config = config
:
548 |
549 | DispatchQueue.global().async { [weak self] in
550 | guard let self else { return }
| `- warning: capture of 'self' with non-sendable type 'KVLightTasksManager<K, Element>?' in a '@Sendable' closure; this is an error in the Swift 6 language mode
551 |
552 | _executeMonoprovide(key: key, provide: provide) { [weak self] key, res in
/host/spi-builder-workspace/Sources/Monstask/KVLightTasksManager.swift:552:38: warning: capture of 'key' with non-sendable type 'K' in a '@Sendable' closure; this is an error in the Swift 6 language mode
384 |
385 | /// A lightweight key-value tasks manager that integrates a cache and configurable providers.
386 | public class KVLightTasksManager<K: Hashable, Element> {
| `- note: consider making generic parameter 'K' conform to the 'Sendable' protocol
387 | private init(_ config: Config) {
388 | self.config = config
:
550 | guard let self else { return }
551 |
552 | _executeMonoprovide(key: key, provide: provide) { [weak self] key, res in
| `- warning: capture of 'key' with non-sendable type 'K' in a '@Sendable' closure; this is an error in the Swift 6 language mode
553 | DispatchQueue.global().async { [weak self] in
554 | guard let self else { return }
/host/spi-builder-workspace/Sources/Monstask/KVLightTasksManager.swift:552:52: warning: capture of 'provide' with non-sendable type 'KVLightTasksManager<K, Element>.DataProvider.Monoprovide' (aka '(K, @escaping (Result<Optional<Element>, any Error>) -> ()) -> ()') in a '@Sendable' closure; this is an error in the Swift 6 language mode
550 | guard let self else { return }
551 |
552 | _executeMonoprovide(key: key, provide: provide) { [weak self] key, res in
| |- warning: capture of 'provide' with non-sendable type 'KVLightTasksManager<K, Element>.DataProvider.Monoprovide' (aka '(K, @escaping (Result<Optional<Element>, any Error>) -> ()) -> ()') in a '@Sendable' closure; this is an error in the Swift 6 language mode
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
553 | DispatchQueue.global().async { [weak self] in
554 | guard let self else { return }
/host/spi-builder-workspace/Sources/Monstask/KVLightTasksManager.swift:559:25: warning: capture of 'callback' with non-sendable type 'KVLightTasksManager<K, Element>.ResultCallback' (aka '(K, Result<Optional<Element>, any Error>) -> ()') in a '@Sendable' closure; this is an error in the Swift 6 language mode
557 | switch res {
558 | case let .success(element):
559 | callback(key, .success(element))
| |- warning: capture of 'callback' with non-sendable type 'KVLightTasksManager<K, Element>.ResultCallback' (aka '(K, Result<Optional<Element>, any Error>) -> ()') in a '@Sendable' closure; this is an error in the Swift 6 language mode
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
560 | _startOneMonoprovideThread(provide: provide, callback: callback)
561 | case let .failure(error):
/host/spi-builder-workspace/Sources/Monstask/KVLightTasksManager.swift:559:25: warning: capture of 'callback' with non-sendable type 'KVLightTasksManager<K, Element>.ResultCallback' (aka '(K, Result<Optional<Element>, any Error>) -> ()') in an isolated closure; this is an error in the Swift 6 language mode
557 | switch res {
558 | case let .success(element):
559 | callback(key, .success(element))
| |- warning: capture of 'callback' with non-sendable type 'KVLightTasksManager<K, Element>.ResultCallback' (aka '(K, Result<Optional<Element>, any Error>) -> ()') in an isolated closure; this is an error in the Swift 6 language mode
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
560 | _startOneMonoprovideThread(provide: provide, callback: callback)
561 | case let .failure(error):
/host/spi-builder-workspace/Sources/Monstask/KVLightTasksManager.swift:560:61: warning: capture of 'provide' with non-sendable type 'KVLightTasksManager<K, Element>.DataProvider.Monoprovide' (aka '(K, @escaping (Result<Optional<Element>, any Error>) -> ()) -> ()') in an isolated closure; this is an error in the Swift 6 language mode
558 | case let .success(element):
559 | callback(key, .success(element))
560 | _startOneMonoprovideThread(provide: provide, callback: callback)
| |- warning: capture of 'provide' with non-sendable type 'KVLightTasksManager<K, Element>.DataProvider.Monoprovide' (aka '(K, @escaping (Result<Optional<Element>, any Error>) -> ()) -> ()') in an isolated closure; this is an error in the Swift 6 language mode
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
561 | case let .failure(error):
562 | callback(key, .failure(error))
/host/spi-builder-workspace/Sources/Monstask/KVLightTasksManager.swift:554:31: warning: capture of 'self' with non-sendable type 'KVLightTasksManager<K, Element>?' in a '@Sendable' closure; this is an error in the Swift 6 language mode
384 |
385 | /// A lightweight key-value tasks manager that integrates a cache and configurable providers.
386 | public class KVLightTasksManager<K: Hashable, Element> {
| `- note: generic class 'KVLightTasksManager' does not conform to the 'Sendable' protocol
387 | private init(_ config: Config) {
388 | self.config = config
:
552 | _executeMonoprovide(key: key, provide: provide) { [weak self] key, res in
553 | DispatchQueue.global().async { [weak self] in
554 | guard let self else { return }
| `- warning: capture of 'self' with non-sendable type 'KVLightTasksManager<K, Element>?' in a '@Sendable' closure; this is an error in the Swift 6 language mode
555 | semaphore.wait()
556 | defer { semaphore.signal() }
/host/spi-builder-workspace/Sources/Monstask/KVLightTasksManager.swift:557:28: warning: capture of 'res' with non-sendable type 'Result<Element?, any Error>' in a '@Sendable' closure; this is an error in the Swift 6 language mode
384 |
385 | /// A lightweight key-value tasks manager that integrates a cache and configurable providers.
386 | public class KVLightTasksManager<K: Hashable, Element> {
| `- note: consider making generic parameter 'Element' conform to the 'Sendable' protocol
387 | private init(_ config: Config) {
388 | self.config = config
:
555 | semaphore.wait()
556 | defer { semaphore.signal() }
557 | switch res {
| `- warning: capture of 'res' with non-sendable type 'Result<Element?, any Error>' in a '@Sendable' closure; this is an error in the Swift 6 language mode
558 | case let .success(element):
559 | callback(key, .success(element))
/host/spi-builder-workspace/Sources/Monstask/KVLightTasksManager.swift:559:25: warning: capture of 'callback' with non-sendable type 'KVLightTasksManager<K, Element>.ResultCallback' (aka '(K, Result<Optional<Element>, any Error>) -> ()') in a '@Sendable' closure; this is an error in the Swift 6 language mode
557 | switch res {
558 | case let .success(element):
559 | callback(key, .success(element))
| |- warning: capture of 'callback' with non-sendable type 'KVLightTasksManager<K, Element>.ResultCallback' (aka '(K, Result<Optional<Element>, any Error>) -> ()') in a '@Sendable' closure; this is an error in the Swift 6 language mode
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
560 | _startOneMonoprovideThread(provide: provide, callback: callback)
561 | case let .failure(error):
/host/spi-builder-workspace/Sources/Monstask/KVLightTasksManager.swift:559:34: warning: capture of 'key' with non-sendable type 'K' in a '@Sendable' closure; this is an error in the Swift 6 language mode
384 |
385 | /// A lightweight key-value tasks manager that integrates a cache and configurable providers.
386 | public class KVLightTasksManager<K: Hashable, Element> {
| `- note: consider making generic parameter 'K' conform to the 'Sendable' protocol
387 | private init(_ config: Config) {
388 | self.config = config
:
557 | switch res {
558 | case let .success(element):
559 | callback(key, .success(element))
| `- warning: capture of 'key' with non-sendable type 'K' in a '@Sendable' closure; this is an error in the Swift 6 language mode
560 | _startOneMonoprovideThread(provide: provide, callback: callback)
561 | case let .failure(error):
/host/spi-builder-workspace/Sources/Monstask/KVLightTasksManager.swift:560:61: warning: capture of 'provide' with non-sendable type 'KVLightTasksManager<K, Element>.DataProvider.Monoprovide' (aka '(K, @escaping (Result<Optional<Element>, any Error>) -> ()) -> ()') in a '@Sendable' closure; this is an error in the Swift 6 language mode
558 | case let .success(element):
559 | callback(key, .success(element))
560 | _startOneMonoprovideThread(provide: provide, callback: callback)
| |- warning: capture of 'provide' with non-sendable type 'KVLightTasksManager<K, Element>.DataProvider.Monoprovide' (aka '(K, @escaping (Result<Optional<Element>, any Error>) -> ()) -> ()') in a '@Sendable' closure; this is an error in the Swift 6 language mode
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
561 | case let .failure(error):
562 | callback(key, .failure(error))
/host/spi-builder-workspace/Sources/Monstask/KVLightTasksManager.swift:592:23: warning: capture of 'self' with non-sendable type 'KVLightTasksManager<K, Element>?' in a '@Sendable' closure; this is an error in the Swift 6 language mode
384 |
385 | /// A lightweight key-value tasks manager that integrates a cache and configurable providers.
386 | public class KVLightTasksManager<K: Hashable, Element> {
| `- note: generic class 'KVLightTasksManager' does not conform to the 'Sendable' protocol
387 | private init(_ config: Config) {
388 | self.config = config
:
590 |
591 | DispatchQueue.global().async { [weak self] in
592 | guard let self else { return }
| `- warning: capture of 'self' with non-sendable type 'KVLightTasksManager<K, Element>?' in a '@Sendable' closure; this is an error in the Swift 6 language mode
593 | _executeMultiprovide(keys: keys, provide: provide) { [weak self] res in
594 | DispatchQueue.global().async { [weak self] in
/host/spi-builder-workspace/Sources/Monstask/KVLightTasksManager.swift:593:40: warning: capture of 'keys' with non-sendable type '[K]' in a '@Sendable' closure; this is an error in the Swift 6 language mode
384 |
385 | /// A lightweight key-value tasks manager that integrates a cache and configurable providers.
386 | public class KVLightTasksManager<K: Hashable, Element> {
| `- note: consider making generic parameter 'K' conform to the 'Sendable' protocol
387 | private init(_ config: Config) {
388 | self.config = config
:
591 | DispatchQueue.global().async { [weak self] in
592 | guard let self else { return }
593 | _executeMultiprovide(keys: keys, provide: provide) { [weak self] res in
| `- warning: capture of 'keys' with non-sendable type '[K]' in a '@Sendable' closure; this is an error in the Swift 6 language mode
594 | DispatchQueue.global().async { [weak self] in
595 | guard let self else { return }
/host/spi-builder-workspace/Sources/Monstask/KVLightTasksManager.swift:593:55: warning: capture of 'provide' with non-sendable type 'KVLightTasksManager<K, Element>.DataProvider.Multiprovide' (aka '(Array<K>, @escaping (Result<Dictionary<K, Optional<Element>>, any Error>) -> ()) -> ()') in a '@Sendable' closure; this is an error in the Swift 6 language mode
591 | DispatchQueue.global().async { [weak self] in
592 | guard let self else { return }
593 | _executeMultiprovide(keys: keys, provide: provide) { [weak self] res in
| |- warning: capture of 'provide' with non-sendable type 'KVLightTasksManager<K, Element>.DataProvider.Multiprovide' (aka '(Array<K>, @escaping (Result<Dictionary<K, Optional<Element>>, any Error>) -> ()) -> ()') in a '@Sendable' closure; this is an error in the Swift 6 language mode
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
594 | DispatchQueue.global().async { [weak self] in
595 | guard let self else { return }
/host/spi-builder-workspace/Sources/Monstask/KVLightTasksManager.swift:598:101: warning: capture of 'callback' with non-sendable type 'KVLightTasksManager<K, Element>.ResultCallback' (aka '(K, Result<Optional<Element>, any Error>) -> ()') in a '@Sendable' closure; this is an error in the Swift 6 language mode
596 | semaphore.wait()
597 | defer { semaphore.signal() }
598 | _startOneMultiprovideThread(batchCount: batchCount, provide: provide, callback: callback)
| |- warning: capture of 'callback' with non-sendable type 'KVLightTasksManager<K, Element>.ResultCallback' (aka '(K, Result<Optional<Element>, any Error>) -> ()') in a '@Sendable' closure; this is an error in the Swift 6 language mode
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
599 | res.forEach { res in DispatchQueue.global().async { callback(res.0, res.1) } }
600 | }
/host/spi-builder-workspace/Sources/Monstask/KVLightTasksManager.swift:598:82: warning: capture of 'provide' with non-sendable type 'KVLightTasksManager<K, Element>.DataProvider.Multiprovide' (aka '(Array<K>, @escaping (Result<Dictionary<K, Optional<Element>>, any Error>) -> ()) -> ()') in an isolated closure; this is an error in the Swift 6 language mode
596 | semaphore.wait()
597 | defer { semaphore.signal() }
598 | _startOneMultiprovideThread(batchCount: batchCount, provide: provide, callback: callback)
| |- warning: capture of 'provide' with non-sendable type 'KVLightTasksManager<K, Element>.DataProvider.Multiprovide' (aka '(Array<K>, @escaping (Result<Dictionary<K, Optional<Element>>, any Error>) -> ()) -> ()') in an isolated closure; this is an error in the Swift 6 language mode
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
599 | res.forEach { res in DispatchQueue.global().async { callback(res.0, res.1) } }
600 | }
/host/spi-builder-workspace/Sources/Monstask/KVLightTasksManager.swift:598:101: warning: capture of 'callback' with non-sendable type 'KVLightTasksManager<K, Element>.ResultCallback' (aka '(K, Result<Optional<Element>, any Error>) -> ()') in an isolated closure; this is an error in the Swift 6 language mode
596 | semaphore.wait()
597 | defer { semaphore.signal() }
598 | _startOneMultiprovideThread(batchCount: batchCount, provide: provide, callback: callback)
| |- warning: capture of 'callback' with non-sendable type 'KVLightTasksManager<K, Element>.ResultCallback' (aka '(K, Result<Optional<Element>, any Error>) -> ()') in an isolated closure; this is an error in the Swift 6 language mode
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
599 | res.forEach { res in DispatchQueue.global().async { callback(res.0, res.1) } }
600 | }
/host/spi-builder-workspace/Sources/Monstask/KVLightTasksManager.swift:595:31: warning: capture of 'self' with non-sendable type 'KVLightTasksManager<K, Element>?' in a '@Sendable' closure; this is an error in the Swift 6 language mode
384 |
385 | /// A lightweight key-value tasks manager that integrates a cache and configurable providers.
386 | public class KVLightTasksManager<K: Hashable, Element> {
| `- note: generic class 'KVLightTasksManager' does not conform to the 'Sendable' protocol
387 | private init(_ config: Config) {
388 | self.config = config
:
593 | _executeMultiprovide(keys: keys, provide: provide) { [weak self] res in
594 | DispatchQueue.global().async { [weak self] in
595 | guard let self else { return }
| `- warning: capture of 'self' with non-sendable type 'KVLightTasksManager<K, Element>?' in a '@Sendable' closure; this is an error in the Swift 6 language mode
596 | semaphore.wait()
597 | defer { semaphore.signal() }
/host/spi-builder-workspace/Sources/Monstask/KVLightTasksManager.swift:598:82: warning: capture of 'provide' with non-sendable type 'KVLightTasksManager<K, Element>.DataProvider.Multiprovide' (aka '(Array<K>, @escaping (Result<Dictionary<K, Optional<Element>>, any Error>) -> ()) -> ()') in a '@Sendable' closure; this is an error in the Swift 6 language mode
596 | semaphore.wait()
597 | defer { semaphore.signal() }
598 | _startOneMultiprovideThread(batchCount: batchCount, provide: provide, callback: callback)
| |- warning: capture of 'provide' with non-sendable type 'KVLightTasksManager<K, Element>.DataProvider.Multiprovide' (aka '(Array<K>, @escaping (Result<Dictionary<K, Optional<Element>>, any Error>) -> ()) -> ()') in a '@Sendable' closure; this is an error in the Swift 6 language mode
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
599 | res.forEach { res in DispatchQueue.global().async { callback(res.0, res.1) } }
600 | }
/host/spi-builder-workspace/Sources/Monstask/KVLightTasksManager.swift:598:101: warning: capture of 'callback' with non-sendable type 'KVLightTasksManager<K, Element>.ResultCallback' (aka '(K, Result<Optional<Element>, any Error>) -> ()') in a '@Sendable' closure; this is an error in the Swift 6 language mode
596 | semaphore.wait()
597 | defer { semaphore.signal() }
598 | _startOneMultiprovideThread(batchCount: batchCount, provide: provide, callback: callback)
| |- warning: capture of 'callback' with non-sendable type 'KVLightTasksManager<K, Element>.ResultCallback' (aka '(K, Result<Optional<Element>, any Error>) -> ()') in a '@Sendable' closure; this is an error in the Swift 6 language mode
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
599 | res.forEach { res in DispatchQueue.global().async { callback(res.0, res.1) } }
600 | }
/host/spi-builder-workspace/Sources/Monstask/KVLightTasksManager.swift:599:21: warning: capture of 'res' with non-sendable type '[(K, Result<Element?, any Error>)]' in a '@Sendable' closure; this is an error in the Swift 6 language mode
384 |
385 | /// A lightweight key-value tasks manager that integrates a cache and configurable providers.
386 | public class KVLightTasksManager<K: Hashable, Element> {
| `- note: consider making generic parameter 'K' conform to the 'Sendable' protocol
387 | private init(_ config: Config) {
388 | self.config = config
:
597 | defer { semaphore.signal() }
598 | _startOneMultiprovideThread(batchCount: batchCount, provide: provide, callback: callback)
599 | res.forEach { res in DispatchQueue.global().async { callback(res.0, res.1) } }
| `- warning: capture of 'res' with non-sendable type '[(K, Result<Element?, any Error>)]' in a '@Sendable' closure; this is an error in the Swift 6 language mode
600 | }
601 | }
/host/spi-builder-workspace/Sources/Monstask/KVLightTasksManager.swift:599:21: warning: capture of 'res' with non-sendable type '[(K, Result<Element?, any Error>)]' in a '@Sendable' closure; this is an error in the Swift 6 language mode
384 |
385 | /// A lightweight key-value tasks manager that integrates a cache and configurable providers.
386 | public class KVLightTasksManager<K: Hashable, Element> {
| `- note: consider making generic parameter 'Element' conform to the 'Sendable' protocol
387 | private init(_ config: Config) {
388 | self.config = config
:
597 | defer { semaphore.signal() }
598 | _startOneMultiprovideThread(batchCount: batchCount, provide: provide, callback: callback)
599 | res.forEach { res in DispatchQueue.global().async { callback(res.0, res.1) } }
| `- warning: capture of 'res' with non-sendable type '[(K, Result<Element?, any Error>)]' in a '@Sendable' closure; this is an error in the Swift 6 language mode
600 | }
601 | }
/host/spi-builder-workspace/Sources/Monstask/KVLightTasksManager.swift:599:73: warning: capture of 'callback' with non-sendable type 'KVLightTasksManager<K, Element>.ResultCallback' (aka '(K, Result<Optional<Element>, any Error>) -> ()') in an isolated closure; this is an error in the Swift 6 language mode
597 | defer { semaphore.signal() }
598 | _startOneMultiprovideThread(batchCount: batchCount, provide: provide, callback: callback)
599 | res.forEach { res in DispatchQueue.global().async { callback(res.0, res.1) } }
| |- warning: capture of 'callback' with non-sendable type 'KVLightTasksManager<K, Element>.ResultCallback' (aka '(K, Result<Optional<Element>, any Error>) -> ()') in an isolated closure; this is an error in the Swift 6 language mode
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
600 | }
601 | }
/host/spi-builder-workspace/Sources/Monstask/KVLightTasksManager.swift:599:73: warning: capture of 'callback' with non-sendable type 'KVLightTasksManager<K, Element>.ResultCallback' (aka '(K, Result<Optional<Element>, any Error>) -> ()') in a '@Sendable' closure; this is an error in the Swift 6 language mode
597 | defer { semaphore.signal() }
598 | _startOneMultiprovideThread(batchCount: batchCount, provide: provide, callback: callback)
599 | res.forEach { res in DispatchQueue.global().async { callback(res.0, res.1) } }
| |- warning: capture of 'callback' with non-sendable type 'KVLightTasksManager<K, Element>.ResultCallback' (aka '(K, Result<Optional<Element>, any Error>) -> ()') in a '@Sendable' closure; this is an error in the Swift 6 language mode
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
600 | }
601 | }
/host/spi-builder-workspace/Sources/Monstask/KVLightTasksManager.swift:599:82: warning: capture of 'res' with non-sendable type '(K, Result<Element?, any Error>)' in a '@Sendable' closure; this is an error in the Swift 6 language mode
384 |
385 | /// A lightweight key-value tasks manager that integrates a cache and configurable providers.
386 | public class KVLightTasksManager<K: Hashable, Element> {
| `- note: consider making generic parameter 'K' conform to the 'Sendable' protocol
387 | private init(_ config: Config) {
388 | self.config = config
:
597 | defer { semaphore.signal() }
598 | _startOneMultiprovideThread(batchCount: batchCount, provide: provide, callback: callback)
599 | res.forEach { res in DispatchQueue.global().async { callback(res.0, res.1) } }
| `- warning: capture of 'res' with non-sendable type '(K, Result<Element?, any Error>)' in a '@Sendable' closure; this is an error in the Swift 6 language mode
600 | }
601 | }
/host/spi-builder-workspace/Sources/Monstask/KVLightTasksManager.swift:599:82: warning: capture of 'res' with non-sendable type '(K, Result<Element?, any Error>)' in a '@Sendable' closure; this is an error in the Swift 6 language mode
384 |
385 | /// A lightweight key-value tasks manager that integrates a cache and configurable providers.
386 | public class KVLightTasksManager<K: Hashable, Element> {
| `- note: consider making generic parameter 'Element' conform to the 'Sendable' protocol
387 | private init(_ config: Config) {
388 | self.config = config
:
597 | defer { semaphore.signal() }
598 | _startOneMultiprovideThread(batchCount: batchCount, provide: provide, callback: callback)
599 | res.forEach { res in DispatchQueue.global().async { callback(res.0, res.1) } }
| `- warning: capture of 'res' with non-sendable type '(K, Result<Element?, any Error>)' in a '@Sendable' closure; this is an error in the Swift 6 language mode
600 | }
601 | }
/host/spi-builder-workspace/Sources/Monstask/KVHeavyTasksManager.swift:696:30: warning: sending 'result' risks causing data races; this is an error in the Swift 6 language mode
694 | return await withCheckedContinuation { continuation in
695 | self.start(key, customEventObserver: customEventObserver) { result in
696 | continuation.resume(returning: result)
| |- warning: sending 'result' risks causing data races; this is an error in the Swift 6 language mode
| `- note: task-isolated 'result' is passed as a 'sending' parameter; Uses in callee may race with later task-isolated uses
697 | }
698 | }
/host/spi-builder-workspace/Sources/Monstask/KVLightTasksManager.swift:123:26: 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
121 | case let .asyncMonoprovide(asyncMonoprovide):
122 | privateDataProvider = .monoprovide { key, callback in
123 | 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
124 | do {
125 | let res = try await asyncMonoprovide(key)
| `- note: closure captures 'asyncMonoprovide' which is accessible to code in the current task
126 | callback(.success(res))
127 | } catch {
/host/spi-builder-workspace/Sources/Monstask/KVLightTasksManager.swift:134:26: 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
132 | case let .asyncMultiprovide(maximumBatchCount, asyncMultiprovide):
133 | privateDataProvider = .multiprovide(maximumBatchCount: maximumBatchCount) { keys, callback in
134 | 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
135 | do {
136 | let res = try await asyncMultiprovide(keys)
| `- note: closure captures 'asyncMultiprovide' which is accessible to code in the current task
137 | callback(.success(res))
138 | } catch {
/host/spi-builder-workspace/Sources/Monstask/KVLightTasksManager.swift:325:34: warning: sending 'results' risks causing data races; this is an error in the Swift 6 language mode
323 | if !hasResumed {
324 | hasResumed = true
325 | continuation.resume(returning: results)
| |- warning: sending 'results' risks causing data races; this is an error in the Swift 6 language mode
| `- note: task-isolated 'results' is passed as a 'sending' parameter; Uses in callee may race with later task-isolated uses
326 | }
327 | })
/host/spi-builder-workspace/Sources/Monstask/KVLightTasksManager.swift:348:34: warning: sending 'element' risks causing data races; this is an error in the Swift 6 language mode
346 | switch result {
347 | case let .success(element):
348 | continuation.resume(returning: element)
| |- warning: sending 'element' risks causing data races; this is an error in the Swift 6 language mode
| `- note: task-isolated 'element' is passed as a 'sending' parameter; Uses in callee may race with later task-isolated uses
349 | case let .failure(error):
350 | continuation.resume(throwing: error)
/host/spi-builder-workspace/Sources/Monstask/KVLightTasksManager.swift:372:30: warning: sending 'result' risks causing data races; this is an error in the Swift 6 language mode
370 | return await withCheckedContinuation { continuation in
371 | fetch(key: key) { _, result in
372 | continuation.resume(returning: result)
| |- warning: sending 'result' risks causing data races; this is an error in the Swift 6 language mode
| `- note: task-isolated 'result' is passed as a 'sending' parameter; Uses in callee may race with later task-isolated uses
373 | }
374 | }
[12/16] Compiling Monstra KVLightTasksManager.swift
/host/spi-builder-workspace/Sources/Monstask/KVHeavyTasksManager.swift:650:14: warning: associated value 'taskEvictedDueToPriorityConstraints' of 'Sendable'-conforming enum 'Errors' has non-sendable type 'K'; this is an error in the Swift 6 language mode
542 | /// - **Provider lifecycle**: Balance setup cost vs memory usage with reuse/dealloc decisions
543 | public class KVHeavyTasksManager<
544 | K,
| `- note: consider making generic parameter 'K' conform to the 'Sendable' protocol
545 | Element,
546 | CustomEvent,
:
648 | /// A task could not be enqueued due to priority/queue constraints.
649 | /// - Parameter key: The key of the task that was evicted.
650 | case taskEvictedDueToPriorityConstraints(K)
| `- warning: associated value 'taskEvictedDueToPriorityConstraints' of 'Sendable'-conforming enum 'Errors' has non-sendable type 'K'; this is an error in the Swift 6 language mode
651 | }
652 |
/host/spi-builder-workspace/Sources/Monstask/KVHeavyTasksManager.swift:754:42: warning: capture of 'element' with non-sendable type 'Element' in a '@Sendable' closure; this is an error in the Swift 6 language mode
543 | public class KVHeavyTasksManager<
544 | K,
545 | Element,
| `- note: consider making generic parameter 'Element' conform to the 'Sendable' protocol
546 | CustomEvent,
547 | DataProvider: KVHeavyTaskBaseDataProvider<K, Element, CustomEvent>
:
752 | // Cache hit with valid result - return immediately without task execution
753 | DispatchQueue.global().async {
754 | resultCallback?(.success(element))
| `- warning: capture of 'element' with non-sendable type 'Element' in a '@Sendable' closure; this is an error in the Swift 6 language mode
755 | }
756 | return
/host/spi-builder-workspace/Sources/Monstask/KVHeavyTasksManager.swift:1017:54: warning: capture of 'key' with non-sendable type 'K' in a '@Sendable' closure; this is an error in the Swift 6 language mode
542 | /// - **Provider lifecycle**: Balance setup cost vs memory usage with reuse/dealloc decisions
543 | public class KVHeavyTasksManager<
544 | K,
| `- note: consider making generic parameter 'K' conform to the 'Sendable' protocol
545 | Element,
546 | CustomEvent,
:
1015 |
1016 | // Broadcast event to all registered observers for this key
1017 | taskManager.customEventObservers[key]?.forEach { observer in
| `- warning: capture of 'key' with non-sendable type 'K' in a '@Sendable' closure; this is an error in the Swift 6 language mode
1018 | DispatchQueue.global().async {
1019 | observer(customEvent)
/host/spi-builder-workspace/Sources/Monstask/KVHeavyTasksManager.swift:1017:54: warning: capture of 'key' with non-sendable type 'K' in a '@Sendable' closure; this is an error in the Swift 6 language mode
542 | /// - **Provider lifecycle**: Balance setup cost vs memory usage with reuse/dealloc decisions
543 | public class KVHeavyTasksManager<
544 | K,
| `- note: consider making generic parameter 'K' conform to the 'Sendable' protocol
545 | Element,
546 | CustomEvent,
:
1015 |
1016 | // Broadcast event to all registered observers for this key
1017 | taskManager.customEventObservers[key]?.forEach { observer in
| `- warning: capture of 'key' with non-sendable type 'K' in a '@Sendable' closure; this is an error in the Swift 6 language mode
1018 | DispatchQueue.global().async {
1019 | observer(customEvent)
/host/spi-builder-workspace/Sources/Monstask/KVHeavyTasksManager.swift:1019:38: warning: capture of 'customEvent' with non-sendable type 'CustomEvent' in a '@Sendable' closure; this is an error in the Swift 6 language mode
544 | K,
545 | Element,
546 | CustomEvent,
| `- note: consider making generic parameter 'CustomEvent' conform to the 'Sendable' protocol
547 | DataProvider: KVHeavyTaskBaseDataProvider<K, Element, CustomEvent>
548 | > where DataProvider: KVHeavyTaskDataProviderInterface {
:
1017 | taskManager.customEventObservers[key]?.forEach { observer in
1018 | DispatchQueue.global().async {
1019 | observer(customEvent)
| `- warning: capture of 'customEvent' with non-sendable type 'CustomEvent' in a '@Sendable' closure; this is an error in the Swift 6 language mode
1020 | }
1021 | }
/host/spi-builder-workspace/Sources/Monstask/KVHeavyTasksManager.swift:1019:38: warning: capture of 'customEvent' with non-sendable type 'CustomEvent' in an isolated closure; this is an error in the Swift 6 language mode
544 | K,
545 | Element,
546 | CustomEvent,
| `- note: consider making generic parameter 'CustomEvent' conform to the 'Sendable' protocol
547 | DataProvider: KVHeavyTaskBaseDataProvider<K, Element, CustomEvent>
548 | > where DataProvider: KVHeavyTaskDataProviderInterface {
:
1017 | taskManager.customEventObservers[key]?.forEach { observer in
1018 | DispatchQueue.global().async {
1019 | observer(customEvent)
| `- warning: capture of 'customEvent' with non-sendable type 'CustomEvent' in an isolated closure; this is an error in the Swift 6 language mode
1020 | }
1021 | }
/host/spi-builder-workspace/Sources/Monstask/KVHeavyTasksManager.swift:1019:38: warning: capture of 'customEvent' with non-sendable type 'CustomEvent' in a '@Sendable' closure; this is an error in the Swift 6 language mode
544 | K,
545 | Element,
546 | CustomEvent,
| `- note: consider making generic parameter 'CustomEvent' conform to the 'Sendable' protocol
547 | DataProvider: KVHeavyTaskBaseDataProvider<K, Element, CustomEvent>
548 | > where DataProvider: KVHeavyTaskDataProviderInterface {
:
1017 | taskManager.customEventObservers[key]?.forEach { observer in
1018 | DispatchQueue.global().async {
1019 | observer(customEvent)
| `- warning: capture of 'customEvent' with non-sendable type 'CustomEvent' in a '@Sendable' closure; this is an error in the Swift 6 language mode
1020 | }
1021 | }
/host/spi-builder-workspace/Sources/Monstask/KVHeavyTasksManager.swift:1033:70: warning: capture of 'key' with non-sendable type 'K' in a '@Sendable' closure; this is an error in the Swift 6 language mode
542 | /// - **Provider lifecycle**: Balance setup cost vs memory usage with reuse/dealloc decisions
543 | public class KVHeavyTasksManager<
544 | K,
| `- note: consider making generic parameter 'K' conform to the 'Sendable' protocol
545 | Element,
546 | CustomEvent,
:
1031 | case let .success(element):
1032 | // Cache successful results for future requests
1033 | taskManager.cache.set(element: element, for: key)
| `- warning: capture of 'key' with non-sendable type 'K' in a '@Sendable' closure; this is an error in the Swift 6 language mode
1034 | taskManager.consumeCallbacks(for: key, result: .success(element))
1035 | case let .failure(error):
/host/spi-builder-workspace/Sources/Monstask/KVHeavyTasksManager.swift:1030:28: warning: capture of 'result' with non-sendable type 'Result<Element?, any Error>' in a '@Sendable' closure; this is an error in the Swift 6 language mode
543 | public class KVHeavyTasksManager<
544 | K,
545 | Element,
| `- note: consider making generic parameter 'Element' conform to the 'Sendable' protocol
546 | CustomEvent,
547 | DataProvider: KVHeavyTaskBaseDataProvider<K, Element, CustomEvent>
:
1028 | defer { taskManager.semaphore.signal() }
1029 |
1030 | switch result {
| `- warning: capture of 'result' with non-sendable type 'Result<Element?, any Error>' in a '@Sendable' closure; this is an error in the Swift 6 language mode
1031 | case let .success(element):
1032 | // Cache successful results for future requests
/host/spi-builder-workspace/Sources/Monstask/KVHeavyTasksManager.swift:1033:70: warning: capture of 'key' with non-sendable type 'K' in a '@Sendable' closure; this is an error in the Swift 6 language mode
542 | /// - **Provider lifecycle**: Balance setup cost vs memory usage with reuse/dealloc decisions
543 | public class KVHeavyTasksManager<
544 | K,
| `- note: consider making generic parameter 'K' conform to the 'Sendable' protocol
545 | Element,
546 | CustomEvent,
:
1031 | case let .success(element):
1032 | // Cache successful results for future requests
1033 | taskManager.cache.set(element: element, for: key)
| `- warning: capture of 'key' with non-sendable type 'K' in a '@Sendable' closure; this is an error in the Swift 6 language mode
1034 | taskManager.consumeCallbacks(for: key, result: .success(element))
1035 | case let .failure(error):
/host/spi-builder-workspace/Sources/Monstask/KVHeavyTasksManager.swift:1119:26: warning: capture of 'result' with non-sendable type 'Result<Element?, any Error>' in a '@Sendable' closure; this is an error in the Swift 6 language mode
543 | public class KVHeavyTasksManager<
544 | K,
545 | Element,
| `- note: consider making generic parameter 'Element' conform to the 'Sendable' protocol
546 | CustomEvent,
547 | DataProvider: KVHeavyTaskBaseDataProvider<K, Element, CustomEvent>
:
1117 | resultCallbacks[key]?.forEach { callback in
1118 | DispatchQueue.global().async {
1119 | callback(result)
| `- warning: capture of 'result' with non-sendable type 'Result<Element?, any Error>' in a '@Sendable' closure; this is an error in the Swift 6 language mode
1120 | }
1121 | }
/host/spi-builder-workspace/Sources/Monstask/KVLightTasksManager.swift:290:21: warning: capture of 'multiCallback' with non-sendable type 'KVLightTasksManager<K, Element>.BatchResultCallback' (aka '(Array<(K, Result<Optional<Element>, any Error>)>) -> ()') in a '@Sendable' closure; this is an error in the Swift 6 language mode
288 | let capturedResults = results
289 | DispatchQueue.global().async {
290 | multiCallback(
| |- warning: capture of 'multiCallback' with non-sendable type 'KVLightTasksManager<K, Element>.BatchResultCallback' (aka '(Array<(K, Result<Optional<Element>, any Error>)>) -> ()') in a '@Sendable' closure; this is an error in the Swift 6 language mode
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
291 | keys.map { ($0, capturedResults[$0] ?? .success(nil)) }
292 | )
/host/spi-builder-workspace/Sources/Monstask/KVLightTasksManager.swift:291:25: warning: capture of 'keys' with non-sendable type '[K]' in a '@Sendable' closure; this is an error in the Swift 6 language mode
289 | DispatchQueue.global().async {
290 | multiCallback(
291 | keys.map { ($0, capturedResults[$0] ?? .success(nil)) }
| `- warning: capture of 'keys' with non-sendable type '[K]' in a '@Sendable' closure; this is an error in the Swift 6 language mode
292 | )
293 | }
:
384 |
385 | /// A lightweight key-value tasks manager that integrates a cache and configurable providers.
386 | public class KVLightTasksManager<K: Hashable, Element> {
| `- note: consider making generic parameter 'K' conform to the 'Sendable' protocol
387 | private init(_ config: Config) {
388 | self.config = config
/host/spi-builder-workspace/Sources/Monstask/KVLightTasksManager.swift:291:41: warning: capture of 'capturedResults' with non-sendable type '[K : Result<Element?, any Error>]' in a '@Sendable' closure; this is an error in the Swift 6 language mode
289 | DispatchQueue.global().async {
290 | multiCallback(
291 | keys.map { ($0, capturedResults[$0] ?? .success(nil)) }
| `- warning: capture of 'capturedResults' with non-sendable type '[K : Result<Element?, any Error>]' in a '@Sendable' closure; this is an error in the Swift 6 language mode
292 | )
293 | }
:
384 |
385 | /// A lightweight key-value tasks manager that integrates a cache and configurable providers.
386 | public class KVLightTasksManager<K: Hashable, Element> {
| `- note: consider making generic parameter 'K' conform to the 'Sendable' protocol
387 | private init(_ config: Config) {
388 | self.config = config
/host/spi-builder-workspace/Sources/Monstask/KVLightTasksManager.swift:291:41: warning: capture of 'capturedResults' with non-sendable type '[K : Result<Element?, any Error>]' in a '@Sendable' closure; this is an error in the Swift 6 language mode
289 | DispatchQueue.global().async {
290 | multiCallback(
291 | keys.map { ($0, capturedResults[$0] ?? .success(nil)) }
| `- warning: capture of 'capturedResults' with non-sendable type '[K : Result<Element?, any Error>]' in a '@Sendable' closure; this is an error in the Swift 6 language mode
292 | )
293 | }
:
384 |
385 | /// A lightweight key-value tasks manager that integrates a cache and configurable providers.
386 | public class KVLightTasksManager<K: Hashable, Element> {
| `- note: consider making generic parameter 'Element' conform to the 'Sendable' protocol
387 | private init(_ config: Config) {
388 | self.config = config
/host/spi-builder-workspace/Sources/Monstask/KVLightTasksManager.swift:291:41: warning: capture of 'capturedResults' with non-sendable type '[K : Result<Element?, any Error>]' in an isolated closure; this is an error in the Swift 6 language mode
289 | DispatchQueue.global().async {
290 | multiCallback(
291 | keys.map { ($0, capturedResults[$0] ?? .success(nil)) }
| `- warning: capture of 'capturedResults' with non-sendable type '[K : Result<Element?, any Error>]' in an isolated closure; this is an error in the Swift 6 language mode
292 | )
293 | }
:
384 |
385 | /// A lightweight key-value tasks manager that integrates a cache and configurable providers.
386 | public class KVLightTasksManager<K: Hashable, Element> {
| `- note: consider making generic parameter 'K' conform to the 'Sendable' protocol
387 | private init(_ config: Config) {
388 | self.config = config
/host/spi-builder-workspace/Sources/Monstask/KVLightTasksManager.swift:291:41: warning: capture of 'capturedResults' with non-sendable type '[K : Result<Element?, any Error>]' in an isolated closure; this is an error in the Swift 6 language mode
289 | DispatchQueue.global().async {
290 | multiCallback(
291 | keys.map { ($0, capturedResults[$0] ?? .success(nil)) }
| `- warning: capture of 'capturedResults' with non-sendable type '[K : Result<Element?, any Error>]' in an isolated closure; this is an error in the Swift 6 language mode
292 | )
293 | }
:
384 |
385 | /// A lightweight key-value tasks manager that integrates a cache and configurable providers.
386 | public class KVLightTasksManager<K: Hashable, Element> {
| `- note: consider making generic parameter 'Element' conform to the 'Sendable' protocol
387 | private init(_ config: Config) {
388 | self.config = config
/host/spi-builder-workspace/Sources/Monstask/KVLightTasksManager.swift:428:39: warning: capture of 'completion' with non-sendable type 'KVLightTasksManager<K, Element>.ResultCallback' (aka '(K, Result<Optional<Element>, any Error>) -> ()') in a '@Sendable' closure; this is an error in the Swift 6 language mode
426 | switch cache.getElement(for: key) {
427 | case .invalidKey:
428 | dispatchQueue.async { completion(key, .success(nil)) }
| |- warning: capture of 'completion' with non-sendable type 'KVLightTasksManager<K, Element>.ResultCallback' (aka '(K, Result<Optional<Element>, any Error>) -> ()') in a '@Sendable' closure; this is an error in the Swift 6 language mode
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
429 | case .hitNullElement:
430 | dispatchQueue.async { completion(key, .success(nil)) }
/host/spi-builder-workspace/Sources/Monstask/KVLightTasksManager.swift:428:50: warning: capture of 'key' with non-sendable type 'K' in a '@Sendable' closure; this is an error in the Swift 6 language mode
384 |
385 | /// A lightweight key-value tasks manager that integrates a cache and configurable providers.
386 | public class KVLightTasksManager<K: Hashable, Element> {
| `- note: consider making generic parameter 'K' conform to the 'Sendable' protocol
387 | private init(_ config: Config) {
388 | self.config = config
:
426 | switch cache.getElement(for: key) {
427 | case .invalidKey:
428 | dispatchQueue.async { completion(key, .success(nil)) }
| `- warning: capture of 'key' with non-sendable type 'K' in a '@Sendable' closure; this is an error in the Swift 6 language mode
429 | case .hitNullElement:
430 | dispatchQueue.async { completion(key, .success(nil)) }
/host/spi-builder-workspace/Sources/Monstask/KVLightTasksManager.swift:430:39: warning: capture of 'completion' with non-sendable type 'KVLightTasksManager<K, Element>.ResultCallback' (aka '(K, Result<Optional<Element>, any Error>) -> ()') in a '@Sendable' closure; this is an error in the Swift 6 language mode
428 | dispatchQueue.async { completion(key, .success(nil)) }
429 | case .hitNullElement:
430 | dispatchQueue.async { completion(key, .success(nil)) }
| |- warning: capture of 'completion' with non-sendable type 'KVLightTasksManager<K, Element>.ResultCallback' (aka '(K, Result<Optional<Element>, any Error>) -> ()') in a '@Sendable' closure; this is an error in the Swift 6 language mode
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
431 | case let .hitNonNullElement(element: element):
432 | dispatchQueue.async { completion(key, .success(element)) }
/host/spi-builder-workspace/Sources/Monstask/KVLightTasksManager.swift:430:50: warning: capture of 'key' with non-sendable type 'K' in a '@Sendable' closure; this is an error in the Swift 6 language mode
384 |
385 | /// A lightweight key-value tasks manager that integrates a cache and configurable providers.
386 | public class KVLightTasksManager<K: Hashable, Element> {
| `- note: consider making generic parameter 'K' conform to the 'Sendable' protocol
387 | private init(_ config: Config) {
388 | self.config = config
:
428 | dispatchQueue.async { completion(key, .success(nil)) }
429 | case .hitNullElement:
430 | dispatchQueue.async { completion(key, .success(nil)) }
| `- warning: capture of 'key' with non-sendable type 'K' in a '@Sendable' closure; this is an error in the Swift 6 language mode
431 | case let .hitNonNullElement(element: element):
432 | dispatchQueue.async { completion(key, .success(element)) }
/host/spi-builder-workspace/Sources/Monstask/KVLightTasksManager.swift:432:39: warning: capture of 'completion' with non-sendable type 'KVLightTasksManager<K, Element>.ResultCallback' (aka '(K, Result<Optional<Element>, any Error>) -> ()') in a '@Sendable' closure; this is an error in the Swift 6 language mode
430 | dispatchQueue.async { completion(key, .success(nil)) }
431 | case let .hitNonNullElement(element: element):
432 | dispatchQueue.async { completion(key, .success(element)) }
| |- warning: capture of 'completion' with non-sendable type 'KVLightTasksManager<K, Element>.ResultCallback' (aka '(K, Result<Optional<Element>, any Error>) -> ()') in a '@Sendable' closure; this is an error in the Swift 6 language mode
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
433 | case .miss:
434 | remoteKeys.append(key)
/host/spi-builder-workspace/Sources/Monstask/KVLightTasksManager.swift:432:50: warning: capture of 'key' with non-sendable type 'K' in a '@Sendable' closure; this is an error in the Swift 6 language mode
384 |
385 | /// A lightweight key-value tasks manager that integrates a cache and configurable providers.
386 | public class KVLightTasksManager<K: Hashable, Element> {
| `- note: consider making generic parameter 'K' conform to the 'Sendable' protocol
387 | private init(_ config: Config) {
388 | self.config = config
:
430 | dispatchQueue.async { completion(key, .success(nil)) }
431 | case let .hitNonNullElement(element: element):
432 | dispatchQueue.async { completion(key, .success(element)) }
| `- warning: capture of 'key' with non-sendable type 'K' in a '@Sendable' closure; this is an error in the Swift 6 language mode
433 | case .miss:
434 | remoteKeys.append(key)
/host/spi-builder-workspace/Sources/Monstask/KVLightTasksManager.swift:432:64: warning: capture of 'element' with non-sendable type 'Element' in a '@Sendable' closure; this is an error in the Swift 6 language mode
384 |
385 | /// A lightweight key-value tasks manager that integrates a cache and configurable providers.
386 | public class KVLightTasksManager<K: Hashable, Element> {
| `- note: consider making generic parameter 'Element' conform to the 'Sendable' protocol
387 | private init(_ config: Config) {
388 | self.config = config
:
430 | dispatchQueue.async { completion(key, .success(nil)) }
431 | case let .hitNonNullElement(element: element):
432 | dispatchQueue.async { completion(key, .success(element)) }
| `- warning: capture of 'element' with non-sendable type 'Element' in a '@Sendable' closure; this is an error in the Swift 6 language mode
433 | case .miss:
434 | remoteKeys.append(key)
/host/spi-builder-workspace/Sources/Monstask/KVLightTasksManager.swift:445:27: warning: capture of 'self' with non-sendable type 'KVLightTasksManager<K, Element>?' in a '@Sendable' closure; this is an error in the Swift 6 language mode
384 |
385 | /// A lightweight key-value tasks manager that integrates a cache and configurable providers.
386 | public class KVLightTasksManager<K: Hashable, Element> {
| `- note: generic class 'KVLightTasksManager' does not conform to the 'Sendable' protocol
387 | private init(_ config: Config) {
388 | self.config = config
:
443 | startTaskExecution(keys: _remoteKeys) { [weak self] key, res in
444 | DispatchQueue.global().async {
445 | guard let self else { return }
| `- warning: capture of 'self' with non-sendable type 'KVLightTasksManager<K, Element>?' in a '@Sendable' closure; this is an error in the Swift 6 language mode
446 | self.semaphore.wait()
447 | defer { self.semaphore.signal() }
/host/spi-builder-workspace/Sources/Monstask/KVLightTasksManager.swift:448:49: warning: capture of 'res' with non-sendable type 'Result<Element?, any Error>' in a '@Sendable' closure; this is an error in the Swift 6 language mode
384 |
385 | /// A lightweight key-value tasks manager that integrates a cache and configurable providers.
386 | public class KVLightTasksManager<K: Hashable, Element> {
| `- note: consider making generic parameter 'Element' conform to the 'Sendable' protocol
387 | private init(_ config: Config) {
388 | self.config = config
:
446 | self.semaphore.wait()
447 | defer { self.semaphore.signal() }
448 | if case let .success(element) = res {
| `- warning: capture of 'res' with non-sendable type 'Result<Element?, any Error>' in a '@Sendable' closure; this is an error in the Swift 6 language mode
449 | self.cache.set(element: element, for: key)
450 | }
/host/spi-builder-workspace/Sources/Monstask/KVLightTasksManager.swift:449:59: warning: capture of 'key' with non-sendable type 'K' in a '@Sendable' closure; this is an error in the Swift 6 language mode
384 |
385 | /// A lightweight key-value tasks manager that integrates a cache and configurable providers.
386 | public class KVLightTasksManager<K: Hashable, Element> {
| `- note: consider making generic parameter 'K' conform to the 'Sendable' protocol
387 | private init(_ config: Config) {
388 | self.config = config
:
447 | defer { self.semaphore.signal() }
448 | if case let .success(element) = res {
449 | self.cache.set(element: element, for: key)
| `- warning: capture of 'key' with non-sendable type 'K' in a '@Sendable' closure; this is an error in the Swift 6 language mode
450 | }
451 | self.consumeCallbacks(key: key, dispatchQueue: dispatchQueue, result: res)
/host/spi-builder-workspace/Sources/Monstask/KVLightTasksManager.swift:445:27: warning: reference to captured var 'self' in concurrently-executing code; this is an error in the Swift 6 language mode
443 | startTaskExecution(keys: _remoteKeys) { [weak self] key, res in
444 | DispatchQueue.global().async {
445 | guard let self else { return }
| `- warning: reference to captured var 'self' in concurrently-executing code; this is an error in the Swift 6 language mode
446 | self.semaphore.wait()
447 | defer { self.semaphore.signal() }
/host/spi-builder-workspace/Sources/Monstask/KVLightTasksManager.swift:468:35: warning: capture of 'callback' with non-sendable type '(K, Result<Element?, any Error>) -> Void' in a '@Sendable' closure; this is an error in the Swift 6 language mode
466 | private func consumeCallbacks(key: K, dispatchQueue: DispatchQueue, result: Result<Element?, Error>) {
467 | resultCallbacks[key]?.forEach { callback in
468 | dispatchQueue.async { callback(key, result) }
| |- warning: capture of 'callback' with non-sendable type '(K, Result<Element?, any Error>) -> Void' in a '@Sendable' closure; this is an error in the Swift 6 language mode
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
469 | }
470 | resultCallbacks.removeValue(forKey: key)
/host/spi-builder-workspace/Sources/Monstask/KVLightTasksManager.swift:468:44: warning: capture of 'key' with non-sendable type 'K' in a '@Sendable' closure; this is an error in the Swift 6 language mode
384 |
385 | /// A lightweight key-value tasks manager that integrates a cache and configurable providers.
386 | public class KVLightTasksManager<K: Hashable, Element> {
| `- note: consider making generic parameter 'K' conform to the 'Sendable' protocol
387 | private init(_ config: Config) {
388 | self.config = config
:
466 | private func consumeCallbacks(key: K, dispatchQueue: DispatchQueue, result: Result<Element?, Error>) {
467 | resultCallbacks[key]?.forEach { callback in
468 | dispatchQueue.async { callback(key, result) }
| `- warning: capture of 'key' with non-sendable type 'K' in a '@Sendable' closure; this is an error in the Swift 6 language mode
469 | }
470 | resultCallbacks.removeValue(forKey: key)
/host/spi-builder-workspace/Sources/Monstask/KVLightTasksManager.swift:468:49: warning: capture of 'result' with non-sendable type 'Result<Element?, any Error>' in a '@Sendable' closure; this is an error in the Swift 6 language mode
384 |
385 | /// A lightweight key-value tasks manager that integrates a cache and configurable providers.
386 | public class KVLightTasksManager<K: Hashable, Element> {
| `- note: consider making generic parameter 'Element' conform to the 'Sendable' protocol
387 | private init(_ config: Config) {
388 | self.config = config
:
466 | private func consumeCallbacks(key: K, dispatchQueue: DispatchQueue, result: Result<Element?, Error>) {
467 | resultCallbacks[key]?.forEach { callback in
468 | dispatchQueue.async { callback(key, result) }
| `- warning: capture of 'result' with non-sendable type 'Result<Element?, any Error>' in a '@Sendable' closure; this is an error in the Swift 6 language mode
469 | }
470 | resultCallbacks.removeValue(forKey: key)
/host/spi-builder-workspace/Sources/Monstask/KVLightTasksManager.swift:550:23: warning: capture of 'self' with non-sendable type 'KVLightTasksManager<K, Element>?' in a '@Sendable' closure; this is an error in the Swift 6 language mode
384 |
385 | /// A lightweight key-value tasks manager that integrates a cache and configurable providers.
386 | public class KVLightTasksManager<K: Hashable, Element> {
| `- note: generic class 'KVLightTasksManager' does not conform to the 'Sendable' protocol
387 | private init(_ config: Config) {
388 | self.config = config
:
548 |
549 | DispatchQueue.global().async { [weak self] in
550 | guard let self else { return }
| `- warning: capture of 'self' with non-sendable type 'KVLightTasksManager<K, Element>?' in a '@Sendable' closure; this is an error in the Swift 6 language mode
551 |
552 | _executeMonoprovide(key: key, provide: provide) { [weak self] key, res in
/host/spi-builder-workspace/Sources/Monstask/KVLightTasksManager.swift:552:38: warning: capture of 'key' with non-sendable type 'K' in a '@Sendable' closure; this is an error in the Swift 6 language mode
384 |
385 | /// A lightweight key-value tasks manager that integrates a cache and configurable providers.
386 | public class KVLightTasksManager<K: Hashable, Element> {
| `- note: consider making generic parameter 'K' conform to the 'Sendable' protocol
387 | private init(_ config: Config) {
388 | self.config = config
:
550 | guard let self else { return }
551 |
552 | _executeMonoprovide(key: key, provide: provide) { [weak self] key, res in
| `- warning: capture of 'key' with non-sendable type 'K' in a '@Sendable' closure; this is an error in the Swift 6 language mode
553 | DispatchQueue.global().async { [weak self] in
554 | guard let self else { return }
/host/spi-builder-workspace/Sources/Monstask/KVLightTasksManager.swift:552:52: warning: capture of 'provide' with non-sendable type 'KVLightTasksManager<K, Element>.DataProvider.Monoprovide' (aka '(K, @escaping (Result<Optional<Element>, any Error>) -> ()) -> ()') in a '@Sendable' closure; this is an error in the Swift 6 language mode
550 | guard let self else { return }
551 |
552 | _executeMonoprovide(key: key, provide: provide) { [weak self] key, res in
| |- warning: capture of 'provide' with non-sendable type 'KVLightTasksManager<K, Element>.DataProvider.Monoprovide' (aka '(K, @escaping (Result<Optional<Element>, any Error>) -> ()) -> ()') in a '@Sendable' closure; this is an error in the Swift 6 language mode
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
553 | DispatchQueue.global().async { [weak self] in
554 | guard let self else { return }
/host/spi-builder-workspace/Sources/Monstask/KVLightTasksManager.swift:559:25: warning: capture of 'callback' with non-sendable type 'KVLightTasksManager<K, Element>.ResultCallback' (aka '(K, Result<Optional<Element>, any Error>) -> ()') in a '@Sendable' closure; this is an error in the Swift 6 language mode
557 | switch res {
558 | case let .success(element):
559 | callback(key, .success(element))
| |- warning: capture of 'callback' with non-sendable type 'KVLightTasksManager<K, Element>.ResultCallback' (aka '(K, Result<Optional<Element>, any Error>) -> ()') in a '@Sendable' closure; this is an error in the Swift 6 language mode
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
560 | _startOneMonoprovideThread(provide: provide, callback: callback)
561 | case let .failure(error):
/host/spi-builder-workspace/Sources/Monstask/KVLightTasksManager.swift:559:25: warning: capture of 'callback' with non-sendable type 'KVLightTasksManager<K, Element>.ResultCallback' (aka '(K, Result<Optional<Element>, any Error>) -> ()') in an isolated closure; this is an error in the Swift 6 language mode
557 | switch res {
558 | case let .success(element):
559 | callback(key, .success(element))
| |- warning: capture of 'callback' with non-sendable type 'KVLightTasksManager<K, Element>.ResultCallback' (aka '(K, Result<Optional<Element>, any Error>) -> ()') in an isolated closure; this is an error in the Swift 6 language mode
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
560 | _startOneMonoprovideThread(provide: provide, callback: callback)
561 | case let .failure(error):
/host/spi-builder-workspace/Sources/Monstask/KVLightTasksManager.swift:560:61: warning: capture of 'provide' with non-sendable type 'KVLightTasksManager<K, Element>.DataProvider.Monoprovide' (aka '(K, @escaping (Result<Optional<Element>, any Error>) -> ()) -> ()') in an isolated closure; this is an error in the Swift 6 language mode
558 | case let .success(element):
559 | callback(key, .success(element))
560 | _startOneMonoprovideThread(provide: provide, callback: callback)
| |- warning: capture of 'provide' with non-sendable type 'KVLightTasksManager<K, Element>.DataProvider.Monoprovide' (aka '(K, @escaping (Result<Optional<Element>, any Error>) -> ()) -> ()') in an isolated closure; this is an error in the Swift 6 language mode
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
561 | case let .failure(error):
562 | callback(key, .failure(error))
/host/spi-builder-workspace/Sources/Monstask/KVLightTasksManager.swift:554:31: warning: capture of 'self' with non-sendable type 'KVLightTasksManager<K, Element>?' in a '@Sendable' closure; this is an error in the Swift 6 language mode
384 |
385 | /// A lightweight key-value tasks manager that integrates a cache and configurable providers.
386 | public class KVLightTasksManager<K: Hashable, Element> {
| `- note: generic class 'KVLightTasksManager' does not conform to the 'Sendable' protocol
387 | private init(_ config: Config) {
388 | self.config = config
:
552 | _executeMonoprovide(key: key, provide: provide) { [weak self] key, res in
553 | DispatchQueue.global().async { [weak self] in
554 | guard let self else { return }
| `- warning: capture of 'self' with non-sendable type 'KVLightTasksManager<K, Element>?' in a '@Sendable' closure; this is an error in the Swift 6 language mode
555 | semaphore.wait()
556 | defer { semaphore.signal() }
/host/spi-builder-workspace/Sources/Monstask/KVLightTasksManager.swift:557:28: warning: capture of 'res' with non-sendable type 'Result<Element?, any Error>' in a '@Sendable' closure; this is an error in the Swift 6 language mode
384 |
385 | /// A lightweight key-value tasks manager that integrates a cache and configurable providers.
386 | public class KVLightTasksManager<K: Hashable, Element> {
| `- note: consider making generic parameter 'Element' conform to the 'Sendable' protocol
387 | private init(_ config: Config) {
388 | self.config = config
:
555 | semaphore.wait()
556 | defer { semaphore.signal() }
557 | switch res {
| `- warning: capture of 'res' with non-sendable type 'Result<Element?, any Error>' in a '@Sendable' closure; this is an error in the Swift 6 language mode
558 | case let .success(element):
559 | callback(key, .success(element))
/host/spi-builder-workspace/Sources/Monstask/KVLightTasksManager.swift:559:25: warning: capture of 'callback' with non-sendable type 'KVLightTasksManager<K, Element>.ResultCallback' (aka '(K, Result<Optional<Element>, any Error>) -> ()') in a '@Sendable' closure; this is an error in the Swift 6 language mode
557 | switch res {
558 | case let .success(element):
559 | callback(key, .success(element))
| |- warning: capture of 'callback' with non-sendable type 'KVLightTasksManager<K, Element>.ResultCallback' (aka '(K, Result<Optional<Element>, any Error>) -> ()') in a '@Sendable' closure; this is an error in the Swift 6 language mode
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
560 | _startOneMonoprovideThread(provide: provide, callback: callback)
561 | case let .failure(error):
/host/spi-builder-workspace/Sources/Monstask/KVLightTasksManager.swift:559:34: warning: capture of 'key' with non-sendable type 'K' in a '@Sendable' closure; this is an error in the Swift 6 language mode
384 |
385 | /// A lightweight key-value tasks manager that integrates a cache and configurable providers.
386 | public class KVLightTasksManager<K: Hashable, Element> {
| `- note: consider making generic parameter 'K' conform to the 'Sendable' protocol
387 | private init(_ config: Config) {
388 | self.config = config
:
557 | switch res {
558 | case let .success(element):
559 | callback(key, .success(element))
| `- warning: capture of 'key' with non-sendable type 'K' in a '@Sendable' closure; this is an error in the Swift 6 language mode
560 | _startOneMonoprovideThread(provide: provide, callback: callback)
561 | case let .failure(error):
/host/spi-builder-workspace/Sources/Monstask/KVLightTasksManager.swift:560:61: warning: capture of 'provide' with non-sendable type 'KVLightTasksManager<K, Element>.DataProvider.Monoprovide' (aka '(K, @escaping (Result<Optional<Element>, any Error>) -> ()) -> ()') in a '@Sendable' closure; this is an error in the Swift 6 language mode
558 | case let .success(element):
559 | callback(key, .success(element))
560 | _startOneMonoprovideThread(provide: provide, callback: callback)
| |- warning: capture of 'provide' with non-sendable type 'KVLightTasksManager<K, Element>.DataProvider.Monoprovide' (aka '(K, @escaping (Result<Optional<Element>, any Error>) -> ()) -> ()') in a '@Sendable' closure; this is an error in the Swift 6 language mode
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
561 | case let .failure(error):
562 | callback(key, .failure(error))
/host/spi-builder-workspace/Sources/Monstask/KVLightTasksManager.swift:592:23: warning: capture of 'self' with non-sendable type 'KVLightTasksManager<K, Element>?' in a '@Sendable' closure; this is an error in the Swift 6 language mode
384 |
385 | /// A lightweight key-value tasks manager that integrates a cache and configurable providers.
386 | public class KVLightTasksManager<K: Hashable, Element> {
| `- note: generic class 'KVLightTasksManager' does not conform to the 'Sendable' protocol
387 | private init(_ config: Config) {
388 | self.config = config
:
590 |
591 | DispatchQueue.global().async { [weak self] in
592 | guard let self else { return }
| `- warning: capture of 'self' with non-sendable type 'KVLightTasksManager<K, Element>?' in a '@Sendable' closure; this is an error in the Swift 6 language mode
593 | _executeMultiprovide(keys: keys, provide: provide) { [weak self] res in
594 | DispatchQueue.global().async { [weak self] in
/host/spi-builder-workspace/Sources/Monstask/KVLightTasksManager.swift:593:40: warning: capture of 'keys' with non-sendable type '[K]' in a '@Sendable' closure; this is an error in the Swift 6 language mode
384 |
385 | /// A lightweight key-value tasks manager that integrates a cache and configurable providers.
386 | public class KVLightTasksManager<K: Hashable, Element> {
| `- note: consider making generic parameter 'K' conform to the 'Sendable' protocol
387 | private init(_ config: Config) {
388 | self.config = config
:
591 | DispatchQueue.global().async { [weak self] in
592 | guard let self else { return }
593 | _executeMultiprovide(keys: keys, provide: provide) { [weak self] res in
| `- warning: capture of 'keys' with non-sendable type '[K]' in a '@Sendable' closure; this is an error in the Swift 6 language mode
594 | DispatchQueue.global().async { [weak self] in
595 | guard let self else { return }
/host/spi-builder-workspace/Sources/Monstask/KVLightTasksManager.swift:593:55: warning: capture of 'provide' with non-sendable type 'KVLightTasksManager<K, Element>.DataProvider.Multiprovide' (aka '(Array<K>, @escaping (Result<Dictionary<K, Optional<Element>>, any Error>) -> ()) -> ()') in a '@Sendable' closure; this is an error in the Swift 6 language mode
591 | DispatchQueue.global().async { [weak self] in
592 | guard let self else { return }
593 | _executeMultiprovide(keys: keys, provide: provide) { [weak self] res in
| |- warning: capture of 'provide' with non-sendable type 'KVLightTasksManager<K, Element>.DataProvider.Multiprovide' (aka '(Array<K>, @escaping (Result<Dictionary<K, Optional<Element>>, any Error>) -> ()) -> ()') in a '@Sendable' closure; this is an error in the Swift 6 language mode
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
594 | DispatchQueue.global().async { [weak self] in
595 | guard let self else { return }
/host/spi-builder-workspace/Sources/Monstask/KVLightTasksManager.swift:598:101: warning: capture of 'callback' with non-sendable type 'KVLightTasksManager<K, Element>.ResultCallback' (aka '(K, Result<Optional<Element>, any Error>) -> ()') in a '@Sendable' closure; this is an error in the Swift 6 language mode
596 | semaphore.wait()
597 | defer { semaphore.signal() }
598 | _startOneMultiprovideThread(batchCount: batchCount, provide: provide, callback: callback)
| |- warning: capture of 'callback' with non-sendable type 'KVLightTasksManager<K, Element>.ResultCallback' (aka '(K, Result<Optional<Element>, any Error>) -> ()') in a '@Sendable' closure; this is an error in the Swift 6 language mode
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
599 | res.forEach { res in DispatchQueue.global().async { callback(res.0, res.1) } }
600 | }
/host/spi-builder-workspace/Sources/Monstask/KVLightTasksManager.swift:598:82: warning: capture of 'provide' with non-sendable type 'KVLightTasksManager<K, Element>.DataProvider.Multiprovide' (aka '(Array<K>, @escaping (Result<Dictionary<K, Optional<Element>>, any Error>) -> ()) -> ()') in an isolated closure; this is an error in the Swift 6 language mode
596 | semaphore.wait()
597 | defer { semaphore.signal() }
598 | _startOneMultiprovideThread(batchCount: batchCount, provide: provide, callback: callback)
| |- warning: capture of 'provide' with non-sendable type 'KVLightTasksManager<K, Element>.DataProvider.Multiprovide' (aka '(Array<K>, @escaping (Result<Dictionary<K, Optional<Element>>, any Error>) -> ()) -> ()') in an isolated closure; this is an error in the Swift 6 language mode
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
599 | res.forEach { res in DispatchQueue.global().async { callback(res.0, res.1) } }
600 | }
/host/spi-builder-workspace/Sources/Monstask/KVLightTasksManager.swift:598:101: warning: capture of 'callback' with non-sendable type 'KVLightTasksManager<K, Element>.ResultCallback' (aka '(K, Result<Optional<Element>, any Error>) -> ()') in an isolated closure; this is an error in the Swift 6 language mode
596 | semaphore.wait()
597 | defer { semaphore.signal() }
598 | _startOneMultiprovideThread(batchCount: batchCount, provide: provide, callback: callback)
| |- warning: capture of 'callback' with non-sendable type 'KVLightTasksManager<K, Element>.ResultCallback' (aka '(K, Result<Optional<Element>, any Error>) -> ()') in an isolated closure; this is an error in the Swift 6 language mode
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
599 | res.forEach { res in DispatchQueue.global().async { callback(res.0, res.1) } }
600 | }
/host/spi-builder-workspace/Sources/Monstask/KVLightTasksManager.swift:595:31: warning: capture of 'self' with non-sendable type 'KVLightTasksManager<K, Element>?' in a '@Sendable' closure; this is an error in the Swift 6 language mode
384 |
385 | /// A lightweight key-value tasks manager that integrates a cache and configurable providers.
386 | public class KVLightTasksManager<K: Hashable, Element> {
| `- note: generic class 'KVLightTasksManager' does not conform to the 'Sendable' protocol
387 | private init(_ config: Config) {
388 | self.config = config
:
593 | _executeMultiprovide(keys: keys, provide: provide) { [weak self] res in
594 | DispatchQueue.global().async { [weak self] in
595 | guard let self else { return }
| `- warning: capture of 'self' with non-sendable type 'KVLightTasksManager<K, Element>?' in a '@Sendable' closure; this is an error in the Swift 6 language mode
596 | semaphore.wait()
597 | defer { semaphore.signal() }
/host/spi-builder-workspace/Sources/Monstask/KVLightTasksManager.swift:598:82: warning: capture of 'provide' with non-sendable type 'KVLightTasksManager<K, Element>.DataProvider.Multiprovide' (aka '(Array<K>, @escaping (Result<Dictionary<K, Optional<Element>>, any Error>) -> ()) -> ()') in a '@Sendable' closure; this is an error in the Swift 6 language mode
596 | semaphore.wait()
597 | defer { semaphore.signal() }
598 | _startOneMultiprovideThread(batchCount: batchCount, provide: provide, callback: callback)
| |- warning: capture of 'provide' with non-sendable type 'KVLightTasksManager<K, Element>.DataProvider.Multiprovide' (aka '(Array<K>, @escaping (Result<Dictionary<K, Optional<Element>>, any Error>) -> ()) -> ()') in a '@Sendable' closure; this is an error in the Swift 6 language mode
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
599 | res.forEach { res in DispatchQueue.global().async { callback(res.0, res.1) } }
600 | }
/host/spi-builder-workspace/Sources/Monstask/KVLightTasksManager.swift:598:101: warning: capture of 'callback' with non-sendable type 'KVLightTasksManager<K, Element>.ResultCallback' (aka '(K, Result<Optional<Element>, any Error>) -> ()') in a '@Sendable' closure; this is an error in the Swift 6 language mode
596 | semaphore.wait()
597 | defer { semaphore.signal() }
598 | _startOneMultiprovideThread(batchCount: batchCount, provide: provide, callback: callback)
| |- warning: capture of 'callback' with non-sendable type 'KVLightTasksManager<K, Element>.ResultCallback' (aka '(K, Result<Optional<Element>, any Error>) -> ()') in a '@Sendable' closure; this is an error in the Swift 6 language mode
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
599 | res.forEach { res in DispatchQueue.global().async { callback(res.0, res.1) } }
600 | }
/host/spi-builder-workspace/Sources/Monstask/KVLightTasksManager.swift:599:21: warning: capture of 'res' with non-sendable type '[(K, Result<Element?, any Error>)]' in a '@Sendable' closure; this is an error in the Swift 6 language mode
384 |
385 | /// A lightweight key-value tasks manager that integrates a cache and configurable providers.
386 | public class KVLightTasksManager<K: Hashable, Element> {
| `- note: consider making generic parameter 'K' conform to the 'Sendable' protocol
387 | private init(_ config: Config) {
388 | self.config = config
:
597 | defer { semaphore.signal() }
598 | _startOneMultiprovideThread(batchCount: batchCount, provide: provide, callback: callback)
599 | res.forEach { res in DispatchQueue.global().async { callback(res.0, res.1) } }
| `- warning: capture of 'res' with non-sendable type '[(K, Result<Element?, any Error>)]' in a '@Sendable' closure; this is an error in the Swift 6 language mode
600 | }
601 | }
/host/spi-builder-workspace/Sources/Monstask/KVLightTasksManager.swift:599:21: warning: capture of 'res' with non-sendable type '[(K, Result<Element?, any Error>)]' in a '@Sendable' closure; this is an error in the Swift 6 language mode
384 |
385 | /// A lightweight key-value tasks manager that integrates a cache and configurable providers.
386 | public class KVLightTasksManager<K: Hashable, Element> {
| `- note: consider making generic parameter 'Element' conform to the 'Sendable' protocol
387 | private init(_ config: Config) {
388 | self.config = config
:
597 | defer { semaphore.signal() }
598 | _startOneMultiprovideThread(batchCount: batchCount, provide: provide, callback: callback)
599 | res.forEach { res in DispatchQueue.global().async { callback(res.0, res.1) } }
| `- warning: capture of 'res' with non-sendable type '[(K, Result<Element?, any Error>)]' in a '@Sendable' closure; this is an error in the Swift 6 language mode
600 | }
601 | }
/host/spi-builder-workspace/Sources/Monstask/KVLightTasksManager.swift:599:73: warning: capture of 'callback' with non-sendable type 'KVLightTasksManager<K, Element>.ResultCallback' (aka '(K, Result<Optional<Element>, any Error>) -> ()') in an isolated closure; this is an error in the Swift 6 language mode
597 | defer { semaphore.signal() }
598 | _startOneMultiprovideThread(batchCount: batchCount, provide: provide, callback: callback)
599 | res.forEach { res in DispatchQueue.global().async { callback(res.0, res.1) } }
| |- warning: capture of 'callback' with non-sendable type 'KVLightTasksManager<K, Element>.ResultCallback' (aka '(K, Result<Optional<Element>, any Error>) -> ()') in an isolated closure; this is an error in the Swift 6 language mode
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
600 | }
601 | }
/host/spi-builder-workspace/Sources/Monstask/KVLightTasksManager.swift:599:73: warning: capture of 'callback' with non-sendable type 'KVLightTasksManager<K, Element>.ResultCallback' (aka '(K, Result<Optional<Element>, any Error>) -> ()') in a '@Sendable' closure; this is an error in the Swift 6 language mode
597 | defer { semaphore.signal() }
598 | _startOneMultiprovideThread(batchCount: batchCount, provide: provide, callback: callback)
599 | res.forEach { res in DispatchQueue.global().async { callback(res.0, res.1) } }
| |- warning: capture of 'callback' with non-sendable type 'KVLightTasksManager<K, Element>.ResultCallback' (aka '(K, Result<Optional<Element>, any Error>) -> ()') in a '@Sendable' closure; this is an error in the Swift 6 language mode
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
600 | }
601 | }
/host/spi-builder-workspace/Sources/Monstask/KVLightTasksManager.swift:599:82: warning: capture of 'res' with non-sendable type '(K, Result<Element?, any Error>)' in a '@Sendable' closure; this is an error in the Swift 6 language mode
384 |
385 | /// A lightweight key-value tasks manager that integrates a cache and configurable providers.
386 | public class KVLightTasksManager<K: Hashable, Element> {
| `- note: consider making generic parameter 'K' conform to the 'Sendable' protocol
387 | private init(_ config: Config) {
388 | self.config = config
:
597 | defer { semaphore.signal() }
598 | _startOneMultiprovideThread(batchCount: batchCount, provide: provide, callback: callback)
599 | res.forEach { res in DispatchQueue.global().async { callback(res.0, res.1) } }
| `- warning: capture of 'res' with non-sendable type '(K, Result<Element?, any Error>)' in a '@Sendable' closure; this is an error in the Swift 6 language mode
600 | }
601 | }
/host/spi-builder-workspace/Sources/Monstask/KVLightTasksManager.swift:599:82: warning: capture of 'res' with non-sendable type '(K, Result<Element?, any Error>)' in a '@Sendable' closure; this is an error in the Swift 6 language mode
384 |
385 | /// A lightweight key-value tasks manager that integrates a cache and configurable providers.
386 | public class KVLightTasksManager<K: Hashable, Element> {
| `- note: consider making generic parameter 'Element' conform to the 'Sendable' protocol
387 | private init(_ config: Config) {
388 | self.config = config
:
597 | defer { semaphore.signal() }
598 | _startOneMultiprovideThread(batchCount: batchCount, provide: provide, callback: callback)
599 | res.forEach { res in DispatchQueue.global().async { callback(res.0, res.1) } }
| `- warning: capture of 'res' with non-sendable type '(K, Result<Element?, any Error>)' in a '@Sendable' closure; this is an error in the Swift 6 language mode
600 | }
601 | }
/host/spi-builder-workspace/Sources/Monstask/KVHeavyTasksManager.swift:696:30: warning: sending 'result' risks causing data races; this is an error in the Swift 6 language mode
694 | return await withCheckedContinuation { continuation in
695 | self.start(key, customEventObserver: customEventObserver) { result in
696 | continuation.resume(returning: result)
| |- warning: sending 'result' risks causing data races; this is an error in the Swift 6 language mode
| `- note: task-isolated 'result' is passed as a 'sending' parameter; Uses in callee may race with later task-isolated uses
697 | }
698 | }
/host/spi-builder-workspace/Sources/Monstask/KVLightTasksManager.swift:123:26: 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
121 | case let .asyncMonoprovide(asyncMonoprovide):
122 | privateDataProvider = .monoprovide { key, callback in
123 | 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
124 | do {
125 | let res = try await asyncMonoprovide(key)
| `- note: closure captures 'asyncMonoprovide' which is accessible to code in the current task
126 | callback(.success(res))
127 | } catch {
/host/spi-builder-workspace/Sources/Monstask/KVLightTasksManager.swift:134:26: 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
132 | case let .asyncMultiprovide(maximumBatchCount, asyncMultiprovide):
133 | privateDataProvider = .multiprovide(maximumBatchCount: maximumBatchCount) { keys, callback in
134 | 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
135 | do {
136 | let res = try await asyncMultiprovide(keys)
| `- note: closure captures 'asyncMultiprovide' which is accessible to code in the current task
137 | callback(.success(res))
138 | } catch {
/host/spi-builder-workspace/Sources/Monstask/KVLightTasksManager.swift:325:34: warning: sending 'results' risks causing data races; this is an error in the Swift 6 language mode
323 | if !hasResumed {
324 | hasResumed = true
325 | continuation.resume(returning: results)
| |- warning: sending 'results' risks causing data races; this is an error in the Swift 6 language mode
| `- note: task-isolated 'results' is passed as a 'sending' parameter; Uses in callee may race with later task-isolated uses
326 | }
327 | })
/host/spi-builder-workspace/Sources/Monstask/KVLightTasksManager.swift:348:34: warning: sending 'element' risks causing data races; this is an error in the Swift 6 language mode
346 | switch result {
347 | case let .success(element):
348 | continuation.resume(returning: element)
| |- warning: sending 'element' risks causing data races; this is an error in the Swift 6 language mode
| `- note: task-isolated 'element' is passed as a 'sending' parameter; Uses in callee may race with later task-isolated uses
349 | case let .failure(error):
350 | continuation.resume(throwing: error)
/host/spi-builder-workspace/Sources/Monstask/KVLightTasksManager.swift:372:30: warning: sending 'result' risks causing data races; this is an error in the Swift 6 language mode
370 | return await withCheckedContinuation { continuation in
371 | fetch(key: key) { _, result in
372 | continuation.resume(returning: result)
| |- warning: sending 'result' risks causing data races; this is an error in the Swift 6 language mode
| `- note: task-isolated 'result' is passed as a 'sending' parameter; Uses in callee may race with later task-isolated uses
373 | }
374 | }
[13/16] Compiling Monstra CacheStatistics.swift
/host/spi-builder-workspace/Sources/Monstore/Statistics/CacheStatistics.swift:22:29: warning: static property 'tracingIDFactory' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
20 | /// - Thread-safety: This type is not synchronized; coordinate access externally if needed.
21 | public struct CacheStatistics {
22 | private(set) static var tracingIDFactory = TracingIDFactory()
| |- warning: static property 'tracingIDFactory' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'tracingIDFactory' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'tracingIDFactory' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
23 |
24 | private(set) var tracingID = tracingIDFactory.unsafeNextUInt64()
/host/spi-builder-workspace/Sources/MonstraBase/CPUTimeStamp.swift:18:38: error: cannot find type 'mach_timebase_info_data_t' in scope
16 |
17 | /// Mach timebase info for converting between different time units. Cached for performance.
18 | private static let timebaseInfo: mach_timebase_info_data_t = {
| `- error: cannot find type 'mach_timebase_info_data_t' in scope
19 | var info = mach_timebase_info_data_t()
20 | mach_timebase_info(&info)
/host/spi-builder-workspace/Sources/MonstraBase/CPUTimeStamp.swift:35:23: warning: static property 'infinity' is not concurrency-safe because non-'Sendable' type 'CPUTimeStamp' may have shared mutable state; this is an error in the Swift 6 language mode
11 | /// - Thread-safe and value-semantic; creation is fast
12 | /// - `infinity` and `zero` helpers simplify sentinel usage
13 | public struct CPUTimeStamp {
| `- note: consider making struct 'CPUTimeStamp' conform to the 'Sendable' protocol
14 | /// The timestamp value in seconds since CPU start.
15 | private let timestampSeconds: TimeInterval
:
33 |
34 | /// A timestamp representing positive infinity (never expires).
35 | public static let infinity: Self = .init(timeInterval: .infinity)
| |- warning: static property 'infinity' is not concurrency-safe because non-'Sendable' type 'CPUTimeStamp' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'infinity' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
36 |
37 | /// Creates a timestamp representing the current moment.
/host/spi-builder-workspace/Sources/MonstraBase/CPUTimeStamp.swift:41:23: warning: static property 'zero' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
39 |
40 | /// A timestamp representing zero time (epoch).
41 | public static var zero: Self = .init(timeInterval: 0.0)
| |- warning: static property 'zero' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'zero' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'zero' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
42 |
43 | /// Initialize with current CPU time.
/host/spi-builder-workspace/Sources/MonstraBase/CPUTimeStamp.swift:45:29: error: cannot find 'mach_absolute_time' in scope
43 | /// Initialize with current CPU time.
44 | public init() {
45 | self.init(rawTicks: mach_absolute_time())
| `- error: cannot find 'mach_absolute_time' in scope
46 | }
47 |
/host/spi-builder-workspace/Sources/MonstraBase/CPUTimeStamp.swift:100:51: error: cannot find 'NSEC_PER_SEC' in scope
98 | static func convertTicksToSeconds(_ ticks: UInt64) -> TimeInterval {
99 | let nanos = (ticks / UInt64(Self.timebaseInfo.denom)) * UInt64(Self.timebaseInfo.numer)
100 | return TimeInterval(nanos) / TimeInterval(NSEC_PER_SEC)
| `- error: cannot find 'NSEC_PER_SEC' in scope
101 | }
102 | }
[14/16] Compiling Monstra CPUTimeStamp.swift
/host/spi-builder-workspace/Sources/Monstore/Statistics/CacheStatistics.swift:22:29: warning: static property 'tracingIDFactory' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
20 | /// - Thread-safety: This type is not synchronized; coordinate access externally if needed.
21 | public struct CacheStatistics {
22 | private(set) static var tracingIDFactory = TracingIDFactory()
| |- warning: static property 'tracingIDFactory' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'tracingIDFactory' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'tracingIDFactory' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
23 |
24 | private(set) var tracingID = tracingIDFactory.unsafeNextUInt64()
/host/spi-builder-workspace/Sources/MonstraBase/CPUTimeStamp.swift:18:38: error: cannot find type 'mach_timebase_info_data_t' in scope
16 |
17 | /// Mach timebase info for converting between different time units. Cached for performance.
18 | private static let timebaseInfo: mach_timebase_info_data_t = {
| `- error: cannot find type 'mach_timebase_info_data_t' in scope
19 | var info = mach_timebase_info_data_t()
20 | mach_timebase_info(&info)
/host/spi-builder-workspace/Sources/MonstraBase/CPUTimeStamp.swift:35:23: warning: static property 'infinity' is not concurrency-safe because non-'Sendable' type 'CPUTimeStamp' may have shared mutable state; this is an error in the Swift 6 language mode
11 | /// - Thread-safe and value-semantic; creation is fast
12 | /// - `infinity` and `zero` helpers simplify sentinel usage
13 | public struct CPUTimeStamp {
| `- note: consider making struct 'CPUTimeStamp' conform to the 'Sendable' protocol
14 | /// The timestamp value in seconds since CPU start.
15 | private let timestampSeconds: TimeInterval
:
33 |
34 | /// A timestamp representing positive infinity (never expires).
35 | public static let infinity: Self = .init(timeInterval: .infinity)
| |- warning: static property 'infinity' is not concurrency-safe because non-'Sendable' type 'CPUTimeStamp' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'infinity' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
36 |
37 | /// Creates a timestamp representing the current moment.
/host/spi-builder-workspace/Sources/MonstraBase/CPUTimeStamp.swift:41:23: warning: static property 'zero' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
39 |
40 | /// A timestamp representing zero time (epoch).
41 | public static var zero: Self = .init(timeInterval: 0.0)
| |- warning: static property 'zero' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'zero' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'zero' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
42 |
43 | /// Initialize with current CPU time.
/host/spi-builder-workspace/Sources/MonstraBase/CPUTimeStamp.swift:45:29: error: cannot find 'mach_absolute_time' in scope
43 | /// Initialize with current CPU time.
44 | public init() {
45 | self.init(rawTicks: mach_absolute_time())
| `- error: cannot find 'mach_absolute_time' in scope
46 | }
47 |
/host/spi-builder-workspace/Sources/MonstraBase/CPUTimeStamp.swift:100:51: error: cannot find 'NSEC_PER_SEC' in scope
98 | static func convertTicksToSeconds(_ ticks: UInt64) -> TimeInterval {
99 | let nanos = (ticks / UInt64(Self.timebaseInfo.denom)) * UInt64(Self.timebaseInfo.numer)
100 | return TimeInterval(nanos) / TimeInterval(NSEC_PER_SEC)
| `- error: cannot find 'NSEC_PER_SEC' in scope
101 | }
102 | }
[15/16] Compiling Monstra MonoTask.swift
/host/spi-builder-workspace/Sources/Monstask/MonoTask.swift:177:21: warning: capture of 'completionCallback' with non-sendable type 'MonoTask<TaskResult>.ResultCallback' (aka '(Result<TaskResult, any Error>) -> ()') in a '@Sendable' closure; this is an error in the Swift 6 language mode
175 | if let completionCallback {
176 | callbackQueue.async {
177 | completionCallback(.success(resultCache))
| |- warning: capture of 'completionCallback' with non-sendable type 'MonoTask<TaskResult>.ResultCallback' (aka '(Result<TaskResult, any Error>) -> ()') in a '@Sendable' closure; this is an error in the Swift 6 language mode
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
178 | }
179 | }
/host/spi-builder-workspace/Sources/Monstask/MonoTask.swift:177:49: warning: capture of 'resultCache' with non-sendable type 'TaskResult' in a '@Sendable' closure; this is an error in the Swift 6 language mode
68 | /// - Note: This class is designed for expensive, idempotent operations like network requests,
69 | /// database queries, or complex computations that benefit from caching and deduplication.
70 | public class MonoTask<TaskResult> {
| `- note: consider making generic parameter 'TaskResult' conform to the 'Sendable' protocol
71 | // MARK: - Configuration Properties
72 |
:
175 | if let completionCallback {
176 | callbackQueue.async {
177 | completionCallback(.success(resultCache))
| `- warning: capture of 'resultCache' with non-sendable type 'TaskResult' in a '@Sendable' closure; this is an error in the Swift 6 language mode
178 | }
179 | }
/host/spi-builder-workspace/Sources/Monstask/MonoTask.swift:232:13: warning: capture of 'self' with non-sendable type 'MonoTask<TaskResult>?' in a '@Sendable' closure; this is an error in the Swift 6 language mode
68 | /// - Note: This class is designed for expensive, idempotent operations like network requests,
69 | /// database queries, or complex computations that benefit from caching and deduplication.
70 | public class MonoTask<TaskResult> {
| `- note: generic class 'MonoTask' does not conform to the 'Sendable' protocol
71 | // MARK: - Configuration Properties
72 |
:
230 | taskQueue.async { [weak self] in
231 | // === Execute User Task ===
232 | self?.executeBlock { [weak self] executionResult in
| `- warning: capture of 'self' with non-sendable type 'MonoTask<TaskResult>?' in a '@Sendable' closure; this is an error in the Swift 6 language mode
233 | guard let self else { return }
234 | semaphore.wait()
/host/spi-builder-workspace/Sources/Monstask/MonoTask.swift:253:20: warning: capture of 'retryConfiguration' with non-sendable type 'RetryCount' in a '@Sendable' closure; this is an error in the Swift 6 language mode
251 |
252 | // Retry if retry attempts are available
253 | if retryConfiguration.shouldRetry {
| `- warning: capture of 'retryConfiguration' with non-sendable type 'RetryCount' in a '@Sendable' closure; this is an error in the Swift 6 language mode
254 | taskQueue.asyncAfter(deadline: .now() + retryConfiguration.timeInterval) {
255 | self._unsafe_execute(retry: retryConfiguration.next())
/host/spi-builder-workspace/Sources/MonstraBase/RetryCount.swift:12:13: note: consider making enum 'RetryCount' conform to the 'Sendable' protocol
10 | /// Delay strategies are modeled via `IntervalProxy`, covering fixed delays, pure exponential backoff,
11 | /// and hybrid schemes that switch between exponential and fixed delays.
12 | public enum RetryCount {
| `- note: consider making enum 'RetryCount' conform to the 'Sendable' protocol
13 | /// Delay strategy used between retries.
14 | public enum IntervalProxy {
/host/spi-builder-workspace/Sources/Monstask/MonoTask.swift:253:20: warning: capture of 'retryConfiguration' with non-sendable type 'RetryCount' in an isolated closure; this is an error in the Swift 6 language mode
251 |
252 | // Retry if retry attempts are available
253 | if retryConfiguration.shouldRetry {
| `- warning: capture of 'retryConfiguration' with non-sendable type 'RetryCount' in an isolated closure; this is an error in the Swift 6 language mode
254 | taskQueue.asyncAfter(deadline: .now() + retryConfiguration.timeInterval) {
255 | self._unsafe_execute(retry: retryConfiguration.next())
/host/spi-builder-workspace/Sources/MonstraBase/RetryCount.swift:12:13: note: consider making enum 'RetryCount' conform to the 'Sendable' protocol
10 | /// Delay strategies are modeled via `IntervalProxy`, covering fixed delays, pure exponential backoff,
11 | /// and hybrid schemes that switch between exponential and fixed delays.
12 | public enum RetryCount {
| `- note: consider making enum 'RetryCount' conform to the 'Sendable' protocol
13 | /// Delay strategy used between retries.
14 | public enum IntervalProxy {
/host/spi-builder-workspace/Sources/Monstask/MonoTask.swift:255:25: warning: capture of 'self' with non-sendable type 'MonoTask<TaskResult>' in a '@Sendable' closure; this is an error in the Swift 6 language mode
68 | /// - Note: This class is designed for expensive, idempotent operations like network requests,
69 | /// database queries, or complex computations that benefit from caching and deduplication.
70 | public class MonoTask<TaskResult> {
| `- note: generic class 'MonoTask' does not conform to the 'Sendable' protocol
71 | // MARK: - Configuration Properties
72 |
:
253 | if retryConfiguration.shouldRetry {
254 | taskQueue.asyncAfter(deadline: .now() + retryConfiguration.timeInterval) {
255 | self._unsafe_execute(retry: retryConfiguration.next())
| `- warning: capture of 'self' with non-sendable type 'MonoTask<TaskResult>' in a '@Sendable' closure; this is an error in the Swift 6 language mode
256 | }
257 | return
/host/spi-builder-workspace/Sources/Monstask/MonoTask.swift:255:53: warning: capture of 'retryConfiguration' with non-sendable type 'RetryCount' in a '@Sendable' closure; this is an error in the Swift 6 language mode
253 | if retryConfiguration.shouldRetry {
254 | taskQueue.asyncAfter(deadline: .now() + retryConfiguration.timeInterval) {
255 | self._unsafe_execute(retry: retryConfiguration.next())
| `- warning: capture of 'retryConfiguration' with non-sendable type 'RetryCount' in a '@Sendable' closure; this is an error in the Swift 6 language mode
256 | }
257 | return
/host/spi-builder-workspace/Sources/MonstraBase/RetryCount.swift:12:13: note: consider making enum 'RetryCount' conform to the 'Sendable' protocol
10 | /// Delay strategies are modeled via `IntervalProxy`, covering fixed delays, pure exponential backoff,
11 | /// and hybrid schemes that switch between exponential and fixed delays.
12 | public enum RetryCount {
| `- note: consider making enum 'RetryCount' conform to the 'Sendable' protocol
13 | /// Delay strategy used between retries.
14 | public enum IntervalProxy {
/host/spi-builder-workspace/Sources/Monstask/MonoTask.swift:290:23: warning: capture of 'callbacksToNotify' with non-sendable type '[(Result<TaskResult, any Error>) -> Void]?' in a '@Sendable' closure; this is an error in the Swift 6 language mode
288 | // Notify all callbacks with the same result
289 |
290 | guard let callbacksToNotify else { return }
| |- warning: capture of 'callbacksToNotify' with non-sendable type '[(Result<TaskResult, any Error>) -> Void]?' in a '@Sendable' closure; this is an error in the Swift 6 language mode
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
291 | for callback in callbacksToNotify {
292 | callback(executionResult)
/host/spi-builder-workspace/Sources/Monstask/MonoTask.swift:292:26: warning: capture of 'executionResult' with non-sendable type 'Result<TaskResult, any Error>' in a '@Sendable' closure; this is an error in the Swift 6 language mode
68 | /// - Note: This class is designed for expensive, idempotent operations like network requests,
69 | /// database queries, or complex computations that benefit from caching and deduplication.
70 | public class MonoTask<TaskResult> {
| `- note: consider making generic parameter 'TaskResult' conform to the 'Sendable' protocol
71 | // MARK: - Configuration Properties
72 |
:
290 | guard let callbacksToNotify else { return }
291 | for callback in callbacksToNotify {
292 | callback(executionResult)
| `- warning: capture of 'executionResult' with non-sendable type 'Result<TaskResult, any Error>' in a '@Sendable' closure; this is an error in the Swift 6 language mode
293 | }
294 | }
/host/spi-builder-workspace/Sources/Monstask/MonoTask.swift:635:37: warning: capture of 'callbacksToNotify' with non-sendable type '[(Result<TaskResult, any Error>) -> Void]' in a '@Sendable' closure; this is an error in the Swift 6 language mode
633 | executionID = executionIDFactory.safeNextInt64()
634 | callbackQueue.async {
635 | for callback in callbacksToNotify {
| |- warning: capture of 'callbacksToNotify' with non-sendable type '[(Result<TaskResult, any Error>) -> Void]' in a '@Sendable' closure; this is an error in the Swift 6 language mode
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
636 | callback(.failure(Errors.executionCancelledDueToClearResult))
637 | }
/host/spi-builder-workspace/Sources/MonstraBase/TracingIDFactory.swift:223:24: error: cannot find 'os_unfair_lock' in scope
221 | /// Uses `os_unfair_lock` for minimal overhead while providing mutual exclusion.
222 | /// This lock protects the `sequentialCounter` during increment and ID calculation.
223 | private var lock = os_unfair_lock()
| `- error: cannot find 'os_unfair_lock' in scope
224 |
225 | /// Core ID generation logic without thread safety (maximum performance).
/host/spi-builder-workspace/Sources/Monstask/MonoTask.swift:403: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
401 | callbackQueue: callbackQueue
402 | ) { callback in
403 | 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
404 | await callback(task())
| `- note: closure captures 'task' which is accessible to code in the current task
405 | }
406 | }
/host/spi-builder-workspace/Sources/Monstask/MonoTask.swift:473:30: warning: sending 'executionResult' risks causing data races; this is an error in the Swift 6 language mode
471 | return await withCheckedContinuation { continuation in
472 | self._safe_execute(forceUpdate: forceUpdate) { executionResult in
473 | continuation.resume(returning: executionResult)
| |- warning: sending 'executionResult' risks causing data races; this is an error in the Swift 6 language mode
| `- note: task-isolated 'executionResult' is passed as a 'sending' parameter; Uses in callee may race with later task-isolated uses
474 | }
475 | }
/host/spi-builder-workspace/Sources/Monstask/MonoTask.swift:501:30: warning: sending 'executionResult' risks causing data races; this is an error in the Swift 6 language mode
499 | switch await withCheckedContinuation({ continuation in
500 | self._safe_execute(forceUpdate: forceUpdate) { executionResult in
501 | continuation.resume(returning: executionResult)
| |- warning: sending 'executionResult' risks causing data races; this is an error in the Swift 6 language mode
| `- note: task-isolated 'executionResult' is passed as a 'sending' parameter; Uses in callee may race with later task-isolated uses
502 | }
503 | }) {
[16/16] Compiling Monstra MemoryCache.swift
/host/spi-builder-workspace/Sources/Monstask/MonoTask.swift:177:21: warning: capture of 'completionCallback' with non-sendable type 'MonoTask<TaskResult>.ResultCallback' (aka '(Result<TaskResult, any Error>) -> ()') in a '@Sendable' closure; this is an error in the Swift 6 language mode
175 | if let completionCallback {
176 | callbackQueue.async {
177 | completionCallback(.success(resultCache))
| |- warning: capture of 'completionCallback' with non-sendable type 'MonoTask<TaskResult>.ResultCallback' (aka '(Result<TaskResult, any Error>) -> ()') in a '@Sendable' closure; this is an error in the Swift 6 language mode
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
178 | }
179 | }
/host/spi-builder-workspace/Sources/Monstask/MonoTask.swift:177:49: warning: capture of 'resultCache' with non-sendable type 'TaskResult' in a '@Sendable' closure; this is an error in the Swift 6 language mode
68 | /// - Note: This class is designed for expensive, idempotent operations like network requests,
69 | /// database queries, or complex computations that benefit from caching and deduplication.
70 | public class MonoTask<TaskResult> {
| `- note: consider making generic parameter 'TaskResult' conform to the 'Sendable' protocol
71 | // MARK: - Configuration Properties
72 |
:
175 | if let completionCallback {
176 | callbackQueue.async {
177 | completionCallback(.success(resultCache))
| `- warning: capture of 'resultCache' with non-sendable type 'TaskResult' in a '@Sendable' closure; this is an error in the Swift 6 language mode
178 | }
179 | }
/host/spi-builder-workspace/Sources/Monstask/MonoTask.swift:232:13: warning: capture of 'self' with non-sendable type 'MonoTask<TaskResult>?' in a '@Sendable' closure; this is an error in the Swift 6 language mode
68 | /// - Note: This class is designed for expensive, idempotent operations like network requests,
69 | /// database queries, or complex computations that benefit from caching and deduplication.
70 | public class MonoTask<TaskResult> {
| `- note: generic class 'MonoTask' does not conform to the 'Sendable' protocol
71 | // MARK: - Configuration Properties
72 |
:
230 | taskQueue.async { [weak self] in
231 | // === Execute User Task ===
232 | self?.executeBlock { [weak self] executionResult in
| `- warning: capture of 'self' with non-sendable type 'MonoTask<TaskResult>?' in a '@Sendable' closure; this is an error in the Swift 6 language mode
233 | guard let self else { return }
234 | semaphore.wait()
/host/spi-builder-workspace/Sources/Monstask/MonoTask.swift:253:20: warning: capture of 'retryConfiguration' with non-sendable type 'RetryCount' in a '@Sendable' closure; this is an error in the Swift 6 language mode
251 |
252 | // Retry if retry attempts are available
253 | if retryConfiguration.shouldRetry {
| `- warning: capture of 'retryConfiguration' with non-sendable type 'RetryCount' in a '@Sendable' closure; this is an error in the Swift 6 language mode
254 | taskQueue.asyncAfter(deadline: .now() + retryConfiguration.timeInterval) {
255 | self._unsafe_execute(retry: retryConfiguration.next())
/host/spi-builder-workspace/Sources/MonstraBase/RetryCount.swift:12:13: note: consider making enum 'RetryCount' conform to the 'Sendable' protocol
10 | /// Delay strategies are modeled via `IntervalProxy`, covering fixed delays, pure exponential backoff,
11 | /// and hybrid schemes that switch between exponential and fixed delays.
12 | public enum RetryCount {
| `- note: consider making enum 'RetryCount' conform to the 'Sendable' protocol
13 | /// Delay strategy used between retries.
14 | public enum IntervalProxy {
/host/spi-builder-workspace/Sources/Monstask/MonoTask.swift:253:20: warning: capture of 'retryConfiguration' with non-sendable type 'RetryCount' in an isolated closure; this is an error in the Swift 6 language mode
251 |
252 | // Retry if retry attempts are available
253 | if retryConfiguration.shouldRetry {
| `- warning: capture of 'retryConfiguration' with non-sendable type 'RetryCount' in an isolated closure; this is an error in the Swift 6 language mode
254 | taskQueue.asyncAfter(deadline: .now() + retryConfiguration.timeInterval) {
255 | self._unsafe_execute(retry: retryConfiguration.next())
/host/spi-builder-workspace/Sources/MonstraBase/RetryCount.swift:12:13: note: consider making enum 'RetryCount' conform to the 'Sendable' protocol
10 | /// Delay strategies are modeled via `IntervalProxy`, covering fixed delays, pure exponential backoff,
11 | /// and hybrid schemes that switch between exponential and fixed delays.
12 | public enum RetryCount {
| `- note: consider making enum 'RetryCount' conform to the 'Sendable' protocol
13 | /// Delay strategy used between retries.
14 | public enum IntervalProxy {
/host/spi-builder-workspace/Sources/Monstask/MonoTask.swift:255:25: warning: capture of 'self' with non-sendable type 'MonoTask<TaskResult>' in a '@Sendable' closure; this is an error in the Swift 6 language mode
68 | /// - Note: This class is designed for expensive, idempotent operations like network requests,
69 | /// database queries, or complex computations that benefit from caching and deduplication.
70 | public class MonoTask<TaskResult> {
| `- note: generic class 'MonoTask' does not conform to the 'Sendable' protocol
71 | // MARK: - Configuration Properties
72 |
:
253 | if retryConfiguration.shouldRetry {
254 | taskQueue.asyncAfter(deadline: .now() + retryConfiguration.timeInterval) {
255 | self._unsafe_execute(retry: retryConfiguration.next())
| `- warning: capture of 'self' with non-sendable type 'MonoTask<TaskResult>' in a '@Sendable' closure; this is an error in the Swift 6 language mode
256 | }
257 | return
/host/spi-builder-workspace/Sources/Monstask/MonoTask.swift:255:53: warning: capture of 'retryConfiguration' with non-sendable type 'RetryCount' in a '@Sendable' closure; this is an error in the Swift 6 language mode
253 | if retryConfiguration.shouldRetry {
254 | taskQueue.asyncAfter(deadline: .now() + retryConfiguration.timeInterval) {
255 | self._unsafe_execute(retry: retryConfiguration.next())
| `- warning: capture of 'retryConfiguration' with non-sendable type 'RetryCount' in a '@Sendable' closure; this is an error in the Swift 6 language mode
256 | }
257 | return
/host/spi-builder-workspace/Sources/MonstraBase/RetryCount.swift:12:13: note: consider making enum 'RetryCount' conform to the 'Sendable' protocol
10 | /// Delay strategies are modeled via `IntervalProxy`, covering fixed delays, pure exponential backoff,
11 | /// and hybrid schemes that switch between exponential and fixed delays.
12 | public enum RetryCount {
| `- note: consider making enum 'RetryCount' conform to the 'Sendable' protocol
13 | /// Delay strategy used between retries.
14 | public enum IntervalProxy {
/host/spi-builder-workspace/Sources/Monstask/MonoTask.swift:290:23: warning: capture of 'callbacksToNotify' with non-sendable type '[(Result<TaskResult, any Error>) -> Void]?' in a '@Sendable' closure; this is an error in the Swift 6 language mode
288 | // Notify all callbacks with the same result
289 |
290 | guard let callbacksToNotify else { return }
| |- warning: capture of 'callbacksToNotify' with non-sendable type '[(Result<TaskResult, any Error>) -> Void]?' in a '@Sendable' closure; this is an error in the Swift 6 language mode
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
291 | for callback in callbacksToNotify {
292 | callback(executionResult)
/host/spi-builder-workspace/Sources/Monstask/MonoTask.swift:292:26: warning: capture of 'executionResult' with non-sendable type 'Result<TaskResult, any Error>' in a '@Sendable' closure; this is an error in the Swift 6 language mode
68 | /// - Note: This class is designed for expensive, idempotent operations like network requests,
69 | /// database queries, or complex computations that benefit from caching and deduplication.
70 | public class MonoTask<TaskResult> {
| `- note: consider making generic parameter 'TaskResult' conform to the 'Sendable' protocol
71 | // MARK: - Configuration Properties
72 |
:
290 | guard let callbacksToNotify else { return }
291 | for callback in callbacksToNotify {
292 | callback(executionResult)
| `- warning: capture of 'executionResult' with non-sendable type 'Result<TaskResult, any Error>' in a '@Sendable' closure; this is an error in the Swift 6 language mode
293 | }
294 | }
/host/spi-builder-workspace/Sources/Monstask/MonoTask.swift:635:37: warning: capture of 'callbacksToNotify' with non-sendable type '[(Result<TaskResult, any Error>) -> Void]' in a '@Sendable' closure; this is an error in the Swift 6 language mode
633 | executionID = executionIDFactory.safeNextInt64()
634 | callbackQueue.async {
635 | for callback in callbacksToNotify {
| |- warning: capture of 'callbacksToNotify' with non-sendable type '[(Result<TaskResult, any Error>) -> Void]' in a '@Sendable' closure; this is an error in the Swift 6 language mode
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
636 | callback(.failure(Errors.executionCancelledDueToClearResult))
637 | }
/host/spi-builder-workspace/Sources/MonstraBase/TracingIDFactory.swift:223:24: error: cannot find 'os_unfair_lock' in scope
221 | /// Uses `os_unfair_lock` for minimal overhead while providing mutual exclusion.
222 | /// This lock protects the `sequentialCounter` during increment and ID calculation.
223 | private var lock = os_unfair_lock()
| `- error: cannot find 'os_unfair_lock' in scope
224 |
225 | /// Core ID generation logic without thread safety (maximum performance).
/host/spi-builder-workspace/Sources/Monstask/MonoTask.swift:403: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
401 | callbackQueue: callbackQueue
402 | ) { callback in
403 | 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
404 | await callback(task())
| `- note: closure captures 'task' which is accessible to code in the current task
405 | }
406 | }
/host/spi-builder-workspace/Sources/Monstask/MonoTask.swift:473:30: warning: sending 'executionResult' risks causing data races; this is an error in the Swift 6 language mode
471 | return await withCheckedContinuation { continuation in
472 | self._safe_execute(forceUpdate: forceUpdate) { executionResult in
473 | continuation.resume(returning: executionResult)
| |- warning: sending 'executionResult' risks causing data races; this is an error in the Swift 6 language mode
| `- note: task-isolated 'executionResult' is passed as a 'sending' parameter; Uses in callee may race with later task-isolated uses
474 | }
475 | }
/host/spi-builder-workspace/Sources/Monstask/MonoTask.swift:501:30: warning: sending 'executionResult' risks causing data races; this is an error in the Swift 6 language mode
499 | switch await withCheckedContinuation({ continuation in
500 | self._safe_execute(forceUpdate: forceUpdate) { executionResult in
501 | continuation.resume(returning: executionResult)
| |- warning: sending 'executionResult' risks causing data races; this is an error in the Swift 6 language mode
| `- note: task-isolated 'executionResult' is passed as a 'sending' parameter; Uses in callee may race with later task-isolated uses
502 | }
503 | }) {
Running build ...
bash -c docker run --pull=always --rm -v "checkouts-4606859-1":/host -w "$PWD" -e JAVA_HOME="/root/.sdkman/candidates/java/current" -e SPI_BUILD="1" -e SPI_PROCESSING="1" registry.gitlab.com/finestructure/spi-images:basic-6.1-latest swift build --triple x86_64-unknown-linux-gnu 2>&1
basic-6.1-latest: Pulling from finestructure/spi-images
Digest: sha256:99ea6d26ace67c023f359493a2ac553a612b92a7f2dee009657225f46f43aa0e
Status: Image is up to date for registry.gitlab.com/finestructure/spi-images:basic-6.1-latest
warning: 'spi-builder-workspace': found 1 file(s) which are unhandled; explicitly declare them as resources or exclude from the target
/host/spi-builder-workspace/Sources/Monstore/MemoryCache/README.md
[0/1] Planning build
Building for debugging...
[0/1] Write swift-version-24593BA9C3E375BF.txt
[2/14] Compiling Monstra RetryCount.swift
[3/15] Compiling Monstra Heap.swift
[4/15] Compiling Monstra DoublyLink.swift
[5/15] Compiling Monstra HashQueue.swift
[6/15] Compiling Monstra MonoTask.swift
/host/spi-builder-workspace/Sources/MonstraBase/TracingIDFactory.swift:223:24: error: cannot find 'os_unfair_lock' in scope
221 | /// Uses `os_unfair_lock` for minimal overhead while providing mutual exclusion.
222 | /// This lock protects the `sequentialCounter` during increment and ID calculation.
223 | private var lock = os_unfair_lock()
| `- error: cannot find 'os_unfair_lock' in scope
224 |
225 | /// Core ID generation logic without thread safety (maximum performance).
[7/15] Compiling Monstra MemoryCache.swift
/host/spi-builder-workspace/Sources/MonstraBase/TracingIDFactory.swift:223:24: error: cannot find 'os_unfair_lock' in scope
221 | /// Uses `os_unfair_lock` for minimal overhead while providing mutual exclusion.
222 | /// This lock protects the `sequentialCounter` during increment and ID calculation.
223 | private var lock = os_unfair_lock()
| `- error: cannot find 'os_unfair_lock' in scope
224 |
225 | /// Core ID generation logic without thread safety (maximum performance).
[8/15] Compiling Monstra TracingIDFactory.swift
/host/spi-builder-workspace/Sources/MonstraBase/TracingIDFactory.swift:223:24: error: cannot find 'os_unfair_lock' in scope
221 | /// Uses `os_unfair_lock` for minimal overhead while providing mutual exclusion.
222 | /// This lock protects the `sequentialCounter` during increment and ID calculation.
223 | private var lock = os_unfair_lock()
| `- error: cannot find 'os_unfair_lock' in scope
224 |
225 | /// Core ID generation logic without thread safety (maximum performance).
/host/spi-builder-workspace/Sources/MonstraBase/TracingIDFactory.swift:280:9: error: cannot find 'os_unfair_lock_lock' in scope
278 | private mutating func _safe_next() -> Int64 {
279 | // Acquire exclusive access to mutable state
280 | os_unfair_lock_lock(&lock)
| `- error: cannot find 'os_unfair_lock_lock' in scope
281 | defer {
282 | // Ensure lock is always released, even if _unsafe_next() throws or returns early
/host/spi-builder-workspace/Sources/MonstraBase/TracingIDFactory.swift:283:13: error: cannot find 'os_unfair_lock_unlock' in scope
281 | defer {
282 | // Ensure lock is always released, even if _unsafe_next() throws or returns early
283 | os_unfair_lock_unlock(&self.lock)
| `- error: cannot find 'os_unfair_lock_unlock' in scope
284 | }
285 |
[9/15] Compiling Monstra PriorityLRUQueue.swift
[10/15] Compiling Monstra TTLPriorityLRUQueue.swift
[11/15] Compiling Monstra CacheStatistics.swift
/host/spi-builder-workspace/Sources/MonstraBase/CPUTimeStamp.swift:18:38: error: cannot find type 'mach_timebase_info_data_t' in scope
16 |
17 | /// Mach timebase info for converting between different time units. Cached for performance.
18 | private static let timebaseInfo: mach_timebase_info_data_t = {
| `- error: cannot find type 'mach_timebase_info_data_t' in scope
19 | var info = mach_timebase_info_data_t()
20 | mach_timebase_info(&info)
/host/spi-builder-workspace/Sources/MonstraBase/CPUTimeStamp.swift:45:29: error: cannot find 'mach_absolute_time' in scope
43 | /// Initialize with current CPU time.
44 | public init() {
45 | self.init(rawTicks: mach_absolute_time())
| `- error: cannot find 'mach_absolute_time' in scope
46 | }
47 |
/host/spi-builder-workspace/Sources/MonstraBase/CPUTimeStamp.swift:100:51: error: cannot find 'NSEC_PER_SEC' in scope
98 | static func convertTicksToSeconds(_ ticks: UInt64) -> TimeInterval {
99 | let nanos = (ticks / UInt64(Self.timebaseInfo.denom)) * UInt64(Self.timebaseInfo.numer)
100 | return TimeInterval(nanos) / TimeInterval(NSEC_PER_SEC)
| `- error: cannot find 'NSEC_PER_SEC' in scope
101 | }
102 | }
[12/15] Compiling Monstra CPUTimeStamp.swift
/host/spi-builder-workspace/Sources/MonstraBase/CPUTimeStamp.swift:18:38: error: cannot find type 'mach_timebase_info_data_t' in scope
16 |
17 | /// Mach timebase info for converting between different time units. Cached for performance.
18 | private static let timebaseInfo: mach_timebase_info_data_t = {
| `- error: cannot find type 'mach_timebase_info_data_t' in scope
19 | var info = mach_timebase_info_data_t()
20 | mach_timebase_info(&info)
/host/spi-builder-workspace/Sources/MonstraBase/CPUTimeStamp.swift:45:29: error: cannot find 'mach_absolute_time' in scope
43 | /// Initialize with current CPU time.
44 | public init() {
45 | self.init(rawTicks: mach_absolute_time())
| `- error: cannot find 'mach_absolute_time' in scope
46 | }
47 |
/host/spi-builder-workspace/Sources/MonstraBase/CPUTimeStamp.swift:100:51: error: cannot find 'NSEC_PER_SEC' in scope
98 | static func convertTicksToSeconds(_ ticks: UInt64) -> TimeInterval {
99 | let nanos = (ticks / UInt64(Self.timebaseInfo.denom)) * UInt64(Self.timebaseInfo.numer)
100 | return TimeInterval(nanos) / TimeInterval(NSEC_PER_SEC)
| `- error: cannot find 'NSEC_PER_SEC' in scope
101 | }
102 | }
error: emit-module command failed with exit code 1 (use -v to see invocation)
[13/15] Compiling Monstra KVHeavyTasksManager.swift
/host/spi-builder-workspace/Sources/Monstask/KVLightTasksManager.swift:445:27: warning: reference to captured var 'self' in concurrently-executing code; this is an error in the Swift 6 language mode
443 | startTaskExecution(keys: _remoteKeys) { [weak self] key, res in
444 | DispatchQueue.global().async {
445 | guard let self else { return }
| `- warning: reference to captured var 'self' in concurrently-executing code; this is an error in the Swift 6 language mode
446 | self.semaphore.wait()
447 | defer { self.semaphore.signal() }
[14/15] Compiling Monstra KVLightTasksManager.swift
/host/spi-builder-workspace/Sources/Monstask/KVLightTasksManager.swift:445:27: warning: reference to captured var 'self' in concurrently-executing code; this is an error in the Swift 6 language mode
443 | startTaskExecution(keys: _remoteKeys) { [weak self] key, res in
444 | DispatchQueue.global().async {
445 | guard let self else { return }
| `- warning: reference to captured var 'self' in concurrently-executing code; this is an error in the Swift 6 language mode
446 | self.semaphore.wait()
447 | defer { self.semaphore.signal() }
[15/15] Emitting module Monstra
/host/spi-builder-workspace/Sources/MonstraBase/CPUTimeStamp.swift:18:38: error: cannot find type 'mach_timebase_info_data_t' in scope
16 |
17 | /// Mach timebase info for converting between different time units. Cached for performance.
18 | private static let timebaseInfo: mach_timebase_info_data_t = {
| `- error: cannot find type 'mach_timebase_info_data_t' in scope
19 | var info = mach_timebase_info_data_t()
20 | mach_timebase_info(&info)
/host/spi-builder-workspace/Sources/MonstraBase/TracingIDFactory.swift:223:24: error: cannot find 'os_unfair_lock' in scope
221 | /// Uses `os_unfair_lock` for minimal overhead while providing mutual exclusion.
222 | /// This lock protects the `sequentialCounter` during increment and ID calculation.
223 | private var lock = os_unfair_lock()
| `- error: cannot find 'os_unfair_lock' in scope
224 |
225 | /// Core ID generation logic without thread safety (maximum performance).
BUILD FAILURE 6.1 linux