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

Failed to build DominoKit, reference master (269bd7), with Swift 6.0 for Linux on 27 Nov 2024 02:24:08 UTC.

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/jarrodparkes/DominoKit.git
Reference: master
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/jarrodparkes/DominoKit
 * branch            master     -> FETCH_HEAD
 * [new branch]      master     -> origin/master
HEAD is now at 269bd70 Update README.md
Cloned https://github.com/jarrodparkes/DominoKit.git
Revision (git rev-parse @):
269bd70844152d698c52c8a404228661c5dfff99
SUCCESS checkout https://github.com/jarrodparkes/DominoKit.git at master
========================================
Build
========================================
Selected platform:         linux
Swift version:             6.0
Building package at path:  $PWD
https://github.com/jarrodparkes/DominoKit.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
Building for debugging...
[0/2] Write sources
[1/2] Write swift-version-24593BA9C3E375BF.txt
[3/8] Compiling DominoKit Suit.swift
/host/spi-builder-workspace/Sources/Suit.swift:28:23: warning: static property 'allValues' is not concurrency-safe because non-'Sendable' type '[Suit]' may have shared mutable state; this is an error in the Swift 6 language mode
 17 |     - [remaining values]: The number of dots present on this end of the domino.
 18 | */
 19 | public enum Suit: Int {
    |             `- note: consider making enum 'Suit' conform to the 'Sendable' protocol
 20 |     case invalid = -1
 21 |     case zero = 0
    :
 26 |
 27 |     /// An array containing all possible, valid suits.
 28 |     public static let allValues: [Suit] = Suit.suitsFromZeroTo(.eighteen)
    |                       |- warning: static property 'allValues' is not concurrency-safe because non-'Sendable' type '[Suit]' may have shared mutable state; this is an error in the Swift 6 language mode
    |                       |- note: annotate 'allValues' 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
 29 |
 30 |     // MARK: Custom Initializer
[4/8] Compiling DominoKit SPM+Random.swift
<unknown>:0: note: a function type must be marked '@Sendable' to conform to 'Sendable'
/host/spi-builder-workspace/Sources/SPM+Random.swift:21:16: warning: let 'random' is not concurrency-safe because non-'Sendable' type '(Int) -> Int' may have shared mutable state; this is an error in the Swift 6 language mode
19 |     import Glibc
20 |
21 |     public let random: (Int) -> Int = {
   |                |- warning: let 'random' is not concurrency-safe because non-'Sendable' type '(Int) -> Int' may have shared mutable state; this is an error in the Swift 6 language mode
   |                |- note: annotate 'random' 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
22 |         let unsigned = $0 < 0 ? $0 * -1 : $0
23 |         while true {
[5/8] Emitting module DominoKit
/host/spi-builder-workspace/Sources/Collection+Shuffle.swift:30:56: warning: 'IndexDistance' is deprecated: all index distances are now of type Int
28 | }
29 |
30 | public extension MutableCollection where Index == Int, IndexDistance == Int {
   |                                                        `- warning: 'IndexDistance' is deprecated: all index distances are now of type Int
31 |     mutating func shuffle() {
32 |         guard count > 1 else { return }
/host/spi-builder-workspace/Sources/Domino.swift:148:16: warning: 'Hashable.hashValue' is deprecated as a protocol requirement; conform type 'Domino' to 'Hashable' by implementing 'hash(into:)' instead
146 | extension Domino: Hashable {
147 |     /// Hash value of a domino.
148 |     public var hashValue: Int {
    |                `- warning: 'Hashable.hashValue' is deprecated as a protocol requirement; conform type 'Domino' to 'Hashable' by implementing 'hash(into:)' instead
149 |         return (suitOne == .invalid || suitTwo == .invalid) ?
150 |             -1 : suitOne.rawValue * 10 + suitTwo.rawValue * 1000
<unknown>:0: note: a function type must be marked '@Sendable' to conform to 'Sendable'
/host/spi-builder-workspace/Sources/SPM+Random.swift:21:16: warning: let 'random' is not concurrency-safe because non-'Sendable' type '(Int) -> Int' may have shared mutable state; this is an error in the Swift 6 language mode
19 |     import Glibc
20 |
21 |     public let random: (Int) -> Int = {
   |                |- warning: let 'random' is not concurrency-safe because non-'Sendable' type '(Int) -> Int' may have shared mutable state; this is an error in the Swift 6 language mode
   |                |- note: annotate 'random' 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
22 |         let unsigned = $0 < 0 ? $0 * -1 : $0
23 |         while true {
/host/spi-builder-workspace/Sources/Suit.swift:28:23: warning: static property 'allValues' is not concurrency-safe because non-'Sendable' type '[Suit]' may have shared mutable state; this is an error in the Swift 6 language mode
 17 |     - [remaining values]: The number of dots present on this end of the domino.
 18 | */
 19 | public enum Suit: Int {
    |             `- note: consider making enum 'Suit' conform to the 'Sendable' protocol
 20 |     case invalid = -1
 21 |     case zero = 0
    :
 26 |
 27 |     /// An array containing all possible, valid suits.
 28 |     public static let allValues: [Suit] = Suit.suitsFromZeroTo(.eighteen)
    |                       |- warning: static property 'allValues' is not concurrency-safe because non-'Sendable' type '[Suit]' may have shared mutable state; this is an error in the Swift 6 language mode
    |                       |- note: annotate 'allValues' 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
 29 |
 30 |     // MARK: Custom Initializer
[6/8] Compiling DominoKit DominoSet.swift
/host/spi-builder-workspace/Sources/DominoSet.swift:78:18: error: ambiguous use of 'shuffle()'
 76 |     /// Randomly shuffles all dominoes in the set.
 77 |     public func shuffle() {
 78 |         dominoes.shuffle()
    |                  `- error: ambiguous use of 'shuffle()'
 79 |     }
 80 |
/host/spi-builder-workspace/Sources/Collection+Shuffle.swift:31:19: note: found this candidate
29 |
30 | public extension MutableCollection where Index == Int, IndexDistance == Int {
31 |     mutating func shuffle() {
   |                   `- note: found this candidate
32 |         guard count > 1 else { return }
33 |
Swift.MutableCollection:3:37: note: found this candidate in module 'Swift'
1 | extension MutableCollection where Self : RandomAccessCollection {
2 |     @inlinable public mutating func shuffle<T>(using generator: inout T) where T : RandomNumberGenerator
3 |     @inlinable public mutating func shuffle()
  |                                     `- note: found this candidate in module 'Swift'
4 | }
[7/8] Compiling DominoKit Domino.swift
/host/spi-builder-workspace/Sources/Domino.swift:148:16: warning: 'Hashable.hashValue' is deprecated as a protocol requirement; conform type 'Domino' to 'Hashable' by implementing 'hash(into:)' instead
146 | extension Domino: Hashable {
147 |     /// Hash value of a domino.
148 |     public var hashValue: Int {
    |                `- warning: 'Hashable.hashValue' is deprecated as a protocol requirement; conform type 'Domino' to 'Hashable' by implementing 'hash(into:)' instead
149 |         return (suitOne == .invalid || suitTwo == .invalid) ?
150 |             -1 : suitOne.rawValue * 10 + suitTwo.rawValue * 1000
/host/spi-builder-workspace/Sources/Domino.swift:212:26: error: cannot find 'RegularExpression' in scope
210 |     private static func extractDominoMatchGroups(fromStringLiteral: String) -> [String] {
211 | #if os(Linux)
212 |         let regex = try! RegularExpression(pattern: "^(\\[(0[0-9]|1[0-8])\\|(0[0-9]|1[0-8])\\])$", options: [])
    |                          `- error: cannot find 'RegularExpression' in scope
213 | #else
214 |         let regex = try! NSRegularExpression(pattern: "^(\\[(0[0-9]|1[0-8])\\|(0[0-9]|1[0-8])\\])$", options: [])
/host/spi-builder-workspace/Sources/Domino.swift:219:70: error: cannot infer contextual base in reference to member 'reportCompletion'
217 |         let all = NSRange(location: 0, length: nsString.length)
218 |
219 |         let matches = regex.matches(in: fromStringLiteral, options: .reportCompletion, range: all)
    |                                                                      `- error: cannot infer contextual base in reference to member 'reportCompletion'
220 |         guard matches.count > 0 else {
221 |             return [String]()
[8/8] Compiling DominoKit Collection+Shuffle.swift
/host/spi-builder-workspace/Sources/Collection+Shuffle.swift:30:56: warning: 'IndexDistance' is deprecated: all index distances are now of type Int
28 | }
29 |
30 | public extension MutableCollection where Index == Int, IndexDistance == Int {
   |                                                        `- warning: 'IndexDistance' is deprecated: all index distances are now of type Int
31 |     mutating func shuffle() {
32 |         guard count > 1 else { return }
/host/spi-builder-workspace/Sources/Collection+Shuffle.swift:25:15: error: ambiguous use of 'shuffle()'
23 |     func shuffled() -> [Iterator.Element] {
24 |         var array = Array(self)
25 |         array.shuffle()
   |               `- error: ambiguous use of 'shuffle()'
26 |         return array
27 |     }
   :
29 |
30 | public extension MutableCollection where Index == Int, IndexDistance == Int {
31 |     mutating func shuffle() {
   |                   `- note: found this candidate
32 |         guard count > 1 else { return }
33 |
Swift.MutableCollection:3:37: note: found this candidate in module 'Swift'
1 | extension MutableCollection where Self : RandomAccessCollection {
2 |     @inlinable public mutating func shuffle<T>(using generator: inout T) where T : RandomNumberGenerator
3 |     @inlinable public mutating func shuffle()
  |                                     `- note: found this candidate in module 'Swift'
4 | }
<unknown>:0: note: a function type must be marked '@Sendable' to conform to 'Sendable'
/host/spi-builder-workspace/Sources/SPM+Random.swift:21:16: warning: let 'random' is not concurrency-safe because non-'Sendable' type '(Int) -> Int' may have shared mutable state; this is an error in the Swift 6 language mode
19 |     import Glibc
20 |
21 |     public let random: (Int) -> Int = {
   |                |- warning: let 'random' is not concurrency-safe because non-'Sendable' type '(Int) -> Int' may have shared mutable state; this is an error in the Swift 6 language mode
   |                |- note: annotate 'random' 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
22 |         let unsigned = $0 < 0 ? $0 * -1 : $0
23 |         while true {
BUILD FAILURE 6.0 linux