The Swift Package Index logo.Swift Package Index

Has it really been five years since Swift Package Index launched? Read our anniversary blog post!

Build Information

Successful build of Monstra, reference v0.1.0 (44efbc), with Swift 6.1 for macOS (SPM) on 7 Sep 2025 23:24:13 UTC.

Swift 6 data race errors: 4

Build Command

env DEVELOPER_DIR=/Applications/Xcode-16.3.0.app xcrun swift build --arch arm64 -Xswiftc -Xfrontend -Xswiftc -stats-output-dir -Xswiftc -Xfrontend -Xswiftc .stats -Xswiftc -strict-concurrency=complete -Xswiftc -enable-upcoming-feature -Xswiftc StrictConcurrency -Xswiftc -enable-upcoming-feature -Xswiftc DisableOutwardActorInference -Xswiftc -enable-upcoming-feature -Xswiftc GlobalActorIsolatedTypesUsability -Xswiftc -enable-upcoming-feature -Xswiftc InferSendableFromCaptures

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 /Users/admin/builder/spi-builder-workspace/.git/
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
========================================
ResolveProductDependencies
========================================
Resolving dependencies ...
{
  "identity": ".resolve-product-dependencies",
  "name": "resolve-dependencies",
  "url": "/Users/admin/builder/spi-builder-workspace/.resolve-product-dependencies",
  "version": "unspecified",
  "path": "/Users/admin/builder/spi-builder-workspace/.resolve-product-dependencies",
  "dependencies": [
    {
      "identity": "monstra",
      "name": "Monstra",
      "url": "https://github.com/yangchenlarkin/Monstra.git",
      "version": "unspecified",
      "path": "/Users/admin/builder/spi-builder-workspace/.resolve-product-dependencies/.build/checkouts/Monstra",
      "dependencies": [
      ]
    }
  ]
}
Fetching https://github.com/yangchenlarkin/Monstra.git
[1/2571] Fetching monstra
Fetched https://github.com/yangchenlarkin/Monstra.git from cache (1.11s)
Creating working copy for https://github.com/yangchenlarkin/Monstra.git
Working copy of https://github.com/yangchenlarkin/Monstra.git resolved at v0.1.0 (44efbcc)
warning: '.resolve-product-dependencies': dependency 'monstra' is not used by any target
Found 0 product dependencies
========================================
Build
========================================
Selected platform:         macosSpm
Swift version:             6.1
Building package at path:  $PWD
https://github.com/yangchenlarkin/Monstra.git
https://github.com/yangchenlarkin/Monstra.git
{
  "dependencies" : [
  ],
  "manifest_display_name" : "Monstra",
  "name" : "Monstra",
  "path" : "/Users/admin/builder/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 ...
env DEVELOPER_DIR=/Applications/Xcode-16.3.0.app xcrun swift build --arch arm64 -Xswiftc -Xfrontend -Xswiftc -stats-output-dir -Xswiftc -Xfrontend -Xswiftc .stats -Xswiftc -strict-concurrency=complete -Xswiftc -enable-upcoming-feature -Xswiftc StrictConcurrency -Xswiftc -enable-upcoming-feature -Xswiftc DisableOutwardActorInference -Xswiftc -enable-upcoming-feature -Xswiftc GlobalActorIsolatedTypesUsability -Xswiftc -enable-upcoming-feature -Xswiftc InferSendableFromCaptures
Building for debugging...
[0/2] Write sources
[1/2] Write swift-version-2F0A5646E1D333AE.txt
[3/15] Compiling Monstra Heap.swift
[4/16] Compiling Monstra TracingIDFactory.swift
[5/16] Compiling Monstra KVHeavyTasksManager.swift
/Users/admin/builder/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 |
/Users/admin/builder/spi-builder-workspace/Sources/Monstask/KVHeavyTasksManager.swift:754:42: warning: capture of 'element' with non-sendable type 'Element' in a '@Sendable' closure
 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
 755 |             }
 756 |             return
