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 master (8c55fe), with Swift 6.1 for macOS (SPM) on 24 Apr 2025 09:44:31 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: master
Initialized empty Git repository in /Users/admin/builder/spi-builder-workspace/.git/
From https://github.com/codeeagle/combineex
 * branch            master     -> FETCH_HEAD
 * [new branch]      master     -> origin/master
HEAD is now at 8c55fe6 change: modify maxConcurrent logic
Cloned https://github.com/codeeagle/combineex.git
Revision (git rev-parse @):
8c55fe68e87af97680a734a39462528113df0cf2
SUCCESS checkout https://github.com/codeeagle/combineex.git at master
========================================
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.58s)
Creating working copy for https://github.com/codeeagle/combineex.git
Working copy of https://github.com/codeeagle/combineex.git resolved at master (8c55fe6)
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",
        "TokenManager.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 TokenManager.swift
/Users/admin/builder/spi-builder-workspace/Sources/CombineEx/TokenManager.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/TokenManager.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/TokenManager.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+Either.swift
[5/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 |
[6/11] Emitting module CombineEx
/Users/admin/builder/spi-builder-workspace/Sources/CombineEx/TokenManager.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] = [:]
[7/11] Compiling CombineEx Combine+All.swift
/Users/admin/builder/spi-builder-workspace/Sources/CombineEx/Combine+All.swift:63:59: 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, maxConcurrent: Int = 10) -> 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()
    :
 61 |                     switch result {
 62 |                     case let .success(v):
 63 |                         proQueue.async(flags: .barrier) { values[index] = v }
    |                                                           `- warning: capture of 'values' with non-sendable type '[Int : Value]' in a '@Sendable' closure
 64 |
 65 |                     case let .failure(e):
/Users/admin/builder/spi-builder-workspace/Sources/CombineEx/Combine+All.swift:63:75: 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, maxConcurrent: Int = 10) -> 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()
    :
 61 |                     switch result {
 62 |                     case let .success(v):
 63 |                         proQueue.async(flags: .barrier) { values[index] = v }
    |                                                                           `- warning: capture of 'v' with non-sendable type 'Value' in a '@Sendable' closure
 64 |
 65 |                     case let .failure(e):
/Users/admin/builder/spi-builder-workspace/Sources/CombineEx/Combine+All.swift:63:59: warning: mutation of captured var 'values' in concurrently-executing code
 61 |                     switch result {
 62 |                     case let .success(v):
 63 |                         proQueue.async(flags: .barrier) { values[index] = v }
    |                                                           `- warning: mutation of captured var 'values' in concurrently-executing code
 64 |
 65 |                     case let .failure(e):
/Users/admin/builder/spi-builder-workspace/Sources/CombineEx/Combine+All.swift:66:59: warning: mutation of captured var 'error' in concurrently-executing code
 64 |
 65 |                     case let .failure(e):
 66 |                         proQueue.async(flags: .barrier) { error = e }
    |                                                           `- warning: mutation of captured var 'error' in concurrently-executing code
 67 |                         subject.send(completion: .failure(e))
 68 |                     }
/Users/admin/builder/spi-builder-workspace/Sources/CombineEx/Combine+All.swift:94:29: 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, maxConcurrent: Int = 10) -> 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()
    :
 92 |                     case let .success(v):
 93 |                         proQueue.async(flags: .barrier) {
 94 |                             values[index] = v
    |                             `- warning: capture of 'values' with non-sendable type '[Int : Value]' in a '@Sendable' closure
 95 |                         }
 96 |
/Users/admin/builder/spi-builder-workspace/Sources/CombineEx/Combine+All.swift:94:45: 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, maxConcurrent: Int = 10) -> 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()
    :
 92 |                     case let .success(v):
 93 |                         proQueue.async(flags: .barrier) {
 94 |                             values[index] = v
    |                                             `- warning: capture of 'v' with non-sendable type 'Value' in a '@Sendable' closure
 95 |                         }
 96 |
