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

Swift 6 data race errors: 1

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/bignerdranch/Deferred.git
Reference: develop
Initialized empty Git repository in /Users/admin/builder/spi-builder-workspace/.git/
From https://github.com/bignerdranch/Deferred
 * branch            develop    -> FETCH_HEAD
 * [new branch]      develop    -> origin/develop
HEAD is now at c82b9ef Add concurrency migration guide
Cloned https://github.com/bignerdranch/Deferred.git
Revision (git rev-parse @):
c82b9ef73132ac88a768b9e2fdbab7765346c61d
SUCCESS checkout https://github.com/bignerdranch/Deferred.git at develop
========================================
Build
========================================
Selected platform:         macosSpm
Swift version:             6.0
Building package at path:  $workDir
https://github.com/bignerdranch/Deferred.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/4] Write sources
[2/4] Compiling CAtomics Empty.c
[3/4] Write swift-version-6F35C1178C84523A.txt
[5/23] Compiling Deferred FuturePeek.swift
[6/23] Compiling Deferred FutureUpon.swift
[7/23] Compiling Deferred FutureIgnore.swift
[8/23] Compiling Deferred FutureMap.swift
[9/23] Compiling Deferred FutureComposition.swift
[10/23] Compiling Deferred FutureEveryMap.swift
[11/23] Compiling Deferred FutureAsync.swift
/Users/admin/builder/spi-builder-workspace/Sources/Deferred/FutureAsync.swift:23:13: warning: capture of 'deferred' with non-sendable type 'Deferred<Value>' in a `@Sendable` closure; this is an error in the Swift 6 language mode
21 |
22 |         queue.async(flags: flags) {
23 |             deferred.fill(with: work())
   |             `- warning: capture of 'deferred' with non-sendable type 'Deferred<Value>' in a `@Sendable` closure; this is an error in the Swift 6 language mode
24 |         }
25 |
/Users/admin/builder/spi-builder-workspace/Sources/Deferred/Deferred.swift:22:15: note: consider making generic struct 'Deferred' conform to the 'Sendable' protocol
20 | /// If the value never becomes determined, a handler submitted to it will never
21 | /// be executed.
22 | public struct Deferred<Value> {
   |               `- note: consider making generic struct 'Deferred' conform to the 'Sendable' protocol
23 |     /// The primary storage, initialized with a value once-and-only-once (at
24 |     /// init or later).
/Users/admin/builder/spi-builder-workspace/Sources/Deferred/FutureAsync.swift:23:33: warning: capture of 'work' with non-sendable type '() -> Value' in a `@Sendable` closure; this is an error in the Swift 6 language mode
21 |
22 |         queue.async(flags: flags) {
23 |             deferred.fill(with: work())
   |                                 |- warning: capture of 'work' with non-sendable type '() -> Value' 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'
24 |         }
25 |
[12/23] Compiling Deferred FutureCollections.swift
/Users/admin/builder/spi-builder-workspace/Sources/Deferred/FutureAsync.swift:23:13: warning: capture of 'deferred' with non-sendable type 'Deferred<Value>' in a `@Sendable` closure; this is an error in the Swift 6 language mode
21 |
22 |         queue.async(flags: flags) {
23 |             deferred.fill(with: work())
   |             `- warning: capture of 'deferred' with non-sendable type 'Deferred<Value>' in a `@Sendable` closure; this is an error in the Swift 6 language mode
24 |         }
25 |
/Users/admin/builder/spi-builder-workspace/Sources/Deferred/Deferred.swift:22:15: note: consider making generic struct 'Deferred' conform to the 'Sendable' protocol
20 | /// If the value never becomes determined, a handler submitted to it will never
21 | /// be executed.
22 | public struct Deferred<Value> {
   |               `- note: consider making generic struct 'Deferred' conform to the 'Sendable' protocol
23 |     /// The primary storage, initialized with a value once-and-only-once (at
24 |     /// init or later).
/Users/admin/builder/spi-builder-workspace/Sources/Deferred/FutureAsync.swift:23:33: warning: capture of 'work' with non-sendable type '() -> Value' in a `@Sendable` closure; this is an error in the Swift 6 language mode
21 |
22 |         queue.async(flags: flags) {
23 |             deferred.fill(with: work())
   |                                 |- warning: capture of 'work' with non-sendable type '() -> Value' 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'
24 |         }
25 |
[13/23] Compiling Deferred DeferredQueue.swift
[14/23] Compiling Deferred DeferredVariant.swift
[15/23] Compiling Deferred Locking.swift
[16/23] Compiling Deferred Promise.swift
[17/23] Compiling Deferred Future.swift
[18/23] Compiling Deferred FutureAndThen.swift
[19/24] Compiling Deferred Atomics.swift
[20/24] Compiling Deferred Deferred.swift
[21/24] Emitting module Deferred
[22/24] Compiling Deferred Executor.swift
/Users/admin/builder/spi-builder-workspace/Sources/Deferred/Executor.swift:83:24: warning: passing non-sendable parameter 'body' to function expecting a @Sendable closure
 80 |     }
 81 |
 82 |     public func submit(_ body: @escaping() -> Void) {
    |                          `- note: parameter 'body' is implicitly non-sendable
 83 |         async(execute: body)
    |                        `- warning: passing non-sendable parameter 'body' to function expecting a @Sendable closure
 84 |     }
 85 |
/Users/admin/builder/spi-builder-workspace/Sources/Deferred/Executor.swift:99:22: warning: passing non-sendable parameter 'body' to function expecting a @Sendable closure
 96 | /// operations in the queue.
 97 | extension OperationQueue: Executor {
 98 |     public func submit(_ body: @escaping() -> Void) {
    |                          `- note: parameter 'body' is implicitly non-sendable
 99 |         addOperation(body)
    |                      `- warning: passing non-sendable parameter 'body' to function expecting a @Sendable closure
100 |     }
101 | }
/Users/admin/builder/spi-builder-workspace/Sources/Deferred/Executor.swift:126:17: warning: passing non-sendable parameter 'body' to function expecting a @Sendable closure
123 | /// of the run loop.
124 | extension RunLoop: Executor {
125 |     public func submit(_ body: @escaping() -> Void) {
    |                          `- note: parameter 'body' is implicitly non-sendable
126 |         perform(body)
    |                 `- warning: passing non-sendable parameter 'body' to function expecting a @Sendable closure
127 |     }
128 | }
[23/24] Compiling Deferred ExistentialFuture.swift
/Users/admin/builder/spi-builder-workspace/Sources/Deferred/Executor.swift:83:24: warning: passing non-sendable parameter 'body' to function expecting a @Sendable closure
 80 |     }
 81 |
 82 |     public func submit(_ body: @escaping() -> Void) {
    |                          `- note: parameter 'body' is implicitly non-sendable
 83 |         async(execute: body)
    |                        `- warning: passing non-sendable parameter 'body' to function expecting a @Sendable closure
 84 |     }
 85 |