/Users/admin/builder/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)
/Users/admin/builder/spi-builder-workspace/Sources/Monstask/KVHeavyTasksManager.swift:1017:54: warning: capture of 'key' with non-sendable type 'K' in a '@Sendable' closure
 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
1018 |                         DispatchQueue.global().async {
1019 |                             observer(customEvent)
/Users/admin/builder/spi-builder-workspace/Sources/Monstask/KVHeavyTasksManager.swift:1019:38: warning: capture of 'customEvent' with non-sendable type 'CustomEvent' in a '@Sendable' closure
 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
1020 |                         }
1021 |                     }
/Users/admin/builder/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 |                     }
/Users/admin/builder/spi-builder-workspace/Sources/Monstask/KVHeavyTasksManager.swift:1019:38: warning: capture of 'customEvent' with non-sendable type 'CustomEvent' in a '@Sendable' closure
 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
1020 |                         }
1021 |                     }
/Users/admin/builder/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):
/Users/admin/builder/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
 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
1031 |                     case let .success(element):
1032 |                         // Cache successful results for future requests
/Users/admin/builder/spi-builder-workspace/Sources/Monstask/KVHeavyTasksManager.swift:1033:70: warning: capture of 'key' with non-sendable type 'K' in a '@Sendable' closure
 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
1034 |                         taskManager.consumeCallbacks(for: key, result: .success(element))
1035 |                     case let .failure(error):
/Users/admin/builder/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
 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
1120 |             }
1121 |         }
/Users/admin/builder/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
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
    |                     `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
291 |                         keys.map { ($0, capturedResults[$0] ?? .success(nil)) }
292 |                     )
/Users/admin/builder/spi-builder-workspace/Sources/Monstask/KVLightTasksManager.swift:291:25: warning: capture of 'keys' with non-sendable type '[K]' in a '@Sendable' closure
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
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
/Users/admin/builder/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
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
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
/Users/admin/builder/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
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
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
/Users/admin/builder/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
/Users/admin/builder/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
/Users/admin/builder/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
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
    |                                       `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
429 |             case .hitNullElement:
430 |                 dispatchQueue.async { completion(key, .success(nil)) }
/Users/admin/builder/spi-builder-workspace/Sources/Monstask/KVLightTasksManager.swift:428:50: warning: capture of 'key' with non-sendable type 'K' in a '@Sendable' closure
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
429 |             case .hitNullElement:
430 |                 dispatchQueue.async { completion(key, .success(nil)) }
/Users/admin/builder/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
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
    |                                       `- 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)) }
/Users/admin/builder/spi-builder-workspace/Sources/Monstask/KVLightTasksManager.swift:430:50: warning: capture of 'key' with non-sendable type 'K' in a '@Sendable' closure
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
431 |             case let .hitNonNullElement(element: element):
432 |                 dispatchQueue.async { completion(key, .success(element)) }
/Users/admin/builder/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
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
    |                                       `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
