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 AsyncTesting, reference main (7adf06), with Swift 6.0 for macOS (SPM) on 29 Nov 2024 02:39:46 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/AsyncSwiftKits/AsyncTesting.git
Reference: main
Initialized empty Git repository in /Users/admin/builder/spi-builder-workspace/.git/
From https://github.com/AsyncSwiftKits/AsyncTesting
 * branch            main       -> FETCH_HEAD
 * [new branch]      main       -> origin/main
HEAD is now at 7adf06a adds testTask function to use with XCTestCase
Cloned https://github.com/AsyncSwiftKits/AsyncTesting.git
Revision (git rev-parse @):
7adf06adc51d0b8053033d44d95d676f7a7e5554
SUCCESS checkout https://github.com/AsyncSwiftKits/AsyncTesting.git at main
========================================
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": "asynctesting",
      "name": "AsyncTesting",
      "url": "https://github.com/AsyncSwiftKits/AsyncTesting.git",
      "version": "unspecified",
      "path": "/Users/admin/builder/spi-builder-workspace/.resolve-product-dependencies/.build/checkouts/AsyncTesting",
      "dependencies": [
      ]
    }
  ]
}
Fetching https://github.com/AsyncSwiftKits/AsyncTesting.git
[1/362] Fetching asynctesting
Fetched https://github.com/AsyncSwiftKits/AsyncTesting.git from cache (0.71s)
Creating working copy for https://github.com/AsyncSwiftKits/AsyncTesting.git
Working copy of https://github.com/AsyncSwiftKits/AsyncTesting.git resolved at main (7adf06a)
warning: '.resolve-product-dependencies': dependency 'asynctesting' 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/AsyncSwiftKits/AsyncTesting.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/6] Compiling AsyncTesting XCTestCase+AsyncTesting.swift
/Users/admin/builder/spi-builder-workspace/Sources/AsyncTesting/XCTestCase+AsyncTesting.swift:54:20: warning: type 'Success' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
46 |     /// - Returns: result of closure
47 |     @discardableResult
48 |     public func testTask<Success>(timeout: Double = 60,
   |                          `- note: consider making generic parameter 'Success' conform to the 'Sendable' protocol
49 |                                   file: StaticString = #filePath,
50 |                                   line: UInt = #line,
   :
52 |         let done = asyncExpectation(description: "done")
53 |
54 |         let task = Task {
   |                    `- warning: type 'Success' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
55 |             let result = try await operation()
56 |             await done.fulfill()
/Users/admin/builder/spi-builder-workspace/Sources/AsyncTesting/XCTestCase+AsyncTesting.swift:54:20: warning: type 'Success' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
46 |     /// - Returns: result of closure
47 |     @discardableResult
48 |     public func testTask<Success>(timeout: Double = 60,
   |                          `- note: consider making generic parameter 'Success' conform to the 'Sendable' protocol
49 |                                   file: StaticString = #filePath,
50 |                                   line: UInt = #line,
   :
52 |         let done = asyncExpectation(description: "done")
53 |
54 |         let task = Task {
   |                    `- warning: type 'Success' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
55 |             let result = try await operation()
56 |             await done.fulfill()
/Users/admin/builder/spi-builder-workspace/Sources/AsyncTesting/XCTestCase+AsyncTesting.swift:62:31: warning: type 'Success' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
46 |     /// - Returns: result of closure
47 |     @discardableResult
48 |     public func testTask<Success>(timeout: Double = 60,
   |                          `- note: consider making generic parameter 'Success' conform to the 'Sendable' protocol
49 |                                   file: StaticString = #filePath,
50 |                                   line: UInt = #line,
   :
60 |         await waitForExpectations([done], timeout: timeout, file: file, line: line)
61 |
62 |         return try await task.value
   |                               `- warning: type 'Success' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
63 |     }
64 |
/Users/admin/builder/spi-builder-workspace/Sources/AsyncTesting/XCTestCase+AsyncTesting.swift:60:15: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
58 |         }
59 |
60 |         await waitForExpectations([done], timeout: timeout, file: file, line: line)
   |               |- warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
   |               `- note: sending task-isolated 'self' to main actor-isolated instance method 'waitForExpectations(_:timeout:file:line:)' risks causing data races between main actor-isolated and task-isolated uses
61 |
62 |         return try await task.value
[4/6] Compiling AsyncTesting AsyncExpectation.swift
[5/6] Emitting module AsyncTesting
[6/6] Compiling AsyncTesting AsyncTesting.swift
Build complete! (12.22s)
Build complete.
{
  "dependencies" : [
  ],
  "manifest_display_name" : "AsyncTesting",
  "name" : "AsyncTesting",
  "path" : "/Users/admin/builder/spi-builder-workspace",
  "platforms" : [
    {
      "name" : "macos",
      "version" : "12.0"
    },
    {
      "name" : "ios",
      "version" : "13.0"
    },
    {
      "name" : "tvos",
      "version" : "13.0"
    },
    {
      "name" : "watchos",
      "version" : "6.0"
    }
  ],
  "products" : [
    {
      "name" : "AsyncTesting",
      "targets" : [
        "AsyncTesting"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    }
  ],
  "targets" : [
    {
      "c99name" : "AsyncTestingTests",
      "module_type" : "SwiftTarget",
      "name" : "AsyncTestingTests",
      "path" : "Tests/AsyncTestingTests",
      "sources" : [
        "AsyncTestingTests.swift"
      ],
      "target_dependencies" : [
        "AsyncTesting"
      ],
      "type" : "test"
    },
    {
      "c99name" : "AsyncTesting",
      "module_type" : "SwiftTarget",
      "name" : "AsyncTesting",
      "path" : "Sources/AsyncTesting",
      "product_memberships" : [
        "AsyncTesting"
      ],
      "sources" : [
        "AsyncExpectation.swift",
        "AsyncTesting.swift",
        "XCTestCase+AsyncTesting.swift"
      ],
      "type" : "library"
    }
  ],
  "tools_version" : "5.6"
}
Done.