/Users/admin/builder/spi-builder-workspace/Sources/Deferred/Executor.swift:99:22: warning: passing non-sendable parameter 'body' to function expecting a @Sendable closure
 96 | /// operations in the queue.
 97 | extension OperationQueue: Executor {
 98 |     public func submit(_ body: @escaping() -> Void) {
    |                          `- note: parameter 'body' is implicitly non-sendable
 99 |         addOperation(body)
    |                      `- warning: passing non-sendable parameter 'body' to function expecting a @Sendable closure
100 |     }
101 | }
/Users/admin/builder/spi-builder-workspace/Sources/Deferred/Executor.swift:126:17: warning: passing non-sendable parameter 'body' to function expecting a @Sendable closure
123 | /// of the run loop.
124 | extension RunLoop: Executor {
125 |     public func submit(_ body: @escaping() -> Void) {
    |                          `- note: parameter 'body' is implicitly non-sendable
126 |         perform(body)
    |                 `- warning: passing non-sendable parameter 'body' to function expecting a @Sendable closure
127 |     }
128 | }
[24/24] Compiling Deferred Protected.swift
[25/42] Compiling Task TaskIgnore.swift
[26/42] Compiling Task TaskMap.swift
[27/42] Compiling Task TaskPromise.swift
[28/42] Compiling Task TaskRecovery.swift
[29/42] Compiling Task TaskResult.swift
[30/43] Compiling Task Task.swift
[31/43] Compiling Task TaskAndThen.swift
[32/43] Compiling Task TaskEveryMap.swift
[33/43] Compiling Task TaskFallback.swift
[34/43] Compiling Task TaskUpon.swift
[35/43] Compiling Task Progress+ExplicitComposition.swift
/Users/admin/builder/spi-builder-workspace/Sources/Task/Progress+ExplicitComposition.swift:15:21: warning: class 'ProxyProgress' must restate inherited '@unchecked Sendable' conformance
 13 | /// tree.
 14 | @objc(BNRTaskProxyProgress)
 15 | private final class ProxyProgress: Progress {
    |                     `- warning: class 'ProxyProgress' must restate inherited '@unchecked Sendable' conformance
 16 |
 17 |     @objc dynamic let observee: Progress
/Users/admin/builder/spi-builder-workspace/Sources/Task/Progress+Future.swift:17:16: warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'ProgressCompletionExecutor' may have shared mutable state; this is an error in the Swift 6 language mode
13 | #endif
14 |
15 | private final class ProgressCompletionExecutor: Executor {
   |                     `- note: class 'ProgressCompletionExecutor' does not conform to the 'Sendable' protocol
16 |
17 |     static let shared = ProgressCompletionExecutor()
   |                |- warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'ProgressCompletionExecutor' may have shared mutable state; this is an error in the Swift 6 language mode
   |                |- note: annotate 'shared' with '@MainActor' if property should only be accessed from the main actor
   |                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
18 |
19 |     func submit(_ body: @escaping () -> Void) {
/Users/admin/builder/spi-builder-workspace/Sources/Task/Progress+Future.swift:48:35: warning: assigning non-sendable parameter 'cancellation' to a @Sendable closure
28 |     /// Returns a progress that is indeterminate until `wrapped` is fulfilled,
29 |     /// then finishes at 100%.
30 |     static func basicProgress<Wrapped: FutureProtocol>(for wrapped: Wrapped, uponCancel cancellation: (() -> Void)?) -> Progress {
   |                                                                                         `- note: parameter 'cancellation' is implicitly non-sendable
31 |         let child = Progress(parent: nil, userInfo: [
32 |             Progress.didTaskGenerateKey: true
   :
46 |         }
47 |
48 |         child.cancellationHandler = cancellation
   |                                   `- warning: assigning non-sendable parameter 'cancellation' to a @Sendable closure
49 |         child.isCancellable = cancellation != nil
50 |         return child
[36/43] Compiling Task Progress+Future.swift
/Users/admin/builder/spi-builder-workspace/Sources/Task/Progress+ExplicitComposition.swift:15:21: warning: class 'ProxyProgress' must restate inherited '@unchecked Sendable' conformance
 13 | /// tree.
 14 | @objc(BNRTaskProxyProgress)
 15 | private final class ProxyProgress: Progress {
    |                     `- warning: class 'ProxyProgress' must restate inherited '@unchecked Sendable' conformance
 16 |
 17 |     @objc dynamic let observee: Progress
/Users/admin/builder/spi-builder-workspace/Sources/Task/Progress+Future.swift:17:16: warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'ProgressCompletionExecutor' may have shared mutable state; this is an error in the Swift 6 language mode
13 | #endif
14 |
15 | private final class ProgressCompletionExecutor: Executor {
   |                     `- note: class 'ProgressCompletionExecutor' does not conform to the 'Sendable' protocol
16 |
17 |     static let shared = ProgressCompletionExecutor()
   |                |- warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'ProgressCompletionExecutor' may have shared mutable state; this is an error in the Swift 6 language mode
   |                |- note: annotate 'shared' with '@MainActor' if property should only be accessed from the main actor
   |                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
18 |
19 |     func submit(_ body: @escaping () -> Void) {
/Users/admin/builder/spi-builder-workspace/Sources/Task/Progress+Future.swift:48:35: warning: assigning non-sendable parameter 'cancellation' to a @Sendable closure
28 |     /// Returns a progress that is indeterminate until `wrapped` is fulfilled,
29 |     /// then finishes at 100%.
30 |     static func basicProgress<Wrapped: FutureProtocol>(for wrapped: Wrapped, uponCancel cancellation: (() -> Void)?) -> Progress {
   |                                                                                         `- note: parameter 'cancellation' is implicitly non-sendable
31 |         let child = Progress(parent: nil, userInfo: [
32 |             Progress.didTaskGenerateKey: true
   :
46 |         }
47 |
48 |         child.cancellationHandler = cancellation
   |                                   `- warning: assigning non-sendable parameter 'cancellation' to a @Sendable closure
49 |         child.isCancellable = cancellation != nil
50 |         return child
[37/43] Emitting module Task
/Users/admin/builder/spi-builder-workspace/Sources/Task/Progress+ExplicitComposition.swift:15:21: warning: class 'ProxyProgress' must restate inherited '@unchecked Sendable' conformance
 13 | /// tree.
 14 | @objc(BNRTaskProxyProgress)
 15 | private final class ProxyProgress: Progress {
    |                     `- warning: class 'ProxyProgress' must restate inherited '@unchecked Sendable' conformance
 16 |
 17 |     @objc dynamic let observee: Progress
/Users/admin/builder/spi-builder-workspace/Sources/Task/Progress+Future.swift:17:16: warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'ProgressCompletionExecutor' may have shared mutable state; this is an error in the Swift 6 language mode
13 | #endif
14 |
15 | private final class ProgressCompletionExecutor: Executor {
   |                     `- note: class 'ProgressCompletionExecutor' does not conform to the 'Sendable' protocol
16 |
17 |     static let shared = ProgressCompletionExecutor()
   |                |- warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'ProgressCompletionExecutor' may have shared mutable state; this is an error in the Swift 6 language mode
   |                |- note: annotate 'shared' with '@MainActor' if property should only be accessed from the main actor
   |                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
18 |
19 |     func submit(_ body: @escaping () -> Void) {
/Users/admin/builder/spi-builder-workspace/Sources/Task/TaskChain.swift:35:19: warning: class 'Root' must restate inherited '@unchecked Sendable' conformance
 33 |     /// that first task's `Root`.
 34 |     @objc(BNRTaskRootProgress)
 35 |     private class Root: Progress {
    |                   `- warning: class 'Root' must restate inherited '@unchecked Sendable' conformance
 36 |         /// Key for value of type `[Root]?` in `Thread.threadDictionary`.
 37 |         static let threadKey = "_BNRTaskProgressStack"
[38/43] Compiling Task TaskCollections.swift
[39/43] Compiling Task TaskComposition.swift
[40/43] Compiling Task Either.swift
[41/43] Compiling Task ExistentialTask.swift
[42/43] Compiling Task TaskAsync.swift
/Users/admin/builder/spi-builder-workspace/Sources/Task/TaskAsync.swift:35:13: warning: capture of 'deferred' with non-sendable type 'Deferred<Task<Success>.Result>' (aka 'Deferred<Result<Success, any Error>>') in a `@Sendable` closure; this is an error in the Swift 6 language mode
33 |             defer { semaphore.signal() }
34 |
35 |             deferred.fill(with: Result(catching: work))
   |             `- warning: capture of 'deferred' with non-sendable type 'Deferred<Task<Success>.Result>' (aka 'Deferred<Result<Success, any Error>>') in a `@Sendable` closure; this is an error in the Swift 6 language mode
36 |         }
37 |
/Users/admin/builder/spi-builder-workspace/Sources/Deferred/Deferred.swift:22:15: note: generic struct 'Deferred' does not conform to the 'Sendable' protocol
20 | /// If the value never becomes determined, a handler submitted to it will never
21 | /// be executed.
22 | public struct Deferred<Value> {
   |               `- note: generic struct 'Deferred' does not conform to the 'Sendable' protocol
23 |     /// The primary storage, initialized with a value once-and-only-once (at
24 |     /// init or later).
/Users/admin/builder/spi-builder-workspace/Sources/Task/TaskAsync.swift:10:1: warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'Deferred'
 8 |
 9 | #if SWIFT_PACKAGE
10 | import Deferred
   | `- warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'Deferred'
11 | #endif
12 | import Dispatch
/Users/admin/builder/spi-builder-workspace/Sources/Task/TaskAsync.swift:35:50: warning: capture of 'work' with non-sendable type '() throws -> Success' in a `@Sendable` closure; this is an error in the Swift 6 language mode
33 |             defer { semaphore.signal() }
34 |
35 |             deferred.fill(with: Result(catching: work))
   |                                                  |- warning: capture of 'work' with non-sendable type '() throws -> Success' 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'
36 |         }
37 |
/Users/admin/builder/spi-builder-workspace/Sources/Task/TaskChain.swift:35:19: warning: class 'Root' must restate inherited '@unchecked Sendable' conformance
 33 |     /// that first task's `Root`.
 34 |     @objc(BNRTaskRootProgress)
 35 |     private class Root: Progress {
    |                   `- warning: class 'Root' must restate inherited '@unchecked Sendable' conformance
 36 |         /// Key for value of type `[Root]?` in `Thread.threadDictionary`.
 37 |         static let threadKey = "_BNRTaskProgressStack"
[43/43] Compiling Task TaskChain.swift
/Users/admin/builder/spi-builder-workspace/Sources/Task/TaskAsync.swift:35:13: warning: capture of 'deferred' with non-sendable type 'Deferred<Task<Success>.Result>' (aka 'Deferred<Result<Success, any Error>>') in a `@Sendable` closure; this is an error in the Swift 6 language mode
33 |             defer { semaphore.signal() }
34 |
35 |             deferred.fill(with: Result(catching: work))
   |             `- warning: capture of 'deferred' with non-sendable type 'Deferred<Task<Success>.Result>' (aka 'Deferred<Result<Success, any Error>>') in a `@Sendable` closure; this is an error in the Swift 6 language mode
36 |         }
37 |
/Users/admin/builder/spi-builder-workspace/Sources/Deferred/Deferred.swift:22:15: note: generic struct 'Deferred' does not conform to the 'Sendable' protocol
20 | /// If the value never becomes determined, a handler submitted to it will never
21 | /// be executed.
22 | public struct Deferred<Value> {
   |               `- note: generic struct 'Deferred' does not conform to the 'Sendable' protocol
23 |     /// The primary storage, initialized with a value once-and-only-once (at
24 |     /// init or later).
/Users/admin/builder/spi-builder-workspace/Sources/Task/TaskAsync.swift:10:1: warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'Deferred'
 8 |
 9 | #if SWIFT_PACKAGE
10 | import Deferred
   | `- warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'Deferred'
11 | #endif
12 | import Dispatch
/Users/admin/builder/spi-builder-workspace/Sources/Task/TaskAsync.swift:35:50: warning: capture of 'work' with non-sendable type '() throws -> Success' in a `@Sendable` closure; this is an error in the Swift 6 language mode
33 |             defer { semaphore.signal() }
34 |
35 |             deferred.fill(with: Result(catching: work))
   |                                                  |- warning: capture of 'work' with non-sendable type '() throws -> Success' 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'
36 |         }
37 |
/Users/admin/builder/spi-builder-workspace/Sources/Task/TaskChain.swift:35:19: warning: class 'Root' must restate inherited '@unchecked Sendable' conformance
 33 |     /// that first task's `Root`.
 34 |     @objc(BNRTaskRootProgress)
 35 |     private class Root: Progress {
    |                   `- warning: class 'Root' must restate inherited '@unchecked Sendable' conformance
 36 |         /// Key for value of type `[Root]?` in `Thread.threadDictionary`.
 37 |         static let threadKey = "_BNRTaskProgressStack"
Build complete! (22.28s)
warning: 'spi-builder-workspace': Invalid Exclude '/Users/admin/builder/spi-builder-workspace/Tests/DeferredTests/Tests/AllTestsCommon.swift': File not found.
warning: 'spi-builder-workspace': Invalid Exclude '/Users/admin/builder/spi-builder-workspace/Tests/TaskTests/Tests/AllTestsCommon.swift': File not found.
Build complete.
{
  "dependencies" : [
  ],
  "manifest_display_name" : "Deferred",
  "name" : "Deferred",
  "path" : "/Users/admin/builder/spi-builder-workspace",
  "platforms" : [
    {
      "name" : "macos",
      "version" : "10.12"
    },
    {
      "name" : "ios",
      "version" : "10.0"
    },
    {
      "name" : "watchos",
      "version" : "3.0"
    },
    {
      "name" : "tvos",
      "version" : "10.0"
    }
  ],
  "products" : [
    {
      "name" : "Deferred",
      "targets" : [
        "Deferred",
        "Task"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    }
  ],
  "targets" : [
    {
      "c99name" : "TaskTests",
      "module_type" : "SwiftTarget",
      "name" : "TaskTests",
      "path" : "Tests/TaskTests",
      "sources" : [
        "AllTestsCommon.swift",
        "TaskAsyncTests.swift",
        "TaskCompositionTests.swift",
        "TaskComprehensiveTests.swift",
        "TaskProgressTests.swift",
        "TaskProtocolTests.swift",
        "TaskResultTests.swift",
        "TaskTests.swift"
      ],
      "target_dependencies" : [
        "Deferred",
        "Task"
      ],
      "type" : "test"
    },
    {
      "c99name" : "Task",
      "module_type" : "SwiftTarget",
      "name" : "Task",
      "path" : "Sources/Task",
      "product_memberships" : [
        "Deferred"
      ],
      "sources" : [
        "Either.swift",
        "ExistentialTask.swift",
        "Progress+ExplicitComposition.swift",
        "Progress+Future.swift",
        "Task.swift",
        "TaskAndThen.swift",
        "TaskAsync.swift",
        "TaskChain.swift",
        "TaskCollections.swift",
        "TaskComposition.swift",
        "TaskEveryMap.swift",
        "TaskFallback.swift",
        "TaskIgnore.swift",
        "TaskMap.swift",
        "TaskPromise.swift",
        "TaskRecovery.swift",
        "TaskResult.swift",
        "TaskUpon.swift"
      ],
      "target_dependencies" : [
        "Deferred",
        "CAtomics"
      ],
      "type" : "library"
    },
    {
      "c99name" : "DeferredTests",
      "module_type" : "SwiftTarget",
      "name" : "DeferredTests",
      "path" : "Tests/DeferredTests",
      "sources" : [
        "AllTestsCommon.swift",
        "DeferredTests.swift",
        "ExistentialFutureTests.swift",
        "FilledDeferredTests.swift",
        "FutureAsyncTests.swift",
        "FutureCustomExecutorTests.swift",
        "FutureIgnoreTests.swift",
        "FutureTests.swift",
        "ObjectDeferredTests.swift",
        "PerformanceTests.swift",
        "ProtectedTests.swift",
        "SwiftBugTests.swift"
      ],
      "target_dependencies" : [
        "Deferred"
      ],
      "type" : "test"
    },
    {
      "c99name" : "Deferred",
      "module_type" : "SwiftTarget",
      "name" : "Deferred",
      "path" : "Sources/Deferred",
      "product_memberships" : [
        "Deferred"
      ],
      "sources" : [
        "Atomics.swift",
        "Deferred.swift",
        "DeferredQueue.swift",
        "DeferredVariant.swift",
        "Executor.swift",
        "ExistentialFuture.swift",
        "Future.swift",
        "FutureAndThen.swift",
        "FutureAsync.swift",
        "FutureCollections.swift",
        "FutureComposition.swift",
        "FutureEveryMap.swift",
        "FutureIgnore.swift",
        "FutureMap.swift",
        "FuturePeek.swift",
        "FutureUpon.swift",
        "Locking.swift",
        "Promise.swift",
        "Protected.swift"
      ],
      "target_dependencies" : [
        "CAtomics"
      ],
      "type" : "library"
    },
    {
      "c99name" : "CAtomics",
      "module_type" : "ClangTarget",
      "name" : "CAtomics",
      "path" : "Sources/CAtomics",
      "product_memberships" : [
        "Deferred"
      ],
      "sources" : [
        "Empty.c"
      ],
      "type" : "library"
    }
  ],
  "tools_version" : "5.1"
}
warning: 'spi-builder-workspace': Invalid Exclude '/Users/admin/builder/spi-builder-workspace/Tests/DeferredTests/Tests/AllTestsCommon.swift': File not found.
warning: 'spi-builder-workspace': Invalid Exclude '/Users/admin/builder/spi-builder-workspace/Tests/TaskTests/Tests/AllTestsCommon.swift': File not found.
Done.
This is a staging environment. For live and up-to-date package information, visit swiftpackageindex.com.