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 ShallowPromises, reference 0.7.1 (9fbd4f), with Swift 6.1 for macOS (SPM) on 26 Apr 2025 02:39:12 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/JuanjoArreola/ShallowPromises.git
Reference: 0.7.1
Initialized empty Git repository in /Users/admin/builder/spi-builder-workspace/.git/
From https://github.com/JuanjoArreola/ShallowPromises
 * tag               0.7.1      -> FETCH_HEAD
HEAD is now at 9fbd4ff Proxies
Cloned https://github.com/JuanjoArreola/ShallowPromises.git
Revision (git rev-parse @):
9fbd4ff04904c6631405145ecd8a7c6d0d9daf72
SUCCESS checkout https://github.com/JuanjoArreola/ShallowPromises.git at 0.7.1
========================================
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": "shallowpromises",
      "name": "ShallowPromises",
      "url": "https://github.com/JuanjoArreola/ShallowPromises.git",
      "version": "unspecified",
      "path": "/Users/admin/builder/spi-builder-workspace/.resolve-product-dependencies/.build/checkouts/ShallowPromises",
      "dependencies": [
      ]
    }
  ]
}
Fetching https://github.com/JuanjoArreola/ShallowPromises.git
[1/63] Fetching shallowpromises
Fetched https://github.com/JuanjoArreola/ShallowPromises.git from cache (0.66s)
Creating working copy for https://github.com/JuanjoArreola/ShallowPromises.git
Working copy of https://github.com/JuanjoArreola/ShallowPromises.git resolved at 0.7.1 (9fbd4ff)
warning: '.resolve-product-dependencies': dependency 'shallowpromises' 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/JuanjoArreola/ShallowPromises.git
https://github.com/JuanjoArreola/ShallowPromises.git
{
  "dependencies" : [
  ],
  "manifest_display_name" : "ShallowPromises",
  "name" : "ShallowPromises",
  "path" : "/Users/admin/builder/spi-builder-workspace",
  "platforms" : [
  ],
  "products" : [
    {
      "name" : "ShallowPromises",
      "targets" : [
        "ShallowPromises"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    }
  ],
  "targets" : [
    {
      "c99name" : "ShallowPromisesTests",
      "module_type" : "SwiftTarget",
      "name" : "ShallowPromisesTests",
      "path" : "Tests/ShallowPromisesTests",
      "sources" : [
        "ErrorTests.swift",
        "ProxyTests.swift",
        "ShallowPromisesTests.swift",
        "SuccessTests.swift",
        "ThenTests.swift",
        "XCTestManifests.swift"
      ],
      "target_dependencies" : [
        "ShallowPromises"
      ],
      "type" : "test"
    },
    {
      "c99name" : "ShallowPromises",
      "module_type" : "SwiftTarget",
      "name" : "ShallowPromises",
      "path" : "Sources/ShallowPromises",
      "product_memberships" : [
        "ShallowPromises"
      ],
      "sources" : [
        "Cancellable.swift",
        "Futures.swift",
        "Promise.swift",
        "PromiseFailure.swift"
      ],
      "type" : "library"
    }
  ],
  "tools_version" : "5.2"
}
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/7] Compiling ShallowPromises PromiseFailure.swift
[4/7] Compiling ShallowPromises Futures.swift
/Users/admin/builder/spi-builder-workspace/Sources/ShallowPromises/Futures.swift:40:17: warning: capture of 'future' with non-sendable type 'Future<U>' in a '@Sendable' closure
38 |             let queue = future.queue ?? queue
39 |             queue?.async {
40 |                 future.closure(result)
   |                 `- warning: capture of 'future' with non-sendable type 'Future<U>' in a '@Sendable' closure
41 |             } ?? future.closure(result)
42 |         }
   :
54 | }
55 |
56 | struct Future<T> {
   |        `- note: consider making generic struct 'Future' conform to the 'Sendable' protocol
57 |     let closure: (T) -> Void
58 |     let queue: DispatchQueue?
/Users/admin/builder/spi-builder-workspace/Sources/ShallowPromises/Futures.swift:40:32: warning: capture of 'result' with non-sendable type 'U' in a '@Sendable' closure
34 |     }
35 |
36 |     private func complete<U>(futures: [Future<U>], with result: U, in queue: DispatchQueue?) {
   |                           `- note: consider making generic parameter 'U' conform to the 'Sendable' protocol
37 |         futures.forEach { future in
38 |             let queue = future.queue ?? queue
39 |             queue?.async {
40 |                 future.closure(result)
   |                                `- warning: capture of 'result' with non-sendable type 'U' in a '@Sendable' closure
41 |             } ?? future.closure(result)
42 |         }
/Users/admin/builder/spi-builder-workspace/Sources/ShallowPromises/Futures.swift:50:17: warning: capture of 'future' with non-sendable type 'FinallyFuture' in a '@Sendable' closure
48 |             let queue = future.queue ?? queue
49 |             queue?.async {
50 |                 future.closure()
   |                 `- warning: capture of 'future' with non-sendable type 'FinallyFuture' in a '@Sendable' closure
51 |             } ?? future.closure()
52 |         }
   :
59 | }
60 |
61 | struct FinallyFuture {
   |        `- note: consider making struct 'FinallyFuture' conform to the 'Sendable' protocol
62 |     let closure: () -> Void
63 |     let queue: DispatchQueue?
[5/7] Compiling ShallowPromises Promise.swift
/Users/admin/builder/spi-builder-workspace/Sources/ShallowPromises/Promise.swift:119:17: warning: capture of 'closure' with non-sendable type '(U) -> Void' in a '@Sendable' closure
117 |         if let result = safeResult {
118 |             queue?.async {
119 |                 closure(result)
    |                 |- warning: capture of 'closure' with non-sendable type '(U) -> Void' in a '@Sendable' closure
    |                 `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
120 |             } ?? closure(result)
121 |         }
/Users/admin/builder/spi-builder-workspace/Sources/ShallowPromises/Promise.swift:119:25: warning: capture of 'result' with non-sendable type 'U' in a '@Sendable' closure
 10 | private let syncQueue = DispatchQueue(label: "com.shallowpromises.SyncQueue", attributes: [])
 11 |
 12 | open class Promise<U>: Cancellable {
    |                    `- note: consider making generic parameter 'U' conform to the 'Sendable' protocol
 13 |
 14 |     private var result: U?
    :
117 |         if let result = safeResult {
118 |             queue?.async {
119 |                 closure(result)
    |                         `- warning: capture of 'result' with non-sendable type 'U' in a '@Sendable' closure
120 |             } ?? closure(result)
121 |         }
/Users/admin/builder/spi-builder-workspace/Sources/ShallowPromises/Promise.swift:137:17: warning: capture of 'closure' with non-sendable type '(any Error) -> Void' in a '@Sendable' closure
135 |         if let error = safeError {
136 |             queue?.async {
137 |                 closure(error)
    |                 |- warning: capture of 'closure' with non-sendable type '(any Error) -> Void' in a '@Sendable' closure
    |                 `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
138 |             } ?? closure(error)
139 |         }
/Users/admin/builder/spi-builder-workspace/Sources/ShallowPromises/Promise.swift:154:17: warning: capture of 'closure' with non-sendable type '() -> Void' in a '@Sendable' closure
152 |         if isCompleted {
153 |             queue?.async {
154 |                 closure()
    |                 |- warning: capture of 'closure' with non-sendable type '() -> Void' in a '@Sendable' closure
    |                 `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
155 |             } ?? closure()
156 |         }
[6/7] Emitting module ShallowPromises
[7/7] Compiling ShallowPromises Cancellable.swift
Build complete! (4.35s)
Build complete.
{
  "dependencies" : [
  ],
  "manifest_display_name" : "ShallowPromises",
  "name" : "ShallowPromises",
  "path" : "/Users/admin/builder/spi-builder-workspace",
  "platforms" : [
  ],
  "products" : [
    {
      "name" : "ShallowPromises",
      "targets" : [
        "ShallowPromises"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    }
  ],
  "targets" : [
    {
      "c99name" : "ShallowPromisesTests",
      "module_type" : "SwiftTarget",
      "name" : "ShallowPromisesTests",
      "path" : "Tests/ShallowPromisesTests",
      "sources" : [
        "ErrorTests.swift",
        "ProxyTests.swift",
        "ShallowPromisesTests.swift",
        "SuccessTests.swift",
        "ThenTests.swift",
        "XCTestManifests.swift"
      ],
      "target_dependencies" : [
        "ShallowPromises"
      ],
      "type" : "test"
    },
    {
      "c99name" : "ShallowPromises",
      "module_type" : "SwiftTarget",
      "name" : "ShallowPromises",
      "path" : "Sources/ShallowPromises",
      "product_memberships" : [
        "ShallowPromises"
      ],
      "sources" : [
        "Cancellable.swift",
        "Futures.swift",
        "Promise.swift",
        "PromiseFailure.swift"
      ],
      "type" : "library"
    }
  ],
  "tools_version" : "5.2"
}
Done.