433 |             case .miss:
434 |                 remoteKeys.append(key)
/Users/admin/builder/spi-builder-workspace/Sources/Monstask/KVLightTasksManager.swift:432:50: warning: capture of 'key' with non-sendable type 'K' in a '@Sendable' closure
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
433 |             case .miss:
434 |                 remoteKeys.append(key)
/Users/admin/builder/spi-builder-workspace/Sources/Monstask/KVLightTasksManager.swift:432:64: warning: capture of 'element' with non-sendable type 'Element' in a '@Sendable' closure
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
433 |             case .miss:
434 |                 remoteKeys.append(key)
/Users/admin/builder/spi-builder-workspace/Sources/Monstask/KVLightTasksManager.swift:445:27: warning: capture of 'self' with non-sendable type 'KVLightTasksManager<K, Element>?' in a '@Sendable' closure
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
446 |                 self.semaphore.wait()
447 |                 defer { self.semaphore.signal() }
/Users/admin/builder/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
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
449 |                     self.cache.set(element: element, for: key)
450 |                 }
/Users/admin/builder/spi-builder-workspace/Sources/Monstask/KVLightTasksManager.swift:449:59: warning: capture of 'key' with non-sendable type 'K' in a '@Sendable' closure
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
450 |                 }
451 |                 self.consumeCallbacks(key: key, dispatchQueue: dispatchQueue, result: res)
/Users/admin/builder/spi-builder-workspace/Sources/Monstask/KVLightTasksManager.swift:445:27: warning: reference to captured var 'self' in concurrently-executing code
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
446 |                 self.semaphore.wait()
447 |                 defer { self.semaphore.signal() }
/Users/admin/builder/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
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
    |                                   `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
469 |         }
470 |         resultCallbacks.removeValue(forKey: key)
/Users/admin/builder/spi-builder-workspace/Sources/Monstask/KVLightTasksManager.swift:468:44: warning: capture of 'key' with non-sendable type 'K' in a '@Sendable' closure
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
469 |         }
470 |         resultCallbacks.removeValue(forKey: key)
/Users/admin/builder/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
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
469 |         }
470 |         resultCallbacks.removeValue(forKey: key)
/Users/admin/builder/spi-builder-workspace/Sources/Monstask/KVLightTasksManager.swift:550:23: warning: capture of 'self' with non-sendable type 'KVLightTasksManager<K, Element>?' in a '@Sendable' closure
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
551 |
552 |             _executeMonoprovide(key: key, provide: provide) { [weak self] key, res in
/Users/admin/builder/spi-builder-workspace/Sources/Monstask/KVLightTasksManager.swift:552:38: warning: capture of 'key' with non-sendable type 'K' in a '@Sendable' closure
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
553 |                 DispatchQueue.global().async { [weak self] in
554 |                     guard let self else { return }
/Users/admin/builder/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
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
    |                                                    `- 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 }
/Users/admin/builder/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
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
    |                         `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
560 |                         _startOneMonoprovideThread(provide: provide, callback: callback)
561 |                     case let .failure(error):
/Users/admin/builder/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):
/Users/admin/builder/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))
/Users/admin/builder/spi-builder-workspace/Sources/Monstask/KVLightTasksManager.swift:554:31: warning: capture of 'self' with non-sendable type 'KVLightTasksManager<K, Element>?' in a '@Sendable' closure
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
555 |                     semaphore.wait()
556 |                     defer { semaphore.signal() }
/Users/admin/builder/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
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
558 |                     case let .success(element):
559 |                         callback(key, .success(element))
/Users/admin/builder/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
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
    |                         `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
560 |                         _startOneMonoprovideThread(provide: provide, callback: callback)
561 |                     case let .failure(error):
/Users/admin/builder/spi-builder-workspace/Sources/Monstask/KVLightTasksManager.swift:559:34: warning: capture of 'key' with non-sendable type 'K' in a '@Sendable' closure
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
560 |                         _startOneMonoprovideThread(provide: provide, callback: callback)
561 |                     case let .failure(error):
/Users/admin/builder/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
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
    |                                                             `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
561 |                     case let .failure(error):
562 |                         callback(key, .failure(error))
/Users/admin/builder/spi-builder-workspace/Sources/Monstask/KVLightTasksManager.swift:592:23: warning: capture of 'self' with non-sendable type 'KVLightTasksManager<K, Element>?' in a '@Sendable' closure
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
593 |             _executeMultiprovide(keys: keys, provide: provide) { [weak self] res in
594 |                 DispatchQueue.global().async { [weak self] in
/Users/admin/builder/spi-builder-workspace/Sources/Monstask/KVLightTasksManager.swift:593:40: warning: capture of 'keys' with non-sendable type '[K]' in a '@Sendable' closure
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
594 |                 DispatchQueue.global().async { [weak self] in
595 |                     guard let self else { return }
/Users/admin/builder/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
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
    |                                                       `- 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 }