/Users/admin/builder/spi-builder-workspace/Sources/CombineEx/Combine+All.swift:94:29: warning: mutation of captured var 'values' in concurrently-executing code
 92 |                     case let .success(v):
 93 |                         proQueue.async(flags: .barrier) {
 94 |                             values[index] = v
    |                             `- warning: mutation of captured var 'values' in concurrently-executing code
 95 |                         }
 96 |
/Users/admin/builder/spi-builder-workspace/Sources/CombineEx/Combine+All.swift:98:59: warning: mutation of captured var 'error' in concurrently-executing code
 96 |
 97 |                     case let .failure(e):
 98 |                         proQueue.async(flags: .barrier) { error = e }
    |                                                           `- warning: mutation of captured var 'error' in concurrently-executing code
 99 |                         subject.send(completion: .failure(e))
100 |                     }
/Users/admin/builder/spi-builder-workspace/Sources/CombineEx/Combine+All.swift:144:25: warning: capture of 'values' with non-sendable type '[Int : Value]' in a '@Sendable' closure
114 | }
115 |
116 | 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
117 |     .passThrough { (subject) in
118 |         let group = DispatchGroup()
    :
142 |                 case let .success(v):
143 |                     proQueue.async(flags: .barrier) {
144 |                         values[index] = v
    |                         `- warning: capture of 'values' with non-sendable type '[Int : Value]' in a '@Sendable' closure
145 |                     }
146 |
/Users/admin/builder/spi-builder-workspace/Sources/CombineEx/Combine+All.swift:144:41: warning: capture of 'v' with non-sendable type 'Value' in a '@Sendable' closure
114 | }
115 |
116 | 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
117 |     .passThrough { (subject) in
118 |         let group = DispatchGroup()
    :
142 |                 case let .success(v):
143 |                     proQueue.async(flags: .barrier) {
144 |                         values[index] = v
    |                                         `- warning: capture of 'v' with non-sendable type 'Value' in a '@Sendable' closure
145 |                     }
146 |
/Users/admin/builder/spi-builder-workspace/Sources/CombineEx/Combine+All.swift:144:25: warning: mutation of captured var 'values' in concurrently-executing code
142 |                 case let .success(v):
143 |                     proQueue.async(flags: .barrier) {
144 |                         values[index] = v
    |                         `- warning: mutation of captured var 'values' in concurrently-executing code
145 |                     }
146 |
/Users/admin/builder/spi-builder-workspace/Sources/CombineEx/Combine+All.swift:148:55: warning: mutation of captured var 'error' in concurrently-executing code
146 |
147 |                 case let .failure(e):
148 |                     proQueue.async(flags: .barrier) { error = e }
    |                                                       `- warning: mutation of captured var 'error' in concurrently-executing code
149 |                     subject.send(completion: .failure(e))
150 |                 }
/Users/admin/builder/spi-builder-workspace/Sources/CombineEx/Combine+All.swift:179:51: warning: capture of 'resultA' with non-sendable type 'A?' in a '@Sendable' closure
164 | }
165 |
166 | 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
167 |     .passThrough { (completion) in
168 |         let group = DispatchGroup()
    :
177 |             switch result {
178 |             case let .success(v):
179 |                 proQueue.async(flags: .barrier) { resultA = v }
    |                                                   `- warning: capture of 'resultA' with non-sendable type 'A?' in a '@Sendable' closure
180 |
181 |             case let .failure(e):
/Users/admin/builder/spi-builder-workspace/Sources/CombineEx/Combine+All.swift:179:61: warning: capture of 'v' with non-sendable type 'A' in a '@Sendable' closure
164 | }
165 |
166 | 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
167 |     .passThrough { (completion) in
168 |         let group = DispatchGroup()
    :
177 |             switch result {
178 |             case let .success(v):
179 |                 proQueue.async(flags: .barrier) { resultA = v }
    |                                                             `- warning: capture of 'v' with non-sendable type 'A' in a '@Sendable' closure
180 |
181 |             case let .failure(e):
/Users/admin/builder/spi-builder-workspace/Sources/CombineEx/Combine+All.swift:179:51: warning: mutation of captured var 'resultA' in concurrently-executing code
177 |             switch result {
178 |             case let .success(v):
179 |                 proQueue.async(flags: .barrier) { resultA = v }
    |                                                   `- warning: mutation of captured var 'resultA' in concurrently-executing code
180 |
181 |             case let .failure(e):
/Users/admin/builder/spi-builder-workspace/Sources/CombineEx/Combine+All.swift:182:51: warning: mutation of captured var 'error' in concurrently-executing code
180 |
181 |             case let .failure(e):
182 |                 proQueue.async(flags: .barrier) { error = .a(e) }
    |                                                   `- warning: mutation of captured var 'error' in concurrently-executing code
183 |                 completion.send(completion: .failure(.a(e)))
184 |             }
/Users/admin/builder/spi-builder-workspace/Sources/CombineEx/Combine+All.swift:193:51: warning: capture of 'resultB' with non-sendable type 'B?' in a '@Sendable' closure
164 | }
165 |
166 | 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
167 |     .passThrough { (completion) in
168 |         let group = DispatchGroup()
    :
191 |             switch result {
192 |             case let .success(v):
193 |                 proQueue.async(flags: .barrier) { resultB = v }
    |                                                   `- warning: capture of 'resultB' with non-sendable type 'B?' in a '@Sendable' closure
194 |
195 |             case let .failure(e):
/Users/admin/builder/spi-builder-workspace/Sources/CombineEx/Combine+All.swift:193:61: warning: capture of 'v' with non-sendable type 'B' in a '@Sendable' closure
164 | }
165 |
166 | 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
167 |     .passThrough { (completion) in
168 |         let group = DispatchGroup()
    :
191 |             switch result {
192 |             case let .success(v):
193 |                 proQueue.async(flags: .barrier) { resultB = v }
    |                                                             `- warning: capture of 'v' with non-sendable type 'B' in a '@Sendable' closure
194 |
195 |             case let .failure(e):
/Users/admin/builder/spi-builder-workspace/Sources/CombineEx/Combine+All.swift:193:51: warning: mutation of captured var 'resultB' in concurrently-executing code
191 |             switch result {
192 |             case let .success(v):
193 |                 proQueue.async(flags: .barrier) { resultB = v }
    |                                                   `- warning: mutation of captured var 'resultB' in concurrently-executing code
194 |
195 |             case let .failure(e):
/Users/admin/builder/spi-builder-workspace/Sources/CombineEx/Combine+All.swift:196:51: warning: mutation of captured var 'error' in concurrently-executing code
194 |
195 |             case let .failure(e):
196 |                 proQueue.async(flags: .barrier) { error = .b(e) }
    |                                                   `- warning: mutation of captured var 'error' in concurrently-executing code
197 |                 completion.send(completion: .failure(.b(e)))
198 |             }
/Users/admin/builder/spi-builder-workspace/Sources/CombineEx/Combine+All.swift:232:51: warning: capture of 'resultA' with non-sendable type 'A?' in a '@Sendable' closure
215 | }
216 |
217 | 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
218 |     .passThrough { (completion) in
219 |         let group = DispatchGroup()
    :
230 |             switch result {
231 |             case let .success(v):
232 |                 proQueue.async(flags: .barrier) { resultA = v }
    |                                                   `- warning: capture of 'resultA' with non-sendable type 'A?' in a '@Sendable' closure
233 |
234 |             case let .failure(e):
/Users/admin/builder/spi-builder-workspace/Sources/CombineEx/Combine+All.swift:232:61: warning: capture of 'v' with non-sendable type 'A' in a '@Sendable' closure
215 | }
216 |
217 | 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
218 |     .passThrough { (completion) in
219 |         let group = DispatchGroup()
    :
230 |             switch result {
231 |             case let .success(v):
232 |                 proQueue.async(flags: .barrier) { resultA = v }
    |                                                             `- warning: capture of 'v' with non-sendable type 'A' in a '@Sendable' closure
233 |
234 |             case let .failure(e):
/Users/admin/builder/spi-builder-workspace/Sources/CombineEx/Combine+All.swift:232:51: warning: mutation of captured var 'resultA' in concurrently-executing code
230 |             switch result {
231 |             case let .success(v):
232 |                 proQueue.async(flags: .barrier) { resultA = v }
    |                                                   `- warning: mutation of captured var 'resultA' in concurrently-executing code
233 |
234 |             case let .failure(e):
/Users/admin/builder/spi-builder-workspace/Sources/CombineEx/Combine+All.swift:235:51: warning: mutation of captured var 'error' in concurrently-executing code
233 |
234 |             case let .failure(e):
235 |                 proQueue.async(flags: .barrier) { error = .a(e) }
    |                                                   `- warning: mutation of captured var 'error' in concurrently-executing code
236 |                 completion.send(completion: .failure(.a(e)))
237 |             }
/Users/admin/builder/spi-builder-workspace/Sources/CombineEx/Combine+All.swift:246:51: warning: capture of 'resultB' with non-sendable type 'B?' in a '@Sendable' closure
215 | }
216 |
217 | 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
218 |     .passThrough { (completion) in
219 |         let group = DispatchGroup()
    :
244 |             switch result {
245 |             case let .success(v):
246 |                 proQueue.async(flags: .barrier) { resultB = v }
    |                                                   `- warning: capture of 'resultB' with non-sendable type 'B?' in a '@Sendable' closure
247 |
248 |             case let .failure(e):
/Users/admin/builder/spi-builder-workspace/Sources/CombineEx/Combine+All.swift:246:61: warning: capture of 'v' with non-sendable type 'B' in a '@Sendable' closure
215 | }
216 |
217 | 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
218 |     .passThrough { (completion) in
219 |         let group = DispatchGroup()
    :
244 |             switch result {
245 |             case let .success(v):
246 |                 proQueue.async(flags: .barrier) { resultB = v }
    |                                                             `- warning: capture of 'v' with non-sendable type 'B' in a '@Sendable' closure
247 |
248 |             case let .failure(e):
/Users/admin/builder/spi-builder-workspace/Sources/CombineEx/Combine+All.swift:246:51: warning: mutation of captured var 'resultB' in concurrently-executing code
244 |             switch result {
245 |             case let .success(v):
246 |                 proQueue.async(flags: .barrier) { resultB = v }
    |                                                   `- warning: mutation of captured var 'resultB' in concurrently-executing code
247 |
248 |             case let .failure(e):
/Users/admin/builder/spi-builder-workspace/Sources/CombineEx/Combine+All.swift:249:51: warning: mutation of captured var 'error' in concurrently-executing code
247 |
248 |             case let .failure(e):
249 |                 proQueue.async(flags: .barrier) { error = .b(e) }
    |                                                   `- warning: mutation of captured var 'error' in concurrently-executing code
250 |                 completion.send(completion: .failure(.b(e)))
251 |             }
/Users/admin/builder/spi-builder-workspace/Sources/CombineEx/Combine+All.swift:260:51: warning: capture of 'resultC' with non-sendable type 'C?' in a '@Sendable' closure
215 | }
216 |
217 | 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
218 |     .passThrough { (completion) in
219 |         let group = DispatchGroup()
    :
258 |             switch result {
259 |             case let .success(v):
260 |                 proQueue.async(flags: .barrier) { resultC = v }
    |                                                   `- warning: capture of 'resultC' with non-sendable type 'C?' in a '@Sendable' closure
261 |
262 |             case let .failure(e):
/Users/admin/builder/spi-builder-workspace/Sources/CombineEx/Combine+All.swift:260:61: warning: capture of 'v' with non-sendable type 'C' in a '@Sendable' closure
215 | }
216 |
217 | 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
218 |     .passThrough { (completion) in
219 |         let group = DispatchGroup()
    :
258 |             switch result {
259 |             case let .success(v):
260 |                 proQueue.async(flags: .barrier) { resultC = v }
    |                                                             `- warning: capture of 'v' with non-sendable type 'C' in a '@Sendable' closure
261 |
262 |             case let .failure(e):
/Users/admin/builder/spi-builder-workspace/Sources/CombineEx/Combine+All.swift:260:51: warning: mutation of captured var 'resultC' in concurrently-executing code
258 |             switch result {
259 |             case let .success(v):
260 |                 proQueue.async(flags: .barrier) { resultC = v }
    |                                                   `- warning: mutation of captured var 'resultC' in concurrently-executing code
261 |
262 |             case let .failure(e):
/Users/admin/builder/spi-builder-workspace/Sources/CombineEx/Combine+All.swift:263:51: warning: mutation of captured var 'error' in concurrently-executing code
261 |
262 |             case let .failure(e):
263 |                 proQueue.async(flags: .barrier) { error = .c(e) }
    |                                                   `- warning: mutation of captured var 'error' in concurrently-executing code
264 |                 completion.send(completion: .failure(.c(e)))
265 |             }
/Users/admin/builder/spi-builder-workspace/Sources/CombineEx/Combine+All.swift:302:51: warning: capture of 'resultA' with non-sendable type 'A?' in a '@Sendable' closure
284 | }
285 |
286 | 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
287 |     .passThrough { (completion) in
288 |         let group = DispatchGroup()
    :
300 |             switch result {
301 |             case let .success(v):
302 |                 proQueue.async(flags: .barrier) { resultA = v }
    |                                                   `- warning: capture of 'resultA' with non-sendable type 'A?' in a '@Sendable' closure
303 |
304 |             case let .failure(e):
/Users/admin/builder/spi-builder-workspace/Sources/CombineEx/Combine+All.swift:302:61: warning: capture of 'v' with non-sendable type 'A' in a '@Sendable' closure
284 | }
285 |
286 | 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
287 |     .passThrough { (completion) in
288 |         let group = DispatchGroup()
    :
300 |             switch result {
301 |             case let .success(v):
302 |                 proQueue.async(flags: .barrier) { resultA = v }
    |                                                             `- warning: capture of 'v' with non-sendable type 'A' in a '@Sendable' closure
303 |
304 |             case let .failure(e):
/Users/admin/builder/spi-builder-workspace/Sources/CombineEx/Combine+All.swift:302:51: warning: mutation of captured var 'resultA' in concurrently-executing code
300 |             switch result {
301 |             case let .success(v):
302 |                 proQueue.async(flags: .barrier) { resultA = v }
    |                                                   `- warning: mutation of captured var 'resultA' in concurrently-executing code
303 |
304 |             case let .failure(e):
/Users/admin/builder/spi-builder-workspace/Sources/CombineEx/Combine+All.swift:305:51: warning: mutation of captured var 'error' in concurrently-executing code
303 |
304 |             case let .failure(e):
305 |                 proQueue.async(flags: .barrier) { error = .a(e) }
    |                                                   `- warning: mutation of captured var 'error' in concurrently-executing code
306 |                 completion.send(completion: .failure(.a(e)))
307 |             }
/Users/admin/builder/spi-builder-workspace/Sources/CombineEx/Combine+All.swift:316:51: warning: capture of 'resultB' with non-sendable type 'B?' in a '@Sendable' closure
284 | }
285 |
286 | 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
287 |     .passThrough { (completion) in
288 |         let group = DispatchGroup()
    :
314 |             switch result {
315 |             case let .success(v):
316 |                 proQueue.async(flags: .barrier) { resultB = v }
    |                                                   `- warning: capture of 'resultB' with non-sendable type 'B?' in a '@Sendable' closure
317 |
318 |             case let .failure(e):
/Users/admin/builder/spi-builder-workspace/Sources/CombineEx/Combine+All.swift:316:61: warning: capture of 'v' with non-sendable type 'B' in a '@Sendable' closure
284 | }
285 |
286 | 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
287 |     .passThrough { (completion) in
288 |         let group = DispatchGroup()
    :
314 |             switch result {
315 |             case let .success(v):
316 |                 proQueue.async(flags: .barrier) { resultB = v }
    |                                                             `- warning: capture of 'v' with non-sendable type 'B' in a '@Sendable' closure
317 |
318 |             case let .failure(e):
/Users/admin/builder/spi-builder-workspace/Sources/CombineEx/Combine+All.swift:316:51: warning: mutation of captured var 'resultB' in concurrently-executing code
314 |             switch result {
315 |             case let .success(v):
316 |                 proQueue.async(flags: .barrier) { resultB = v }
    |                                                   `- warning: mutation of captured var 'resultB' in concurrently-executing code
317 |
318 |             case let .failure(e):
/Users/admin/builder/spi-builder-workspace/Sources/CombineEx/Combine+All.swift:319:51: warning: mutation of captured var 'error' in concurrently-executing code
317 |
318 |             case let .failure(e):
319 |                 proQueue.async(flags: .barrier) { error = .b(e) }
    |                                                   `- warning: mutation of captured var 'error' in concurrently-executing code
320 |                 completion.send(completion: .failure(.b(e)))
321 |             }
/Users/admin/builder/spi-builder-workspace/Sources/CombineEx/Combine+All.swift:330:51: warning: capture of 'resultC' with non-sendable type 'C?' in a '@Sendable' closure
284 | }
285 |
286 | 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
287 |     .passThrough { (completion) in
288 |         let group = DispatchGroup()
    :
328 |             switch result {
329 |             case let .success(v):
330 |                 proQueue.async(flags: .barrier) { resultC = v }
    |                                                   `- warning: capture of 'resultC' with non-sendable type 'C?' in a '@Sendable' closure
331 |
332 |             case let .failure(e):
/Users/admin/builder/spi-builder-workspace/Sources/CombineEx/Combine+All.swift:330:61: warning: capture of 'v' with non-sendable type 'C' in a '@Sendable' closure
284 | }
285 |
286 | 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
287 |     .passThrough { (completion) in
288 |         let group = DispatchGroup()
    :
328 |             switch result {
329 |             case let .success(v):
330 |                 proQueue.async(flags: .barrier) { resultC = v }
    |                                                             `- warning: capture of 'v' with non-sendable type 'C' in a '@Sendable' closure
331 |
332 |             case let .failure(e):
/Users/admin/builder/spi-builder-workspace/Sources/CombineEx/Combine+All.swift:330:51: warning: mutation of captured var 'resultC' in concurrently-executing code
328 |             switch result {
329 |             case let .success(v):
330 |                 proQueue.async(flags: .barrier) { resultC = v }
    |                                                   `- warning: mutation of captured var 'resultC' in concurrently-executing code
331 |
332 |             case let .failure(e):
/Users/admin/builder/spi-builder-workspace/Sources/CombineEx/Combine+All.swift:333:51: warning: mutation of captured var 'error' in concurrently-executing code
331 |
332 |             case let .failure(e):
333 |                 proQueue.async(flags: .barrier) { error = .c(e) }
    |                                                   `- warning: mutation of captured var 'error' in concurrently-executing code
334 |                 completion.send(completion: .failure(.c(e)))
335 |             }
/Users/admin/builder/spi-builder-workspace/Sources/CombineEx/Combine+All.swift:344:51: warning: capture of 'resultD' with non-sendable type 'D?' in a '@Sendable' closure
284 | }
285 |
286 | 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
287 |     .passThrough { (completion) in
288 |         let group = DispatchGroup()
    :
342 |             switch result {
343 |             case let .success(v):
344 |                 proQueue.async(flags: .barrier) { resultD = v }
    |                                                   `- warning: capture of 'resultD' with non-sendable type 'D?' in a '@Sendable' closure
345 |
346 |             case let .failure(e):
/Users/admin/builder/spi-builder-workspace/Sources/CombineEx/Combine+All.swift:344:61: warning: capture of 'v' with non-sendable type 'D' in a '@Sendable' closure
284 | }
285 |
286 | 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
287 |     .passThrough { (completion) in
288 |         let group = DispatchGroup()
    :
342 |             switch result {
343 |             case let .success(v):
344 |                 proQueue.async(flags: .barrier) { resultD = v }
    |                                                             `- warning: capture of 'v' with non-sendable type 'D' in a '@Sendable' closure
345 |
346 |             case let .failure(e):
/Users/admin/builder/spi-builder-workspace/Sources/CombineEx/Combine+All.swift:344:51: warning: mutation of captured var 'resultD' in concurrently-executing code
342 |             switch result {
343 |             case let .success(v):
344 |                 proQueue.async(flags: .barrier) { resultD = v }
    |                                                   `- warning: mutation of captured var 'resultD' in concurrently-executing code
345 |
346 |             case let .failure(e):
/Users/admin/builder/spi-builder-workspace/Sources/CombineEx/Combine+All.swift:347:51: warning: mutation of captured var 'error' in concurrently-executing code
345 |
346 |             case let .failure(e):
347 |                 proQueue.async(flags: .barrier) { error = .d(e) }
    |                                                   `- warning: mutation of captured var 'error' in concurrently-executing code
348 |                 completion.send(completion: .failure(.d(e)))
349 |             }
[8/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)
[9/11] Compiling CombineEx CombineEx+Publisher.swift
[10/11] Compiling CombineEx CombineEx+Subscriber.swift
[11/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()
Build complete! (4.60s)
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",
        "TokenManager.swift"
      ],
      "type" : "library"
    }
  ],
  "tools_version" : "5.1"
}
Done.