The Swift Package Index logo.Swift Package Index

Track the adoption of Swift 6 strict concurrency checks for data race safety. How many packages are Ready for Swift 6?

Build Information

Successful build of CombineEx, reference 1.2.0 (dacf23), with Swift 6.1 for macOS (SPM) on 24 Apr 2025 09:44:45 UTC.

Swift 6 data race errors: 1

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.61.0
Interrupt handler set up.
========================================
Checkout
========================================
Clone URL: https://github.com/codeeagle/combineex.git
Reference: 1.2.0
Initialized empty Git repository in /Users/admin/builder/spi-builder-workspace/.git/
From https://github.com/codeeagle/combineex
 * tag               1.2.0      -> FETCH_HEAD
HEAD is now at dacf235 docs: update readme
Cloned https://github.com/codeeagle/combineex.git
Revision (git rev-parse @):
dacf235a6f8681fcce8e897957bcbd2dcd4e9665
SUCCESS checkout https://github.com/codeeagle/combineex.git at 1.2.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": "combineex",
      "name": "CombineEx",
      "url": "https://github.com/codeeagle/combineex.git",
      "version": "unspecified",
      "path": "/Users/admin/builder/spi-builder-workspace/.resolve-product-dependencies/.build/checkouts/combineex",
      "dependencies": [
      ]
    }
  ]
}
Fetching https://github.com/codeeagle/combineex.git
[1/75] Fetching combineex
Fetched https://github.com/codeeagle/combineex.git from cache (0.69s)
Creating working copy for https://github.com/codeeagle/combineex.git
Working copy of https://github.com/codeeagle/combineex.git resolved at 1.2.0 (dacf235)
warning: '.resolve-product-dependencies': dependency 'combineex' 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/codeeagle/combineex.git
https://github.com/codeeagle/combineex.git
{
  "dependencies" : [
  ],
  "manifest_display_name" : "CombineEx",
  "name" : "CombineEx",
  "path" : "/Users/admin/builder/spi-builder-workspace",
  "platforms" : [
    {
      "name" : "macos",
      "version" : "10.15"
    },
    {
      "name" : "ios",
      "version" : "13.0"
    },
    {
      "name" : "tvos",
      "version" : "13.0"
    },
    {
      "name" : "watchos",
      "version" : "6.0"
    }
  ],
  "products" : [
    {
      "name" : "CombineEx",
      "targets" : [
        "CombineEx"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    }
  ],
  "targets" : [
    {
      "c99name" : "CombineExTests",
      "module_type" : "SwiftTarget",
      "name" : "CombineExTests",
      "path" : "Tests/CombineExTests",
      "sources" : [
        "CombineExTests.swift",
        "XCTestManifests.swift"
      ],
      "target_dependencies" : [
        "CombineEx"
      ],
      "type" : "test"
    },
    {
      "c99name" : "CombineEx",
      "module_type" : "SwiftTarget",
      "name" : "CombineEx",
      "path" : "Sources/CombineEx",
      "product_memberships" : [
        "CombineEx"
      ],
      "sources" : [
        "Combine+All.swift",
        "Combine+Any.swift",
        "Combine+Await.swift",
        "Combine+Race.swift",
        "CombineEx+Either.swift",
        "CombineEx+Publisher.swift",
        "CombineEx+Subscriber.swift",
        "File.swift"
      ],
      "type" : "library"
    }
  ],
  "tools_version" : "5.1"
}
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/11] Compiling CombineEx File.swift
/Users/admin/builder/spi-builder-workspace/Sources/CombineEx/File.swift:14:16: warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'TokenManager' may have shared mutable state; this is an error in the Swift 6 language mode
11 | }
12 |
13 | final class TokenManager {
   |             `- note: class 'TokenManager' does not conform to the 'Sendable' protocol
14 |     static let shared = TokenManager()
   |                |- warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'TokenManager' may have shared mutable state; this is an error in the Swift 6 language mode
   |                |- note: add '@MainActor' to make static property 'shared' part of global actor 'MainActor'
   |                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
15 |     private let _queue: DispatchQueue = .init(label: "TokenManager.property", attributes: .concurrent)
16 |     private lazy var _tokenMap: [UUID : AnyCancelableBox] = [:]
/Users/admin/builder/spi-builder-workspace/Sources/CombineEx/File.swift:19:47: warning: capture of 'self' with non-sendable type 'TokenManager' in a '@Sendable' closure
11 | }
12 |
13 | final class TokenManager {
   |             `- note: class 'TokenManager' does not conform to the 'Sendable' protocol
14 |     static let shared = TokenManager()
15 |     private let _queue: DispatchQueue = .init(label: "TokenManager.property", attributes: .concurrent)
   :
17 |     private var tokenMap: [UUID : AnyCancelableBox] {
18 |         get { return _queue.sync { _tokenMap } }
19 |         set { _queue.async(flags: .barrier) { self._tokenMap = newValue } }
   |                                               `- warning: capture of 'self' with non-sendable type 'TokenManager' in a '@Sendable' closure
20 |     }
21 |
/Users/admin/builder/spi-builder-workspace/Sources/CombineEx/File.swift:19:64: warning: capture of 'newValue' with non-sendable type '[UUID : AnyCancelableBox]' in a '@Sendable' closure
 2 | import Foundation
 3 |
 4 | struct AnyCancelableBox {
   |        `- note: consider making struct 'AnyCancelableBox' conform to the 'Sendable' protocol
 5 |     let uuid: UUID
 6 |     let tokens: [AnyCancellable]
   :
17 |     private var tokenMap: [UUID : AnyCancelableBox] {
18 |         get { return _queue.sync { _tokenMap } }
19 |         set { _queue.async(flags: .barrier) { self._tokenMap = newValue } }
   |                                                                `- warning: capture of 'newValue' with non-sendable type '[UUID : AnyCancelableBox]' in a '@Sendable' closure
20 |     }
21 |
[4/11] Compiling CombineEx CombineEx+Subscriber.swift
[5/11] Compiling CombineEx Combine+Await.swift
/Users/admin/builder/spi-builder-workspace/Sources/CombineEx/Combine+Await.swift:12:69: warning: capture of 'result' with non-sendable type 'Result<Self.Output, Self.Failure>?' in a '@Sendable' closure
10 |         let token = sink(receiveCompletion: { info in
11 |             switch info {
12 |             case let .failure(e): proQueue.async(flags: .barrier) { result = .failure(e) }
   |                                                                     `- warning: capture of 'result' with non-sendable type 'Result<Self.Output, Self.Failure>?' in a '@Sendable' closure
13 |             case .finished: break
14 |             }
/Users/admin/builder/spi-builder-workspace/Sources/CombineEx/Combine+Await.swift:12:69: warning: mutation of captured var 'result' in concurrently-executing code
10 |         let token = sink(receiveCompletion: { info in
11 |             switch info {
12 |             case let .failure(e): proQueue.async(flags: .barrier) { result = .failure(e) }
   |                                                                     `- warning: mutation of captured var 'result' in concurrently-executing code
13 |             case .finished: break
14 |             }
/Users/admin/builder/spi-builder-workspace/Sources/CombineEx/Combine+Await.swift:17:47: warning: capture of 'result' with non-sendable type 'Result<Self.Output, Self.Failure>?' in a '@Sendable' closure
15 |             semaphore.signal()
16 |         }, receiveValue: { (value) in
17 |             proQueue.async(flags: .barrier) { result = .success(value) }
   |                                               `- warning: capture of 'result' with non-sendable type 'Result<Self.Output, Self.Failure>?' in a '@Sendable' closure
18 |         })
19 |         let id = UUID()
/Users/admin/builder/spi-builder-workspace/Sources/CombineEx/Combine+Await.swift:17:65: warning: capture of 'value' with non-sendable type 'Self.Output' in a '@Sendable' closure
15 |             semaphore.signal()
16 |         }, receiveValue: { (value) in
17 |             proQueue.async(flags: .barrier) { result = .success(value) }
   |                                                                 `- warning: capture of 'value' with non-sendable type 'Self.Output' in a '@Sendable' closure
18 |         })
19 |         let id = UUID()
/Users/admin/builder/spi-builder-workspace/Sources/CombineEx/Combine+Await.swift:17:47: warning: mutation of captured var 'result' in concurrently-executing code
15 |             semaphore.signal()
16 |         }, receiveValue: { (value) in
17 |             proQueue.async(flags: .barrier) { result = .success(value) }
   |                                               `- warning: mutation of captured var 'result' in concurrently-executing code
18 |         })
19 |         let id = UUID()
[6/11] Compiling CombineEx CombineEx+Publisher.swift
[7/11] Compiling CombineEx CombineEx+Either.swift
[8/11] Compiling CombineEx Combine+Any.swift
/Users/admin/builder/spi-builder-workspace/Sources/CombineEx/Combine+Any.swift:17:51: warning: capture of 'results' with non-sendable type '[Result<Value, Failure>]' in a '@Sendable' closure
  6 | }
  7 |
  8 | public func any<Value, Failure>(_ promises: [AnyPublisher<Value, Failure>], on queue: DispatchQueue = .main) -> AnyPublisher<[Result<Value, Failure>], Never> where Failure: Error {
    |                 `- note: consider making generic parameter 'Value' conform to the 'Sendable' protocol
  9 |     return .passThrough { (completion) in
 10 |         let group = DispatchGroup()
    :
 15 |         for promise in promises {
 16 |             let token = promise.sink(in: group, with: { (result) in
 17 |                 proQueue.async(flags: .barrier) { results.append(result) }
    |                                                   `- warning: capture of 'results' with non-sendable type '[Result<Value, Failure>]' in a '@Sendable' closure
 18 |             })
 19 |             tokens.append(token)