/Users/admin/builder/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
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
    |                                                                                                     `- 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 |                 }
/Users/admin/builder/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 |                 }
/Users/admin/builder/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 |                 }
/Users/admin/builder/spi-builder-workspace/Sources/Monstask/KVLightTasksManager.swift:595:31: warning: capture of 'self' with non-sendable type 'KVLightTasksManager<K, Element>?' in a '@Sendable' closure
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
596 |                     semaphore.wait()
597 |                     defer { semaphore.signal() }
/Users/admin/builder/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
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
    |                                                                                  `- 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 |                 }
/Users/admin/builder/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
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
    |                                                                                                     `- 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 |                 }
/Users/admin/builder/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
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
600 |                 }
601 |             }
/Users/admin/builder/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
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
600 |                 }
601 |             }
/Users/admin/builder/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 |             }
/Users/admin/builder/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
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
    |                                                                         `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
600 |                 }
601 |             }
/Users/admin/builder/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
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
600 |                 }
601 |             }
/Users/admin/builder/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
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
600 |                 }
601 |             }
/Users/admin/builder/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 |         }
/Users/admin/builder/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 {
/Users/admin/builder/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 {
/Users/admin/builder/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 |             })
/Users/admin/builder/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)
/Users/admin/builder/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 |         }
[6/16] Compiling Monstra KVLightTasksManager.swift
/Users/admin/builder/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 |
/Users/admin/builder/spi-builder-workspace/Sources/Monstask/KVHeavyTasksManager.swift:754:42: warning: capture of 'element' with non-sendable type 'Element' in a '@Sendable' closure
 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
 755 |             }
 756 |             return
/Users/admin/builder/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)
/Users/admin/builder/spi-builder-workspace/Sources/Monstask/KVHeavyTasksManager.swift:1017:54: warning: capture of 'key' with non-sendable type 'K' in a '@Sendable' closure
 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
1018 |                         DispatchQueue.global().async {
1019 |                             observer(customEvent)
/Users/admin/builder/spi-builder-workspace/Sources/Monstask/KVHeavyTasksManager.swift:1019:38: warning: capture of 'customEvent' with non-sendable type 'CustomEvent' in a '@Sendable' closure
 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
1020 |                         }
1021 |                     }
/Users/admin/builder/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 |                     }
/Users/admin/builder/spi-builder-workspace/Sources/Monstask/KVHeavyTasksManager.swift:1019:38: warning: capture of 'customEvent' with non-sendable type 'CustomEvent' in a '@Sendable' closure
 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
1020 |                         }
1021 |                     }
/Users/admin/builder/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):
/Users/admin/builder/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
 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
1031 |                     case let .success(element):
1032 |                         // Cache successful results for future requests
/Users/admin/builder/spi-builder-workspace/Sources/Monstask/KVHeavyTasksManager.swift:1033:70: warning: capture of 'key' with non-sendable type 'K' in a '@Sendable' closure
 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
1034 |                         taskManager.consumeCallbacks(for: key, result: .success(element))
1035 |                     case let .failure(error):
/Users/admin/builder/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
 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
1120 |             }
1121 |         }
/Users/admin/builder/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
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
    |                     `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
291 |                         keys.map { ($0, capturedResults[$0] ?? .success(nil)) }
292 |                     )
/Users/admin/builder/spi-builder-workspace/Sources/Monstask/KVLightTasksManager.swift:291:25: warning: capture of 'keys' with non-sendable type '[K]' in a '@Sendable' closure
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
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
/Users/admin/builder/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
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
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
/Users/admin/builder/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
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
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
/Users/admin/builder/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
/Users/admin/builder/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
/Users/admin/builder/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
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
    |                                       `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
429 |             case .hitNullElement:
430 |                 dispatchQueue.async { completion(key, .success(nil)) }
/Users/admin/builder/spi-builder-workspace/Sources/Monstask/KVLightTasksManager.swift:428:50: warning: capture of 'key' with non-sendable type 'K' in a '@Sendable' closure
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
429 |             case .hitNullElement:
430 |                 dispatchQueue.async { completion(key, .success(nil)) }
/Users/admin/builder/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
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
    |                                       `- 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)) }
/Users/admin/builder/spi-builder-workspace/Sources/Monstask/KVLightTasksManager.swift:430:50: warning: capture of 'key' with non-sendable type 'K' in a '@Sendable' closure
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
431 |             case let .hitNonNullElement(element: element):
432 |                 dispatchQueue.async { completion(key, .success(element)) }
/Users/admin/builder/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
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
    |                                       `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
