This is a staging environment. For live and up-to-date package information, visit swiftpackageindex.com.

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 with Swift 6.0 for macOS (SPM).

Swift 6 data race errors: 0

Build Command

env DEVELOPER_DIR=/Applications/Xcode-15.3.0.app xcrun --toolchain org.swift.600202405261a swift build --arch arm64 -Xswiftc -Xfrontend -Xswiftc -stats-output-dir -Xswiftc -Xfrontend -Xswiftc .stats -Xswiftc -strict-concurrency=complete

Build Log

========================================
RunAll
========================================
Builder version: 4.40.0
Interrupt handler set up.
========================================
Checkout
========================================
Clone URL: https://github.com/JuanjoArreola/ShallowPromises.git
Reference: master
Initialized empty Git repository in /Users/admin/builder/spi-builder-workspace/.git/
From https://github.com/JuanjoArreola/ShallowPromises
 * branch            master     -> FETCH_HEAD
 * [new branch]      master     -> origin/master
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 master
========================================
Build
========================================
Selected platform:         macosSpm
Swift version:             6.0
Building package at path:  $workDir
https://github.com/JuanjoArreola/ShallowPromises.git
Running build ...
env DEVELOPER_DIR=/Applications/Xcode-15.3.0.app xcrun --toolchain org.swift.600202405261a swift build --arch arm64 -Xswiftc -Xfrontend -Xswiftc -stats-output-dir -Xswiftc -Xfrontend -Xswiftc .stats -Xswiftc -strict-concurrency=complete
Building for debugging...
[0/2] Write sources
[1/2] Write swift-version-6F35C1178C84523A.txt
[3/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; this is an error in the Swift 6 language mode
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; this is an error in the Swift 6 language mode
    |                 `- 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; this is an error in the Swift 6 language mode
 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; this is an error in the Swift 6 language mode
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; this is an error in the Swift 6 language mode
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; this is an error in the Swift 6 language mode
    |                 `- 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; this is an error in the Swift 6 language mode
152 |         if isCompleted {
153 |             queue?.async {
154 |                 closure()
    |                 |- warning: capture of 'closure' with non-sendable type '() -> Void' in a `@Sendable` closure; this is an error in the Swift 6 language mode
    |                 `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
155 |             } ?? closure()
156 |         }
[4/7] Compiling ShallowPromises PromiseFailure.swift
[5/7] Compiling ShallowPromises Cancellable.swift
[6/7] Emitting module ShallowPromises
[7/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; this is an error in the Swift 6 language mode
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; this is an error in the Swift 6 language mode
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; this is an error in the Swift 6 language mode
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; this is an error in the Swift 6 language mode
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; this is an error in the Swift 6 language mode
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; this is an error in the Swift 6 language mode
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?
Build complete! (17.66s)
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.
This is a staging environment. For live and up-to-date package information, visit swiftpackageindex.com.