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 Baggins, reference main (d66135), with Swift 6.0 for Linux on 28 Nov 2024 10:49:17 UTC.

Swift 6 data race errors: 0

Build Command

bash -c docker run --pull=always --rm -v "checkouts-4609320-0":/host -w "$PWD" registry.gitlab.com/finestructure/spi-images:basic-6.0-latest swift build --triple x86_64-unknown-linux-gnu -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 2>&1

Build Log

========================================
RunAll
========================================
Builder version: 4.58.0
Interrupt handler set up.
========================================
Checkout
========================================
Clone URL: https://github.com/alexito4/Baggins.git
Reference: main
Initialized empty Git repository in /host/spi-builder-workspace/.git/
hint: Using 'master' as the name for the initial branch. This default branch name
hint: is subject to change. To configure the initial branch name to use in all
hint: of your new repositories, which will suppress this warning, call:
hint:
hint: 	git config --global init.defaultBranch <name>
hint:
hint: Names commonly chosen instead of 'master' are 'main', 'trunk' and
hint: 'development'. The just-created branch can be renamed via this command:
hint:
hint: 	git branch -m <name>
From https://github.com/alexito4/Baggins
 * branch            main       -> FETCH_HEAD
 * [new branch]      main       -> origin/main
HEAD is now at d66135f SimpleError
Cloned https://github.com/alexito4/Baggins.git
Revision (git rev-parse @):
d66135fb07c12055599952ddf0e94a16978ad534
SUCCESS checkout https://github.com/alexito4/Baggins.git at main
========================================
Build
========================================
Selected platform:         linux
Swift version:             6.0
Building package at path:  $PWD
https://github.com/alexito4/Baggins.git
Running build ...
bash -c docker run --pull=always --rm -v "checkouts-4609320-0":/host -w "$PWD" registry.gitlab.com/finestructure/spi-images:basic-6.0-latest swift build --triple x86_64-unknown-linux-gnu -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 2>&1
basic-6.0-latest: Pulling from finestructure/spi-images
Digest: sha256:47d26c99ca4f1ac0a332c85fd5b13ff4390e72115219984a57a68fe9d1063a05
Status: Image is up to date for registry.gitlab.com/finestructure/spi-images:basic-6.0-latest
Fetching https://github.com/alexito4/Flow.git
Fetching https://github.com/alexito4/UnwrapOrThrow
[1/48] Fetching flow
[49/85] Fetching flow, unwraporthrow
Fetched https://github.com/alexito4/Flow.git from cache (0.20s)
Fetched https://github.com/alexito4/UnwrapOrThrow from cache (0.20s)
Computing version for https://github.com/alexito4/UnwrapOrThrow
Computed https://github.com/alexito4/UnwrapOrThrow at 1.0.0 (0.71s)
Computing version for https://github.com/alexito4/Flow.git
Computed https://github.com/alexito4/Flow.git at 1.0.0 (0.44s)
Creating working copy for https://github.com/alexito4/Flow.git
Working copy of https://github.com/alexito4/Flow.git resolved at 1.0.0
Creating working copy for https://github.com/alexito4/UnwrapOrThrow
Working copy of https://github.com/alexito4/UnwrapOrThrow resolved at 1.0.0
Building for debugging...
[0/4] Write sources
[3/4] Write swift-version-24593BA9C3E375BF.txt
[5/11] Compiling Flow Functions.swift
[6/11] Compiling Flow Flowable.swift
[7/11] Compiling Flow Extensions.swift
[8/11] Emitting module UnwrapOrThrow
[9/11] Compiling UnwrapOrThrow UnwrapOrThrow.swift
[10/12] Emitting module Flow
[11/12] Compiling Flow Conformances.swift
[14/21] Compiling Baggins UnwrapOrThrow.swift
[15/22] Compiling Baggins Sequence.swift
[16/22] Compiling Baggins Flow.swift
[17/22] Compiling Baggins String.swift
[18/22] Compiling Baggins Collection.swift
[19/22] Compiling Baggins Bool.swift
[20/22] Emitting module Baggins
[21/22] Compiling Baggins Concurrency.swift
/host/spi-builder-workspace/Sources/Baggins/Concurrency.swift:29:22: warning: type 'R' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
 19 | // MARK: - Race
 20 |
 21 | public func firstOf<R>(
    |                     `- note: consider making generic parameter 'R' conform to the 'Sendable' protocol
 22 |     _ f1: @escaping () async throws -> R,
 23 |     or f2: @escaping () async throws -> R
    :
 27 |     // `addTaskUnlessCancelled`...
 28 |     try Task.checkCancellation()
 29 |     return try await withThrowingTaskGroup(of: R.self) { group in
    |                      `- warning: type 'R' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
 30 |         try Task.checkCancellation()
 31 |         guard group.addTaskUnlessCancelled(operation: { try await f1() }) else {
/host/spi-builder-workspace/Sources/Baggins/Concurrency.swift:31:21: warning: type 'R' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
 19 | // MARK: - Race
 20 |
 21 | public func firstOf<R>(
    |                     `- note: consider making generic parameter 'R' conform to the 'Sendable' protocol
 22 |     _ f1: @escaping () async throws -> R,
 23 |     or f2: @escaping () async throws -> R
    :
 29 |     return try await withThrowingTaskGroup(of: R.self) { group in
 30 |         try Task.checkCancellation()
 31 |         guard group.addTaskUnlessCancelled(operation: { try await f1() }) else {
    |                     `- warning: type 'R' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
 32 |             throw CancellationError()
 33 |         }
/host/spi-builder-workspace/Sources/Baggins/Concurrency.swift:34:21: warning: type 'R' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
 19 | // MARK: - Race
 20 |
 21 | public func firstOf<R>(
    |                     `- note: consider making generic parameter 'R' conform to the 'Sendable' protocol
 22 |     _ f1: @escaping () async throws -> R,
 23 |     or f2: @escaping () async throws -> R
    :
 32 |             throw CancellationError()
 33 |         }
 34 |         guard group.addTaskUnlessCancelled(operation: { try await f2() }) else {
    |                     `- warning: type 'R' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
 35 |             group.cancelAll()
 36 |             throw CancellationError()
/host/spi-builder-workspace/Sources/Baggins/Concurrency.swift:35:19: warning: type 'R' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
 19 | // MARK: - Race
 20 |
 21 | public func firstOf<R>(
    |                     `- note: consider making generic parameter 'R' conform to the 'Sendable' protocol
 22 |     _ f1: @escaping () async throws -> R,
 23 |     or f2: @escaping () async throws -> R
    :
 33 |         }
 34 |         guard group.addTaskUnlessCancelled(operation: { try await f2() }) else {
 35 |             group.cancelAll()
    |                   `- warning: type 'R' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
 36 |             throw CancellationError()
 37 |         }
/host/spi-builder-workspace/Sources/Baggins/Concurrency.swift:38:43: warning: type 'R' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
 19 | // MARK: - Race
 20 |
 21 | public func firstOf<R>(
    |                     `- note: consider making generic parameter 'R' conform to the 'Sendable' protocol
 22 |     _ f1: @escaping () async throws -> R,
 23 |     or f2: @escaping () async throws -> R
    :
 36 |             throw CancellationError()
 37 |         }
 38 |         guard let first = try await group.next() else {
    |                                           `- warning: type 'R' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
 39 |             fatalError()
 40 |         }
/host/spi-builder-workspace/Sources/Baggins/Concurrency.swift:41:15: warning: type 'R' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
 19 | // MARK: - Race
 20 |
 21 | public func firstOf<R>(
    |                     `- note: consider making generic parameter 'R' conform to the 'Sendable' protocol
 22 |     _ f1: @escaping () async throws -> R,
 23 |     or f2: @escaping () async throws -> R
    :
 39 |             fatalError()
 40 |         }
 41 |         group.cancelAll()
    |               `- warning: type 'R' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
 42 |         return first
 43 |     }
/host/spi-builder-workspace/Sources/Baggins/Concurrency.swift:31:55: warning: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure; this is an error in the Swift 6 language mode
 29 |     return try await withThrowingTaskGroup(of: R.self) { group in
 30 |         try Task.checkCancellation()
 31 |         guard group.addTaskUnlessCancelled(operation: { try await f1() }) else {
    |                                                       |           `- note: closure captures 'f1' which is accessible to code in the current task
    |                                                       `- warning: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure; this is an error in the Swift 6 language mode
 32 |             throw CancellationError()
 33 |         }
/host/spi-builder-workspace/Sources/Baggins/Concurrency.swift:34:55: warning: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure; this is an error in the Swift 6 language mode
 32 |             throw CancellationError()
 33 |         }
 34 |         guard group.addTaskUnlessCancelled(operation: { try await f2() }) else {
    |                                                       |           `- note: closure captures 'f2' which is accessible to code in the current task
    |                                                       `- warning: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure; this is an error in the Swift 6 language mode
 35 |             group.cancelAll()
 36 |             throw CancellationError()
[22/22] Compiling Baggins _Brewing.swift
/host/spi-builder-workspace/Sources/Baggins/_Brewing.swift:11:28: warning: sending 'left' risks causing data races; this is an error in the Swift 6 language mode
  9 |     combined: (Left, Right) async throws -> Return
 10 | ) async throws -> Return {
 11 |     async let leftResult = left()
    |                            |- warning: sending 'left' risks causing data races; this is an error in the Swift 6 language mode
    |                            `- note: sending task-isolated 'left' into async let risks causing data races between nonisolated and task-isolated uses
 12 |     async let rightResult = right()
 13 |     return try await combined(leftResult, rightResult)
/host/spi-builder-workspace/Sources/Baggins/_Brewing.swift:12:29: warning: sending 'right' risks causing data races; this is an error in the Swift 6 language mode
 10 | ) async throws -> Return {
 11 |     async let leftResult = left()
 12 |     async let rightResult = right()
    |                             |- warning: sending 'right' risks causing data races; this is an error in the Swift 6 language mode
    |                             `- note: sending task-isolated 'right' into async let risks causing data races between nonisolated and task-isolated uses
 13 |     return try await combined(leftResult, rightResult)
 14 | }
Build complete! (11.59s)
Build complete.
{
  "dependencies" : [
    {
      "identity" : "flow",
      "requirement" : {
        "range" : [
          {
            "lower_bound" : "1.0.0",
            "upper_bound" : "2.0.0"
          }
        ]
      },
      "type" : "sourceControl",
      "url" : "https://github.com/alexito4/Flow.git"
    },
    {
      "identity" : "unwraporthrow",
      "requirement" : {
        "range" : [
          {
            "lower_bound" : "1.0.0",
            "upper_bound" : "2.0.0"
          }
        ]
      },
      "type" : "sourceControl",
      "url" : "https://github.com/alexito4/UnwrapOrThrow"
    }
  ],
  "manifest_display_name" : "Baggins",
  "name" : "Baggins",
  "path" : "/host/spi-builder-workspace",
  "platforms" : [
    {
      "name" : "ios",
      "version" : "14.0"
    },
    {
      "name" : "macos",
      "version" : "10.15"
    }
  ],
  "products" : [
    {
      "name" : "Baggins",
      "targets" : [
        "Baggins"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    }
  ],
  "targets" : [
    {
      "c99name" : "BagginsTests",
      "module_type" : "SwiftTarget",
      "name" : "BagginsTests",
      "path" : "Tests/BagginsTests",
      "sources" : [
        "BoolTests.swift",
        "BrewingTests.swift",
        "CollectionTests.swift",
        "ConcurrencyTests.swift",
        "ConcurrencyUnsafeBlockingTests.swift",
        "SequenceTests.swift",
        "StringTests.swift"
      ],
      "target_dependencies" : [
        "Baggins"
      ],
      "type" : "test"
    },
    {
      "c99name" : "Baggins",
      "module_type" : "SwiftTarget",
      "name" : "Baggins",
      "path" : "Sources/Baggins",
      "product_dependencies" : [
        "Flow",
        "UnwrapOrThrow"
      ],
      "product_memberships" : [
        "Baggins"
      ],
      "sources" : [
        "Bool.swift",
        "Collection.swift",
        "Concurrency.swift",
        "Flow.swift",
        "Sequence.swift",
        "String.swift",
        "UnwrapOrThrow.swift",
        "_Brewing.swift"
      ],
      "type" : "library"
    }
  ],
  "tools_version" : "5.5"
}
basic-6.0-latest: Pulling from finestructure/spi-images
Digest: sha256:47d26c99ca4f1ac0a332c85fd5b13ff4390e72115219984a57a68fe9d1063a05
Status: Image is up to date for registry.gitlab.com/finestructure/spi-images:basic-6.0-latest
Done.