433 |             case .miss:
434 |                 remoteKeys.append(key)
/Users/admin/builder/spi-builder-workspace/Sources/Monstask/KVLightTasksManager.swift:432:50: warning: capture of 'key' with non-sendable type 'K' in a '@Sendable' closure
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
433 |             case .miss:
434 |                 remoteKeys.append(key)
/Users/admin/builder/spi-builder-workspace/Sources/Monstask/KVLightTasksManager.swift:432:64: warning: capture of 'element' with non-sendable type 'Element' in a '@Sendable' closure
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
433 |             case .miss:
434 |                 remoteKeys.append(key)
/Users/admin/builder/spi-builder-workspace/Sources/Monstask/KVLightTasksManager.swift:445:27: warning: capture of 'self' with non-sendable type 'KVLightTasksManager<K, Element>?' in a '@Sendable' closure
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
446 |                 self.semaphore.wait()
447 |                 defer { self.semaphore.signal() }
/Users/admin/builder/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
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
449 |                     self.cache.set(element: element, for: key)
450 |                 }
/Users/admin/builder/spi-builder-workspace/Sources/Monstask/KVLightTasksManager.swift:449:59: warning: capture of 'key' with non-sendable type 'K' in a '@Sendable' closure
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
450 |                 }
451 |                 self.consumeCallbacks(key: key, dispatchQueue: dispatchQueue, result: res)
/Users/admin/builder/spi-builder-workspace/Sources/Monstask/KVLightTasksManager.swift:445:27: warning: reference to captured var 'self' in concurrently-executing code
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
446 |                 self.semaphore.wait()
447 |                 defer { self.semaphore.signal() }
/Users/admin/builder/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
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
    |                                   `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
469 |         }
470 |         resultCallbacks.removeValue(forKey: key)
/Users/admin/builder/spi-builder-workspace/Sources/Monstask/KVLightTasksManager.swift:468:44: warning: capture of 'key' with non-sendable type 'K' in a '@Sendable' closure
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
469 |         }
470 |         resultCallbacks.removeValue(forKey: key)
/Users/admin/builder/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
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
469 |         }
470 |         resultCallbacks.removeValue(forKey: key)
/Users/admin/builder/spi-builder-workspace/Sources/Monstask/KVLightTasksManager.swift:550:23: warning: capture of 'self' with non-sendable type 'KVLightTasksManager<K, Element>?' in a '@Sendable' closure
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
551 |
552 |             _executeMonoprovide(key: key, provide: provide) { [weak self] key, res in
/Users/admin/builder/spi-builder-workspace/Sources/Monstask/KVLightTasksManager.swift:552:38: warning: capture of 'key' with non-sendable type 'K' in a '@Sendable' closure
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
553 |                 DispatchQueue.global().async { [weak self] in
554 |                     guard let self else { return }
/Users/admin/builder/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
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
    |                                                    `- 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 }
/Users/admin/builder/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
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
    |                         `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
560 |                         _startOneMonoprovideThread(provide: provide, callback: callback)
561 |                     case let .failure(error):
/Users/admin/builder/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):
/Users/admin/builder/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))
/Users/admin/builder/spi-builder-workspace/Sources/Monstask/KVLightTasksManager.swift:554:31: warning: capture of 'self' with non-sendable type 'KVLightTasksManager<K, Element>?' in a '@Sendable' closure
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
555 |                     semaphore.wait()
556 |                     defer { semaphore.signal() }
/Users/admin/builder/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
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
558 |                     case let .success(element):
559 |                         callback(key, .success(element))
/Users/admin/builder/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
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
    |                         `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
