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 Then, reference 7.0.2 (709112), with Swift 6.1 for macOS (SPM) on 28 Apr 2025 10:58:44 UTC.

Swift 6 data race errors: 0

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/freshOS/then.git
Reference: 7.0.2
Initialized empty Git repository in /Users/admin/builder/spi-builder-workspace/.git/
From https://github.com/freshOS/then
 * tag               7.0.2      -> FETCH_HEAD
HEAD is now at 709112d Bumps to swift 5.9
Cloned https://github.com/freshOS/then.git
Revision (git rev-parse @):
709112d17ac9f61060b28c86d61d3f0f9b66c08a
SUCCESS checkout https://github.com/freshOS/then.git at 7.0.2
========================================
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": "then",
      "name": "Then",
      "url": "https://github.com/freshOS/then.git",
      "version": "unspecified",
      "path": "/Users/admin/builder/spi-builder-workspace/.resolve-product-dependencies/.build/checkouts/then",
      "dependencies": [
      ]
    }
  ]
}
Fetching https://github.com/freshOS/then.git
[1/1990] Fetching then
Fetched https://github.com/freshOS/then.git from cache (2.83s)
Creating working copy for https://github.com/freshOS/then.git
Working copy of https://github.com/freshOS/then.git resolved at 7.0.2 (709112d)
warning: '.resolve-product-dependencies': dependency 'then' 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/freshOS/then.git
https://github.com/freshOS/then.git
{
  "dependencies" : [
  ],
  "manifest_display_name" : "Then",
  "name" : "Then",
  "path" : "/Users/admin/builder/spi-builder-workspace",
  "platforms" : [
    {
      "name" : "ios",
      "version" : "12.0"
    },
    {
      "name" : "macos",
      "version" : "10.13"
    },
    {
      "name" : "tvos",
      "version" : "12.0"
    },
    {
      "name" : "watchos",
      "version" : "6.0"
    }
  ],
  "products" : [
    {
      "name" : "Then",
      "targets" : [
        "Then"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    }
  ],
  "targets" : [
    {
      "c99name" : "ThenTests",
      "module_type" : "SwiftTarget",
      "name" : "ThenTests",
      "path" : "Tests/ThenTests",
      "sources" : [
        "AsyncAwaitTests.swift",
        "BridgeErrorTests.swift",
        "ChainTests.swift",
        "DelayTests.swift",
        "FinallyTests.swift",
        "Helpers.swift",
        "MemoryTests.swift",
        "NoMatterWhatTests.swift",
        "OnErrorTests.swift",
        "ProgressTests.swift",
        "RaceTests.swift",
        "RecoverTests.swift",
        "RegisterThenTests.swift",
        "RetryTests.swift",
        "ThenTests.swift",
        "TimeoutTests.swift",
        "UnwrapTests.swift",
        "ValidateTests.swift",
        "WhenAllTests.swift",
        "ZipTests.swift"
      ],
      "target_dependencies" : [
        "Then"
      ],
      "type" : "test"
    },
    {
      "c99name" : "Then",
      "module_type" : "SwiftTarget",
      "name" : "Then",
      "path" : "Sources",
      "product_memberships" : [
        "Then"
      ],
      "resources" : [
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Sources/PrivacyInfo.xcprivacy",
          "rule" : {
            "copy" : {
            }
          }
        }
      ],
      "sources" : [
        "Then/Async.swift",
        "Then/Await+Operators.swift",
        "Then/Await.swift",
        "Then/Promise+Aliases.swift",
        "Then/Promise+BridgeError.swift",
        "Then/Promise+Chain.swift",
        "Then/Promise+Delay.swift",
        "Then/Promise+Error.swift",
        "Then/Promise+Finally.swift",
        "Then/Promise+First.swift",
        "Then/Promise+Helpers.swift",
        "Then/Promise+NoMatterWhat.swift",
        "Then/Promise+Progress.swift",
        "Then/Promise+Race.swift",
        "Then/Promise+Recover.swift",
        "Then/Promise+Retry.swift",
        "Then/Promise+Then.swift",
        "Then/Promise+Timeout.swift",
        "Then/Promise+Unwrap.swift",
        "Then/Promise+Validate.swift",
        "Then/Promise+Zip.swift",
        "Then/Promise+nil.swift",
        "Then/Promise.swift",
        "Then/PromiseBlocks.swift",
        "Then/PromiseError.swift",
        "Then/PromiseState.swift",
        "Then/VoidPromise.swift",
        "Then/WhenAll.swift"
      ],
      "type" : "library"
    }
  ],
  "tools_version" : "5.9"
}
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/3] Write sources
[0/3] Copying PrivacyInfo.xcprivacy
[2/3] Write swift-version-2F0A5646E1D333AE.txt
[4/31] Emitting module Then
[5/33] Compiling Then WhenAll.swift
/Users/admin/builder/spi-builder-workspace/Sources/Then/WhenAll.swift:126:17: warning: capture of 'updates' with non-sendable type '(inout [T]) -> Void' in a '@Sendable' closure
124 |         func updateArray(_ updates: @escaping (_ result: inout [T]) -> Void) {
125 |             lockQueue.async {
126 |                 updates(&self._array)
    |                 |- warning: capture of 'updates' with non-sendable type '(inout [T]) -> Void' in a '@Sendable' closure
    |                 `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
127 |             }
128 |         }
/Users/admin/builder/spi-builder-workspace/Sources/Then/WhenAll.swift:126:26: warning: capture of 'self' with non-sendable type 'Promises.ArrayContainer<T>' in a '@Sendable' closure
118 |     }
119 |
120 |     private class ArrayContainer<T> {
    |                   `- note: generic class 'ArrayContainer' does not conform to the 'Sendable' protocol
121 |         private var _array: [T] = []
122 |         private let lockQueue = DispatchQueue(label: "com.freshOS.then.whenAll.lockQueue", qos: .userInitiated)
    :
124 |         func updateArray(_ updates: @escaping (_ result: inout [T]) -> Void) {
125 |             lockQueue.async {
126 |                 updates(&self._array)
    |                          `- warning: capture of 'self' with non-sendable type 'Promises.ArrayContainer<T>' in a '@Sendable' closure
127 |             }
128 |         }
[6/33] Compiling Then resource_bundle_accessor.swift
/Users/admin/builder/spi-builder-workspace/Sources/Then/WhenAll.swift:126:17: warning: capture of 'updates' with non-sendable type '(inout [T]) -> Void' in a '@Sendable' closure
124 |         func updateArray(_ updates: @escaping (_ result: inout [T]) -> Void) {
125 |             lockQueue.async {
126 |                 updates(&self._array)
    |                 |- warning: capture of 'updates' with non-sendable type '(inout [T]) -> Void' in a '@Sendable' closure
    |                 `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
127 |             }
128 |         }
/Users/admin/builder/spi-builder-workspace/Sources/Then/WhenAll.swift:126:26: warning: capture of 'self' with non-sendable type 'Promises.ArrayContainer<T>' in a '@Sendable' closure
118 |     }
119 |
120 |     private class ArrayContainer<T> {
    |                   `- note: generic class 'ArrayContainer' does not conform to the 'Sendable' protocol
121 |         private var _array: [T] = []
122 |         private let lockQueue = DispatchQueue(label: "com.freshOS.then.whenAll.lockQueue", qos: .userInitiated)
    :
124 |         func updateArray(_ updates: @escaping (_ result: inout [T]) -> Void) {
125 |             lockQueue.async {
126 |                 updates(&self._array)
    |                          `- warning: capture of 'self' with non-sendable type 'Promises.ArrayContainer<T>' in a '@Sendable' closure
127 |             }
128 |         }
[7/33] Compiling Then Promise+nil.swift
/Users/admin/builder/spi-builder-workspace/Sources/Then/Promise.swift:60:34: warning: passing non-sendable parameter 'action' to function expecting a @Sendable closure
 57 |     }
 58 |
 59 |     private func _asynchronize(_ action: @escaping () -> Void) {
    |                                  `- note: parameter 'action' is implicitly non-sendable
 60 |         lockQueue.async(execute: action)
    |                                  `- warning: passing non-sendable parameter 'action' to function expecting a @Sendable closure
 61 |     }
 62 |
