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.0 for macOS (SPM) on 27 Nov 2024 16:29:34 UTC.

Swift 6 data race errors: 0

Build Command

env DEVELOPER_DIR=/Applications/Xcode-16.1.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.58.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.83s)
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.0
Building package at path:  $PWD
https://github.com/JuanjoArreola/ShallowPromises.git
Running build ...
env DEVELOPER_DIR=/Applications/Xcode-16.1.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--7754E27361AE5C74.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! (7.31s)
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.