560 |                         _startOneMonoprovideThread(provide: provide, callback: callback)
561 |                     case let .failure(error):
/Users/admin/builder/spi-builder-workspace/Sources/Monstask/KVLightTasksManager.swift:559:34: warning: capture of 'key' with non-sendable type 'K' in a '@Sendable' closure
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
560 |                         _startOneMonoprovideThread(provide: provide, callback: callback)
561 |                     case let .failure(error):
/Users/admin/builder/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
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
    |                                                             `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
561 |                     case let .failure(error):
562 |                         callback(key, .failure(error))
/Users/admin/builder/spi-builder-workspace/Sources/Monstask/KVLightTasksManager.swift:592:23: warning: capture of 'self' with non-sendable type 'KVLightTasksManager<K, Element>?' in a '@Sendable' closure
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
593 |             _executeMultiprovide(keys: keys, provide: provide) { [weak self] res in
594 |                 DispatchQueue.global().async { [weak self] in
/Users/admin/builder/spi-builder-workspace/Sources/Monstask/KVLightTasksManager.swift:593:40: warning: capture of 'keys' with non-sendable type '[K]' in a '@Sendable' closure
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
594 |                 DispatchQueue.global().async { [weak self] in
595 |                     guard let self else { return }
/Users/admin/builder/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
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
    |                                                       `- 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 }
/Users/admin/builder/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
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
    |                                                                                                     `- 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 |                 }
/Users/admin/builder/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 |                 }
/Users/admin/builder/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 |                 }
/Users/admin/builder/spi-builder-workspace/Sources/Monstask/KVLightTasksManager.swift:595:31: warning: capture of 'self' with non-sendable type 'KVLightTasksManager<K, Element>?' in a '@Sendable' closure
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
596 |                     semaphore.wait()
597 |                     defer { semaphore.signal() }
/Users/admin/builder/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
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
    |                                                                                  `- 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 |                 }
/Users/admin/builder/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
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
    |                                                                                                     `- 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 |                 }
/Users/admin/builder/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
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
600 |                 }
601 |             }
/Users/admin/builder/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
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
600 |                 }
601 |             }
/Users/admin/builder/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 |             }
/Users/admin/builder/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
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
    |                                                                         `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
600 |                 }
601 |             }
/Users/admin/builder/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
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
600 |                 }
601 |             }
/Users/admin/builder/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
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
600 |                 }
601 |             }
/Users/admin/builder/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 |         }
/Users/admin/builder/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 {
/Users/admin/builder/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 {
/Users/admin/builder/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 |             })
/Users/admin/builder/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)
/Users/admin/builder/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 |         }
[7/16] Compiling Monstra CPUTimeStamp.swift
/Users/admin/builder/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.
/Users/admin/builder/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.
[8/16] Compiling Monstra MonoTask.swift
/Users/admin/builder/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
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
    |                     `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
178 |                 }
179 |             }
/Users/admin/builder/spi-builder-workspace/Sources/Monstask/MonoTask.swift:177:49: warning: capture of 'resultCache' with non-sendable type 'TaskResult' in a '@Sendable' closure
 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
178 |                 }
179 |             }
/Users/admin/builder/spi-builder-workspace/Sources/Monstask/MonoTask.swift:232:13: warning: capture of 'self' with non-sendable type 'MonoTask<TaskResult>?' in a '@Sendable' closure
 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
233 |                 guard let self else { return }
234 |                 semaphore.wait()
/Users/admin/builder/spi-builder-workspace/Sources/Monstask/MonoTask.swift:253:20: warning: capture of 'retryConfiguration' with non-sendable type 'RetryCount' in a '@Sendable' closure
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
254 |                     taskQueue.asyncAfter(deadline: .now() + retryConfiguration.timeInterval) {
255 |                         self._unsafe_execute(retry: retryConfiguration.next())
/Users/admin/builder/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 {
/Users/admin/builder/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())
/Users/admin/builder/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 {
/Users/admin/builder/spi-builder-workspace/Sources/Monstask/MonoTask.swift:255:25: warning: capture of 'self' with non-sendable type 'MonoTask<TaskResult>' in a '@Sendable' closure
 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
256 |                     }
257 |                     return
/Users/admin/builder/spi-builder-workspace/Sources/Monstask/MonoTask.swift:255:53: warning: capture of 'retryConfiguration' with non-sendable type 'RetryCount' in a '@Sendable' closure
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
256 |                     }
257 |                     return
/Users/admin/builder/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 {
/Users/admin/builder/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
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
    |                       `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