[8/33] Compiling Then Promise.swift
/Users/admin/builder/spi-builder-workspace/Sources/Then/Promise.swift:60:34: warning: passing non-sendable parameter 'action' to function expecting a @Sendable closure
 57 |     }
 58 |
 59 |     private func _asynchronize(_ action: @escaping () -> Void) {
    |                                  `- note: parameter 'action' is implicitly non-sendable
 60 |         lockQueue.async(execute: action)
    |                                  `- warning: passing non-sendable parameter 'action' to function expecting a @Sendable closure
 61 |     }
 62 |
[9/33] Compiling Then PromiseBlocks.swift
/Users/admin/builder/spi-builder-workspace/Sources/Then/Promise.swift:60:34: warning: passing non-sendable parameter 'action' to function expecting a @Sendable closure
 57 |     }
 58 |
 59 |     private func _asynchronize(_ action: @escaping () -> Void) {
    |                                  `- note: parameter 'action' is implicitly non-sendable
 60 |         lockQueue.async(execute: action)
    |                                  `- warning: passing non-sendable parameter 'action' to function expecting a @Sendable closure
 61 |     }
 62 |
[10/33] Compiling Then Promise+Unwrap.swift
/Users/admin/builder/spi-builder-workspace/Sources/Then/Promise+Zip.swift:32:13: warning: capture of 'p1' with non-sendable type 'Promise<T>' in a '@Sendable' closure
 30 |         group.enter()
 31 |         concurentQueue.async {
 32 |             p1.then { aT in
    |             `- warning: capture of 'p1' with non-sendable type 'Promise<T>' in a '@Sendable' closure
 33 |                 localQueue.async(flags: .barrier) {
 34 |                     t = aT
/Users/admin/builder/spi-builder-workspace/Sources/Then/Promise.swift:26:14: note: generic class 'Promise' does not conform to the 'Sendable' protocol
 24 | }
 25 |
 26 | public class Promise<T> {
    |              `- note: generic class 'Promise' does not conform to the 'Sendable' protocol
 27 |
 28 |     // MARK: - Protected properties
/Users/admin/builder/spi-builder-workspace/Sources/Then/Promise+Zip.swift:34:21: warning: capture of 't' with non-sendable type 'T?' in a '@Sendable' closure
 12 | extension Promises {
 13 |
 14 |     public static func zip<T, U>(_ p1: Promise<T>, _ p2: Promise<U>) -> Promise<(T, U)> {
    |                            `- note: consider making generic parameter 'T' conform to the 'Sendable' protocol
 15 |
 16 |         let p = Promise<(T, U)>()
    :
 32 |             p1.then { aT in
 33 |                 localQueue.async(flags: .barrier) {
 34 |                     t = aT
    |                     `- warning: capture of 't' with non-sendable type 'T?' in a '@Sendable' closure
 35 |                 }
 36 |                 }.onError { e in
/Users/admin/builder/spi-builder-workspace/Sources/Then/Promise+Zip.swift:34:21: warning: capture of 't' with non-sendable type 'T?' in an isolated closure; this is an error in the Swift 6 language mode
 12 | extension Promises {
 13 |
 14 |     public static func zip<T, U>(_ p1: Promise<T>, _ p2: Promise<U>) -> Promise<(T, U)> {
    |                            `- note: consider making generic parameter 'T' conform to the 'Sendable' protocol
 15 |
 16 |         let p = Promise<(T, U)>()
    :
 32 |             p1.then { aT in
 33 |                 localQueue.async(flags: .barrier) {
 34 |                     t = aT
    |                     `- warning: capture of 't' with non-sendable type 'T?' in an isolated closure; this is an error in the Swift 6 language mode
 35 |                 }
 36 |                 }.onError { e in
/Users/admin/builder/spi-builder-workspace/Sources/Then/Promise+Zip.swift:34:21: warning: capture of 't' with non-sendable type 'T?' in a '@Sendable' closure
 12 | extension Promises {
 13 |
 14 |     public static func zip<T, U>(_ p1: Promise<T>, _ p2: Promise<U>) -> Promise<(T, U)> {
    |                            `- note: consider making generic parameter 'T' conform to the 'Sendable' protocol
 15 |
 16 |         let p = Promise<(T, U)>()
    :
 32 |             p1.then { aT in
 33 |                 localQueue.async(flags: .barrier) {
 34 |                     t = aT
    |                     `- warning: capture of 't' with non-sendable type 'T?' in a '@Sendable' closure
 35 |                 }
 36 |                 }.onError { e in
/Users/admin/builder/spi-builder-workspace/Sources/Then/Promise+Zip.swift:34:25: warning: capture of 'aT' with non-sendable type 'T' in a '@Sendable' closure
 12 | extension Promises {
 13 |
 14 |     public static func zip<T, U>(_ p1: Promise<T>, _ p2: Promise<U>) -> Promise<(T, U)> {
    |                            `- note: consider making generic parameter 'T' conform to the 'Sendable' protocol
 15 |
 16 |         let p = Promise<(T, U)>()
    :
 32 |             p1.then { aT in
 33 |                 localQueue.async(flags: .barrier) {
 34 |                     t = aT
    |                         `- warning: capture of 'aT' with non-sendable type 'T' in a '@Sendable' closure
 35 |                 }
 36 |                 }.onError { e in
/Users/admin/builder/spi-builder-workspace/Sources/Then/Promise+Zip.swift:34:21: warning: mutation of captured var 't' in concurrently-executing code
 32 |             p1.then { aT in
 33 |                 localQueue.async(flags: .barrier) {
 34 |                     t = aT
    |                     `- warning: mutation of captured var 't' in concurrently-executing code
 35 |                 }
 36 |                 }.onError { e in
/Users/admin/builder/spi-builder-workspace/Sources/Then/Promise+Zip.swift:38:25: warning: mutation of captured var 'error' in concurrently-executing code
 36 |                 }.onError { e in
 37 |                     localQueue.async(flags: .barrier) {
 38 |                         error = e
    |                         `- warning: mutation of captured var 'error' in concurrently-executing code
 39 |                     }
 40 |                 }.finally {
/Users/admin/builder/spi-builder-workspace/Sources/Then/Promise+Zip.swift:49:13: warning: capture of 'p2' with non-sendable type 'Promise<U>' in a '@Sendable' closure
 47 |         group.enter()
 48 |         concurentQueue.async {
 49 |             p2.then { aU in
    |             `- warning: capture of 'p2' with non-sendable type 'Promise<U>' in a '@Sendable' closure
 50 |                 localQueue.async(flags: .barrier) {
 51 |                     u = aU
/Users/admin/builder/spi-builder-workspace/Sources/Then/Promise.swift:26:14: note: generic class 'Promise' does not conform to the 'Sendable' protocol
 24 | }
 25 |
 26 | public class Promise<T> {
    |              `- note: generic class 'Promise' does not conform to the 'Sendable' protocol
 27 |
 28 |     // MARK: - Protected properties
/Users/admin/builder/spi-builder-workspace/Sources/Then/Promise+Zip.swift:51:21: warning: capture of 'u' with non-sendable type 'U?' in a '@Sendable' closure
 12 | extension Promises {
 13 |
 14 |     public static func zip<T, U>(_ p1: Promise<T>, _ p2: Promise<U>) -> Promise<(T, U)> {
    |                               `- note: consider making generic parameter 'U' conform to the 'Sendable' protocol
 15 |
 16 |         let p = Promise<(T, U)>()
    :
 49 |             p2.then { aU in
 50 |                 localQueue.async(flags: .barrier) {
 51 |                     u = aU
    |                     `- warning: capture of 'u' with non-sendable type 'U?' in a '@Sendable' closure
 52 |                 }
 53 |                 }.onError { e in
/Users/admin/builder/spi-builder-workspace/Sources/Then/Promise+Zip.swift:51:21: warning: capture of 'u' with non-sendable type 'U?' in an isolated closure; this is an error in the Swift 6 language mode
 12 | extension Promises {
 13 |
 14 |     public static func zip<T, U>(_ p1: Promise<T>, _ p2: Promise<U>) -> Promise<(T, U)> {
    |                               `- note: consider making generic parameter 'U' conform to the 'Sendable' protocol
 15 |
 16 |         let p = Promise<(T, U)>()
    :
 49 |             p2.then { aU in
 50 |                 localQueue.async(flags: .barrier) {
 51 |                     u = aU
    |                     `- warning: capture of 'u' with non-sendable type 'U?' in an isolated closure; this is an error in the Swift 6 language mode
 52 |                 }
 53 |                 }.onError { e in
/Users/admin/builder/spi-builder-workspace/Sources/Then/Promise+Zip.swift:51:21: warning: capture of 'u' with non-sendable type 'U?' in a '@Sendable' closure
 12 | extension Promises {
 13 |
 14 |     public static func zip<T, U>(_ p1: Promise<T>, _ p2: Promise<U>) -> Promise<(T, U)> {
    |                               `- note: consider making generic parameter 'U' conform to the 'Sendable' protocol
 15 |
 16 |         let p = Promise<(T, U)>()
    :
 49 |             p2.then { aU in
 50 |                 localQueue.async(flags: .barrier) {
 51 |                     u = aU
    |                     `- warning: capture of 'u' with non-sendable type 'U?' in a '@Sendable' closure
 52 |                 }
 53 |                 }.onError { e in
/Users/admin/builder/spi-builder-workspace/Sources/Then/Promise+Zip.swift:51:25: warning: capture of 'aU' with non-sendable type 'U' in a '@Sendable' closure
 12 | extension Promises {
 13 |
 14 |     public static func zip<T, U>(_ p1: Promise<T>, _ p2: Promise<U>) -> Promise<(T, U)> {
    |                               `- note: consider making generic parameter 'U' conform to the 'Sendable' protocol
 15 |
 16 |         let p = Promise<(T, U)>()
    :
 49 |             p2.then { aU in
 50 |                 localQueue.async(flags: .barrier) {
 51 |                     u = aU
    |                         `- warning: capture of 'aU' with non-sendable type 'U' in a '@Sendable' closure
 52 |                 }
 53 |                 }.onError { e in
/Users/admin/builder/spi-builder-workspace/Sources/Then/Promise+Zip.swift:51:21: warning: mutation of captured var 'u' in concurrently-executing code
 49 |             p2.then { aU in
 50 |                 localQueue.async(flags: .barrier) {
 51 |                     u = aU
    |                     `- warning: mutation of captured var 'u' in concurrently-executing code
 52 |                 }
 53 |                 }.onError { e in
/Users/admin/builder/spi-builder-workspace/Sources/Then/Promise+Zip.swift:55:25: warning: mutation of captured var 'error' in concurrently-executing code
 53 |                 }.onError { e in
 54 |                     localQueue.async(flags: .barrier) {
 55 |                         error = e
    |                         `- warning: mutation of captured var 'error' in concurrently-executing code
 56 |                     }
 57 |                 }.finally {
/Users/admin/builder/spi-builder-workspace/Sources/Then/Promise+Zip.swift:69:21: warning: capture of 'p' with non-sendable type 'Promise<(T, U)>' in a '@Sendable' closure
 67 |             localQueue.async {
 68 |                 if let e = error {
 69 |                     p.reject(e)
    |                     `- warning: capture of 'p' with non-sendable type 'Promise<(T, U)>' in a '@Sendable' closure
 70 |                 } else {
 71 |                     p.fulfill((t, u))
/Users/admin/builder/spi-builder-workspace/Sources/Then/Promise.swift:26:14: note: generic class 'Promise' does not conform to the 'Sendable' protocol
 24 | }
 25 |
 26 | public class Promise<T> {
    |              `- note: generic class 'Promise' does not conform to the 'Sendable' protocol
 27 |
 28 |     // MARK: - Protected properties
/Users/admin/builder/spi-builder-workspace/Sources/Then/Promise+Zip.swift:71:32: warning: capture of 't' with non-sendable type 'T?' in a '@Sendable' closure
 12 | extension Promises {
 13 |
 14 |     public static func zip<T, U>(_ p1: Promise<T>, _ p2: Promise<U>) -> Promise<(T, U)> {
    |                            `- note: consider making generic parameter 'T' conform to the 'Sendable' protocol
 15 |
 16 |         let p = Promise<(T, U)>()
    :
 69 |                     p.reject(e)
 70 |                 } else {
 71 |                     p.fulfill((t, u))
    |                                `- warning: capture of 't' with non-sendable type 'T?' in a '@Sendable' closure
 72 |                 }
 73 |             }
/Users/admin/builder/spi-builder-workspace/Sources/Then/Promise+Zip.swift:71:35: warning: capture of 'u' with non-sendable type 'U?' in a '@Sendable' closure
 12 | extension Promises {
 13 |
 14 |     public static func zip<T, U>(_ p1: Promise<T>, _ p2: Promise<U>) -> Promise<(T, U)> {
    |                               `- note: consider making generic parameter 'U' conform to the 'Sendable' protocol
 15 |
 16 |         let p = Promise<(T, U)>()
    :
 69 |                     p.reject(e)
 70 |                 } else {
 71 |                     p.fulfill((t, u))
    |                                   `- warning: capture of 'u' with non-sendable type 'U?' in a '@Sendable' closure
 72 |                 }
 73 |             }
/Users/admin/builder/spi-builder-workspace/Sources/Then/Promise+Zip.swift:68:28: warning: reference to captured var 'error' in concurrently-executing code
 66 |         group.notify(queue: queue) {
 67 |             localQueue.async {
 68 |                 if let e = error {
    |                            `- warning: reference to captured var 'error' in concurrently-executing code
 69 |                     p.reject(e)
 70 |                 } else {
/Users/admin/builder/spi-builder-workspace/Sources/Then/Promise+Zip.swift:71:32: warning: reference to captured var 't' in concurrently-executing code
 69 |                     p.reject(e)
 70 |                 } else {
 71 |                     p.fulfill((t, u))
    |                                `- warning: reference to captured var 't' in concurrently-executing code
 72 |                 }
 73 |             }
/Users/admin/builder/spi-builder-workspace/Sources/Then/Promise+Zip.swift:71:35: warning: reference to captured var 'u' in concurrently-executing code
 69 |                     p.reject(e)
 70 |                 } else {
 71 |                     p.fulfill((t, u))
    |                                   `- warning: reference to captured var 'u' in concurrently-executing code
 72 |                 }
 73 |             }
[11/33] Compiling Then Promise+Validate.swift
/Users/admin/builder/spi-builder-workspace/Sources/Then/Promise+Zip.swift:32:13: warning: capture of 'p1' with non-sendable type 'Promise<T>' in a '@Sendable' closure
 30 |         group.enter()
 31 |         concurentQueue.async {
 32 |             p1.then { aT in
    |             `- warning: capture of 'p1' with non-sendable type 'Promise<T>' in a '@Sendable' closure
 33 |                 localQueue.async(flags: .barrier) {
 34 |                     t = aT
/Users/admin/builder/spi-builder-workspace/Sources/Then/Promise.swift:26:14: note: generic class 'Promise' does not conform to the 'Sendable' protocol
 24 | }
 25 |
 26 | public class Promise<T> {
    |              `- note: generic class 'Promise' does not conform to the 'Sendable' protocol
 27 |
 28 |     // MARK: - Protected properties
/Users/admin/builder/spi-builder-workspace/Sources/Then/Promise+Zip.swift:34:21: warning: capture of 't' with non-sendable type 'T?' in a '@Sendable' closure
 12 | extension Promises {
 13 |
 14 |     public static func zip<T, U>(_ p1: Promise<T>, _ p2: Promise<U>) -> Promise<(T, U)> {
    |                            `- note: consider making generic parameter 'T' conform to the 'Sendable' protocol
 15 |
 16 |         let p = Promise<(T, U)>()
    :
 32 |             p1.then { aT in
 33 |                 localQueue.async(flags: .barrier) {
 34 |                     t = aT
    |                     `- warning: capture of 't' with non-sendable type 'T?' in a '@Sendable' closure
 35 |                 }
 36 |                 }.onError { e in
/Users/admin/builder/spi-builder-workspace/Sources/Then/Promise+Zip.swift:34:21: warning: capture of 't' with non-sendable type 'T?' in an isolated closure; this is an error in the Swift 6 language mode
 12 | extension Promises {
 13 |
 14 |     public static func zip<T, U>(_ p1: Promise<T>, _ p2: Promise<U>) -> Promise<(T, U)> {
    |                            `- note: consider making generic parameter 'T' conform to the 'Sendable' protocol
 15 |
 16 |         let p = Promise<(T, U)>()
    :
 32 |             p1.then { aT in
 33 |                 localQueue.async(flags: .barrier) {
 34 |                     t = aT
    |                     `- warning: capture of 't' with non-sendable type 'T?' in an isolated closure; this is an error in the Swift 6 language mode
 35 |                 }
 36 |                 }.onError { e in
/Users/admin/builder/spi-builder-workspace/Sources/Then/Promise+Zip.swift:34:21: warning: capture of 't' with non-sendable type 'T?' in a '@Sendable' closure
 12 | extension Promises {
 13 |
 14 |     public static func zip<T, U>(_ p1: Promise<T>, _ p2: Promise<U>) -> Promise<(T, U)> {
    |                            `- note: consider making generic parameter 'T' conform to the 'Sendable' protocol
 15 |
 16 |         let p = Promise<(T, U)>()
    :
 32 |             p1.then { aT in
 33 |                 localQueue.async(flags: .barrier) {
 34 |                     t = aT
    |                     `- warning: capture of 't' with non-sendable type 'T?' in a '@Sendable' closure
 35 |                 }
 36 |                 }.onError { e in
/Users/admin/builder/spi-builder-workspace/Sources/Then/Promise+Zip.swift:34:25: warning: capture of 'aT' with non-sendable type 'T' in a '@Sendable' closure
 12 | extension Promises {
 13 |
 14 |     public static func zip<T, U>(_ p1: Promise<T>, _ p2: Promise<U>) -> Promise<(T, U)> {
    |                            `- note: consider making generic parameter 'T' conform to the 'Sendable' protocol
 15 |
 16 |         let p = Promise<(T, U)>()
    :
 32 |             p1.then { aT in
 33 |                 localQueue.async(flags: .barrier) {
 34 |                     t = aT
    |                         `- warning: capture of 'aT' with non-sendable type 'T' in a '@Sendable' closure
 35 |                 }
 36 |                 }.onError { e in
/Users/admin/builder/spi-builder-workspace/Sources/Then/Promise+Zip.swift:34:21: warning: mutation of captured var 't' in concurrently-executing code
 32 |             p1.then { aT in
 33 |                 localQueue.async(flags: .barrier) {
 34 |                     t = aT
    |                     `- warning: mutation of captured var 't' in concurrently-executing code
 35 |                 }
 36 |                 }.onError { e in
/Users/admin/builder/spi-builder-workspace/Sources/Then/Promise+Zip.swift:38:25: warning: mutation of captured var 'error' in concurrently-executing code
 36 |                 }.onError { e in
 37 |                     localQueue.async(flags: .barrier) {
 38 |                         error = e
    |                         `- warning: mutation of captured var 'error' in concurrently-executing code
 39 |                     }
 40 |                 }.finally {
/Users/admin/builder/spi-builder-workspace/Sources/Then/Promise+Zip.swift:49:13: warning: capture of 'p2' with non-sendable type 'Promise<U>' in a '@Sendable' closure
 47 |         group.enter()
 48 |         concurentQueue.async {
 49 |             p2.then { aU in
    |             `- warning: capture of 'p2' with non-sendable type 'Promise<U>' in a '@Sendable' closure
 50 |                 localQueue.async(flags: .barrier) {
 51 |                     u = aU
/Users/admin/builder/spi-builder-workspace/Sources/Then/Promise.swift:26:14: note: generic class 'Promise' does not conform to the 'Sendable' protocol
 24 | }
 25 |
 26 | public class Promise<T> {
    |              `- note: generic class 'Promise' does not conform to the 'Sendable' protocol
 27 |
 28 |     // MARK: - Protected properties
/Users/admin/builder/spi-builder-workspace/Sources/Then/Promise+Zip.swift:51:21: warning: capture of 'u' with non-sendable type 'U?' in a '@Sendable' closure
 12 | extension Promises {
 13 |
 14 |     public static func zip<T, U>(_ p1: Promise<T>, _ p2: Promise<U>) -> Promise<(T, U)> {
    |                               `- note: consider making generic parameter 'U' conform to the 'Sendable' protocol
 15 |
 16 |         let p = Promise<(T, U)>()
    :
 49 |             p2.then { aU in
 50 |                 localQueue.async(flags: .barrier) {
 51 |                     u = aU
    |                     `- warning: capture of 'u' with non-sendable type 'U?' in a '@Sendable' closure
 52 |                 }
 53 |                 }.onError { e in
/Users/admin/builder/spi-builder-workspace/Sources/Then/Promise+Zip.swift:51:21: warning: capture of 'u' with non-sendable type 'U?' in an isolated closure; this is an error in the Swift 6 language mode
 12 | extension Promises {
 13 |
 14 |     public static func zip<T, U>(_ p1: Promise<T>, _ p2: Promise<U>) -> Promise<(T, U)> {
    |                               `- note: consider making generic parameter 'U' conform to the 'Sendable' protocol
 15 |
 16 |         let p = Promise<(T, U)>()
    :
 49 |             p2.then { aU in
 50 |                 localQueue.async(flags: .barrier) {
 51 |                     u = aU
    |                     `- warning: capture of 'u' with non-sendable type 'U?' in an isolated closure; this is an error in the Swift 6 language mode
 52 |                 }
 53 |                 }.onError { e in
/Users/admin/builder/spi-builder-workspace/Sources/Then/Promise+Zip.swift:51:21: warning: capture of 'u' with non-sendable type 'U?' in a '@Sendable' closure
 12 | extension Promises {
 13 |
 14 |     public static func zip<T, U>(_ p1: Promise<T>, _ p2: Promise<U>) -> Promise<(T, U)> {
    |                               `- note: consider making generic parameter 'U' conform to the 'Sendable' protocol
 15 |
 16 |         let p = Promise<(T, U)>()
    :
 49 |             p2.then { aU in
 50 |                 localQueue.async(flags: .barrier) {
 51 |                     u = aU
    |                     `- warning: capture of 'u' with non-sendable type 'U?' in a '@Sendable' closure
 52 |                 }
 53 |                 }.onError { e in
/Users/admin/builder/spi-builder-workspace/Sources/Then/Promise+Zip.swift:51:25: warning: capture of 'aU' with non-sendable type 'U' in a '@Sendable' closure
 12 | extension Promises {
 13 |
 14 |     public static func zip<T, U>(_ p1: Promise<T>, _ p2: Promise<U>) -> Promise<(T, U)> {
    |                               `- note: consider making generic parameter 'U' conform to the 'Sendable' protocol
 15 |
 16 |         let p = Promise<(T, U)>()
    :
 49 |             p2.then { aU in
 50 |                 localQueue.async(flags: .barrier) {
 51 |                     u = aU
    |                         `- warning: capture of 'aU' with non-sendable type 'U' in a '@Sendable' closure
 52 |                 }
 53 |                 }.onError { e in
/Users/admin/builder/spi-builder-workspace/Sources/Then/Promise+Zip.swift:51:21: warning: mutation of captured var 'u' in concurrently-executing code
 49 |             p2.then { aU in
 50 |                 localQueue.async(flags: .barrier) {
 51 |                     u = aU
    |                     `- warning: mutation of captured var 'u' in concurrently-executing code
 52 |                 }
 53 |                 }.onError { e in
/Users/admin/builder/spi-builder-workspace/Sources/Then/Promise+Zip.swift:55:25: warning: mutation of captured var 'error' in concurrently-executing code
 53 |                 }.onError { e in
 54 |                     localQueue.async(flags: .barrier) {
 55 |                         error = e
    |                         `- warning: mutation of captured var 'error' in concurrently-executing code
 56 |                     }
 57 |                 }.finally {
/Users/admin/builder/spi-builder-workspace/Sources/Then/Promise+Zip.swift:69:21: warning: capture of 'p' with non-sendable type 'Promise<(T, U)>' in a '@Sendable' closure
 67 |             localQueue.async {
 68 |                 if let e = error {
 69 |                     p.reject(e)
    |                     `- warning: capture of 'p' with non-sendable type 'Promise<(T, U)>' in a '@Sendable' closure
 70 |                 } else {
 71 |                     p.fulfill((t, u))
/Users/admin/builder/spi-builder-workspace/Sources/Then/Promise.swift:26:14: note: generic class 'Promise' does not conform to the 'Sendable' protocol
 24 | }
 25 |
 26 | public class Promise<T> {
    |              `- note: generic class 'Promise' does not conform to the 'Sendable' protocol
 27 |
 28 |     // MARK: - Protected properties
/Users/admin/builder/spi-builder-workspace/Sources/Then/Promise+Zip.swift:71:32: warning: capture of 't' with non-sendable type 'T?' in a '@Sendable' closure
 12 | extension Promises {
 13 |
 14 |     public static func zip<T, U>(_ p1: Promise<T>, _ p2: Promise<U>) -> Promise<(T, U)> {
    |                            `- note: consider making generic parameter 'T' conform to the 'Sendable' protocol
 15 |
 16 |         let p = Promise<(T, U)>()
    :
 69 |                     p.reject(e)
 70 |                 } else {
 71 |                     p.fulfill((t, u))
    |                                `- warning: capture of 't' with non-sendable type 'T?' in a '@Sendable' closure
 72 |                 }
 73 |             }
/Users/admin/builder/spi-builder-workspace/Sources/Then/Promise+Zip.swift:71:35: warning: capture of 'u' with non-sendable type 'U?' in a '@Sendable' closure
 12 | extension Promises {
 13 |
 14 |     public static func zip<T, U>(_ p1: Promise<T>, _ p2: Promise<U>) -> Promise<(T, U)> {
    |                               `- note: consider making generic parameter 'U' conform to the 'Sendable' protocol
 15 |
 16 |         let p = Promise<(T, U)>()
    :
 69 |                     p.reject(e)
 70 |                 } else {
 71 |                     p.fulfill((t, u))
    |                                   `- warning: capture of 'u' with non-sendable type 'U?' in a '@Sendable' closure
 72 |                 }
 73 |             }
/Users/admin/builder/spi-builder-workspace/Sources/Then/Promise+Zip.swift:68:28: warning: reference to captured var 'error' in concurrently-executing code
 66 |         group.notify(queue: queue) {
 67 |             localQueue.async {
 68 |                 if let e = error {
    |                            `- warning: reference to captured var 'error' in concurrently-executing code
 69 |                     p.reject(e)
 70 |                 } else {
/Users/admin/builder/spi-builder-workspace/Sources/Then/Promise+Zip.swift:71:32: warning: reference to captured var 't' in concurrently-executing code
 69 |                     p.reject(e)
 70 |                 } else {
 71 |                     p.fulfill((t, u))
    |                                `- warning: reference to captured var 't' in concurrently-executing code
 72 |                 }
 73 |             }
/Users/admin/builder/spi-builder-workspace/Sources/Then/Promise+Zip.swift:71:35: warning: reference to captured var 'u' in concurrently-executing code
 69 |                     p.reject(e)
 70 |                 } else {
 71 |                     p.fulfill((t, u))
    |                                   `- warning: reference to captured var 'u' in concurrently-executing code
 72 |                 }
 73 |             }
[12/33] Compiling Then Promise+Zip.swift
/Users/admin/builder/spi-builder-workspace/Sources/Then/Promise+Zip.swift:32:13: warning: capture of 'p1' with non-sendable type 'Promise<T>' in a '@Sendable' closure
 30 |         group.enter()
 31 |         concurentQueue.async {
 32 |             p1.then { aT in
    |             `- warning: capture of 'p1' with non-sendable type 'Promise<T>' in a '@Sendable' closure
 33 |                 localQueue.async(flags: .barrier) {
 34 |                     t = aT
/Users/admin/builder/spi-builder-workspace/Sources/Then/Promise.swift:26:14: note: generic class 'Promise' does not conform to the 'Sendable' protocol
 24 | }
 25 |
 26 | public class Promise<T> {
    |              `- note: generic class 'Promise' does not conform to the 'Sendable' protocol
 27 |
 28 |     // MARK: - Protected properties
/Users/admin/builder/spi-builder-workspace/Sources/Then/Promise+Zip.swift:34:21: warning: capture of 't' with non-sendable type 'T?' in a '@Sendable' closure
 12 | extension Promises {
 13 |
 14 |     public static func zip<T, U>(_ p1: Promise<T>, _ p2: Promise<U>) -> Promise<(T, U)> {
    |                            `- note: consider making generic parameter 'T' conform to the 'Sendable' protocol
 15 |
 16 |         let p = Promise<(T, U)>()
    :
 32 |             p1.then { aT in
 33 |                 localQueue.async(flags: .barrier) {
 34 |                     t = aT
    |                     `- warning: capture of 't' with non-sendable type 'T?' in a '@Sendable' closure
 35 |                 }
 36 |                 }.onError { e in
/Users/admin/builder/spi-builder-workspace/Sources/Then/Promise+Zip.swift:34:21: warning: capture of 't' with non-sendable type 'T?' in an isolated closure; this is an error in the Swift 6 language mode
 12 | extension Promises {
 13 |
 14 |     public static func zip<T, U>(_ p1: Promise<T>, _ p2: Promise<U>) -> Promise<(T, U)> {
    |                            `- note: consider making generic parameter 'T' conform to the 'Sendable' protocol
 15 |
 16 |         let p = Promise<(T, U)>()
    :
 32 |             p1.then { aT in
 33 |                 localQueue.async(flags: .barrier) {
 34 |                     t = aT
    |                     `- warning: capture of 't' with non-sendable type 'T?' in an isolated closure; this is an error in the Swift 6 language mode
 35 |                 }
 36 |                 }.onError { e in
/Users/admin/builder/spi-builder-workspace/Sources/Then/Promise+Zip.swift:34:21: warning: capture of 't' with non-sendable type 'T?' in a '@Sendable' closure
 12 | extension Promises {
 13 |
 14 |     public static func zip<T, U>(_ p1: Promise<T>, _ p2: Promise<U>) -> Promise<(T, U)> {
    |                            `- note: consider making generic parameter 'T' conform to the 'Sendable' protocol
 15 |
 16 |         let p = Promise<(T, U)>()
    :
 32 |             p1.then { aT in
 33 |                 localQueue.async(flags: .barrier) {
 34 |                     t = aT
    |                     `- warning: capture of 't' with non-sendable type 'T?' in a '@Sendable' closure
 35 |                 }
 36 |                 }.onError { e in
/Users/admin/builder/spi-builder-workspace/Sources/Then/Promise+Zip.swift:34:25: warning: capture of 'aT' with non-sendable type 'T' in a '@Sendable' closure
 12 | extension Promises {
 13 |
 14 |     public static func zip<T, U>(_ p1: Promise<T>, _ p2: Promise<U>) -> Promise<(T, U)> {
    |                            `- note: consider making generic parameter 'T' conform to the 'Sendable' protocol
 15 |
 16 |         let p = Promise<(T, U)>()
    :
 32 |             p1.then { aT in
 33 |                 localQueue.async(flags: .barrier) {
 34 |                     t = aT
    |                         `- warning: capture of 'aT' with non-sendable type 'T' in a '@Sendable' closure
 35 |                 }
 36 |                 }.onError { e in
/Users/admin/builder/spi-builder-workspace/Sources/Then/Promise+Zip.swift:34:21: warning: mutation of captured var 't' in concurrently-executing code
 32 |             p1.then { aT in
 33 |                 localQueue.async(flags: .barrier) {
 34 |                     t = aT
    |                     `- warning: mutation of captured var 't' in concurrently-executing code
 35 |                 }
 36 |                 }.onError { e in
/Users/admin/builder/spi-builder-workspace/Sources/Then/Promise+Zip.swift:38:25: warning: mutation of captured var 'error' in concurrently-executing code
 36 |                 }.onError { e in
 37 |                     localQueue.async(flags: .barrier) {
 38 |                         error = e
    |                         `- warning: mutation of captured var 'error' in concurrently-executing code
 39 |                     }
 40 |                 }.finally {
/Users/admin/builder/spi-builder-workspace/Sources/Then/Promise+Zip.swift:49:13: warning: capture of 'p2' with non-sendable type 'Promise<U>' in a '@Sendable' closure
 47 |         group.enter()
 48 |         concurentQueue.async {
 49 |             p2.then { aU in
    |             `- warning: capture of 'p2' with non-sendable type 'Promise<U>' in a '@Sendable' closure
 50 |                 localQueue.async(flags: .barrier) {
 51 |                     u = aU
/Users/admin/builder/spi-builder-workspace/Sources/Then/Promise.swift:26:14: note: generic class 'Promise' does not conform to the 'Sendable' protocol
 24 | }
 25 |
 26 | public class Promise<T> {
    |              `- note: generic class 'Promise' does not conform to the 'Sendable' protocol
 27 |
 28 |     // MARK: - Protected properties
/Users/admin/builder/spi-builder-workspace/Sources/Then/Promise+Zip.swift:51:21: warning: capture of 'u' with non-sendable type 'U?' in a '@Sendable' closure
 12 | extension Promises {
 13 |
 14 |     public static func zip<T, U>(_ p1: Promise<T>, _ p2: Promise<U>) -> Promise<(T, U)> {
    |                               `- note: consider making generic parameter 'U' conform to the 'Sendable' protocol
 15 |
 16 |         let p = Promise<(T, U)>()
    :
 49 |             p2.then { aU in
 50 |                 localQueue.async(flags: .barrier) {
 51 |                     u = aU
    |                     `- warning: capture of 'u' with non-sendable type 'U?' in a '@Sendable' closure
 52 |                 }
 53 |                 }.onError { e in
/Users/admin/builder/spi-builder-workspace/Sources/Then/Promise+Zip.swift:51:21: warning: capture of 'u' with non-sendable type 'U?' in an isolated closure; this is an error in the Swift 6 language mode
 12 | extension Promises {
 13 |
 14 |     public static func zip<T, U>(_ p1: Promise<T>, _ p2: Promise<U>) -> Promise<(T, U)> {
    |                               `- note: consider making generic parameter 'U' conform to the 'Sendable' protocol
 15 |
 16 |         let p = Promise<(T, U)>()
    :
 49 |             p2.then { aU in
 50 |                 localQueue.async(flags: .barrier) {
 51 |                     u = aU
    |                     `- warning: capture of 'u' with non-sendable type 'U?' in an isolated closure; this is an error in the Swift 6 language mode
 52 |                 }
 53 |                 }.onError { e in
/Users/admin/builder/spi-builder-workspace/Sources/Then/Promise+Zip.swift:51:21: warning: capture of 'u' with non-sendable type 'U?' in a '@Sendable' closure
 12 | extension Promises {
 13 |
 14 |     public static func zip<T, U>(_ p1: Promise<T>, _ p2: Promise<U>) -> Promise<(T, U)> {
    |                               `- note: consider making generic parameter 'U' conform to the 'Sendable' protocol
 15 |
 16 |         let p = Promise<(T, U)>()
    :
 49 |             p2.then { aU in
 50 |                 localQueue.async(flags: .barrier) {
 51 |                     u = aU
    |                     `- warning: capture of 'u' with non-sendable type 'U?' in a '@Sendable' closure
 52 |                 }
 53 |                 }.onError { e in
/Users/admin/builder/spi-builder-workspace/Sources/Then/Promise+Zip.swift:51:25: warning: capture of 'aU' with non-sendable type 'U' in a '@Sendable' closure
 12 | extension Promises {
 13 |
 14 |     public static func zip<T, U>(_ p1: Promise<T>, _ p2: Promise<U>) -> Promise<(T, U)> {
    |                               `- note: consider making generic parameter 'U' conform to the 'Sendable' protocol
 15 |
 16 |         let p = Promise<(T, U)>()
    :
 49 |             p2.then { aU in
 50 |                 localQueue.async(flags: .barrier) {
 51 |                     u = aU
    |                         `- warning: capture of 'aU' with non-sendable type 'U' in a '@Sendable' closure
 52 |                 }
 53 |                 }.onError { e in
/Users/admin/builder/spi-builder-workspace/Sources/Then/Promise+Zip.swift:51:21: warning: mutation of captured var 'u' in concurrently-executing code
 49 |             p2.then { aU in
 50 |                 localQueue.async(flags: .barrier) {
 51 |                     u = aU
    |                     `- warning: mutation of captured var 'u' in concurrently-executing code
 52 |                 }
 53 |                 }.onError { e in
/Users/admin/builder/spi-builder-workspace/Sources/Then/Promise+Zip.swift:55:25: warning: mutation of captured var 'error' in concurrently-executing code
 53 |                 }.onError { e in
 54 |                     localQueue.async(flags: .barrier) {
 55 |                         error = e
    |                         `- warning: mutation of captured var 'error' in concurrently-executing code
 56 |                     }
 57 |                 }.finally {
/Users/admin/builder/spi-builder-workspace/Sources/Then/Promise+Zip.swift:69:21: warning: capture of 'p' with non-sendable type 'Promise<(T, U)>' in a '@Sendable' closure
 67 |             localQueue.async {
 68 |                 if let e = error {
 69 |                     p.reject(e)
    |                     `- warning: capture of 'p' with non-sendable type 'Promise<(T, U)>' in a '@Sendable' closure
 70 |                 } else {
 71 |                     p.fulfill((t, u))
/Users/admin/builder/spi-builder-workspace/Sources/Then/Promise.swift:26:14: note: generic class 'Promise' does not conform to the 'Sendable' protocol
 24 | }
 25 |
 26 | public class Promise<T> {
    |              `- note: generic class 'Promise' does not conform to the 'Sendable' protocol
 27 |
 28 |     // MARK: - Protected properties
/Users/admin/builder/spi-builder-workspace/Sources/Then/Promise+Zip.swift:71:32: warning: capture of 't' with non-sendable type 'T?' in a '@Sendable' closure
 12 | extension Promises {
 13 |
 14 |     public static func zip<T, U>(_ p1: Promise<T>, _ p2: Promise<U>) -> Promise<(T, U)> {
    |                            `- note: consider making generic parameter 'T' conform to the 'Sendable' protocol
 15 |
 16 |         let p = Promise<(T, U)>()
    :
 69 |                     p.reject(e)
 70 |                 } else {
 71 |                     p.fulfill((t, u))
    |                                `- warning: capture of 't' with non-sendable type 'T?' in a '@Sendable' closure
 72 |                 }
 73 |             }
/Users/admin/builder/spi-builder-workspace/Sources/Then/Promise+Zip.swift:71:35: warning: capture of 'u' with non-sendable type 'U?' in a '@Sendable' closure
 12 | extension Promises {
 13 |
 14 |     public static func zip<T, U>(_ p1: Promise<T>, _ p2: Promise<U>) -> Promise<(T, U)> {
    |                               `- note: consider making generic parameter 'U' conform to the 'Sendable' protocol
 15 |
 16 |         let p = Promise<(T, U)>()
    :
 69 |                     p.reject(e)
 70 |                 } else {
 71 |                     p.fulfill((t, u))
    |                                   `- warning: capture of 'u' with non-sendable type 'U?' in a '@Sendable' closure
 72 |                 }
 73 |             }
/Users/admin/builder/spi-builder-workspace/Sources/Then/Promise+Zip.swift:68:28: warning: reference to captured var 'error' in concurrently-executing code
 66 |         group.notify(queue: queue) {
 67 |             localQueue.async {
 68 |                 if let e = error {
    |                            `- warning: reference to captured var 'error' in concurrently-executing code
 69 |                     p.reject(e)
 70 |                 } else {
/Users/admin/builder/spi-builder-workspace/Sources/Then/Promise+Zip.swift:71:32: warning: reference to captured var 't' in concurrently-executing code
 69 |                     p.reject(e)
 70 |                 } else {
 71 |                     p.fulfill((t, u))
    |                                `- warning: reference to captured var 't' in concurrently-executing code
 72 |                 }
 73 |             }
/Users/admin/builder/spi-builder-workspace/Sources/Then/Promise+Zip.swift:71:35: warning: reference to captured var 'u' in concurrently-executing code
 69 |                     p.reject(e)
 70 |                 } else {
 71 |                     p.fulfill((t, u))
    |                                   `- warning: reference to captured var 'u' in concurrently-executing code
 72 |                 }
 73 |             }
[13/33] Compiling Then Promise+Progress.swift
[14/33] Compiling Then Promise+Race.swift
[15/33] Compiling Then Promise+Recover.swift
[16/33] Compiling Then Promise+Retry.swift
[17/33] Compiling Then Promise+Then.swift
[18/33] Compiling Then Promise+Timeout.swift
[19/33] Compiling Then Promise+Delay.swift
/Users/admin/builder/spi-builder-workspace/Sources/Then/Promise+Delay.swift:42:21: warning: capture of 'block' with non-sendable type '() -> Void' in a '@Sendable' closure
40 |             DispatchQueue.global(qos: DispatchQoS.QoSClass.userInitiated).asyncAfter(deadline: .now() + time) {
41 |                 callingQueue.async {
42 |                     block()
   |                     |- warning: capture of 'block' with non-sendable type '() -> Void' in a '@Sendable' closure
   |                     `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
43 |                 }
44 |             }
/Users/admin/builder/spi-builder-workspace/Sources/Then/Promise+Delay.swift:42:21: warning: capture of 'block' with non-sendable type '() -> Void' in a '@Sendable' closure
40 |             DispatchQueue.global(qos: DispatchQoS.QoSClass.userInitiated).asyncAfter(deadline: .now() + time) {
41 |                 callingQueue.async {
42 |                     block()
   |                     |- warning: capture of 'block' with non-sendable type '() -> Void' in a '@Sendable' closure
   |                     `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
43 |                 }
44 |             }
/Users/admin/builder/spi-builder-workspace/Sources/Then/Promise+Delay.swift:47:17: warning: capture of 'block' with non-sendable type '() -> Void' in a '@Sendable' closure
45 |         } else {
46 |             DispatchQueue.global(qos: .userInitiated).asyncAfter(deadline: .now() + time) {
47 |                 block()
   |                 |- warning: capture of 'block' with non-sendable type '() -> Void' in a '@Sendable' closure
   |                 `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
48 |             }
49 |         }
[20/33] Compiling Then Promise+Error.swift
/Users/admin/builder/spi-builder-workspace/Sources/Then/Promise+Delay.swift:42:21: warning: capture of 'block' with non-sendable type '() -> Void' in a '@Sendable' closure
40 |             DispatchQueue.global(qos: DispatchQoS.QoSClass.userInitiated).asyncAfter(deadline: .now() + time) {
41 |                 callingQueue.async {
42 |                     block()
   |                     |- warning: capture of 'block' with non-sendable type '() -> Void' in a '@Sendable' closure
   |                     `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
43 |                 }
44 |             }
/Users/admin/builder/spi-builder-workspace/Sources/Then/Promise+Delay.swift:42:21: warning: capture of 'block' with non-sendable type '() -> Void' in a '@Sendable' closure
40 |             DispatchQueue.global(qos: DispatchQoS.QoSClass.userInitiated).asyncAfter(deadline: .now() + time) {
41 |                 callingQueue.async {
42 |                     block()
   |                     |- warning: capture of 'block' with non-sendable type '() -> Void' in a '@Sendable' closure
   |                     `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
43 |                 }
44 |             }
/Users/admin/builder/spi-builder-workspace/Sources/Then/Promise+Delay.swift:47:17: warning: capture of 'block' with non-sendable type '() -> Void' in a '@Sendable' closure
45 |         } else {
46 |             DispatchQueue.global(qos: .userInitiated).asyncAfter(deadline: .now() + time) {
47 |                 block()
   |                 |- warning: capture of 'block' with non-sendable type '() -> Void' in a '@Sendable' closure
   |                 `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
48 |             }
49 |         }
[21/33] Compiling Then Promise+Finally.swift
/Users/admin/builder/spi-builder-workspace/Sources/Then/Promise+Delay.swift:42:21: warning: capture of 'block' with non-sendable type '() -> Void' in a '@Sendable' closure
40 |             DispatchQueue.global(qos: DispatchQoS.QoSClass.userInitiated).asyncAfter(deadline: .now() + time) {
41 |                 callingQueue.async {
42 |                     block()
   |                     |- warning: capture of 'block' with non-sendable type '() -> Void' in a '@Sendable' closure
   |                     `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
43 |                 }
44 |             }
/Users/admin/builder/spi-builder-workspace/Sources/Then/Promise+Delay.swift:42:21: warning: capture of 'block' with non-sendable type '() -> Void' in a '@Sendable' closure
40 |             DispatchQueue.global(qos: DispatchQoS.QoSClass.userInitiated).asyncAfter(deadline: .now() + time) {
41 |                 callingQueue.async {
42 |                     block()
   |                     |- warning: capture of 'block' with non-sendable type '() -> Void' in a '@Sendable' closure
   |                     `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
43 |                 }
44 |             }
/Users/admin/builder/spi-builder-workspace/Sources/Then/Promise+Delay.swift:47:17: warning: capture of 'block' with non-sendable type '() -> Void' in a '@Sendable' closure
45 |         } else {
46 |             DispatchQueue.global(qos: .userInitiated).asyncAfter(deadline: .now() + time) {
47 |                 block()
   |                 |- warning: capture of 'block' with non-sendable type '() -> Void' in a '@Sendable' closure
   |                 `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
48 |             }
49 |         }
[22/33] Compiling Then PromiseError.swift
[23/33] Compiling Then PromiseState.swift
[24/33] Compiling Then VoidPromise.swift
[25/33] Compiling Then Promise+First.swift
[26/33] Compiling Then Promise+Helpers.swift
[27/33] Compiling Then Promise+NoMatterWhat.swift
[28/33] Compiling Then Async.swift
/Users/admin/builder/spi-builder-workspace/Sources/Then/Async.swift:17:29: warning: capture of 'block' with non-sendable type '() throws -> T' in a '@Sendable' closure
15 |         DispatchQueue(label: "then.async.queue", attributes: .concurrent).async {
16 |             do {
17 |                 let t = try block()
   |                             |- warning: capture of 'block' with non-sendable type '() throws -> T' in a '@Sendable' closure
   |                             `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
18 |                 resolve(t)
19 |             } catch {
/Users/admin/builder/spi-builder-workspace/Sources/Then/Async.swift:18:17: warning: capture of 'resolve' with non-sendable type '(T) -> Void' in a '@Sendable' closure
16 |             do {
17 |                 let t = try block()
18 |                 resolve(t)
   |                 |- warning: capture of 'resolve' with non-sendable type '(T) -> Void' in a '@Sendable' closure
   |                 `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
19 |             } catch {
20 |                 reject(error)
/Users/admin/builder/spi-builder-workspace/Sources/Then/Async.swift:20:17: warning: capture of 'reject' with non-sendable type '(any Error) -> Void' in a '@Sendable' closure
18 |                 resolve(t)
19 |             } catch {
20 |                 reject(error)
   |                 |- warning: capture of 'reject' with non-sendable type '(any Error) -> Void' in a '@Sendable' closure
   |                 `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
21 |             }
22 |         }
[29/33] Compiling Then Await+Operators.swift
/Users/admin/builder/spi-builder-workspace/Sources/Then/Async.swift:17:29: warning: capture of 'block' with non-sendable type '() throws -> T' in a '@Sendable' closure
15 |         DispatchQueue(label: "then.async.queue", attributes: .concurrent).async {
16 |             do {
17 |                 let t = try block()
   |                             |- warning: capture of 'block' with non-sendable type '() throws -> T' in a '@Sendable' closure
   |                             `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
18 |                 resolve(t)
19 |             } catch {
/Users/admin/builder/spi-builder-workspace/Sources/Then/Async.swift:18:17: warning: capture of 'resolve' with non-sendable type '(T) -> Void' in a '@Sendable' closure
16 |             do {
17 |                 let t = try block()
18 |                 resolve(t)
   |                 |- warning: capture of 'resolve' with non-sendable type '(T) -> Void' in a '@Sendable' closure
   |                 `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
19 |             } catch {
20 |                 reject(error)
/Users/admin/builder/spi-builder-workspace/Sources/Then/Async.swift:20:17: warning: capture of 'reject' with non-sendable type '(any Error) -> Void' in a '@Sendable' closure
18 |                 resolve(t)
19 |             } catch {
20 |                 reject(error)
   |                 |- warning: capture of 'reject' with non-sendable type '(any Error) -> Void' in a '@Sendable' closure
   |                 `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
21 |             }
22 |         }
[30/33] Compiling Then Await.swift
/Users/admin/builder/spi-builder-workspace/Sources/Then/Async.swift:17:29: warning: capture of 'block' with non-sendable type '() throws -> T' in a '@Sendable' closure
15 |         DispatchQueue(label: "then.async.queue", attributes: .concurrent).async {
16 |             do {
17 |                 let t = try block()
   |                             |- warning: capture of 'block' with non-sendable type '() throws -> T' in a '@Sendable' closure
   |                             `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
18 |                 resolve(t)
19 |             } catch {
/Users/admin/builder/spi-builder-workspace/Sources/Then/Async.swift:18:17: warning: capture of 'resolve' with non-sendable type '(T) -> Void' in a '@Sendable' closure
16 |             do {
17 |                 let t = try block()
18 |                 resolve(t)
   |                 |- warning: capture of 'resolve' with non-sendable type '(T) -> Void' in a '@Sendable' closure
   |                 `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
19 |             } catch {
20 |                 reject(error)
/Users/admin/builder/spi-builder-workspace/Sources/Then/Async.swift:20:17: warning: capture of 'reject' with non-sendable type '(any Error) -> Void' in a '@Sendable' closure
18 |                 resolve(t)
19 |             } catch {
20 |                 reject(error)
   |                 |- warning: capture of 'reject' with non-sendable type '(any Error) -> Void' in a '@Sendable' closure
   |                 `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
21 |             }
22 |         }
[31/33] Compiling Then Promise+Aliases.swift
[32/33] Compiling Then Promise+BridgeError.swift
[33/33] Compiling Then Promise+Chain.swift
Build complete! (6.45s)
Build complete.
{
  "dependencies" : [
  ],
  "manifest_display_name" : "Then",
  "name" : "Then",
  "path" : "/Users/admin/builder/spi-builder-workspace",
  "platforms" : [
    {
      "name" : "ios",
      "version" : "12.0"
    },
    {
      "name" : "macos",
      "version" : "10.13"
    },
    {
      "name" : "tvos",
      "version" : "12.0"
    },
    {
      "name" : "watchos",
      "version" : "6.0"
    }
  ],
  "products" : [
    {
      "name" : "Then",
      "targets" : [
        "Then"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    }
  ],
  "targets" : [
    {
      "c99name" : "ThenTests",
      "module_type" : "SwiftTarget",
      "name" : "ThenTests",
      "path" : "Tests/ThenTests",
      "sources" : [
        "AsyncAwaitTests.swift",
        "BridgeErrorTests.swift",
        "ChainTests.swift",
        "DelayTests.swift",
        "FinallyTests.swift",
        "Helpers.swift",
        "MemoryTests.swift",
        "NoMatterWhatTests.swift",
        "OnErrorTests.swift",
        "ProgressTests.swift",
        "RaceTests.swift",
        "RecoverTests.swift",
        "RegisterThenTests.swift",
        "RetryTests.swift",
        "ThenTests.swift",
        "TimeoutTests.swift",
        "UnwrapTests.swift",
        "ValidateTests.swift",
        "WhenAllTests.swift",
        "ZipTests.swift"
      ],
      "target_dependencies" : [
        "Then"
      ],
      "type" : "test"
    },
    {
      "c99name" : "Then",
      "module_type" : "SwiftTarget",
      "name" : "Then",
      "path" : "Sources",
      "product_memberships" : [
        "Then"
      ],
      "resources" : [
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Sources/PrivacyInfo.xcprivacy",
          "rule" : {
            "copy" : {
            }
          }
        }
      ],
      "sources" : [
        "Then/Async.swift",
        "Then/Await+Operators.swift",
        "Then/Await.swift",
        "Then/Promise+Aliases.swift",
        "Then/Promise+BridgeError.swift",
        "Then/Promise+Chain.swift",
        "Then/Promise+Delay.swift",
        "Then/Promise+Error.swift",
        "Then/Promise+Finally.swift",
        "Then/Promise+First.swift",
        "Then/Promise+Helpers.swift",
        "Then/Promise+NoMatterWhat.swift",
        "Then/Promise+Progress.swift",
        "Then/Promise+Race.swift",
        "Then/Promise+Recover.swift",
        "Then/Promise+Retry.swift",
        "Then/Promise+Then.swift",
        "Then/Promise+Timeout.swift",
        "Then/Promise+Unwrap.swift",
        "Then/Promise+Validate.swift",
        "Then/Promise+Zip.swift",
        "Then/Promise+nil.swift",
        "Then/Promise.swift",
        "Then/PromiseBlocks.swift",
        "Then/PromiseError.swift",
        "Then/PromiseState.swift",
        "Then/VoidPromise.swift",
        "Then/WhenAll.swift"
      ],
      "type" : "library"
    }
  ],
  "tools_version" : "5.9"
}
Done.