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 HiveEngine, reference 3.1.4 (0fa54c), with Swift 6.0 for Linux on 28 Nov 2024 00:52:07 UTC.

Swift 6 data race errors: 7

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/autoreleasefool/hive-engine.git
Reference: 3.1.4
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/autoreleasefool/hive-engine
 * tag               3.1.4      -> FETCH_HEAD
HEAD is now at 0fa54ca Move testing utilities into target
Cloned https://github.com/autoreleasefool/hive-engine.git
Revision (git rev-parse @):
0fa54ca24d7881d661119d97fe0867bd3bf72ff6
SUCCESS checkout https://github.com/autoreleasefool/hive-engine.git at 3.1.4
========================================
Build
========================================
Selected platform:         linux
Swift version:             6.0
Building package at path:  $PWD
https://github.com/autoreleasefool/hive-engine.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/sharplet/Regex.git
[1/1254] Fetching regex
Fetched https://github.com/sharplet/Regex.git from cache (0.56s)
Computing version for https://github.com/sharplet/Regex.git
Computed https://github.com/sharplet/Regex.git at 2.1.1 (1.80s)
Creating working copy for https://github.com/sharplet/Regex.git
Working copy of https://github.com/sharplet/Regex.git resolved at 2.1.1
Building for debugging...
[0/4] Write sources
[3/4] Write swift-version-24593BA9C3E375BF.txt
[5/11] Compiling Regex ThreadLocal.swift
[6/11] Compiling Regex String+ReplaceMatching.swift
[7/11] Compiling Regex Foundation+Ranges.swift
[8/11] Emitting module Regex
[9/11] Compiling Regex MatchResult.swift
[10/11] Compiling Regex Options.swift
[11/11] Compiling Regex Regex.swift
[13/41] Compiling HiveEngine PlayCommand.swift
[14/41] Compiling HiveEngine UHPCommand.swift
[15/41] Compiling HiveEngine UHPResult.swift
[16/41] Compiling HiveEngine UndoCommand.swift
[17/44] Compiling HiveEngine GameTypeString.swift
/host/spi-builder-workspace/Sources/HiveEngine/Engine/Util/TurnString.swift:24:21: warning: static property 'regex' is not concurrency-safe because non-'Sendable' type 'Regex' may have shared mutable state; this is an error in the Swift 6 language mode
22 | 	}
23 |
24 | 	private static let regex = Regex(#"^(Black|White)\[(\d+)\]$"#)
   |                     `- warning: static property 'regex' is not concurrency-safe because non-'Sendable' type 'Regex' may have shared mutable state; this is an error in the Swift 6 language mode
25 |
26 | 	public init?(from: String) {
/host/spi-builder-workspace/.build/checkouts/Regex/Source/Regex/Regex.swift:3:15: note: struct 'Regex' does not conform to the 'Sendable' protocol
  1 | import Foundation
  2 |
  3 | public struct Regex: CustomStringConvertible, CustomDebugStringConvertible {
    |               `- note: struct 'Regex' does not conform to the 'Sendable' protocol
  4 |   // MARK: Initialisation
  5 |
/host/spi-builder-workspace/Sources/HiveEngine/Engine/Util/TurnString.swift:9:1: warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'Regex'
 7 | //
 8 |
 9 | import Regex
   | `- warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'Regex'
10 |
11 | public struct TurnString: Equatable, CustomStringConvertible {
   :
22 | 	}
23 |
24 | 	private static let regex = Regex(#"^(Black|White)\[(\d+)\]$"#)
   |                     |- note: annotate 'regex' 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
25 |
26 | 	public init?(from: String) {
<unknown>:0: note: a function type must be marked '@Sendable' to conform to 'Sendable'
/host/spi-builder-workspace/Sources/HiveEngine/Extensions/FatalError.swift:26:21: warning: static property 'defaultFatalErrorClosure' is not concurrency-safe because non-'Sendable' type '(String, StaticString, UInt) -> Never' may have shared mutable state; this is an error in the Swift 6 language mode
24 |
25 | internal struct FatalErrorUtil {
26 | 	private static let defaultFatalErrorClosure = { Swift.fatalError($0, file: $1, line: $2) }
   |                     |- warning: static property 'defaultFatalErrorClosure' is not concurrency-safe because non-'Sendable' type '(String, StaticString, UInt) -> Never' may have shared mutable state; this is an error in the Swift 6 language mode
   |                     |- note: annotate 'defaultFatalErrorClosure' 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
27 |
28 | 	static var fatalErrorClosure: (String, StaticString, UInt) -> Never = defaultFatalErrorClosure
/host/spi-builder-workspace/Sources/HiveEngine/Extensions/FatalError.swift:28:13: warning: static property 'fatalErrorClosure' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
26 | 	private static let defaultFatalErrorClosure = { Swift.fatalError($0, file: $1, line: $2) }
27 |
28 | 	static var fatalErrorClosure: (String, StaticString, UInt) -> Never = defaultFatalErrorClosure
   |             |- warning: static property 'fatalErrorClosure' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
   |             |- note: convert 'fatalErrorClosure' to a 'let' constant to make 'Sendable' shared state immutable
   |             |- note: annotate 'fatalErrorClosure' 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 | 	static func replaceFatalError(closure: @escaping (String, StaticString, UInt) -> Never) {
[18/44] Compiling HiveEngine MoveString.swift
/host/spi-builder-workspace/Sources/HiveEngine/Engine/Util/TurnString.swift:24:21: warning: static property 'regex' is not concurrency-safe because non-'Sendable' type 'Regex' may have shared mutable state; this is an error in the Swift 6 language mode
22 | 	}
23 |
24 | 	private static let regex = Regex(#"^(Black|White)\[(\d+)\]$"#)
   |                     `- warning: static property 'regex' is not concurrency-safe because non-'Sendable' type 'Regex' may have shared mutable state; this is an error in the Swift 6 language mode
25 |
26 | 	public init?(from: String) {
/host/spi-builder-workspace/.build/checkouts/Regex/Source/Regex/Regex.swift:3:15: note: struct 'Regex' does not conform to the 'Sendable' protocol
  1 | import Foundation
  2 |
  3 | public struct Regex: CustomStringConvertible, CustomDebugStringConvertible {
    |               `- note: struct 'Regex' does not conform to the 'Sendable' protocol
  4 |   // MARK: Initialisation
  5 |
/host/spi-builder-workspace/Sources/HiveEngine/Engine/Util/TurnString.swift:9:1: warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'Regex'
 7 | //
 8 |
 9 | import Regex
   | `- warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'Regex'
10 |
11 | public struct TurnString: Equatable, CustomStringConvertible {
   :
22 | 	}
23 |
24 | 	private static let regex = Regex(#"^(Black|White)\[(\d+)\]$"#)
   |                     |- note: annotate 'regex' 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
25 |
26 | 	public init?(from: String) {
<unknown>:0: note: a function type must be marked '@Sendable' to conform to 'Sendable'
/host/spi-builder-workspace/Sources/HiveEngine/Extensions/FatalError.swift:26:21: warning: static property 'defaultFatalErrorClosure' is not concurrency-safe because non-'Sendable' type '(String, StaticString, UInt) -> Never' may have shared mutable state; this is an error in the Swift 6 language mode
24 |
25 | internal struct FatalErrorUtil {
26 | 	private static let defaultFatalErrorClosure = { Swift.fatalError($0, file: $1, line: $2) }
   |                     |- warning: static property 'defaultFatalErrorClosure' is not concurrency-safe because non-'Sendable' type '(String, StaticString, UInt) -> Never' may have shared mutable state; this is an error in the Swift 6 language mode
   |                     |- note: annotate 'defaultFatalErrorClosure' 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
27 |
28 | 	static var fatalErrorClosure: (String, StaticString, UInt) -> Never = defaultFatalErrorClosure
/host/spi-builder-workspace/Sources/HiveEngine/Extensions/FatalError.swift:28:13: warning: static property 'fatalErrorClosure' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
26 | 	private static let defaultFatalErrorClosure = { Swift.fatalError($0, file: $1, line: $2) }
27 |
28 | 	static var fatalErrorClosure: (String, StaticString, UInt) -> Never = defaultFatalErrorClosure
   |             |- warning: static property 'fatalErrorClosure' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
   |             |- note: convert 'fatalErrorClosure' to a 'let' constant to make 'Sendable' shared state immutable
   |             |- note: annotate 'fatalErrorClosure' 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 | 	static func replaceFatalError(closure: @escaping (String, StaticString, UInt) -> Never) {
[19/44] Compiling HiveEngine TurnString.swift
/host/spi-builder-workspace/Sources/HiveEngine/Engine/Util/TurnString.swift:24:21: warning: static property 'regex' is not concurrency-safe because non-'Sendable' type 'Regex' may have shared mutable state; this is an error in the Swift 6 language mode
22 | 	}
23 |
24 | 	private static let regex = Regex(#"^(Black|White)\[(\d+)\]$"#)
   |                     `- warning: static property 'regex' is not concurrency-safe because non-'Sendable' type 'Regex' may have shared mutable state; this is an error in the Swift 6 language mode
25 |
26 | 	public init?(from: String) {
/host/spi-builder-workspace/.build/checkouts/Regex/Source/Regex/Regex.swift:3:15: note: struct 'Regex' does not conform to the 'Sendable' protocol
  1 | import Foundation
  2 |
  3 | public struct Regex: CustomStringConvertible, CustomDebugStringConvertible {
    |               `- note: struct 'Regex' does not conform to the 'Sendable' protocol
  4 |   // MARK: Initialisation
  5 |
/host/spi-builder-workspace/Sources/HiveEngine/Engine/Util/TurnString.swift:9:1: warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'Regex'
 7 | //
 8 |
 9 | import Regex
   | `- warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'Regex'
10 |
11 | public struct TurnString: Equatable, CustomStringConvertible {
   :
22 | 	}
23 |
24 | 	private static let regex = Regex(#"^(Black|White)\[(\d+)\]$"#)
   |                     |- note: annotate 'regex' 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
25 |
26 | 	public init?(from: String) {
<unknown>:0: note: a function type must be marked '@Sendable' to conform to 'Sendable'
/host/spi-builder-workspace/Sources/HiveEngine/Extensions/FatalError.swift:26:21: warning: static property 'defaultFatalErrorClosure' is not concurrency-safe because non-'Sendable' type '(String, StaticString, UInt) -> Never' may have shared mutable state; this is an error in the Swift 6 language mode
24 |
25 | internal struct FatalErrorUtil {
26 | 	private static let defaultFatalErrorClosure = { Swift.fatalError($0, file: $1, line: $2) }
   |                     |- warning: static property 'defaultFatalErrorClosure' is not concurrency-safe because non-'Sendable' type '(String, StaticString, UInt) -> Never' may have shared mutable state; this is an error in the Swift 6 language mode
   |                     |- note: annotate 'defaultFatalErrorClosure' 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
27 |
28 | 	static var fatalErrorClosure: (String, StaticString, UInt) -> Never = defaultFatalErrorClosure
/host/spi-builder-workspace/Sources/HiveEngine/Extensions/FatalError.swift:28:13: warning: static property 'fatalErrorClosure' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
26 | 	private static let defaultFatalErrorClosure = { Swift.fatalError($0, file: $1, line: $2) }
27 |
28 | 	static var fatalErrorClosure: (String, StaticString, UInt) -> Never = defaultFatalErrorClosure
   |             |- warning: static property 'fatalErrorClosure' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
   |             |- note: convert 'fatalErrorClosure' to a 'let' constant to make 'Sendable' shared state immutable
   |             |- note: annotate 'fatalErrorClosure' 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 | 	static func replaceFatalError(closure: @escaping (String, StaticString, UInt) -> Never) {
[20/44] Compiling HiveEngine FatalError.swift
/host/spi-builder-workspace/Sources/HiveEngine/Engine/Util/TurnString.swift:24:21: warning: static property 'regex' is not concurrency-safe because non-'Sendable' type 'Regex' may have shared mutable state; this is an error in the Swift 6 language mode
22 | 	}
23 |
24 | 	private static let regex = Regex(#"^(Black|White)\[(\d+)\]$"#)
   |                     `- warning: static property 'regex' is not concurrency-safe because non-'Sendable' type 'Regex' may have shared mutable state; this is an error in the Swift 6 language mode
25 |
26 | 	public init?(from: String) {
/host/spi-builder-workspace/.build/checkouts/Regex/Source/Regex/Regex.swift:3:15: note: struct 'Regex' does not conform to the 'Sendable' protocol
  1 | import Foundation
  2 |
  3 | public struct Regex: CustomStringConvertible, CustomDebugStringConvertible {
    |               `- note: struct 'Regex' does not conform to the 'Sendable' protocol
  4 |   // MARK: Initialisation
  5 |
/host/spi-builder-workspace/Sources/HiveEngine/Engine/Util/TurnString.swift:9:1: warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'Regex'
 7 | //
 8 |
 9 | import Regex
   | `- warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'Regex'
10 |
11 | public struct TurnString: Equatable, CustomStringConvertible {
   :
22 | 	}
23 |
24 | 	private static let regex = Regex(#"^(Black|White)\[(\d+)\]$"#)
   |                     |- note: annotate 'regex' 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
25 |
26 | 	public init?(from: String) {
<unknown>:0: note: a function type must be marked '@Sendable' to conform to 'Sendable'
/host/spi-builder-workspace/Sources/HiveEngine/Extensions/FatalError.swift:26:21: warning: static property 'defaultFatalErrorClosure' is not concurrency-safe because non-'Sendable' type '(String, StaticString, UInt) -> Never' may have shared mutable state; this is an error in the Swift 6 language mode
24 |
25 | internal struct FatalErrorUtil {
26 | 	private static let defaultFatalErrorClosure = { Swift.fatalError($0, file: $1, line: $2) }
   |                     |- warning: static property 'defaultFatalErrorClosure' is not concurrency-safe because non-'Sendable' type '(String, StaticString, UInt) -> Never' may have shared mutable state; this is an error in the Swift 6 language mode
   |                     |- note: annotate 'defaultFatalErrorClosure' 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
27 |
28 | 	static var fatalErrorClosure: (String, StaticString, UInt) -> Never = defaultFatalErrorClosure
/host/spi-builder-workspace/Sources/HiveEngine/Extensions/FatalError.swift:28:13: warning: static property 'fatalErrorClosure' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
26 | 	private static let defaultFatalErrorClosure = { Swift.fatalError($0, file: $1, line: $2) }
27 |
28 | 	static var fatalErrorClosure: (String, StaticString, UInt) -> Never = defaultFatalErrorClosure
   |             |- warning: static property 'fatalErrorClosure' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
   |             |- note: convert 'fatalErrorClosure' to a 'let' constant to make 'Sendable' shared state immutable
   |             |- note: annotate 'fatalErrorClosure' 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 | 	static func replaceFatalError(closure: @escaping (String, StaticString, UInt) -> Never) {
[21/44] Compiling HiveEngine Unit+Hopper.swift
[22/44] Compiling HiveEngine Unit+LadyBug.swift
[23/44] Compiling HiveEngine Unit+Mosquito.swift
[24/44] Compiling HiveEngine Unit+PillBug.swift
[25/44] Compiling HiveEngine ValidMovesCommand.swift
[26/44] Compiling HiveEngine Engine.swift
[27/44] Compiling HiveEngine GameStateString.swift
[28/44] Compiling HiveEngine GameString.swift
[29/44] Compiling HiveEngine BestMoveCommand.swift
[30/44] Compiling HiveEngine InfoCommand.swift
[31/44] Compiling HiveEngine NewGameCommand.swift
[32/44] Compiling HiveEngine OptionsCommand.swift
[33/44] Emitting module HiveEngine
/host/spi-builder-workspace/Sources/HiveEngine/Engine/Util/TurnString.swift:24:21: warning: static property 'regex' is not concurrency-safe because non-'Sendable' type 'Regex' may have shared mutable state; this is an error in the Swift 6 language mode
22 | 	}
23 |
24 | 	private static let regex = Regex(#"^(Black|White)\[(\d+)\]$"#)
   |                     `- warning: static property 'regex' is not concurrency-safe because non-'Sendable' type 'Regex' may have shared mutable state; this is an error in the Swift 6 language mode
25 |
26 | 	public init?(from: String) {
/host/spi-builder-workspace/.build/checkouts/Regex/Source/Regex/Regex.swift:3:15: note: struct 'Regex' does not conform to the 'Sendable' protocol
  1 | import Foundation
  2 |
  3 | public struct Regex: CustomStringConvertible, CustomDebugStringConvertible {
    |               `- note: struct 'Regex' does not conform to the 'Sendable' protocol
  4 |   // MARK: Initialisation
  5 |
/host/spi-builder-workspace/Sources/HiveEngine/Engine/Util/TurnString.swift:9:1: warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'Regex'
 7 | //
 8 |
 9 | import Regex
   | `- warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'Regex'
10 |
11 | public struct TurnString: Equatable, CustomStringConvertible {
   :
22 | 	}
23 |
24 | 	private static let regex = Regex(#"^(Black|White)\[(\d+)\]$"#)
   |                     |- note: annotate 'regex' 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
25 |
26 | 	public init?(from: String) {
<unknown>:0: note: a function type must be marked '@Sendable' to conform to 'Sendable'
/host/spi-builder-workspace/Sources/HiveEngine/Extensions/FatalError.swift:26:21: warning: static property 'defaultFatalErrorClosure' is not concurrency-safe because non-'Sendable' type '(String, StaticString, UInt) -> Never' may have shared mutable state; this is an error in the Swift 6 language mode
24 |
25 | internal struct FatalErrorUtil {
26 | 	private static let defaultFatalErrorClosure = { Swift.fatalError($0, file: $1, line: $2) }
   |                     |- warning: static property 'defaultFatalErrorClosure' is not concurrency-safe because non-'Sendable' type '(String, StaticString, UInt) -> Never' may have shared mutable state; this is an error in the Swift 6 language mode
   |                     |- note: annotate 'defaultFatalErrorClosure' 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
27 |
28 | 	static var fatalErrorClosure: (String, StaticString, UInt) -> Never = defaultFatalErrorClosure
/host/spi-builder-workspace/Sources/HiveEngine/Extensions/FatalError.swift:28:13: warning: static property 'fatalErrorClosure' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
26 | 	private static let defaultFatalErrorClosure = { Swift.fatalError($0, file: $1, line: $2) }
27 |
28 | 	static var fatalErrorClosure: (String, StaticString, UInt) -> Never = defaultFatalErrorClosure
   |             |- warning: static property 'fatalErrorClosure' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
   |             |- note: convert 'fatalErrorClosure' to a 'let' constant to make 'Sendable' shared state immutable
   |             |- note: annotate 'fatalErrorClosure' 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 | 	static func replaceFatalError(closure: @escaping (String, StaticString, UInt) -> Never) {
/host/spi-builder-workspace/Sources/HiveEngine/State/Position.swift:42:20: warning: static property 'origin' is not concurrency-safe because non-'Sendable' type 'Position' may have shared mutable state; this is an error in the Swift 6 language mode
 28 | //
 29 |
 30 | public struct Position: Hashable, Equatable, Codable {
    |               `- note: consider making struct 'Position' conform to the 'Sendable' protocol
 31 | 	public let x: Int
 32 | 	public let y: Int
    :
 40 |
 41 | 	/// Origin position
 42 | 	public static let origin = Position(x: 0, y: 0, z: 0)
    |                    |- warning: static property 'origin' is not concurrency-safe because non-'Sendable' type 'Position' may have shared mutable state; this is an error in the Swift 6 language mode
    |                    |- note: annotate 'origin' 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
 43 |
 44 | 	/// All adjacent positions
/host/spi-builder-workspace/Sources/HiveEngine/State/RelativeMovement.swift:23:21: warning: static property 'unitRegex' is not concurrency-safe because non-'Sendable' type 'Regex' may have shared mutable state; this is an error in the Swift 6 language mode
 21 | 	}
 22 |
 23 | 	private static let unitRegex = Regex("[wb]([AG][1-3]|[BS][1-2]|[LMPQ]1?)")
    |                     `- warning: static property 'unitRegex' is not concurrency-safe because non-'Sendable' type 'Regex' may have shared mutable state; this is an error in the Swift 6 language mode
 24 | 	private static let directionRegex = Regex(#"[-\\/]"#)
 25 | 	private static let regex: Regex = {
/host/spi-builder-workspace/.build/checkouts/Regex/Source/Regex/Regex.swift:3:15: note: struct 'Regex' does not conform to the 'Sendable' protocol
  1 | import Foundation
  2 |
  3 | public struct Regex: CustomStringConvertible, CustomDebugStringConvertible {
    |               `- note: struct 'Regex' does not conform to the 'Sendable' protocol
  4 |   // MARK: Initialisation
  5 |
/host/spi-builder-workspace/Sources/HiveEngine/State/RelativeMovement.swift:9:1: warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'Regex'
  7 | //
  8 |
  9 | import Regex
    | `- warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'Regex'
 10 |
 11 | public struct RelativeMovement {
    :
 21 | 	}
 22 |
 23 | 	private static let unitRegex = Regex("[wb]([AG][1-3]|[BS][1-2]|[LMPQ]1?)")
    |                     |- note: annotate 'unitRegex' 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
 24 | 	private static let directionRegex = Regex(#"[-\\/]"#)
 25 | 	private static let regex: Regex = {
/host/spi-builder-workspace/Sources/HiveEngine/State/RelativeMovement.swift:24:21: warning: static property 'directionRegex' is not concurrency-safe because non-'Sendable' type 'Regex' may have shared mutable state; this is an error in the Swift 6 language mode
 22 |
 23 | 	private static let unitRegex = Regex("[wb]([AG][1-3]|[BS][1-2]|[LMPQ]1?)")
 24 | 	private static let directionRegex = Regex(#"[-\\/]"#)
    |                     |- warning: static property 'directionRegex' is not concurrency-safe because non-'Sendable' type 'Regex' may have shared mutable state; this is an error in the Swift 6 language mode
    |                     |- note: annotate 'directionRegex' 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
 25 | 	private static let regex: Regex = {
 26 | 		// swiftlint:disable:next force_try
/host/spi-builder-workspace/.build/checkouts/Regex/Source/Regex/Regex.swift:3:15: note: struct 'Regex' does not conform to the 'Sendable' protocol
  1 | import Foundation
  2 |
  3 | public struct Regex: CustomStringConvertible, CustomDebugStringConvertible {
    |               `- note: struct 'Regex' does not conform to the 'Sendable' protocol
  4 |   // MARK: Initialisation
  5 |
/host/spi-builder-workspace/Sources/HiveEngine/State/RelativeMovement.swift:25:21: warning: static property 'regex' is not concurrency-safe because non-'Sendable' type 'Regex' may have shared mutable state; this is an error in the Swift 6 language mode
 23 | 	private static let unitRegex = Regex("[wb]([AG][1-3]|[BS][1-2]|[LMPQ]1?)")
 24 | 	private static let directionRegex = Regex(#"[-\\/]"#)
 25 | 	private static let regex: Regex = {
    |                     |- warning: static property 'regex' is not concurrency-safe because non-'Sendable' type 'Regex' may have shared mutable state; this is an error in the Swift 6 language mode
    |                     |- note: annotate 'regex' 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
 26 | 		// swiftlint:disable:next force_try
 27 | 		try! Regex(
/host/spi-builder-workspace/.build/checkouts/Regex/Source/Regex/Regex.swift:3:15: note: struct 'Regex' does not conform to the 'Sendable' protocol
  1 | import Foundation
  2 |
  3 | public struct Regex: CustomStringConvertible, CustomDebugStringConvertible {
    |               `- note: struct 'Regex' does not conform to the 'Sendable' protocol
  4 |   // MARK: Initialisation
  5 |
[34/44] Compiling HiveEngine Unit+Queen.swift
[35/44] Compiling HiveEngine Unit+Spider.swift
[36/44] Compiling HiveEngine Unit.swift
[37/44] Compiling HiveEngine GameState+UHP.swift
/host/spi-builder-workspace/Sources/HiveEngine/State/Position.swift:42:20: warning: static property 'origin' is not concurrency-safe because non-'Sendable' type 'Position' may have shared mutable state; this is an error in the Swift 6 language mode
 28 | //
 29 |
 30 | public struct Position: Hashable, Equatable, Codable {
    |               `- note: consider making struct 'Position' conform to the 'Sendable' protocol
 31 | 	public let x: Int
 32 | 	public let y: Int
    :
 40 |
 41 | 	/// Origin position
 42 | 	public static let origin = Position(x: 0, y: 0, z: 0)
    |                    |- warning: static property 'origin' is not concurrency-safe because non-'Sendable' type 'Position' may have shared mutable state; this is an error in the Swift 6 language mode
    |                    |- note: annotate 'origin' 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
 43 |
 44 | 	/// All adjacent positions
[38/44] Compiling HiveEngine GameState.swift
/host/spi-builder-workspace/Sources/HiveEngine/State/Position.swift:42:20: warning: static property 'origin' is not concurrency-safe because non-'Sendable' type 'Position' may have shared mutable state; this is an error in the Swift 6 language mode
 28 | //
 29 |
 30 | public struct Position: Hashable, Equatable, Codable {
    |               `- note: consider making struct 'Position' conform to the 'Sendable' protocol
 31 | 	public let x: Int
 32 | 	public let y: Int
    :
 40 |
 41 | 	/// Origin position
 42 | 	public static let origin = Position(x: 0, y: 0, z: 0)
    |                    |- warning: static property 'origin' is not concurrency-safe because non-'Sendable' type 'Position' may have shared mutable state; this is an error in the Swift 6 language mode
    |                    |- note: annotate 'origin' 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
 43 |
 44 | 	/// All adjacent positions
[39/44] Compiling HiveEngine Movement.swift
/host/spi-builder-workspace/Sources/HiveEngine/State/Position.swift:42:20: warning: static property 'origin' is not concurrency-safe because non-'Sendable' type 'Position' may have shared mutable state; this is an error in the Swift 6 language mode
 28 | //
 29 |
 30 | public struct Position: Hashable, Equatable, Codable {
    |               `- note: consider making struct 'Position' conform to the 'Sendable' protocol
 31 | 	public let x: Int
 32 | 	public let y: Int
    :
 40 |
 41 | 	/// Origin position
 42 | 	public static let origin = Position(x: 0, y: 0, z: 0)
    |                    |- warning: static property 'origin' is not concurrency-safe because non-'Sendable' type 'Position' may have shared mutable state; this is an error in the Swift 6 language mode
    |                    |- note: annotate 'origin' 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
 43 |
 44 | 	/// All adjacent positions
[40/44] Compiling HiveEngine Player.swift
/host/spi-builder-workspace/Sources/HiveEngine/State/Position.swift:42:20: warning: static property 'origin' is not concurrency-safe because non-'Sendable' type 'Position' may have shared mutable state; this is an error in the Swift 6 language mode
 28 | //
 29 |
 30 | public struct Position: Hashable, Equatable, Codable {
    |               `- note: consider making struct 'Position' conform to the 'Sendable' protocol
 31 | 	public let x: Int
 32 | 	public let y: Int
    :
 40 |
 41 | 	/// Origin position
 42 | 	public static let origin = Position(x: 0, y: 0, z: 0)
    |                    |- warning: static property 'origin' is not concurrency-safe because non-'Sendable' type 'Position' may have shared mutable state; this is an error in the Swift 6 language mode
    |                    |- note: annotate 'origin' 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
 43 |
 44 | 	/// All adjacent positions
[41/44] Compiling HiveEngine Position.swift
/host/spi-builder-workspace/Sources/HiveEngine/State/Position.swift:42:20: warning: static property 'origin' is not concurrency-safe because non-'Sendable' type 'Position' may have shared mutable state; this is an error in the Swift 6 language mode
 28 | //
 29 |
 30 | public struct Position: Hashable, Equatable, Codable {
    |               `- note: consider making struct 'Position' conform to the 'Sendable' protocol
 31 | 	public let x: Int
 32 | 	public let y: Int
    :
 40 |
 41 | 	/// Origin position
 42 | 	public static let origin = Position(x: 0, y: 0, z: 0)
    |                    |- warning: static property 'origin' is not concurrency-safe because non-'Sendable' type 'Position' may have shared mutable state; this is an error in the Swift 6 language mode
    |                    |- note: annotate 'origin' 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
 43 |
 44 | 	/// All adjacent positions
/host/spi-builder-workspace/Sources/HiveEngine/State/RelativeMovement.swift:23:21: warning: static property 'unitRegex' is not concurrency-safe because non-'Sendable' type 'Regex' may have shared mutable state; this is an error in the Swift 6 language mode
 21 | 	}
 22 |
 23 | 	private static let unitRegex = Regex("[wb]([AG][1-3]|[BS][1-2]|[LMPQ]1?)")
    |                     `- warning: static property 'unitRegex' is not concurrency-safe because non-'Sendable' type 'Regex' may have shared mutable state; this is an error in the Swift 6 language mode
 24 | 	private static let directionRegex = Regex(#"[-\\/]"#)
 25 | 	private static let regex: Regex = {
/host/spi-builder-workspace/.build/checkouts/Regex/Source/Regex/Regex.swift:3:15: note: struct 'Regex' does not conform to the 'Sendable' protocol
  1 | import Foundation
  2 |
  3 | public struct Regex: CustomStringConvertible, CustomDebugStringConvertible {
    |               `- note: struct 'Regex' does not conform to the 'Sendable' protocol
  4 |   // MARK: Initialisation
  5 |
/host/spi-builder-workspace/Sources/HiveEngine/State/RelativeMovement.swift:9:1: warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'Regex'
  7 | //
  8 |
  9 | import Regex
    | `- warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'Regex'
 10 |
 11 | public struct RelativeMovement {
    :
 21 | 	}
 22 |
 23 | 	private static let unitRegex = Regex("[wb]([AG][1-3]|[BS][1-2]|[LMPQ]1?)")
    |                     |- note: annotate 'unitRegex' 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
 24 | 	private static let directionRegex = Regex(#"[-\\/]"#)
 25 | 	private static let regex: Regex = {
/host/spi-builder-workspace/Sources/HiveEngine/State/RelativeMovement.swift:24:21: warning: static property 'directionRegex' is not concurrency-safe because non-'Sendable' type 'Regex' may have shared mutable state; this is an error in the Swift 6 language mode
 22 |
 23 | 	private static let unitRegex = Regex("[wb]([AG][1-3]|[BS][1-2]|[LMPQ]1?)")
 24 | 	private static let directionRegex = Regex(#"[-\\/]"#)
    |                     |- warning: static property 'directionRegex' is not concurrency-safe because non-'Sendable' type 'Regex' may have shared mutable state; this is an error in the Swift 6 language mode
    |                     |- note: annotate 'directionRegex' 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
 25 | 	private static let regex: Regex = {
 26 | 		// swiftlint:disable:next force_try
/host/spi-builder-workspace/.build/checkouts/Regex/Source/Regex/Regex.swift:3:15: note: struct 'Regex' does not conform to the 'Sendable' protocol
  1 | import Foundation
  2 |
  3 | public struct Regex: CustomStringConvertible, CustomDebugStringConvertible {
    |               `- note: struct 'Regex' does not conform to the 'Sendable' protocol
  4 |   // MARK: Initialisation
  5 |
/host/spi-builder-workspace/Sources/HiveEngine/State/RelativeMovement.swift:25:21: warning: static property 'regex' is not concurrency-safe because non-'Sendable' type 'Regex' may have shared mutable state; this is an error in the Swift 6 language mode
 23 | 	private static let unitRegex = Regex("[wb]([AG][1-3]|[BS][1-2]|[LMPQ]1?)")
 24 | 	private static let directionRegex = Regex(#"[-\\/]"#)
 25 | 	private static let regex: Regex = {
    |                     |- warning: static property 'regex' is not concurrency-safe because non-'Sendable' type 'Regex' may have shared mutable state; this is an error in the Swift 6 language mode
    |                     |- note: annotate 'regex' 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
 26 | 		// swiftlint:disable:next force_try
 27 | 		try! Regex(
/host/spi-builder-workspace/.build/checkouts/Regex/Source/Regex/Regex.swift:3:15: note: struct 'Regex' does not conform to the 'Sendable' protocol
  1 | import Foundation
  2 |
  3 | public struct Regex: CustomStringConvertible, CustomDebugStringConvertible {
    |               `- note: struct 'Regex' does not conform to the 'Sendable' protocol
  4 |   // MARK: Initialisation
  5 |
[42/44] Compiling HiveEngine RelativeMovement.swift
/host/spi-builder-workspace/Sources/HiveEngine/State/Position.swift:42:20: warning: static property 'origin' is not concurrency-safe because non-'Sendable' type 'Position' may have shared mutable state; this is an error in the Swift 6 language mode
 28 | //
 29 |
 30 | public struct Position: Hashable, Equatable, Codable {
    |               `- note: consider making struct 'Position' conform to the 'Sendable' protocol
 31 | 	public let x: Int
 32 | 	public let y: Int
    :
 40 |
 41 | 	/// Origin position
 42 | 	public static let origin = Position(x: 0, y: 0, z: 0)
    |                    |- warning: static property 'origin' is not concurrency-safe because non-'Sendable' type 'Position' may have shared mutable state; this is an error in the Swift 6 language mode
    |                    |- note: annotate 'origin' 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
 43 |
 44 | 	/// All adjacent positions
/host/spi-builder-workspace/Sources/HiveEngine/State/RelativeMovement.swift:23:21: warning: static property 'unitRegex' is not concurrency-safe because non-'Sendable' type 'Regex' may have shared mutable state; this is an error in the Swift 6 language mode
 21 | 	}
 22 |
 23 | 	private static let unitRegex = Regex("[wb]([AG][1-3]|[BS][1-2]|[LMPQ]1?)")
    |                     `- warning: static property 'unitRegex' is not concurrency-safe because non-'Sendable' type 'Regex' may have shared mutable state; this is an error in the Swift 6 language mode
 24 | 	private static let directionRegex = Regex(#"[-\\/]"#)
 25 | 	private static let regex: Regex = {
/host/spi-builder-workspace/.build/checkouts/Regex/Source/Regex/Regex.swift:3:15: note: struct 'Regex' does not conform to the 'Sendable' protocol
  1 | import Foundation
  2 |
  3 | public struct Regex: CustomStringConvertible, CustomDebugStringConvertible {
    |               `- note: struct 'Regex' does not conform to the 'Sendable' protocol
  4 |   // MARK: Initialisation
  5 |
/host/spi-builder-workspace/Sources/HiveEngine/State/RelativeMovement.swift:9:1: warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'Regex'
  7 | //
  8 |
  9 | import Regex
    | `- warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'Regex'
 10 |
 11 | public struct RelativeMovement {
    :
 21 | 	}
 22 |
 23 | 	private static let unitRegex = Regex("[wb]([AG][1-3]|[BS][1-2]|[LMPQ]1?)")
    |                     |- note: annotate 'unitRegex' 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
 24 | 	private static let directionRegex = Regex(#"[-\\/]"#)
 25 | 	private static let regex: Regex = {
/host/spi-builder-workspace/Sources/HiveEngine/State/RelativeMovement.swift:24:21: warning: static property 'directionRegex' is not concurrency-safe because non-'Sendable' type 'Regex' may have shared mutable state; this is an error in the Swift 6 language mode
 22 |
 23 | 	private static let unitRegex = Regex("[wb]([AG][1-3]|[BS][1-2]|[LMPQ]1?)")
 24 | 	private static let directionRegex = Regex(#"[-\\/]"#)
    |                     |- warning: static property 'directionRegex' is not concurrency-safe because non-'Sendable' type 'Regex' may have shared mutable state; this is an error in the Swift 6 language mode
    |                     |- note: annotate 'directionRegex' 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
 25 | 	private static let regex: Regex = {
 26 | 		// swiftlint:disable:next force_try
/host/spi-builder-workspace/.build/checkouts/Regex/Source/Regex/Regex.swift:3:15: note: struct 'Regex' does not conform to the 'Sendable' protocol
  1 | import Foundation
  2 |
  3 | public struct Regex: CustomStringConvertible, CustomDebugStringConvertible {
    |               `- note: struct 'Regex' does not conform to the 'Sendable' protocol
  4 |   // MARK: Initialisation
  5 |
/host/spi-builder-workspace/Sources/HiveEngine/State/RelativeMovement.swift:25:21: warning: static property 'regex' is not concurrency-safe because non-'Sendable' type 'Regex' may have shared mutable state; this is an error in the Swift 6 language mode
 23 | 	private static let unitRegex = Regex("[wb]([AG][1-3]|[BS][1-2]|[LMPQ]1?)")
 24 | 	private static let directionRegex = Regex(#"[-\\/]"#)
 25 | 	private static let regex: Regex = {
    |                     |- warning: static property 'regex' is not concurrency-safe because non-'Sendable' type 'Regex' may have shared mutable state; this is an error in the Swift 6 language mode
    |                     |- note: annotate 'regex' 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
 26 | 		// swiftlint:disable:next force_try
 27 | 		try! Regex(
/host/spi-builder-workspace/.build/checkouts/Regex/Source/Regex/Regex.swift:3:15: note: struct 'Regex' does not conform to the 'Sendable' protocol
  1 | import Foundation
  2 |
  3 | public struct Regex: CustomStringConvertible, CustomDebugStringConvertible {
    |               `- note: struct 'Regex' does not conform to the 'Sendable' protocol
  4 |   // MARK: Initialisation
  5 |
[43/44] Compiling HiveEngine Unit+Ant.swift
/host/spi-builder-workspace/Sources/HiveEngine/State/Position.swift:42:20: warning: static property 'origin' is not concurrency-safe because non-'Sendable' type 'Position' may have shared mutable state; this is an error in the Swift 6 language mode
 28 | //
 29 |
 30 | public struct Position: Hashable, Equatable, Codable {
    |               `- note: consider making struct 'Position' conform to the 'Sendable' protocol
 31 | 	public let x: Int
 32 | 	public let y: Int
    :
 40 |
 41 | 	/// Origin position
 42 | 	public static let origin = Position(x: 0, y: 0, z: 0)
    |                    |- warning: static property 'origin' is not concurrency-safe because non-'Sendable' type 'Position' may have shared mutable state; this is an error in the Swift 6 language mode
    |                    |- note: annotate 'origin' 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
 43 |
 44 | 	/// All adjacent positions
/host/spi-builder-workspace/Sources/HiveEngine/State/RelativeMovement.swift:23:21: warning: static property 'unitRegex' is not concurrency-safe because non-'Sendable' type 'Regex' may have shared mutable state; this is an error in the Swift 6 language mode
 21 | 	}
 22 |
 23 | 	private static let unitRegex = Regex("[wb]([AG][1-3]|[BS][1-2]|[LMPQ]1?)")
    |                     `- warning: static property 'unitRegex' is not concurrency-safe because non-'Sendable' type 'Regex' may have shared mutable state; this is an error in the Swift 6 language mode
 24 | 	private static let directionRegex = Regex(#"[-\\/]"#)
 25 | 	private static let regex: Regex = {
/host/spi-builder-workspace/.build/checkouts/Regex/Source/Regex/Regex.swift:3:15: note: struct 'Regex' does not conform to the 'Sendable' protocol
  1 | import Foundation
  2 |
  3 | public struct Regex: CustomStringConvertible, CustomDebugStringConvertible {
    |               `- note: struct 'Regex' does not conform to the 'Sendable' protocol
  4 |   // MARK: Initialisation
  5 |
/host/spi-builder-workspace/Sources/HiveEngine/State/RelativeMovement.swift:9:1: warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'Regex'
  7 | //
  8 |
  9 | import Regex
    | `- warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'Regex'
 10 |
 11 | public struct RelativeMovement {
    :
 21 | 	}
 22 |
 23 | 	private static let unitRegex = Regex("[wb]([AG][1-3]|[BS][1-2]|[LMPQ]1?)")
    |                     |- note: annotate 'unitRegex' 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
 24 | 	private static let directionRegex = Regex(#"[-\\/]"#)
 25 | 	private static let regex: Regex = {
/host/spi-builder-workspace/Sources/HiveEngine/State/RelativeMovement.swift:24:21: warning: static property 'directionRegex' is not concurrency-safe because non-'Sendable' type 'Regex' may have shared mutable state; this is an error in the Swift 6 language mode
 22 |
 23 | 	private static let unitRegex = Regex("[wb]([AG][1-3]|[BS][1-2]|[LMPQ]1?)")
 24 | 	private static let directionRegex = Regex(#"[-\\/]"#)
    |                     |- warning: static property 'directionRegex' is not concurrency-safe because non-'Sendable' type 'Regex' may have shared mutable state; this is an error in the Swift 6 language mode
    |                     |- note: annotate 'directionRegex' 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
 25 | 	private static let regex: Regex = {
 26 | 		// swiftlint:disable:next force_try
/host/spi-builder-workspace/.build/checkouts/Regex/Source/Regex/Regex.swift:3:15: note: struct 'Regex' does not conform to the 'Sendable' protocol
  1 | import Foundation
  2 |
  3 | public struct Regex: CustomStringConvertible, CustomDebugStringConvertible {
    |               `- note: struct 'Regex' does not conform to the 'Sendable' protocol
  4 |   // MARK: Initialisation
  5 |
/host/spi-builder-workspace/Sources/HiveEngine/State/RelativeMovement.swift:25:21: warning: static property 'regex' is not concurrency-safe because non-'Sendable' type 'Regex' may have shared mutable state; this is an error in the Swift 6 language mode
 23 | 	private static let unitRegex = Regex("[wb]([AG][1-3]|[BS][1-2]|[LMPQ]1?)")
 24 | 	private static let directionRegex = Regex(#"[-\\/]"#)
 25 | 	private static let regex: Regex = {
    |                     |- warning: static property 'regex' is not concurrency-safe because non-'Sendable' type 'Regex' may have shared mutable state; this is an error in the Swift 6 language mode
    |                     |- note: annotate 'regex' 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
 26 | 		// swiftlint:disable:next force_try
 27 | 		try! Regex(
/host/spi-builder-workspace/.build/checkouts/Regex/Source/Regex/Regex.swift:3:15: note: struct 'Regex' does not conform to the 'Sendable' protocol
  1 | import Foundation
  2 |
  3 | public struct Regex: CustomStringConvertible, CustomDebugStringConvertible {
    |               `- note: struct 'Regex' does not conform to the 'Sendable' protocol
  4 |   // MARK: Initialisation
  5 |
[44/44] Compiling HiveEngine Unit+Beetle.swift
/host/spi-builder-workspace/Sources/HiveEngine/State/Position.swift:42:20: warning: static property 'origin' is not concurrency-safe because non-'Sendable' type 'Position' may have shared mutable state; this is an error in the Swift 6 language mode
 28 | //
 29 |
 30 | public struct Position: Hashable, Equatable, Codable {
    |               `- note: consider making struct 'Position' conform to the 'Sendable' protocol
 31 | 	public let x: Int
 32 | 	public let y: Int
    :
 40 |
 41 | 	/// Origin position
 42 | 	public static let origin = Position(x: 0, y: 0, z: 0)
    |                    |- warning: static property 'origin' is not concurrency-safe because non-'Sendable' type 'Position' may have shared mutable state; this is an error in the Swift 6 language mode
    |                    |- note: annotate 'origin' 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
 43 |
 44 | 	/// All adjacent positions
/host/spi-builder-workspace/Sources/HiveEngine/State/RelativeMovement.swift:23:21: warning: static property 'unitRegex' is not concurrency-safe because non-'Sendable' type 'Regex' may have shared mutable state; this is an error in the Swift 6 language mode
 21 | 	}
 22 |
 23 | 	private static let unitRegex = Regex("[wb]([AG][1-3]|[BS][1-2]|[LMPQ]1?)")
    |                     `- warning: static property 'unitRegex' is not concurrency-safe because non-'Sendable' type 'Regex' may have shared mutable state; this is an error in the Swift 6 language mode
 24 | 	private static let directionRegex = Regex(#"[-\\/]"#)
 25 | 	private static let regex: Regex = {
/host/spi-builder-workspace/.build/checkouts/Regex/Source/Regex/Regex.swift:3:15: note: struct 'Regex' does not conform to the 'Sendable' protocol
  1 | import Foundation
  2 |
  3 | public struct Regex: CustomStringConvertible, CustomDebugStringConvertible {
    |               `- note: struct 'Regex' does not conform to the 'Sendable' protocol
  4 |   // MARK: Initialisation
  5 |
/host/spi-builder-workspace/Sources/HiveEngine/State/RelativeMovement.swift:9:1: warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'Regex'
  7 | //
  8 |
  9 | import Regex
    | `- warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'Regex'
 10 |
 11 | public struct RelativeMovement {
    :
 21 | 	}
 22 |
 23 | 	private static let unitRegex = Regex("[wb]([AG][1-3]|[BS][1-2]|[LMPQ]1?)")
    |                     |- note: annotate 'unitRegex' 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
 24 | 	private static let directionRegex = Regex(#"[-\\/]"#)
 25 | 	private static let regex: Regex = {
/host/spi-builder-workspace/Sources/HiveEngine/State/RelativeMovement.swift:24:21: warning: static property 'directionRegex' is not concurrency-safe because non-'Sendable' type 'Regex' may have shared mutable state; this is an error in the Swift 6 language mode
 22 |
 23 | 	private static let unitRegex = Regex("[wb]([AG][1-3]|[BS][1-2]|[LMPQ]1?)")
 24 | 	private static let directionRegex = Regex(#"[-\\/]"#)
    |                     |- warning: static property 'directionRegex' is not concurrency-safe because non-'Sendable' type 'Regex' may have shared mutable state; this is an error in the Swift 6 language mode
    |                     |- note: annotate 'directionRegex' 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
 25 | 	private static let regex: Regex = {
 26 | 		// swiftlint:disable:next force_try
/host/spi-builder-workspace/.build/checkouts/Regex/Source/Regex/Regex.swift:3:15: note: struct 'Regex' does not conform to the 'Sendable' protocol
  1 | import Foundation
  2 |
  3 | public struct Regex: CustomStringConvertible, CustomDebugStringConvertible {
    |               `- note: struct 'Regex' does not conform to the 'Sendable' protocol
  4 |   // MARK: Initialisation
  5 |
/host/spi-builder-workspace/Sources/HiveEngine/State/RelativeMovement.swift:25:21: warning: static property 'regex' is not concurrency-safe because non-'Sendable' type 'Regex' may have shared mutable state; this is an error in the Swift 6 language mode
 23 | 	private static let unitRegex = Regex("[wb]([AG][1-3]|[BS][1-2]|[LMPQ]1?)")
 24 | 	private static let directionRegex = Regex(#"[-\\/]"#)
 25 | 	private static let regex: Regex = {
    |                     |- warning: static property 'regex' is not concurrency-safe because non-'Sendable' type 'Regex' may have shared mutable state; this is an error in the Swift 6 language mode
    |                     |- note: annotate 'regex' 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
 26 | 		// swiftlint:disable:next force_try
 27 | 		try! Regex(
/host/spi-builder-workspace/.build/checkouts/Regex/Source/Regex/Regex.swift:3:15: note: struct 'Regex' does not conform to the 'Sendable' protocol
  1 | import Foundation
  2 |
  3 | public struct Regex: CustomStringConvertible, CustomDebugStringConvertible {
    |               `- note: struct 'Regex' does not conform to the 'Sendable' protocol
  4 |   // MARK: Initialisation
  5 |
[46/55] Compiling HiveEngineTestUtilities GameStateProvider+PillBug.swift
[47/56] Compiling HiveEngineTestUtilities GameStateProvider+Mosquito.swift
[48/56] Compiling HiveEngineTestUtilities GameStateProvider+Hopper.swift
[49/56] Compiling HiveEngineTestUtilities GameStateProvider+LadyBug.swift
[50/56] Compiling HiveEngineTestUtilities GameStateProvider+Ant.swift
[51/56] Compiling HiveEngineTestUtilities GameStateProvider+Beetle.swift
[52/56] Emitting module HiveEngineTestUtilities
[53/56] Compiling HiveEngineTestUtilities GameStateProvider+Queen.swift
[54/56] Compiling HiveEngineTestUtilities GameStateProvider+Spider.swift
[55/56] Compiling HiveEngineTestUtilities GameStateProvider.swift
[56/56] Compiling HiveEngineTestUtilities HiveEngineTestCase.swift
/host/spi-builder-workspace/Sources/HiveEngineTestUtilities/HiveEngineTestCase.swift:122:60: warning: passing non-sendable parameter 'testcase' to function expecting a @Sendable closure
110 | 	}
111 |
112 | 	public func XCTAssertFatalError(expectedMessage: String, testcase: @escaping () -> Void) {
    |                                                           `- note: parameter 'testcase' is implicitly non-sendable
113 | 		let expectation = self.expectation(description: "expectingFatalError")
114 | 		var assertionMessage: String?
    :
120 | 		}
121 |
122 | 		DispatchQueue.global(qos: .userInitiated).async(execute: testcase)
    |                                                            `- warning: passing non-sendable parameter 'testcase' to function expecting a @Sendable closure
123 |
124 | 		waitForExpectations(timeout: 2) { _ in
/host/spi-builder-workspace/Sources/HiveEngineTestUtilities/HiveEngineTestCase.swift:124:3: warning: call to main actor-isolated instance method 'waitForExpectations(timeout:file:line:handler:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
110 | 	}
111 |
112 | 	public func XCTAssertFatalError(expectedMessage: String, testcase: @escaping () -> Void) {
    |              `- note: add '@MainActor' to make instance method 'XCTAssertFatalError(expectedMessage:testcase:)' part of global actor 'MainActor'
113 | 		let expectation = self.expectation(description: "expectingFatalError")
114 | 		var assertionMessage: String?
    :
122 | 		DispatchQueue.global(qos: .userInitiated).async(execute: testcase)
123 |
124 | 		waitForExpectations(timeout: 2) { _ in
    |   `- warning: call to main actor-isolated instance method 'waitForExpectations(timeout:file:line:handler:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
125 | 			XCTAssertEqual(assertionMessage, expectedMessage)
126 | 			FatalErrorUtil.restoreFatalError()
XCTest.XCTestCase:2:44: note: calls to instance method 'waitForExpectations(timeout:file:line:handler:)' from outside of its actor context are implicitly asynchronous
 1 | extension XCTestCase {
 2 |     @MainActor @preconcurrency public func waitForExpectations(timeout: TimeInterval, file: StaticString = #file, line: Int = #line, handler: XCWaitCompletionHandler? = nil)
   |                                            `- note: calls to instance method 'waitForExpectations(timeout:file:line:handler:)' from outside of its actor context are implicitly asynchronous
 3 |     @available(*, noasync, message: "Use await fulfillment(of:timeout:enforceOrder:) instead.")
 4 |     public func wait(for expectations: [XCTestExpectation], timeout: TimeInterval, enforceOrder: Bool = false, file: StaticString = #file, line: Int = #line)
/host/spi-builder-workspace/Sources/HiveEngineTestUtilities/HiveEngineTestCase.swift:124:3: warning: sending task-isolated value of type '((any Error)?) -> ()' with later accesses to main actor-isolated context risks causing data races; this is an error in the Swift 6 language mode
122 | 		DispatchQueue.global(qos: .userInitiated).async(execute: testcase)
123 |
124 | 		waitForExpectations(timeout: 2) { _ in
    |   `- warning: sending task-isolated value of type '((any Error)?) -> ()' with later accesses to main actor-isolated context risks causing data races; this is an error in the Swift 6 language mode
125 | 			XCTAssertEqual(assertionMessage, expectedMessage)
126 | 			FatalErrorUtil.restoreFatalError()
/host/spi-builder-workspace/Sources/HiveEngineTestUtilities/HiveEngineTestCase.swift:124:3: warning: sending task-isolated value of type 'HiveEngineTestCase' with later accesses to main actor-isolated context risks causing data races; this is an error in the Swift 6 language mode
122 | 		DispatchQueue.global(qos: .userInitiated).async(execute: testcase)
123 |
124 | 		waitForExpectations(timeout: 2) { _ in
    |   `- warning: sending task-isolated value of type 'HiveEngineTestCase' with later accesses to main actor-isolated context risks causing data races; this is an error in the Swift 6 language mode
125 | 			XCTAssertEqual(assertionMessage, expectedMessage)
126 | 			FatalErrorUtil.restoreFatalError()
Build complete! (14.72s)
Build complete.
{
  "dependencies" : [
    {
      "identity" : "regex",
      "requirement" : {
        "range" : [
          {
            "lower_bound" : "2.1.0",
            "upper_bound" : "3.0.0"
          }
        ]
      },
      "type" : "sourceControl",
      "url" : "https://github.com/sharplet/Regex.git"
    }
  ],
  "manifest_display_name" : "HiveEngine",
  "name" : "HiveEngine",
  "path" : "/host/spi-builder-workspace",
  "platforms" : [
    {
      "name" : "macos",
      "version" : "10.15"
    },
    {
      "name" : "ios",
      "version" : "13.4"
    }
  ],
  "products" : [
    {
      "name" : "HiveEngine",
      "targets" : [
        "HiveEngine"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    },
    {
      "name" : "HiveEngineTestUtilities",
      "targets" : [
        "HiveEngineTestUtilities"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    }
  ],
  "targets" : [
    {
      "c99name" : "HiveEngineTests",
      "module_type" : "SwiftTarget",
      "name" : "HiveEngineTests",
      "path" : "Tests/HiveEngineTests",
      "sources" : [
        "Engine/Commands/BestMoveCommandTests.swift",
        "Engine/Commands/InfoCommandTests.swift",
        "Engine/Commands/NewGameCommandTests.swift",
        "Engine/Commands/OptionsCommandTests.swift",
        "Engine/Commands/PlayCommandTests.swift",
        "Engine/Commands/UHPCommandParserTests.swift",
        "Engine/Commands/UndoCommandTests.swift",
        "Engine/Commands/ValidMovesCommandTests.swift",
        "Engine/EngineTests.swift",
        "Engine/Util/GameStringTests.swift",
        "Engine/Util/TurnStringTests.swift",
        "State/GameState+UHPTests.swift",
        "State/GameStateTests.swift",
        "State/MovementTests.swift",
        "State/PlayerTests.swift",
        "State/PositionTests.swift",
        "State/RelativeMovementTests.swift",
        "Unit/Unit+AntTests.swift",
        "Unit/Unit+BeetleTests.swift",
        "Unit/Unit+HopperTests.swift",
        "Unit/Unit+LadyBugTests.swift",
        "Unit/Unit+MosquitoTests.swift",
        "Unit/Unit+PillBugTests.swift",
        "Unit/Unit+QueenTests.swift",
        "Unit/Unit+SpiderTests.swift",
        "Unit/UnitTests.swift",
        "Validation/PerftTests.swift"
      ],
      "target_dependencies" : [
        "HiveEngine",
        "HiveEngineTestUtilities"
      ],
      "type" : "test"
    },
    {
      "c99name" : "HiveEngineTestUtilities",
      "module_type" : "SwiftTarget",
      "name" : "HiveEngineTestUtilities",
      "path" : "Sources/HiveEngineTestUtilities",
      "product_memberships" : [
        "HiveEngineTestUtilities"
      ],
      "sources" : [
        "GameStateProvider/GameStateProvider+Ant.swift",
        "GameStateProvider/GameStateProvider+Beetle.swift",
        "GameStateProvider/GameStateProvider+Hopper.swift",
        "GameStateProvider/GameStateProvider+LadyBug.swift",
        "GameStateProvider/GameStateProvider+Mosquito.swift",
        "GameStateProvider/GameStateProvider+PillBug.swift",
        "GameStateProvider/GameStateProvider+Queen.swift",
        "GameStateProvider/GameStateProvider+Spider.swift",
        "GameStateProvider/GameStateProvider.swift",
        "HiveEngineTestCase.swift"
      ],
      "target_dependencies" : [
        "HiveEngine"
      ],
      "type" : "library"
    },
    {
      "c99name" : "HiveEngineBenchmarkTests",
      "module_type" : "SwiftTarget",
      "name" : "HiveEngineBenchmarkTests",
      "path" : "Tests/HiveEngineBenchmarkTests",
      "sources" : [
        "State/GameStateBenchmarkTests.swift",
        "State/PositionBenchmarkTests.swift",
        "Unit/BeetleBenchmarkTests.swift"
      ],
      "target_dependencies" : [
        "HiveEngine",
        "HiveEngineTestUtilities"
      ],
      "type" : "test"
    },
    {
      "c99name" : "HiveEngine",
      "module_type" : "SwiftTarget",
      "name" : "HiveEngine",
      "path" : "Sources/HiveEngine",
      "product_dependencies" : [
        "Regex"
      ],
      "product_memberships" : [
        "HiveEngine",
        "HiveEngineTestUtilities"
      ],
      "sources" : [
        "Engine/Commands/BestMoveCommand.swift",
        "Engine/Commands/InfoCommand.swift",
        "Engine/Commands/NewGameCommand.swift",
        "Engine/Commands/OptionsCommand.swift",
        "Engine/Commands/PlayCommand.swift",
        "Engine/Commands/UHPCommand.swift",
        "Engine/Commands/UHPResult.swift",
        "Engine/Commands/UndoCommand.swift",
        "Engine/Commands/ValidMovesCommand.swift",
        "Engine/Engine.swift",
        "Engine/Util/GameStateString.swift",
        "Engine/Util/GameString.swift",
        "Engine/Util/GameTypeString.swift",
        "Engine/Util/MoveString.swift",
        "Engine/Util/TurnString.swift",
        "Extensions/FatalError.swift",
        "State/GameState+UHP.swift",
        "State/GameState.swift",
        "State/Movement.swift",
        "State/Player.swift",
        "State/Position.swift",
        "State/RelativeMovement.swift",
        "Unit/Unit+Ant.swift",
        "Unit/Unit+Beetle.swift",
        "Unit/Unit+Hopper.swift",
        "Unit/Unit+LadyBug.swift",
        "Unit/Unit+Mosquito.swift",
        "Unit/Unit+PillBug.swift",
        "Unit/Unit+Queen.swift",
        "Unit/Unit+Spider.swift",
        "Unit/Unit.swift"
      ],
      "type" : "library"
    }
  ],
  "tools_version" : "5.2"
}
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.