291 |             for callback in callbacksToNotify {
292 |                 callback(executionResult)
/Users/admin/builder/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
 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
293 |             }
294 |         }
/Users/admin/builder/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
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
    |                                     `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
636 |                         callback(.failure(Errors.executionCancelledDueToClearResult))
637 |                     }
/Users/admin/builder/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 |         }
/Users/admin/builder/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 |         }
/Users/admin/builder/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 |         }) {
[9/16] Compiling Monstra MemoryCache.swift
/Users/admin/builder/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
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
    |                     `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
178 |                 }
179 |             }
/Users/admin/builder/spi-builder-workspace/Sources/Monstask/MonoTask.swift:177:49: warning: capture of 'resultCache' with non-sendable type 'TaskResult' in a '@Sendable' closure
 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
178 |                 }
179 |             }
/Users/admin/builder/spi-builder-workspace/Sources/Monstask/MonoTask.swift:232:13: warning: capture of 'self' with non-sendable type 'MonoTask<TaskResult>?' in a '@Sendable' closure
 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
233 |                 guard let self else { return }
234 |                 semaphore.wait()
/Users/admin/builder/spi-builder-workspace/Sources/Monstask/MonoTask.swift:253:20: warning: capture of 'retryConfiguration' with non-sendable type 'RetryCount' in a '@Sendable' closure
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
254 |                     taskQueue.asyncAfter(deadline: .now() + retryConfiguration.timeInterval) {
255 |                         self._unsafe_execute(retry: retryConfiguration.next())
/Users/admin/builder/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 {
/Users/admin/builder/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())
/Users/admin/builder/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 {
/Users/admin/builder/spi-builder-workspace/Sources/Monstask/MonoTask.swift:255:25: warning: capture of 'self' with non-sendable type 'MonoTask<TaskResult>' in a '@Sendable' closure
 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
256 |                     }
257 |                     return
/Users/admin/builder/spi-builder-workspace/Sources/Monstask/MonoTask.swift:255:53: warning: capture of 'retryConfiguration' with non-sendable type 'RetryCount' in a '@Sendable' closure
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
256 |                     }
257 |                     return
/Users/admin/builder/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 {
/Users/admin/builder/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
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
    |                       `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
291 |             for callback in callbacksToNotify {
292 |                 callback(executionResult)
/Users/admin/builder/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
 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
293 |             }
294 |         }
/Users/admin/builder/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
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
    |                                     `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
636 |                         callback(.failure(Errors.executionCancelledDueToClearResult))
637 |                     }
/Users/admin/builder/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 |         }
/Users/admin/builder/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 |         }
/Users/admin/builder/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 |         }) {
[10/16] Compiling Monstra CacheStatistics.swift
/Users/admin/builder/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()
[11/16] Emitting module Monstra
/Users/admin/builder/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 |
/Users/admin/builder/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()
/Users/admin/builder/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.
/Users/admin/builder/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.
[12/16] Compiling Monstra HashQueue.swift
[13/16] Compiling Monstra DoublyLink.swift
[14/16] Compiling Monstra PriorityLRUQueue.swift
[15/16] Compiling Monstra TTLPriorityLRUQueue.swift
[16/16] Compiling Monstra RetryCount.swift
Build complete! (5.37s)
warning: 'spi-builder-workspace': found 1 file(s) which are unhandled; explicitly declare them as resources or exclude from the target
    /Users/admin/builder/spi-builder-workspace/Sources/Monstore/MemoryCache/README.md
Build complete.
{
  "dependencies" : [
  ],
  "manifest_display_name" : "Monstra",
  "name" : "Monstra",
  "path" : "/Users/admin/builder/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"
}
Done.