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.1 for Linux on 26 Apr 2025 19:34:33 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.1-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.61.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.1
Building package at path:  $PWD
https://github.com/alexito4/Baggins.git
https://github.com/alexito4/Baggins.git
WARNING: environment variable SUPPRESS_SWIFT_6_FLAGS is not set
{
  "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"
}
Running build ...
bash -c docker run --pull=always --rm -v "checkouts-4609320-0":/host -w "$PWD" registry.gitlab.com/finestructure/spi-images:basic-6.1-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.1-latest: Pulling from finestructure/spi-images
Digest: sha256:3bdcac04179f4ed3e5b8e9dbd6e74bbf5ebc0f4fde48bbaad7d1e5c757e65bcb
Status: Image is up to date for registry.gitlab.com/finestructure/spi-images:basic-6.1-latest
Fetching https://github.com/alexito4/UnwrapOrThrow
Fetching https://github.com/alexito4/Flow.git
[1/37] Fetching unwraporthrow
[38/85] Fetching unwraporthrow, flow
Fetched https://github.com/alexito4/Flow.git from cache (0.18s)
Fetched https://github.com/alexito4/UnwrapOrThrow from cache (0.18s)
Computing version for https://github.com/alexito4/UnwrapOrThrow
Computed https://github.com/alexito4/UnwrapOrThrow at 1.0.0 (0.62s)
Computing version for https://github.com/alexito4/Flow.git
Computed https://github.com/alexito4/Flow.git at 1.0.0 (0.45s)
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 Flowable.swift
[6/11] Compiling Flow Functions.swift
[7/11] Emitting module Flow
[8/11] Compiling Flow Conformances.swift
[9/11] Compiling Flow Extensions.swift
[10/12] Emitting module UnwrapOrThrow
[11/12] Compiling UnwrapOrThrow UnwrapOrThrow.swift
[14/21] Compiling Baggins UnwrapOrThrow.swift
[15/22] Emitting module Baggins
[16/22] Compiling Baggins Bool.swift
[17/22] Compiling Baggins Sequence.swift
[18/22] Compiling Baggins String.swift
[19/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()
[20/22] Compiling Baggins Collection.swift
[21/22] Compiling Baggins Flow.swift
[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! (7.68s)
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.1-latest: Pulling from finestructure/spi-images
Digest: sha256:3bdcac04179f4ed3e5b8e9dbd6e74bbf5ebc0f4fde48bbaad7d1e5c757e65bcb
Status: Image is up to date for registry.gitlab.com/finestructure/spi-images:basic-6.1-latest
Done.