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 Task 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/0xLeif/Task.git
Reference: main
Initialized empty Git repository in /Users/admin/builder/spi-builder-workspace/.git/
From https://github.com/0xLeif/Task
 * branch            main       -> FETCH_HEAD
 * [new branch]      main       -> origin/main
HEAD is now at cfe31fd Update README.md
Cloned https://github.com/0xLeif/Task.git
Revision (git rev-parse @):
cfe31fd675b88c36194a34e8ccb8e8f8068d41c8
SUCCESS checkout https://github.com/0xLeif/Task.git at main
========================================
Build
========================================
Selected platform:         macosSpm
Swift version:             6.0
Building package at path:  $workDir
https://github.com/0xLeif/Task.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 Task Task+map.swift
[4/7] Compiling Task Task+URLSession.swift
/Users/admin/builder/spi-builder-workspace/Sources/Task/Task+/Task+URLSession.swift:19:25: warning: capture of 'promise' with non-sendable type '(Result<(Data?, URLResponse?), any Error>) -> Void' in a `@Sendable` closure; this is an error in the Swift 6 language mode
17 |                 .dataTask(with: request) { (data, response, error) in
18 |                     if let error = error {
19 |                         promise(.failure(TaskPostError(error: error,
   |                         |- warning: capture of 'promise' with non-sendable type '(Result<(Data?, URLResponse?), 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'
20 |                                                        response: response)))
21 |                     }
/Users/admin/builder/spi-builder-workspace/Sources/Task/Task+/Task+URLSession.swift:53:25: warning: capture of 'promise' with non-sendable type '(Result<(Data?, URLResponse?), any Error>) -> Void' in a `@Sendable` closure; this is an error in the Swift 6 language mode
51 |                 .dataTask(with: url) { (data, response, error) in
52 |                     if let error = error {
53 |                         promise(.failure(error))
   |                         |- warning: capture of 'promise' with non-sendable type '(Result<(Data?, URLResponse?), 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'
54 |                     }
55 |                     promise(.success((data, response)))
/Users/admin/builder/spi-builder-workspace/Sources/Task/Task+/Task+URLSession.swift:68:25: warning: capture of 'promise' with non-sendable type '(Result<(Data?, URLResponse?), any Error>) -> Void' in a `@Sendable` closure; this is an error in the Swift 6 language mode
66 |                 .dataTask(with: url) { (data, response, error) in
67 |                     if let error = error {
68 |                         promise(.failure(error))
   |                         |- warning: capture of 'promise' with non-sendable type '(Result<(Data?, URLResponse?), 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'
69 |                     }
70 |                     promise(.success((data, response)))
[5/7] Emitting module Task
[6/7] Compiling Task Task+sink.swift
[7/7] Compiling Task Task.swift
/Users/admin/builder/spi-builder-workspace/Sources/Task/Task.swift:10:17: warning: capture of 'work' with non-sendable type '(@escaping Future<T, any Error>.Promise) -> Void' (aka '(@escaping (Result<T, any Error>) -> ()) -> ()') in a `@Sendable` closure; this is an error in the Swift 6 language mode
  8 |         Future { promise in
  9 |             DispatchQueue.global().async {
 10 |                 work(promise)
    |                 |- warning: capture of 'work' with non-sendable type '(@escaping Future<T, any Error>.Promise) -> Void' (aka '(@escaping (Result<T, any Error>) -> ()) -> ()') 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'
 11 |             }
 12 |         }
/Users/admin/builder/spi-builder-workspace/Sources/Task/Task.swift:10:22: warning: capture of 'promise' with non-sendable type '(Result<T, any Error>) -> Void' in a `@Sendable` closure; this is an error in the Swift 6 language mode
  8 |         Future { promise in
  9 |             DispatchQueue.global().async {
 10 |                 work(promise)
    |                      |- warning: capture of 'promise' with non-sendable type '(Result<T, 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'
 11 |             }
 12 |         }
/Users/admin/builder/spi-builder-workspace/Sources/Task/Task.swift:20:17: warning: capture of 'work' with non-sendable type '(@escaping Future<T?, any Error>.Promise) -> Void' (aka '(@escaping (Result<Optional<T>, any Error>) -> ()) -> ()') in a `@Sendable` closure; this is an error in the Swift 6 language mode
 18 |         Future { promise in
 19 |             DispatchQueue.global().async {
 20 |                 work(promise)
    |                 |- warning: capture of 'work' with non-sendable type '(@escaping Future<T?, any Error>.Promise) -> Void' (aka '(@escaping (Result<Optional<T>, any Error>) -> ()) -> ()') 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'
 21 |             }
 22 |         }
/Users/admin/builder/spi-builder-workspace/Sources/Task/Task.swift:20:22: warning: capture of 'promise' with non-sendable type '(Result<T?, any Error>) -> Void' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 18 |         Future { promise in
 19 |             DispatchQueue.global().async {
 20 |                 work(promise)
    |                      |- warning: capture of 'promise' with non-sendable type '(Result<T?, 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'
 21 |             }
 22 |         }
/Users/admin/builder/spi-builder-workspace/Sources/Task/Task.swift:30:17: warning: capture of 'work' with non-sendable type '(@escaping Future<Void, any Error>.Promise) -> Void' (aka '(@escaping (Result<(), any Error>) -> ()) -> ()') in a `@Sendable` closure; this is an error in the Swift 6 language mode
 28 |         Future { promise in
 29 |             DispatchQueue.global().async {
 30 |                 work(promise)
    |                 |- warning: capture of 'work' with non-sendable type '(@escaping Future<Void, any Error>.Promise) -> Void' (aka '(@escaping (Result<(), any Error>) -> ()) -> ()') 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'
 31 |             }
 32 |         }
/Users/admin/builder/spi-builder-workspace/Sources/Task/Task.swift:30:22: warning: capture of 'promise' with non-sendable type '(Result<Void, any Error>) -> Void' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 28 |         Future { promise in
 29 |             DispatchQueue.global().async {
 30 |                 work(promise)
    |                      |- warning: capture of 'promise' with non-sendable type '(Result<Void, 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'
 31 |             }
 32 |         }
/Users/admin/builder/spi-builder-workspace/Sources/Task/Task.swift:85:21: warning: capture of 'promise' with non-sendable type '(Result<T, any Error>) -> Void' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 83 |             DispatchQueue.main.async {
 84 |                 do {
 85 |                     promise(.success(try work()))
    |                     |- warning: capture of 'promise' with non-sendable type '(Result<T, 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'
 86 |                 } catch {
 87 |                     promise(.failure(error))
/Users/admin/builder/spi-builder-workspace/Sources/Task/Task.swift:85:42: warning: capture of 'work' with non-sendable type '() throws -> T' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 83 |             DispatchQueue.main.async {
 84 |                 do {
 85 |                     promise(.success(try work()))
    |                                          |- warning: capture of 'work' with non-sendable type '() throws -> T' 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'
 86 |                 } catch {
 87 |                     promise(.failure(error))
/Users/admin/builder/spi-builder-workspace/Sources/Task/Task.swift:101:21: warning: capture of 'promise' with non-sendable type '(Result<T?, any Error>) -> Void' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 99 |             DispatchQueue.main.async {
100 |                 do {
101 |                     promise(.success(try work()))
    |                     |- warning: capture of 'promise' with non-sendable type '(Result<T?, 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'
102 |                 } catch {
103 |                     promise(.failure(error))
/Users/admin/builder/spi-builder-workspace/Sources/Task/Task.swift:101:42: warning: capture of 'work' with non-sendable type '() throws -> T?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 99 |             DispatchQueue.main.async {
100 |                 do {
101 |                     promise(.success(try work()))
    |                                          |- warning: capture of 'work' with non-sendable type '() throws -> T?' 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'
102 |                 } catch {
103 |                     promise(.failure(error))
/Users/admin/builder/spi-builder-workspace/Sources/Task/Task.swift:117:21: warning: capture of 'promise' with non-sendable type 'Future<Void, any Error>.Promise' (aka '(Result<(), any Error>) -> ()') in a `@Sendable` closure; this is an error in the Swift 6 language mode
115 |             DispatchQueue.main.async {
116 |                 do {
117 |                     promise(.success(try work()))
    |                     |- warning: capture of 'promise' with non-sendable type 'Future<Void, any Error>.Promise' (aka '(Result<(), any Error>) -> ()') 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'
118 |                 } catch {
119 |                     promise(.failure(error))
/Users/admin/builder/spi-builder-workspace/Sources/Task/Task.swift:117:42: warning: capture of 'work' with non-sendable type '() throws -> Void' in a `@Sendable` closure; this is an error in the Swift 6 language mode
115 |             DispatchQueue.main.async {
116 |                 do {
117 |                     promise(.success(try work()))
    |                                          |- warning: capture of 'work' with non-sendable type '() throws -> 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'
118 |                 } catch {
119 |                     promise(.failure(error))
/Users/admin/builder/spi-builder-workspace/Sources/Task/Task.swift:85:21: warning: sending 'promise' risks causing data races; this is an error in the Swift 6 language mode
 83 |             DispatchQueue.main.async {
 84 |                 do {
 85 |                     promise(.success(try work()))
    |                     |- warning: sending 'promise' risks causing data races; this is an error in the Swift 6 language mode
    |                     `- note: task-isolated 'promise' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
 86 |                 } catch {
 87 |                     promise(.failure(error))
/Users/admin/builder/spi-builder-workspace/Sources/Task/Task.swift:85:42: warning: sending 'work' risks causing data races; this is an error in the Swift 6 language mode
 83 |             DispatchQueue.main.async {
 84 |                 do {
 85 |                     promise(.success(try work()))
    |                                          |- warning: sending 'work' risks causing data races; this is an error in the Swift 6 language mode
    |                                          `- note: task-isolated 'work' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
 86 |                 } catch {
 87 |                     promise(.failure(error))
/Users/admin/builder/spi-builder-workspace/Sources/Task/Task.swift:101:21: warning: sending 'promise' risks causing data races; this is an error in the Swift 6 language mode
 99 |             DispatchQueue.main.async {
100 |                 do {
101 |                     promise(.success(try work()))
    |                     |- warning: sending 'promise' risks causing data races; this is an error in the Swift 6 language mode
    |                     `- note: task-isolated 'promise' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
102 |                 } catch {
103 |                     promise(.failure(error))
/Users/admin/builder/spi-builder-workspace/Sources/Task/Task.swift:101:42: warning: sending 'work' risks causing data races; this is an error in the Swift 6 language mode
 99 |             DispatchQueue.main.async {
100 |                 do {
101 |                     promise(.success(try work()))
    |                                          |- warning: sending 'work' risks causing data races; this is an error in the Swift 6 language mode
    |                                          `- note: task-isolated 'work' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
102 |                 } catch {
103 |                     promise(.failure(error))
/Users/admin/builder/spi-builder-workspace/Sources/Task/Task.swift:117:21: warning: sending 'promise' risks causing data races; this is an error in the Swift 6 language mode
115 |             DispatchQueue.main.async {
116 |                 do {
117 |                     promise(.success(try work()))
    |                     |- warning: sending 'promise' risks causing data races; this is an error in the Swift 6 language mode
    |                     `- note: task-isolated 'promise' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
118 |                 } catch {
119 |                     promise(.failure(error))
/Users/admin/builder/spi-builder-workspace/Sources/Task/Task.swift:117:42: warning: sending 'work' risks causing data races; this is an error in the Swift 6 language mode
115 |             DispatchQueue.main.async {
116 |                 do {
117 |                     promise(.success(try work()))
    |                                          |- warning: sending 'work' risks causing data races; this is an error in the Swift 6 language mode
    |                                          `- note: task-isolated 'work' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
118 |                 } catch {
119 |                     promise(.failure(error))
Build complete! (16.91s)
Build complete.
{
  "dependencies" : [
  ],
  "manifest_display_name" : "Task",
  "name" : "Task",
  "path" : "/Users/admin/builder/spi-builder-workspace",
  "platforms" : [
    {
      "name" : "ios",
      "version" : "13.0"
    },
    {
      "name" : "macos",
      "version" : "10.15"
    },
    {
      "name" : "tvos",
      "version" : "13.0"
    },
    {
      "name" : "watchos",
      "version" : "6.0"
    }
  ],
  "products" : [
    {
      "name" : "Task",
      "targets" : [
        "Task"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    }
  ],
  "targets" : [
    {
      "c99name" : "TaskTests",
      "module_type" : "SwiftTarget",
      "name" : "TaskTests",
      "path" : "Tests/TaskTests",
      "sources" : [
        "TaskTests.swift"
      ],
      "target_dependencies" : [
        "Task"
      ],
      "type" : "test"
    },
    {
      "c99name" : "Task",
      "module_type" : "SwiftTarget",
      "name" : "Task",
      "path" : "Sources/Task",
      "product_memberships" : [
        "Task"
      ],
      "sources" : [
        "Task+/Task+URLSession.swift",
        "Task+/Task+map.swift",
        "Task+/Task+sink.swift",
        "Task.swift"
      ],
      "type" : "library"
    }
  ],
  "tools_version" : "5.3"
}
Done.
This is a staging environment. For live and up-to-date package information, visit swiftpackageindex.com.