/Users/admin/builder/spi-builder-workspace/Sources/CombineEx/Combine+Any.swift:17:66: warning: capture of 'result' with non-sendable type 'Result<Value, Failure>' in a '@Sendable' closure
  6 | }
  7 |
  8 | public func any<Value, Failure>(_ promises: [AnyPublisher<Value, Failure>], on queue: DispatchQueue = .main) -> AnyPublisher<[Result<Value, Failure>], Never> where Failure: Error {
    |                 `- note: consider making generic parameter 'Value' conform to the 'Sendable' protocol
  9 |     return .passThrough { (completion) in
 10 |         let group = DispatchGroup()
    :
 15 |         for promise in promises {
 16 |             let token = promise.sink(in: group, with: { (result) in
 17 |                 proQueue.async(flags: .barrier) { results.append(result) }
    |                                                                  `- warning: capture of 'result' with non-sendable type 'Result<Value, Failure>' in a '@Sendable' closure
 18 |             })
 19 |             tokens.append(token)
/Users/admin/builder/spi-builder-workspace/Sources/CombineEx/Combine+Any.swift:17:51: warning: mutation of captured var 'results' in concurrently-executing code
 15 |         for promise in promises {
 16 |             let token = promise.sink(in: group, with: { (result) in
 17 |                 proQueue.async(flags: .barrier) { results.append(result) }
    |                                                   `- warning: mutation of captured var 'results' in concurrently-executing code
 18 |             })
 19 |             tokens.append(token)
/Users/admin/builder/spi-builder-workspace/Sources/CombineEx/Combine+Any.swift:40:47: warning: capture of 'resultA' with non-sendable type 'Result<A, FA>?' in a '@Sendable' closure
 29 | }
 30 |
 31 | public func any<A, B, FA, FB>(_ a: AnyPublisher<A, FA>, _ b: AnyPublisher<B, FB>, on queue: DispatchQueue = .main) -> AnyPublisher<(Result<A, FA>, Result<B, FB>), Never> where FA: Error, FB: Error {
    |                 `- note: consider making generic parameter 'A' conform to the 'Sendable' protocol
 32 |
 33 |     return .passThrough { (completion) in
    :
 38 |
 39 |         let tokenA = a.sink(in: group, with: { (result) in
 40 |             proQueue.async(flags: .barrier) { resultA = result }
    |                                               `- warning: capture of 'resultA' with non-sendable type 'Result<A, FA>?' in a '@Sendable' closure
 41 |         })
 42 |         let tokenB = b.sink(in: group, with: { (result) in
/Users/admin/builder/spi-builder-workspace/Sources/CombineEx/Combine+Any.swift:40:57: warning: capture of 'result' with non-sendable type 'Result<A, FA>' in a '@Sendable' closure
 29 | }
 30 |
 31 | public func any<A, B, FA, FB>(_ a: AnyPublisher<A, FA>, _ b: AnyPublisher<B, FB>, on queue: DispatchQueue = .main) -> AnyPublisher<(Result<A, FA>, Result<B, FB>), Never> where FA: Error, FB: Error {
    |                 `- note: consider making generic parameter 'A' conform to the 'Sendable' protocol
 32 |
 33 |     return .passThrough { (completion) in
    :
 38 |
 39 |         let tokenA = a.sink(in: group, with: { (result) in
 40 |             proQueue.async(flags: .barrier) { resultA = result }
    |                                                         `- warning: capture of 'result' with non-sendable type 'Result<A, FA>' in a '@Sendable' closure
 41 |         })
 42 |         let tokenB = b.sink(in: group, with: { (result) in
/Users/admin/builder/spi-builder-workspace/Sources/CombineEx/Combine+Any.swift:40:47: warning: mutation of captured var 'resultA' in concurrently-executing code
 38 |
 39 |         let tokenA = a.sink(in: group, with: { (result) in
 40 |             proQueue.async(flags: .barrier) { resultA = result }
    |                                               `- warning: mutation of captured var 'resultA' in concurrently-executing code
 41 |         })
 42 |         let tokenB = b.sink(in: group, with: { (result) in
/Users/admin/builder/spi-builder-workspace/Sources/CombineEx/Combine+Any.swift:43:47: warning: capture of 'resultB' with non-sendable type 'Result<B, FB>?' in a '@Sendable' closure
 29 | }
 30 |
 31 | public func any<A, B, FA, FB>(_ a: AnyPublisher<A, FA>, _ b: AnyPublisher<B, FB>, on queue: DispatchQueue = .main) -> AnyPublisher<(Result<A, FA>, Result<B, FB>), Never> where FA: Error, FB: Error {
    |                    `- note: consider making generic parameter 'B' conform to the 'Sendable' protocol
 32 |
 33 |     return .passThrough { (completion) in
    :
 41 |         })
 42 |         let tokenB = b.sink(in: group, with: { (result) in
 43 |             proQueue.async(flags: .barrier) { resultB = result }
    |                                               `- warning: capture of 'resultB' with non-sendable type 'Result<B, FB>?' in a '@Sendable' closure
 44 |         })
 45 |         let id: UUID = .init()
/Users/admin/builder/spi-builder-workspace/Sources/CombineEx/Combine+Any.swift:43:57: warning: capture of 'result' with non-sendable type 'Result<B, FB>' in a '@Sendable' closure
 29 | }
 30 |
 31 | public func any<A, B, FA, FB>(_ a: AnyPublisher<A, FA>, _ b: AnyPublisher<B, FB>, on queue: DispatchQueue = .main) -> AnyPublisher<(Result<A, FA>, Result<B, FB>), Never> where FA: Error, FB: Error {
    |                    `- note: consider making generic parameter 'B' conform to the 'Sendable' protocol
 32 |
 33 |     return .passThrough { (completion) in
    :
 41 |         })
 42 |         let tokenB = b.sink(in: group, with: { (result) in
 43 |             proQueue.async(flags: .barrier) { resultB = result }
    |                                                         `- warning: capture of 'result' with non-sendable type 'Result<B, FB>' in a '@Sendable' closure
 44 |         })
 45 |         let id: UUID = .init()
/Users/admin/builder/spi-builder-workspace/Sources/CombineEx/Combine+Any.swift:43:47: warning: mutation of captured var 'resultB' in concurrently-executing code
 41 |         })
 42 |         let tokenB = b.sink(in: group, with: { (result) in
 43 |             proQueue.async(flags: .barrier) { resultB = result }
    |                                               `- warning: mutation of captured var 'resultB' in concurrently-executing code
 44 |         })
 45 |         let id: UUID = .init()
/Users/admin/builder/spi-builder-workspace/Sources/CombineEx/Combine+Any.swift:67:47: warning: capture of 'resultA' with non-sendable type 'Result<A, FA>?' in a '@Sendable' closure
 56 | }
 57 |
 58 | public func any<A, B, C, FA, FB, FC>(_ a: AnyPublisher<A, FA>, _ b: AnyPublisher<B, FB>, _ c: AnyPublisher<C, FC>, on queue: DispatchQueue = .main) -> AnyPublisher<(Result<A, FA>, Result<B, FB>, Result<C, FC>), Never> where FA: Error, FB: Error, FC: Error {
    |                 `- note: consider making generic parameter 'A' conform to the 'Sendable' protocol
 59 |     return .passThrough { (completion) in
 60 |         let group = DispatchGroup()
    :
 65 |
 66 |         let tokenA = a.sink(in: group, with: { (result) in
 67 |             proQueue.async(flags: .barrier) { resultA = result }
    |                                               `- warning: capture of 'resultA' with non-sendable type 'Result<A, FA>?' in a '@Sendable' closure
 68 |         })
 69 |         let tokenB = b.sink(in: group, with: { (result) in
/Users/admin/builder/spi-builder-workspace/Sources/CombineEx/Combine+Any.swift:67:57: warning: capture of 'result' with non-sendable type 'Result<A, FA>' in a '@Sendable' closure
 56 | }
 57 |
 58 | public func any<A, B, C, FA, FB, FC>(_ a: AnyPublisher<A, FA>, _ b: AnyPublisher<B, FB>, _ c: AnyPublisher<C, FC>, on queue: DispatchQueue = .main) -> AnyPublisher<(Result<A, FA>, Result<B, FB>, Result<C, FC>), Never> where FA: Error, FB: Error, FC: Error {
    |                 `- note: consider making generic parameter 'A' conform to the 'Sendable' protocol
 59 |     return .passThrough { (completion) in
 60 |         let group = DispatchGroup()
    :
 65 |
 66 |         let tokenA = a.sink(in: group, with: { (result) in
 67 |             proQueue.async(flags: .barrier) { resultA = result }
    |                                                         `- warning: capture of 'result' with non-sendable type 'Result<A, FA>' in a '@Sendable' closure
 68 |         })
 69 |         let tokenB = b.sink(in: group, with: { (result) in
/Users/admin/builder/spi-builder-workspace/Sources/CombineEx/Combine+Any.swift:67:47: warning: mutation of captured var 'resultA' in concurrently-executing code
 65 |
 66 |         let tokenA = a.sink(in: group, with: { (result) in
 67 |             proQueue.async(flags: .barrier) { resultA = result }
    |                                               `- warning: mutation of captured var 'resultA' in concurrently-executing code
 68 |         })
 69 |         let tokenB = b.sink(in: group, with: { (result) in
/Users/admin/builder/spi-builder-workspace/Sources/CombineEx/Combine+Any.swift:70:47: warning: capture of 'resultB' with non-sendable type 'Result<B, FB>?' in a '@Sendable' closure
 56 | }
 57 |
 58 | public func any<A, B, C, FA, FB, FC>(_ a: AnyPublisher<A, FA>, _ b: AnyPublisher<B, FB>, _ c: AnyPublisher<C, FC>, on queue: DispatchQueue = .main) -> AnyPublisher<(Result<A, FA>, Result<B, FB>, Result<C, FC>), Never> where FA: Error, FB: Error, FC: Error {
    |                    `- note: consider making generic parameter 'B' conform to the 'Sendable' protocol
 59 |     return .passThrough { (completion) in
 60 |         let group = DispatchGroup()
    :
 68 |         })
 69 |         let tokenB = b.sink(in: group, with: { (result) in
 70 |             proQueue.async(flags: .barrier) { resultB = result }
    |                                               `- warning: capture of 'resultB' with non-sendable type 'Result<B, FB>?' in a '@Sendable' closure
 71 |         })
 72 |         let tokenC = c.sink(in: group, with: { (result) in
/Users/admin/builder/spi-builder-workspace/Sources/CombineEx/Combine+Any.swift:70:57: warning: capture of 'result' with non-sendable type 'Result<B, FB>' in a '@Sendable' closure
 56 | }
 57 |
 58 | public func any<A, B, C, FA, FB, FC>(_ a: AnyPublisher<A, FA>, _ b: AnyPublisher<B, FB>, _ c: AnyPublisher<C, FC>, on queue: DispatchQueue = .main) -> AnyPublisher<(Result<A, FA>, Result<B, FB>, Result<C, FC>), Never> where FA: Error, FB: Error, FC: Error {
    |                    `- note: consider making generic parameter 'B' conform to the 'Sendable' protocol
 59 |     return .passThrough { (completion) in
 60 |         let group = DispatchGroup()
    :
 68 |         })
 69 |         let tokenB = b.sink(in: group, with: { (result) in
 70 |             proQueue.async(flags: .barrier) { resultB = result }
    |                                                         `- warning: capture of 'result' with non-sendable type 'Result<B, FB>' in a '@Sendable' closure
 71 |         })
 72 |         let tokenC = c.sink(in: group, with: { (result) in
/Users/admin/builder/spi-builder-workspace/Sources/CombineEx/Combine+Any.swift:70:47: warning: mutation of captured var 'resultB' in concurrently-executing code
 68 |         })
 69 |         let tokenB = b.sink(in: group, with: { (result) in
 70 |             proQueue.async(flags: .barrier) { resultB = result }
    |                                               `- warning: mutation of captured var 'resultB' in concurrently-executing code
 71 |         })
 72 |         let tokenC = c.sink(in: group, with: { (result) in
/Users/admin/builder/spi-builder-workspace/Sources/CombineEx/Combine+Any.swift:73:47: warning: capture of 'resultC' with non-sendable type 'Result<C, FC>?' in a '@Sendable' closure
 56 | }
 57 |
 58 | public func any<A, B, C, FA, FB, FC>(_ a: AnyPublisher<A, FA>, _ b: AnyPublisher<B, FB>, _ c: AnyPublisher<C, FC>, on queue: DispatchQueue = .main) -> AnyPublisher<(Result<A, FA>, Result<B, FB>, Result<C, FC>), Never> where FA: Error, FB: Error, FC: Error {
    |                       `- note: consider making generic parameter 'C' conform to the 'Sendable' protocol
 59 |     return .passThrough { (completion) in
 60 |         let group = DispatchGroup()
    :
 71 |         })
 72 |         let tokenC = c.sink(in: group, with: { (result) in
 73 |             proQueue.async(flags: .barrier) { resultC = result }
    |                                               `- warning: capture of 'resultC' with non-sendable type 'Result<C, FC>?' in a '@Sendable' closure
 74 |         })
 75 |
/Users/admin/builder/spi-builder-workspace/Sources/CombineEx/Combine+Any.swift:73:57: warning: capture of 'result' with non-sendable type 'Result<C, FC>' in a '@Sendable' closure
 56 | }
 57 |
 58 | public func any<A, B, C, FA, FB, FC>(_ a: AnyPublisher<A, FA>, _ b: AnyPublisher<B, FB>, _ c: AnyPublisher<C, FC>, on queue: DispatchQueue = .main) -> AnyPublisher<(Result<A, FA>, Result<B, FB>, Result<C, FC>), Never> where FA: Error, FB: Error, FC: Error {
    |                       `- note: consider making generic parameter 'C' conform to the 'Sendable' protocol
 59 |     return .passThrough { (completion) in
 60 |         let group = DispatchGroup()
    :
 71 |         })
 72 |         let tokenC = c.sink(in: group, with: { (result) in
 73 |             proQueue.async(flags: .barrier) { resultC = result }
    |                                                         `- warning: capture of 'result' with non-sendable type 'Result<C, FC>' in a '@Sendable' closure
 74 |         })
 75 |
/Users/admin/builder/spi-builder-workspace/Sources/CombineEx/Combine+Any.swift:73:47: warning: mutation of captured var 'resultC' in concurrently-executing code
 71 |         })
 72 |         let tokenC = c.sink(in: group, with: { (result) in
 73 |             proQueue.async(flags: .barrier) { resultC = result }
    |                                               `- warning: mutation of captured var 'resultC' in concurrently-executing code
 74 |         })
 75 |
/Users/admin/builder/spi-builder-workspace/Sources/CombineEx/Combine+Any.swift:100:47: warning: capture of 'resultA' with non-sendable type 'Result<A, FA>?' in a '@Sendable' closure
 88 | }
 89 |
 90 | public func any<A, B, C, D, FA, FB, FC, FD>(_ a: AnyPublisher<A, FA>, _ b: AnyPublisher<B, FB>, _ c: AnyPublisher<C, FC>, _ d: AnyPublisher<D, FD>, on queue: DispatchQueue = .main) -> AnyPublisher<(Result<A, FA>, Result<B, FB>, Result<C, FC>, Result<D, FD>), Never> where FA: Error, FB: Error, FC: Error, FD: Error {
    |                 `- note: consider making generic parameter 'A' conform to the 'Sendable' protocol
 91 |     return .passThrough { (completion) in
 92 |         let group = DispatchGroup()
    :
 98 |
 99 |         let tokenA = a.sink(in: group, with: { (result) in
100 |             proQueue.async(flags: .barrier) { resultA = result }
    |                                               `- warning: capture of 'resultA' with non-sendable type 'Result<A, FA>?' in a '@Sendable' closure
101 |         })
102 |         let tokenB = b.sink(in: group, with: { (result) in
/Users/admin/builder/spi-builder-workspace/Sources/CombineEx/Combine+Any.swift:100:57: warning: capture of 'result' with non-sendable type 'Result<A, FA>' in a '@Sendable' closure
 88 | }
 89 |
 90 | public func any<A, B, C, D, FA, FB, FC, FD>(_ a: AnyPublisher<A, FA>, _ b: AnyPublisher<B, FB>, _ c: AnyPublisher<C, FC>, _ d: AnyPublisher<D, FD>, on queue: DispatchQueue = .main) -> AnyPublisher<(Result<A, FA>, Result<B, FB>, Result<C, FC>, Result<D, FD>), Never> where FA: Error, FB: Error, FC: Error, FD: Error {
    |                 `- note: consider making generic parameter 'A' conform to the 'Sendable' protocol
 91 |     return .passThrough { (completion) in
 92 |         let group = DispatchGroup()
    :
 98 |
 99 |         let tokenA = a.sink(in: group, with: { (result) in
100 |             proQueue.async(flags: .barrier) { resultA = result }
    |                                                         `- warning: capture of 'result' with non-sendable type 'Result<A, FA>' in a '@Sendable' closure
101 |         })
102 |         let tokenB = b.sink(in: group, with: { (result) in
/Users/admin/builder/spi-builder-workspace/Sources/CombineEx/Combine+Any.swift:100:47: warning: mutation of captured var 'resultA' in concurrently-executing code
 98 |
 99 |         let tokenA = a.sink(in: group, with: { (result) in
100 |             proQueue.async(flags: .barrier) { resultA = result }
    |                                               `- warning: mutation of captured var 'resultA' in concurrently-executing code
101 |         })
102 |         let tokenB = b.sink(in: group, with: { (result) in
/Users/admin/builder/spi-builder-workspace/Sources/CombineEx/Combine+Any.swift:103:47: warning: capture of 'resultB' with non-sendable type 'Result<B, FB>?' in a '@Sendable' closure
 88 | }
 89 |
 90 | public func any<A, B, C, D, FA, FB, FC, FD>(_ a: AnyPublisher<A, FA>, _ b: AnyPublisher<B, FB>, _ c: AnyPublisher<C, FC>, _ d: AnyPublisher<D, FD>, on queue: DispatchQueue = .main) -> AnyPublisher<(Result<A, FA>, Result<B, FB>, Result<C, FC>, Result<D, FD>), Never> where FA: Error, FB: Error, FC: Error, FD: Error {
    |                    `- note: consider making generic parameter 'B' conform to the 'Sendable' protocol
 91 |     return .passThrough { (completion) in
 92 |         let group = DispatchGroup()
    :
101 |         })
102 |         let tokenB = b.sink(in: group, with: { (result) in
103 |             proQueue.async(flags: .barrier) { resultB = result }
    |                                               `- warning: capture of 'resultB' with non-sendable type 'Result<B, FB>?' in a '@Sendable' closure
104 |         })
105 |         let tokenC = c.sink(in: group, with: { (result) in
/Users/admin/builder/spi-builder-workspace/Sources/CombineEx/Combine+Any.swift:103:57: warning: capture of 'result' with non-sendable type 'Result<B, FB>' in a '@Sendable' closure
 88 | }
 89 |
 90 | public func any<A, B, C, D, FA, FB, FC, FD>(_ a: AnyPublisher<A, FA>, _ b: AnyPublisher<B, FB>, _ c: AnyPublisher<C, FC>, _ d: AnyPublisher<D, FD>, on queue: DispatchQueue = .main) -> AnyPublisher<(Result<A, FA>, Result<B, FB>, Result<C, FC>, Result<D, FD>), Never> where FA: Error, FB: Error, FC: Error, FD: Error {
    |                    `- note: consider making generic parameter 'B' conform to the 'Sendable' protocol
 91 |     return .passThrough { (completion) in
 92 |         let group = DispatchGroup()
    :
101 |         })
102 |         let tokenB = b.sink(in: group, with: { (result) in
103 |             proQueue.async(flags: .barrier) { resultB = result }
    |                                                         `- warning: capture of 'result' with non-sendable type 'Result<B, FB>' in a '@Sendable' closure
104 |         })
105 |         let tokenC = c.sink(in: group, with: { (result) in
/Users/admin/builder/spi-builder-workspace/Sources/CombineEx/Combine+Any.swift:103:47: warning: mutation of captured var 'resultB' in concurrently-executing code
101 |         })
102 |         let tokenB = b.sink(in: group, with: { (result) in
103 |             proQueue.async(flags: .barrier) { resultB = result }
    |                                               `- warning: mutation of captured var 'resultB' in concurrently-executing code
104 |         })
105 |         let tokenC = c.sink(in: group, with: { (result) in
/Users/admin/builder/spi-builder-workspace/Sources/CombineEx/Combine+Any.swift:106:47: warning: capture of 'resultC' with non-sendable type 'Result<C, FC>?' in a '@Sendable' closure
 88 | }
 89 |
 90 | public func any<A, B, C, D, FA, FB, FC, FD>(_ a: AnyPublisher<A, FA>, _ b: AnyPublisher<B, FB>, _ c: AnyPublisher<C, FC>, _ d: AnyPublisher<D, FD>, on queue: DispatchQueue = .main) -> AnyPublisher<(Result<A, FA>, Result<B, FB>, Result<C, FC>, Result<D, FD>), Never> where FA: Error, FB: Error, FC: Error, FD: Error {
    |                       `- note: consider making generic parameter 'C' conform to the 'Sendable' protocol
 91 |     return .passThrough { (completion) in
 92 |         let group = DispatchGroup()
    :
104 |         })
105 |         let tokenC = c.sink(in: group, with: { (result) in
106 |             proQueue.async(flags: .barrier) { resultC = result }
    |                                               `- warning: capture of 'resultC' with non-sendable type 'Result<C, FC>?' in a '@Sendable' closure
107 |         })
108 |         let tokenD = d.sink(in: group, with: { (result) in
/Users/admin/builder/spi-builder-workspace/Sources/CombineEx/Combine+Any.swift:106:57: warning: capture of 'result' with non-sendable type 'Result<C, FC>' in a '@Sendable' closure
 88 | }
 89 |
 90 | public func any<A, B, C, D, FA, FB, FC, FD>(_ a: AnyPublisher<A, FA>, _ b: AnyPublisher<B, FB>, _ c: AnyPublisher<C, FC>, _ d: AnyPublisher<D, FD>, on queue: DispatchQueue = .main) -> AnyPublisher<(Result<A, FA>, Result<B, FB>, Result<C, FC>, Result<D, FD>), Never> where FA: Error, FB: Error, FC: Error, FD: Error {
    |                       `- note: consider making generic parameter 'C' conform to the 'Sendable' protocol
 91 |     return .passThrough { (completion) in
 92 |         let group = DispatchGroup()
    :
104 |         })
105 |         let tokenC = c.sink(in: group, with: { (result) in
106 |             proQueue.async(flags: .barrier) { resultC = result }
    |                                                         `- warning: capture of 'result' with non-sendable type 'Result<C, FC>' in a '@Sendable' closure
107 |         })
108 |         let tokenD = d.sink(in: group, with: { (result) in
/Users/admin/builder/spi-builder-workspace/Sources/CombineEx/Combine+Any.swift:106:47: warning: mutation of captured var 'resultC' in concurrently-executing code
104 |         })
105 |         let tokenC = c.sink(in: group, with: { (result) in
106 |             proQueue.async(flags: .barrier) { resultC = result }
    |                                               `- warning: mutation of captured var 'resultC' in concurrently-executing code
107 |         })
108 |         let tokenD = d.sink(in: group, with: { (result) in
/Users/admin/builder/spi-builder-workspace/Sources/CombineEx/Combine+Any.swift:109:47: warning: capture of 'resultD' with non-sendable type 'Result<D, FD>?' in a '@Sendable' closure
 88 | }
 89 |
 90 | public func any<A, B, C, D, FA, FB, FC, FD>(_ a: AnyPublisher<A, FA>, _ b: AnyPublisher<B, FB>, _ c: AnyPublisher<C, FC>, _ d: AnyPublisher<D, FD>, on queue: DispatchQueue = .main) -> AnyPublisher<(Result<A, FA>, Result<B, FB>, Result<C, FC>, Result<D, FD>), Never> where FA: Error, FB: Error, FC: Error, FD: Error {
    |                          `- note: consider making generic parameter 'D' conform to the 'Sendable' protocol
 91 |     return .passThrough { (completion) in
 92 |         let group = DispatchGroup()
    :
107 |         })
108 |         let tokenD = d.sink(in: group, with: { (result) in
109 |             proQueue.async(flags: .barrier) { resultD = result }
    |                                               `- warning: capture of 'resultD' with non-sendable type 'Result<D, FD>?' in a '@Sendable' closure
110 |         })
111 |
/Users/admin/builder/spi-builder-workspace/Sources/CombineEx/Combine+Any.swift:109:57: warning: capture of 'result' with non-sendable type 'Result<D, FD>' in a '@Sendable' closure
 88 | }
 89 |
 90 | public func any<A, B, C, D, FA, FB, FC, FD>(_ a: AnyPublisher<A, FA>, _ b: AnyPublisher<B, FB>, _ c: AnyPublisher<C, FC>, _ d: AnyPublisher<D, FD>, on queue: DispatchQueue = .main) -> AnyPublisher<(Result<A, FA>, Result<B, FB>, Result<C, FC>, Result<D, FD>), Never> where FA: Error, FB: Error, FC: Error, FD: Error {
    |                          `- note: consider making generic parameter 'D' conform to the 'Sendable' protocol
 91 |     return .passThrough { (completion) in
 92 |         let group = DispatchGroup()
    :
107 |         })
108 |         let tokenD = d.sink(in: group, with: { (result) in
109 |             proQueue.async(flags: .barrier) { resultD = result }
    |                                                         `- warning: capture of 'result' with non-sendable type 'Result<D, FD>' in a '@Sendable' closure
110 |         })
111 |
/Users/admin/builder/spi-builder-workspace/Sources/CombineEx/Combine+Any.swift:109:47: warning: mutation of captured var 'resultD' in concurrently-executing code
107 |         })
108 |         let tokenD = d.sink(in: group, with: { (result) in
109 |             proQueue.async(flags: .barrier) { resultD = result }
    |                                               `- warning: mutation of captured var 'resultD' in concurrently-executing code
110 |         })
111 |
[9/11] Compiling CombineEx Combine+All.swift
/Users/admin/builder/spi-builder-workspace/Sources/CombineEx/Combine+All.swift:26:25: warning: capture of 'values' with non-sendable type '[Int : Value]' in a '@Sendable' closure
  6 | }
  7 |
  8 | public func all<Value, Failure>(_ promises: [AnyPublisher<Value, Failure>], on queue: DispatchQueue = .main) -> AnyPublisher<[Value], Failure> where Failure: Error {
    |                 `- note: consider making generic parameter 'Value' conform to the 'Sendable' protocol
  9 |     .passThrough { (subject) in
 10 |         let group = DispatchGroup()
    :
 24 |                 case let .success(v):
 25 |                     proQueue.async(flags: .barrier) {
 26 |                         values[index] = v
    |                         `- warning: capture of 'values' with non-sendable type '[Int : Value]' in a '@Sendable' closure
 27 |                     }
 28 |
/Users/admin/builder/spi-builder-workspace/Sources/CombineEx/Combine+All.swift:26:41: warning: capture of 'v' with non-sendable type 'Value' in a '@Sendable' closure
  6 | }
  7 |
  8 | public func all<Value, Failure>(_ promises: [AnyPublisher<Value, Failure>], on queue: DispatchQueue = .main) -> AnyPublisher<[Value], Failure> where Failure: Error {
    |                 `- note: consider making generic parameter 'Value' conform to the 'Sendable' protocol
  9 |     .passThrough { (subject) in
 10 |         let group = DispatchGroup()
    :
 24 |                 case let .success(v):
 25 |                     proQueue.async(flags: .barrier) {
 26 |                         values[index] = v
    |                                         `- warning: capture of 'v' with non-sendable type 'Value' in a '@Sendable' closure
 27 |                     }
 28 |
/Users/admin/builder/spi-builder-workspace/Sources/CombineEx/Combine+All.swift:26:25: warning: mutation of captured var 'values' in concurrently-executing code
 24 |                 case let .success(v):
 25 |                     proQueue.async(flags: .barrier) {
 26 |                         values[index] = v
    |                         `- warning: mutation of captured var 'values' in concurrently-executing code
 27 |                     }
 28 |
/Users/admin/builder/spi-builder-workspace/Sources/CombineEx/Combine+All.swift:30:55: warning: mutation of captured var 'error' in concurrently-executing code
 28 |
 29 |                 case let .failure(e):
 30 |                     proQueue.async(flags: .barrier) { error = e }
    |                                                       `- warning: mutation of captured var 'error' in concurrently-executing code
 31 |                     subject.send(completion: .failure(e))
 32 |                 }
/Users/admin/builder/spi-builder-workspace/Sources/CombineEx/Combine+All.swift:65:51: warning: capture of 'resultA' with non-sendable type 'A?' in a '@Sendable' closure
 50 | }
 51 |
 52 | public func all<A, B, FA, FB>(_ a: AnyPublisher<A, FA>, _ b: AnyPublisher<B, FB>, on queue: DispatchQueue = .main) -> AnyPublisher<(A, B), EitherBio<FA, FB>> where FA: Error, FB: Error {
    |                 `- note: consider making generic parameter 'A' conform to the 'Sendable' protocol
 53 |     .passThrough { (completion) in
 54 |         let group = DispatchGroup()
    :
 63 |             switch result {
 64 |             case let .success(v):
 65 |                 proQueue.async(flags: .barrier) { resultA = v }
    |                                                   `- warning: capture of 'resultA' with non-sendable type 'A?' in a '@Sendable' closure
 66 |
 67 |             case let .failure(e):
/Users/admin/builder/spi-builder-workspace/Sources/CombineEx/Combine+All.swift:65:61: warning: capture of 'v' with non-sendable type 'A' in a '@Sendable' closure
 50 | }
 51 |
 52 | public func all<A, B, FA, FB>(_ a: AnyPublisher<A, FA>, _ b: AnyPublisher<B, FB>, on queue: DispatchQueue = .main) -> AnyPublisher<(A, B), EitherBio<FA, FB>> where FA: Error, FB: Error {
    |                 `- note: consider making generic parameter 'A' conform to the 'Sendable' protocol
 53 |     .passThrough { (completion) in
 54 |         let group = DispatchGroup()
    :
 63 |             switch result {
 64 |             case let .success(v):
 65 |                 proQueue.async(flags: .barrier) { resultA = v }
    |                                                             `- warning: capture of 'v' with non-sendable type 'A' in a '@Sendable' closure
 66 |
 67 |             case let .failure(e):
/Users/admin/builder/spi-builder-workspace/Sources/CombineEx/Combine+All.swift:65:51: warning: mutation of captured var 'resultA' in concurrently-executing code
 63 |             switch result {
 64 |             case let .success(v):
 65 |                 proQueue.async(flags: .barrier) { resultA = v }
    |                                                   `- warning: mutation of captured var 'resultA' in concurrently-executing code
 66 |
 67 |             case let .failure(e):
/Users/admin/builder/spi-builder-workspace/Sources/CombineEx/Combine+All.swift:68:51: warning: mutation of captured var 'error' in concurrently-executing code
 66 |
 67 |             case let .failure(e):
 68 |                 proQueue.async(flags: .barrier) { error = .a(e) }
    |                                                   `- warning: mutation of captured var 'error' in concurrently-executing code
 69 |                 completion.send(completion: .failure(.a(e)))
 70 |             }
/Users/admin/builder/spi-builder-workspace/Sources/CombineEx/Combine+All.swift:79:51: warning: capture of 'resultB' with non-sendable type 'B?' in a '@Sendable' closure
 50 | }
 51 |
 52 | public func all<A, B, FA, FB>(_ a: AnyPublisher<A, FA>, _ b: AnyPublisher<B, FB>, on queue: DispatchQueue = .main) -> AnyPublisher<(A, B), EitherBio<FA, FB>> where FA: Error, FB: Error {
    |                    `- note: consider making generic parameter 'B' conform to the 'Sendable' protocol
 53 |     .passThrough { (completion) in
 54 |         let group = DispatchGroup()
    :
 77 |             switch result {
 78 |             case let .success(v):
 79 |                 proQueue.async(flags: .barrier) { resultB = v }
    |                                                   `- warning: capture of 'resultB' with non-sendable type 'B?' in a '@Sendable' closure
 80 |
 81 |             case let .failure(e):
/Users/admin/builder/spi-builder-workspace/Sources/CombineEx/Combine+All.swift:79:61: warning: capture of 'v' with non-sendable type 'B' in a '@Sendable' closure
 50 | }
 51 |
 52 | public func all<A, B, FA, FB>(_ a: AnyPublisher<A, FA>, _ b: AnyPublisher<B, FB>, on queue: DispatchQueue = .main) -> AnyPublisher<(A, B), EitherBio<FA, FB>> where FA: Error, FB: Error {
    |                    `- note: consider making generic parameter 'B' conform to the 'Sendable' protocol
 53 |     .passThrough { (completion) in
 54 |         let group = DispatchGroup()
    :
 77 |             switch result {
 78 |             case let .success(v):
 79 |                 proQueue.async(flags: .barrier) { resultB = v }
    |                                                             `- warning: capture of 'v' with non-sendable type 'B' in a '@Sendable' closure
 80 |
 81 |             case let .failure(e):
/Users/admin/builder/spi-builder-workspace/Sources/CombineEx/Combine+All.swift:79:51: warning: mutation of captured var 'resultB' in concurrently-executing code
 77 |             switch result {
 78 |             case let .success(v):
 79 |                 proQueue.async(flags: .barrier) { resultB = v }
    |                                                   `- warning: mutation of captured var 'resultB' in concurrently-executing code
 80 |
 81 |             case let .failure(e):
/Users/admin/builder/spi-builder-workspace/Sources/CombineEx/Combine+All.swift:82:51: warning: mutation of captured var 'error' in concurrently-executing code
 80 |
 81 |             case let .failure(e):
 82 |                 proQueue.async(flags: .barrier) { error = .b(e) }
    |                                                   `- warning: mutation of captured var 'error' in concurrently-executing code
 83 |                 completion.send(completion: .failure(.b(e)))
 84 |             }
/Users/admin/builder/spi-builder-workspace/Sources/CombineEx/Combine+All.swift:118:51: warning: capture of 'resultA' with non-sendable type 'A?' in a '@Sendable' closure
101 | }
102 |
103 | public func all<A, B, C, FA, FB, FC>(_ a: AnyPublisher<A, FA>, _ b: AnyPublisher<B, FB>, _ c: AnyPublisher<C, FC>, on queue: DispatchQueue = .main) -> AnyPublisher<(A, B, C), EitherTri<FA, FB, FC>> where FA: Error, FB: Error, FC: Error {
    |                 `- note: consider making generic parameter 'A' conform to the 'Sendable' protocol
104 |     .passThrough { (completion) in
105 |         let group = DispatchGroup()
    :
116 |             switch result {
117 |             case let .success(v):
118 |                 proQueue.async(flags: .barrier) { resultA = v }
    |                                                   `- warning: capture of 'resultA' with non-sendable type 'A?' in a '@Sendable' closure
119 |
120 |             case let .failure(e):
/Users/admin/builder/spi-builder-workspace/Sources/CombineEx/Combine+All.swift:118:61: warning: capture of 'v' with non-sendable type 'A' in a '@Sendable' closure
101 | }
102 |
103 | public func all<A, B, C, FA, FB, FC>(_ a: AnyPublisher<A, FA>, _ b: AnyPublisher<B, FB>, _ c: AnyPublisher<C, FC>, on queue: DispatchQueue = .main) -> AnyPublisher<(A, B, C), EitherTri<FA, FB, FC>> where FA: Error, FB: Error, FC: Error {
    |                 `- note: consider making generic parameter 'A' conform to the 'Sendable' protocol
104 |     .passThrough { (completion) in
105 |         let group = DispatchGroup()
    :
116 |             switch result {
117 |             case let .success(v):
118 |                 proQueue.async(flags: .barrier) { resultA = v }
    |                                                             `- warning: capture of 'v' with non-sendable type 'A' in a '@Sendable' closure
119 |
120 |             case let .failure(e):
/Users/admin/builder/spi-builder-workspace/Sources/CombineEx/Combine+All.swift:118:51: warning: mutation of captured var 'resultA' in concurrently-executing code
116 |             switch result {
117 |             case let .success(v):
118 |                 proQueue.async(flags: .barrier) { resultA = v }
    |                                                   `- warning: mutation of captured var 'resultA' in concurrently-executing code
119 |
120 |             case let .failure(e):
/Users/admin/builder/spi-builder-workspace/Sources/CombineEx/Combine+All.swift:121:51: warning: mutation of captured var 'error' in concurrently-executing code
119 |
120 |             case let .failure(e):
121 |                 proQueue.async(flags: .barrier) { error = .a(e) }
    |                                                   `- warning: mutation of captured var 'error' in concurrently-executing code
122 |                 completion.send(completion: .failure(.a(e)))
123 |             }
/Users/admin/builder/spi-builder-workspace/Sources/CombineEx/Combine+All.swift:132:51: warning: capture of 'resultB' with non-sendable type 'B?' in a '@Sendable' closure
101 | }
102 |
103 | public func all<A, B, C, FA, FB, FC>(_ a: AnyPublisher<A, FA>, _ b: AnyPublisher<B, FB>, _ c: AnyPublisher<C, FC>, on queue: DispatchQueue = .main) -> AnyPublisher<(A, B, C), EitherTri<FA, FB, FC>> where FA: Error, FB: Error, FC: Error {
    |                    `- note: consider making generic parameter 'B' conform to the 'Sendable' protocol
104 |     .passThrough { (completion) in
105 |         let group = DispatchGroup()
    :
130 |             switch result {
131 |             case let .success(v):
132 |                 proQueue.async(flags: .barrier) { resultB = v }
    |                                                   `- warning: capture of 'resultB' with non-sendable type 'B?' in a '@Sendable' closure
133 |
134 |             case let .failure(e):
/Users/admin/builder/spi-builder-workspace/Sources/CombineEx/Combine+All.swift:132:61: warning: capture of 'v' with non-sendable type 'B' in a '@Sendable' closure
101 | }
102 |
103 | public func all<A, B, C, FA, FB, FC>(_ a: AnyPublisher<A, FA>, _ b: AnyPublisher<B, FB>, _ c: AnyPublisher<C, FC>, on queue: DispatchQueue = .main) -> AnyPublisher<(A, B, C), EitherTri<FA, FB, FC>> where FA: Error, FB: Error, FC: Error {
    |                    `- note: consider making generic parameter 'B' conform to the 'Sendable' protocol
104 |     .passThrough { (completion) in
105 |         let group = DispatchGroup()
    :
130 |             switch result {
131 |             case let .success(v):
132 |                 proQueue.async(flags: .barrier) { resultB = v }
    |                                                             `- warning: capture of 'v' with non-sendable type 'B' in a '@Sendable' closure
133 |
134 |             case let .failure(e):
/Users/admin/builder/spi-builder-workspace/Sources/CombineEx/Combine+All.swift:132:51: warning: mutation of captured var 'resultB' in concurrently-executing code
130 |             switch result {
131 |             case let .success(v):
132 |                 proQueue.async(flags: .barrier) { resultB = v }
    |                                                   `- warning: mutation of captured var 'resultB' in concurrently-executing code
133 |
134 |             case let .failure(e):
/Users/admin/builder/spi-builder-workspace/Sources/CombineEx/Combine+All.swift:135:51: warning: mutation of captured var 'error' in concurrently-executing code
133 |
134 |             case let .failure(e):
135 |                 proQueue.async(flags: .barrier) { error = .b(e) }
    |                                                   `- warning: mutation of captured var 'error' in concurrently-executing code
136 |                 completion.send(completion: .failure(.b(e)))
137 |             }
/Users/admin/builder/spi-builder-workspace/Sources/CombineEx/Combine+All.swift:146:51: warning: capture of 'resultC' with non-sendable type 'C?' in a '@Sendable' closure
101 | }
102 |
103 | public func all<A, B, C, FA, FB, FC>(_ a: AnyPublisher<A, FA>, _ b: AnyPublisher<B, FB>, _ c: AnyPublisher<C, FC>, on queue: DispatchQueue = .main) -> AnyPublisher<(A, B, C), EitherTri<FA, FB, FC>> where FA: Error, FB: Error, FC: Error {
    |                       `- note: consider making generic parameter 'C' conform to the 'Sendable' protocol
104 |     .passThrough { (completion) in
105 |         let group = DispatchGroup()
    :
144 |             switch result {
145 |             case let .success(v):
146 |                 proQueue.async(flags: .barrier) { resultC = v }
    |                                                   `- warning: capture of 'resultC' with non-sendable type 'C?' in a '@Sendable' closure
147 |
148 |             case let .failure(e):
/Users/admin/builder/spi-builder-workspace/Sources/CombineEx/Combine+All.swift:146:61: warning: capture of 'v' with non-sendable type 'C' in a '@Sendable' closure
101 | }
102 |
103 | public func all<A, B, C, FA, FB, FC>(_ a: AnyPublisher<A, FA>, _ b: AnyPublisher<B, FB>, _ c: AnyPublisher<C, FC>, on queue: DispatchQueue = .main) -> AnyPublisher<(A, B, C), EitherTri<FA, FB, FC>> where FA: Error, FB: Error, FC: Error {
    |                       `- note: consider making generic parameter 'C' conform to the 'Sendable' protocol
104 |     .passThrough { (completion) in
105 |         let group = DispatchGroup()
    :
144 |             switch result {
145 |             case let .success(v):
146 |                 proQueue.async(flags: .barrier) { resultC = v }
    |                                                             `- warning: capture of 'v' with non-sendable type 'C' in a '@Sendable' closure
147 |
148 |             case let .failure(e):
/Users/admin/builder/spi-builder-workspace/Sources/CombineEx/Combine+All.swift:146:51: warning: mutation of captured var 'resultC' in concurrently-executing code
144 |             switch result {
145 |             case let .success(v):
146 |                 proQueue.async(flags: .barrier) { resultC = v }
    |                                                   `- warning: mutation of captured var 'resultC' in concurrently-executing code
147 |
148 |             case let .failure(e):
/Users/admin/builder/spi-builder-workspace/Sources/CombineEx/Combine+All.swift:149:51: warning: mutation of captured var 'error' in concurrently-executing code
147 |
148 |             case let .failure(e):
149 |                 proQueue.async(flags: .barrier) { error = .c(e) }
    |                                                   `- warning: mutation of captured var 'error' in concurrently-executing code
150 |                 completion.send(completion: .failure(.c(e)))
151 |             }
/Users/admin/builder/spi-builder-workspace/Sources/CombineEx/Combine+All.swift:188:51: warning: capture of 'resultA' with non-sendable type 'A?' in a '@Sendable' closure
170 | }
171 |
172 | public func all<A, B, C, D, FA, FB, FC, FD>(_ a: AnyPublisher<A, FA>, _ b: AnyPublisher<B, FB>, _ c: AnyPublisher<C, FC>, _ d: AnyPublisher<D, FD>, on queue: DispatchQueue = .main) -> AnyPublisher<(A, B, C, D), EitherFor<FA, FB, FC, FD>> where FA: Error, FB: Error, FC: Error, FD: Error {
    |                 `- note: consider making generic parameter 'A' conform to the 'Sendable' protocol
173 |     .passThrough { (completion) in
174 |         let group = DispatchGroup()
    :
186 |             switch result {
187 |             case let .success(v):
188 |                 proQueue.async(flags: .barrier) { resultA = v }
    |                                                   `- warning: capture of 'resultA' with non-sendable type 'A?' in a '@Sendable' closure
189 |
190 |             case let .failure(e):
/Users/admin/builder/spi-builder-workspace/Sources/CombineEx/Combine+All.swift:188:61: warning: capture of 'v' with non-sendable type 'A' in a '@Sendable' closure
170 | }
171 |
172 | public func all<A, B, C, D, FA, FB, FC, FD>(_ a: AnyPublisher<A, FA>, _ b: AnyPublisher<B, FB>, _ c: AnyPublisher<C, FC>, _ d: AnyPublisher<D, FD>, on queue: DispatchQueue = .main) -> AnyPublisher<(A, B, C, D), EitherFor<FA, FB, FC, FD>> where FA: Error, FB: Error, FC: Error, FD: Error {
    |                 `- note: consider making generic parameter 'A' conform to the 'Sendable' protocol
173 |     .passThrough { (completion) in
174 |         let group = DispatchGroup()
    :
186 |             switch result {
187 |             case let .success(v):
188 |                 proQueue.async(flags: .barrier) { resultA = v }
    |                                                             `- warning: capture of 'v' with non-sendable type 'A' in a '@Sendable' closure
189 |
190 |             case let .failure(e):
/Users/admin/builder/spi-builder-workspace/Sources/CombineEx/Combine+All.swift:188:51: warning: mutation of captured var 'resultA' in concurrently-executing code
186 |             switch result {
187 |             case let .success(v):
188 |                 proQueue.async(flags: .barrier) { resultA = v }
    |                                                   `- warning: mutation of captured var 'resultA' in concurrently-executing code
189 |
190 |             case let .failure(e):
/Users/admin/builder/spi-builder-workspace/Sources/CombineEx/Combine+All.swift:191:51: warning: mutation of captured var 'error' in concurrently-executing code
189 |
190 |             case let .failure(e):
191 |                 proQueue.async(flags: .barrier) { error = .a(e) }
    |                                                   `- warning: mutation of captured var 'error' in concurrently-executing code
192 |                 completion.send(completion: .failure(.a(e)))
193 |             }
/Users/admin/builder/spi-builder-workspace/Sources/CombineEx/Combine+All.swift:202:51: warning: capture of 'resultB' with non-sendable type 'B?' in a '@Sendable' closure
170 | }
171 |
172 | public func all<A, B, C, D, FA, FB, FC, FD>(_ a: AnyPublisher<A, FA>, _ b: AnyPublisher<B, FB>, _ c: AnyPublisher<C, FC>, _ d: AnyPublisher<D, FD>, on queue: DispatchQueue = .main) -> AnyPublisher<(A, B, C, D), EitherFor<FA, FB, FC, FD>> where FA: Error, FB: Error, FC: Error, FD: Error {
    |                    `- note: consider making generic parameter 'B' conform to the 'Sendable' protocol
173 |     .passThrough { (completion) in
174 |         let group = DispatchGroup()
    :
200 |             switch result {
201 |             case let .success(v):
202 |                 proQueue.async(flags: .barrier) { resultB = v }
    |                                                   `- warning: capture of 'resultB' with non-sendable type 'B?' in a '@Sendable' closure
203 |
204 |             case let .failure(e):
/Users/admin/builder/spi-builder-workspace/Sources/CombineEx/Combine+All.swift:202:61: warning: capture of 'v' with non-sendable type 'B' in a '@Sendable' closure
170 | }
171 |
172 | public func all<A, B, C, D, FA, FB, FC, FD>(_ a: AnyPublisher<A, FA>, _ b: AnyPublisher<B, FB>, _ c: AnyPublisher<C, FC>, _ d: AnyPublisher<D, FD>, on queue: DispatchQueue = .main) -> AnyPublisher<(A, B, C, D), EitherFor<FA, FB, FC, FD>> where FA: Error, FB: Error, FC: Error, FD: Error {
    |                    `- note: consider making generic parameter 'B' conform to the 'Sendable' protocol
173 |     .passThrough { (completion) in
174 |         let group = DispatchGroup()
    :
200 |             switch result {
201 |             case let .success(v):
202 |                 proQueue.async(flags: .barrier) { resultB = v }
    |                                                             `- warning: capture of 'v' with non-sendable type 'B' in a '@Sendable' closure
203 |
204 |             case let .failure(e):
/Users/admin/builder/spi-builder-workspace/Sources/CombineEx/Combine+All.swift:202:51: warning: mutation of captured var 'resultB' in concurrently-executing code
200 |             switch result {
201 |             case let .success(v):
202 |                 proQueue.async(flags: .barrier) { resultB = v }
    |                                                   `- warning: mutation of captured var 'resultB' in concurrently-executing code
203 |
204 |             case let .failure(e):
/Users/admin/builder/spi-builder-workspace/Sources/CombineEx/Combine+All.swift:205:51: warning: mutation of captured var 'error' in concurrently-executing code
203 |
204 |             case let .failure(e):
205 |                 proQueue.async(flags: .barrier) { error = .b(e) }
    |                                                   `- warning: mutation of captured var 'error' in concurrently-executing code
206 |                 completion.send(completion: .failure(.b(e)))
207 |             }
/Users/admin/builder/spi-builder-workspace/Sources/CombineEx/Combine+All.swift:216:51: warning: capture of 'resultC' with non-sendable type 'C?' in a '@Sendable' closure
170 | }
171 |
172 | public func all<A, B, C, D, FA, FB, FC, FD>(_ a: AnyPublisher<A, FA>, _ b: AnyPublisher<B, FB>, _ c: AnyPublisher<C, FC>, _ d: AnyPublisher<D, FD>, on queue: DispatchQueue = .main) -> AnyPublisher<(A, B, C, D), EitherFor<FA, FB, FC, FD>> where FA: Error, FB: Error, FC: Error, FD: Error {
    |                       `- note: consider making generic parameter 'C' conform to the 'Sendable' protocol
173 |     .passThrough { (completion) in
174 |         let group = DispatchGroup()
    :
214 |             switch result {
215 |             case let .success(v):
216 |                 proQueue.async(flags: .barrier) { resultC = v }
    |                                                   `- warning: capture of 'resultC' with non-sendable type 'C?' in a '@Sendable' closure
217 |
218 |             case let .failure(e):
/Users/admin/builder/spi-builder-workspace/Sources/CombineEx/Combine+All.swift:216:61: warning: capture of 'v' with non-sendable type 'C' in a '@Sendable' closure
170 | }
171 |
172 | public func all<A, B, C, D, FA, FB, FC, FD>(_ a: AnyPublisher<A, FA>, _ b: AnyPublisher<B, FB>, _ c: AnyPublisher<C, FC>, _ d: AnyPublisher<D, FD>, on queue: DispatchQueue = .main) -> AnyPublisher<(A, B, C, D), EitherFor<FA, FB, FC, FD>> where FA: Error, FB: Error, FC: Error, FD: Error {
    |                       `- note: consider making generic parameter 'C' conform to the 'Sendable' protocol
173 |     .passThrough { (completion) in
174 |         let group = DispatchGroup()
    :
214 |             switch result {
215 |             case let .success(v):
216 |                 proQueue.async(flags: .barrier) { resultC = v }
    |                                                             `- warning: capture of 'v' with non-sendable type 'C' in a '@Sendable' closure
217 |
218 |             case let .failure(e):
/Users/admin/builder/spi-builder-workspace/Sources/CombineEx/Combine+All.swift:216:51: warning: mutation of captured var 'resultC' in concurrently-executing code
214 |             switch result {
215 |             case let .success(v):
216 |                 proQueue.async(flags: .barrier) { resultC = v }
    |                                                   `- warning: mutation of captured var 'resultC' in concurrently-executing code
217 |
218 |             case let .failure(e):
/Users/admin/builder/spi-builder-workspace/Sources/CombineEx/Combine+All.swift:219:51: warning: mutation of captured var 'error' in concurrently-executing code
217 |
218 |             case let .failure(e):
219 |                 proQueue.async(flags: .barrier) { error = .c(e) }
    |                                                   `- warning: mutation of captured var 'error' in concurrently-executing code
220 |                 completion.send(completion: .failure(.c(e)))
221 |             }
/Users/admin/builder/spi-builder-workspace/Sources/CombineEx/Combine+All.swift:230:51: warning: capture of 'resultD' with non-sendable type 'D?' in a '@Sendable' closure
170 | }
171 |
172 | public func all<A, B, C, D, FA, FB, FC, FD>(_ a: AnyPublisher<A, FA>, _ b: AnyPublisher<B, FB>, _ c: AnyPublisher<C, FC>, _ d: AnyPublisher<D, FD>, on queue: DispatchQueue = .main) -> AnyPublisher<(A, B, C, D), EitherFor<FA, FB, FC, FD>> where FA: Error, FB: Error, FC: Error, FD: Error {
    |                          `- note: consider making generic parameter 'D' conform to the 'Sendable' protocol
173 |     .passThrough { (completion) in
174 |         let group = DispatchGroup()
    :
228 |             switch result {
229 |             case let .success(v):
230 |                 proQueue.async(flags: .barrier) { resultD = v }
    |                                                   `- warning: capture of 'resultD' with non-sendable type 'D?' in a '@Sendable' closure
231 |
232 |             case let .failure(e):
/Users/admin/builder/spi-builder-workspace/Sources/CombineEx/Combine+All.swift:230:61: warning: capture of 'v' with non-sendable type 'D' in a '@Sendable' closure
170 | }
171 |
172 | public func all<A, B, C, D, FA, FB, FC, FD>(_ a: AnyPublisher<A, FA>, _ b: AnyPublisher<B, FB>, _ c: AnyPublisher<C, FC>, _ d: AnyPublisher<D, FD>, on queue: DispatchQueue = .main) -> AnyPublisher<(A, B, C, D), EitherFor<FA, FB, FC, FD>> where FA: Error, FB: Error, FC: Error, FD: Error {
    |                          `- note: consider making generic parameter 'D' conform to the 'Sendable' protocol
173 |     .passThrough { (completion) in
174 |         let group = DispatchGroup()
    :
228 |             switch result {
229 |             case let .success(v):
230 |                 proQueue.async(flags: .barrier) { resultD = v }
    |                                                             `- warning: capture of 'v' with non-sendable type 'D' in a '@Sendable' closure
231 |
232 |             case let .failure(e):
/Users/admin/builder/spi-builder-workspace/Sources/CombineEx/Combine+All.swift:230:51: warning: mutation of captured var 'resultD' in concurrently-executing code
228 |             switch result {
229 |             case let .success(v):
230 |                 proQueue.async(flags: .barrier) { resultD = v }
    |                                                   `- warning: mutation of captured var 'resultD' in concurrently-executing code
231 |
232 |             case let .failure(e):
/Users/admin/builder/spi-builder-workspace/Sources/CombineEx/Combine+All.swift:233:51: warning: mutation of captured var 'error' in concurrently-executing code
231 |
232 |             case let .failure(e):
233 |                 proQueue.async(flags: .barrier) { error = .d(e) }
    |                                                   `- warning: mutation of captured var 'error' in concurrently-executing code
234 |                 completion.send(completion: .failure(.d(e)))
235 |             }
[10/11] Emitting module CombineEx
/Users/admin/builder/spi-builder-workspace/Sources/CombineEx/File.swift:14:16: warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'TokenManager' may have shared mutable state; this is an error in the Swift 6 language mode
11 | }
12 |
13 | final class TokenManager {
   |             `- note: class 'TokenManager' does not conform to the 'Sendable' protocol
14 |     static let shared = TokenManager()
   |                |- warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'TokenManager' may have shared mutable state; this is an error in the Swift 6 language mode
   |                |- note: add '@MainActor' to make static property 'shared' part of global actor 'MainActor'
   |                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
15 |     private let _queue: DispatchQueue = .init(label: "TokenManager.property", attributes: .concurrent)
16 |     private lazy var _tokenMap: [UUID : AnyCancelableBox] = [:]
[11/11] Compiling CombineEx Combine+Race.swift
/Users/admin/builder/spi-builder-workspace/Sources/CombineEx/Combine+Race.swift:16:25: warning: capture of 'promises' with non-sendable type '[AnyPublisher<Value, Failure>]' in a '@Sendable' closure
14 |             var tokens: [AnyCancellable] = []
15 |             let id = UUID()
16 |             for item in promises {
   |                         `- warning: capture of 'promises' with non-sendable type '[AnyPublisher<Value, Failure>]' in a '@Sendable' closure
17 |                 // return early when already has value
18 |                 guard proQueue.sync(execute: { return firstValue }) == nil else { return }
Combine.AnyPublisher:2:23: note: generic struct 'AnyPublisher' does not conform to the 'Sendable' protocol
1 | @available(macOS 10.15, iOS 13.0, tvOS 13.0, watchOS 6.0, *)
2 | @frozen public struct AnyPublisher<Output, Failure> : CustomStringConvertible, CustomPlaygroundDisplayConvertible where Failure : Error {
  |                       `- note: generic struct 'AnyPublisher' does not conform to the 'Sendable' protocol
3 |     public var description: String { get }
4 |     public var playgroundDescription: Any { get }
/Users/admin/builder/spi-builder-workspace/Sources/CombineEx/Combine+Race.swift:1:1: warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'Combine'
 1 | import Combine
   | `- warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'Combine'
 2 | import Dispatch
 3 | import Foundation
/Users/admin/builder/spi-builder-workspace/Sources/CombineEx/Combine+Race.swift:26:25: warning: capture of 'completion' with non-sendable type 'PassthroughSubject<Value, Failure>' in a '@Sendable' closure
24 |                     case let .failure(e):
25 |                         proQueue.async(flags: .barrier) { firstValue = .failure(e) }
26 |                         completion.send(completion: .failure(e))
   |                         `- warning: capture of 'completion' with non-sendable type 'PassthroughSubject<Value, Failure>' in a '@Sendable' closure
27 |
28 |                     case .finished: break
Combine.PassthroughSubject:2:20: note: generic class 'PassthroughSubject' does not conform to the 'Sendable' protocol
 1 | @available(macOS 10.15, iOS 13.0, tvOS 13.0, watchOS 6.0, *)
 2 | final public class PassthroughSubject<Output, Failure> : Subject where Failure : Error {
   |                    `- note: generic class 'PassthroughSubject' does not conform to the 'Sendable' protocol
 3 |     public init()
 4 |     @objc deinit
/Users/admin/builder/spi-builder-workspace/Sources/CombineEx/Combine+Race.swift:26:25: warning: capture of 'completion' with non-sendable type 'PassthroughSubject<Value, Failure>' in an isolated closure; this is an error in the Swift 6 language mode
24 |                     case let .failure(e):
25 |                         proQueue.async(flags: .barrier) { firstValue = .failure(e) }
26 |                         completion.send(completion: .failure(e))
   |                         `- warning: capture of 'completion' with non-sendable type 'PassthroughSubject<Value, Failure>' in an isolated closure; this is an error in the Swift 6 language mode
27 |
28 |                     case .finished: break
Combine.PassthroughSubject:2:20: note: generic class 'PassthroughSubject' does not conform to the 'Sendable' protocol
 1 | @available(macOS 10.15, iOS 13.0, tvOS 13.0, watchOS 6.0, *)
 2 | final public class PassthroughSubject<Output, Failure> : Subject where Failure : Error {
   |                    `- note: generic class 'PassthroughSubject' does not conform to the 'Sendable' protocol
 3 |     public init()
 4 |     @objc deinit
/Users/admin/builder/spi-builder-workspace/Sources/CombineEx/Combine+Race.swift:25:59: warning: capture of 'firstValue' with non-sendable type 'Result<Value, Failure>?' in a '@Sendable' closure
 7 | }
 8 |
 9 | public func race<Value, Failure>(_ promises: [AnyPublisher<Value, Failure>], on queue: DispatchQueue = .main) -> AnyPublisher<Value, Failure> where Failure: Error {
   |                  `- note: consider making generic parameter 'Value' conform to the 'Sendable' protocol
10 |     .passThrough { (completion) in
11 |         queue.async {
   :
23 |                     switch info {
24 |                     case let .failure(e):
25 |                         proQueue.async(flags: .barrier) { firstValue = .failure(e) }
   |                                                           `- warning: capture of 'firstValue' with non-sendable type 'Result<Value, Failure>?' in a '@Sendable' closure
26 |                         completion.send(completion: .failure(e))
27 |
/Users/admin/builder/spi-builder-workspace/Sources/CombineEx/Combine+Race.swift:25:59: warning: mutation of captured var 'firstValue' in concurrently-executing code
23 |                     switch info {
24 |                     case let .failure(e):
25 |                         proQueue.async(flags: .barrier) { firstValue = .failure(e) }
   |                                                           `- warning: mutation of captured var 'firstValue' in concurrently-executing code
26 |                         completion.send(completion: .failure(e))
27 |
/Users/admin/builder/spi-builder-workspace/Sources/CombineEx/Combine+Race.swift:35:21: warning: capture of 'completion' with non-sendable type 'PassthroughSubject<Value, Failure>' in an isolated closure; this is an error in the Swift 6 language mode
33 |                     proQueue.async(flags: .barrier) { firstValue = .success(value) }
34 |
35 |                     completion.send(value)
   |                     `- warning: capture of 'completion' with non-sendable type 'PassthroughSubject<Value, Failure>' in an isolated closure; this is an error in the Swift 6 language mode
36 |                     completion.send(completion: .finished)
37 |                 })
Combine.PassthroughSubject:2:20: note: generic class 'PassthroughSubject' does not conform to the 'Sendable' protocol
 1 | @available(macOS 10.15, iOS 13.0, tvOS 13.0, watchOS 6.0, *)
 2 | final public class PassthroughSubject<Output, Failure> : Subject where Failure : Error {
   |                    `- note: generic class 'PassthroughSubject' does not conform to the 'Sendable' protocol
 3 |     public init()
 4 |     @objc deinit
/Users/admin/builder/spi-builder-workspace/Sources/CombineEx/Combine+Race.swift:33:55: warning: capture of 'firstValue' with non-sendable type 'Result<Value, Failure>?' in a '@Sendable' closure
 7 | }
 8 |
 9 | public func race<Value, Failure>(_ promises: [AnyPublisher<Value, Failure>], on queue: DispatchQueue = .main) -> AnyPublisher<Value, Failure> where Failure: Error {
   |                  `- note: consider making generic parameter 'Value' conform to the 'Sendable' protocol
10 |     .passThrough { (completion) in
11 |         queue.async {
   :
31 |                     defer { TokenManager.shared.removeBox(by: id) }
32 |                     guard proQueue.sync(execute: { return firstValue }) == nil else { return }
33 |                     proQueue.async(flags: .barrier) { firstValue = .success(value) }
   |                                                       `- warning: capture of 'firstValue' with non-sendable type 'Result<Value, Failure>?' in a '@Sendable' closure
34 |
35 |                     completion.send(value)
/Users/admin/builder/spi-builder-workspace/Sources/CombineEx/Combine+Race.swift:33:77: warning: capture of 'value' with non-sendable type 'Value' in a '@Sendable' closure
 7 | }
 8 |
 9 | public func race<Value, Failure>(_ promises: [AnyPublisher<Value, Failure>], on queue: DispatchQueue = .main) -> AnyPublisher<Value, Failure> where Failure: Error {
   |                  `- note: consider making generic parameter 'Value' conform to the 'Sendable' protocol
10 |     .passThrough { (completion) in
11 |         queue.async {
   :
31 |                     defer { TokenManager.shared.removeBox(by: id) }
32 |                     guard proQueue.sync(execute: { return firstValue }) == nil else { return }
33 |                     proQueue.async(flags: .barrier) { firstValue = .success(value) }
   |                                                                             `- warning: capture of 'value' with non-sendable type 'Value' in a '@Sendable' closure
34 |
35 |                     completion.send(value)
/Users/admin/builder/spi-builder-workspace/Sources/CombineEx/Combine+Race.swift:33:55: warning: mutation of captured var 'firstValue' in concurrently-executing code
31 |                     defer { TokenManager.shared.removeBox(by: id) }
32 |                     guard proQueue.sync(execute: { return firstValue }) == nil else { return }
33 |                     proQueue.async(flags: .barrier) { firstValue = .success(value) }
   |                                                       `- warning: mutation of captured var 'firstValue' in concurrently-executing code
34 |
35 |                     completion.send(value)
Build complete! (4.57s)
Build complete.
{
  "dependencies" : [
  ],
  "manifest_display_name" : "CombineEx",
  "name" : "CombineEx",
  "path" : "/Users/admin/builder/spi-builder-workspace",
  "platforms" : [
    {
      "name" : "macos",
      "version" : "10.15"
    },
    {
      "name" : "ios",
      "version" : "13.0"
    },
    {
      "name" : "tvos",
      "version" : "13.0"
    },
    {
      "name" : "watchos",
      "version" : "6.0"
    }
  ],
  "products" : [
    {
      "name" : "CombineEx",
      "targets" : [
        "CombineEx"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    }
  ],
  "targets" : [
    {
      "c99name" : "CombineExTests",
      "module_type" : "SwiftTarget",
      "name" : "CombineExTests",
      "path" : "Tests/CombineExTests",
      "sources" : [
        "CombineExTests.swift",
        "XCTestManifests.swift"
      ],
      "target_dependencies" : [
        "CombineEx"
      ],
      "type" : "test"
    },
    {
      "c99name" : "CombineEx",
      "module_type" : "SwiftTarget",
      "name" : "CombineEx",
      "path" : "Sources/CombineEx",
      "product_memberships" : [
        "CombineEx"
      ],
      "sources" : [
        "Combine+All.swift",
        "Combine+Any.swift",
        "Combine+Await.swift",
        "Combine+Race.swift",
        "CombineEx+Either.swift",
        "CombineEx+Publisher.swift",
        "CombineEx+Subscriber.swift",
        "File.swift"
      ],
      "type" : "library"
    }
  ],
  "tools_version" : "5.1"
}
Done.