Build Information
Successful build of swift-chess, reference 1.0.8 (14d9d9
), with Swift 6.1 for macOS (SPM) on 26 Apr 2025 07:13:02 UTC.
Swift 6 data race errors: 28
Build Command
env DEVELOPER_DIR=/Applications/Xcode-16.3.0.app xcrun swift build --arch arm64 -Xswiftc -Xfrontend -Xswiftc -stats-output-dir -Xswiftc -Xfrontend -Xswiftc .stats -Xswiftc -strict-concurrency=complete -Xswiftc -enable-upcoming-feature -Xswiftc StrictConcurrency -Xswiftc -enable-upcoming-feature -Xswiftc DisableOutwardActorInference -Xswiftc -enable-upcoming-feature -Xswiftc GlobalActorIsolatedTypesUsability -Xswiftc -enable-upcoming-feature -Xswiftc InferSendableFromCaptures
Build Log
41 | self.gameSemaphore.wait()
| `- warning: capture of 'self' with non-sendable type 'ChessStore' in a '@Sendable' closure
42 | self.gamePublisher
43 | .receive(on: RunLoop.main)
/Users/admin/builder/spi-builder-workspace/Sources/Chess/Store/ChessStore.swift:49:41: warning: capture of 'action' with non-sendable type 'Chess.GameAction' in a '@Sendable' closure
47 | }
48 | .store(in: &self.cancellables)
49 | self.gameReducer(self.game, action, self.environment, self.gameSubject)
| `- warning: capture of 'action' with non-sendable type 'Chess.GameAction' in a '@Sendable' closure
50 | }
51 | }
/Users/admin/builder/spi-builder-workspace/Sources/Chess/Store/GameActions.swift:12:17: note: consider making enum 'GameAction' conform to the 'Sendable' protocol
10 | extension Chess {
11 | // Game actions cause changes to the game
12 | public enum GameAction {
| `- note: consider making enum 'GameAction' conform to the 'Sendable' protocol
13 | case nextTurn
14 | case startGame
/Users/admin/builder/spi-builder-workspace/Sources/Chess/Store/ChessStore.swift:55:13: warning: capture of 'self' with non-sendable type 'ChessStore' in a '@Sendable' closure
10 | import Combine
11 |
12 | public final class ChessStore: ObservableObject, ChessGameDelegate {
| `- note: class 'ChessStore' does not conform to the 'Sendable' protocol
13 | @Published public var game: Chess.Game
14 | @Published public var environment: ChessEnvironment
:
53 | // Process the message on the background, then sink back to the main thread.
54 | DispatchQueue.global().async {
55 | self.environmentSemaphore.wait()
| `- warning: capture of 'self' with non-sendable type 'ChessStore' in a '@Sendable' closure
56 | self.environmentPublisher
57 | .receive(on: RunLoop.main)
/Users/admin/builder/spi-builder-workspace/Sources/Chess/Store/ChessStore.swift:63:55: warning: capture of 'change' with non-sendable type 'ChessEnvironment.EnvironmentChange' in a '@Sendable' closure
61 | }
62 | .store(in: &self.cancellables)
63 | self.environmentReducer(self.environment, change, self.environmentSubject)
| `- warning: capture of 'change' with non-sendable type 'ChessEnvironment.EnvironmentChange' in a '@Sendable' closure
64 | }
65 | }
/Users/admin/builder/spi-builder-workspace/Sources/Chess/Store/ChessEnvironment.swift:17:17: note: consider making enum 'EnvironmentChange' conform to the 'Sendable' protocol
15 | case development
16 | }
17 | public enum EnvironmentChange {
| `- note: consider making enum 'EnvironmentChange' conform to the 'Sendable' protocol
18 | case target(newTarget: TargetEnvironment)
19 | case boardColor(newColor: Chess.UI.BoardColor)
/Users/admin/builder/spi-builder-workspace/Sources/Chess/UI/BoardIconView.swift:36:29: warning: non-constant range: argument must be an integer literal
34 | GeometryReader { geometry in
35 | VStack(alignment: .center, spacing: 0) {
36 | ForEach(0..<height) { yIdx in
| `- warning: non-constant range: argument must be an integer literal
37 | HStack(alignment: .center, spacing: 0) {
38 | ForEach(0..<width) { xIdx in
/Users/admin/builder/spi-builder-workspace/Sources/Chess/UI/BoardIconView.swift:38:37: warning: non-constant range: argument must be an integer literal
36 | ForEach(0..<height) { yIdx in
37 | HStack(alignment: .center, spacing: 0) {
38 | ForEach(0..<width) { xIdx in
| `- warning: non-constant range: argument must be an integer literal
39 | Rectangle()
40 | .fill( (yIdx + xIdx) % 2 == 0 ? color.dark : color.light )
/Users/admin/builder/spi-builder-workspace/Sources/Chess/UI/ChessSettingsView.swift:49:67: warning: non-constant range: argument must be an integer literal
47 | Picker(selection: $store.game.playerFactory.white,
48 | label: Text("White")) {
49 | ForEach(0 ..< Chess.playerFactory.players.count) {
| `- warning: non-constant range: argument must be an integer literal
50 | PlayerTitleView(player: Chess.playerFactory.players[$0](.white))
51 | }
/Users/admin/builder/spi-builder-workspace/Sources/Chess/UI/ChessSettingsView.swift:58:67: warning: non-constant range: argument must be an integer literal
56 | Picker(selection: $store.game.playerFactory.black,
57 | label: Text("Black")) {
58 | ForEach(0 ..< Chess.playerFactory.players.count) {
| `- warning: non-constant range: argument must be an integer literal
59 | PlayerTitleView(player: Chess.playerFactory.players[$0](.black))
60 | }
[58/84] Compiling Chess GameReducer.swift
/Users/admin/builder/spi-builder-workspace/Sources/Chess/Store/ChessStore.swift:41:13: warning: capture of 'self' with non-sendable type 'ChessStore' in a '@Sendable' closure
10 | import Combine
11 |
12 | public final class ChessStore: ObservableObject, ChessGameDelegate {
| `- note: class 'ChessStore' does not conform to the 'Sendable' protocol
13 | @Published public var game: Chess.Game
14 | @Published public var environment: ChessEnvironment
:
39 | // Process the message on the background, then sink back to the main thread.
40 | DispatchQueue.global().async {
41 | self.gameSemaphore.wait()
| `- warning: capture of 'self' with non-sendable type 'ChessStore' in a '@Sendable' closure
42 | self.gamePublisher
43 | .receive(on: RunLoop.main)
/Users/admin/builder/spi-builder-workspace/Sources/Chess/Store/ChessStore.swift:49:41: warning: capture of 'action' with non-sendable type 'Chess.GameAction' in a '@Sendable' closure
47 | }
48 | .store(in: &self.cancellables)
49 | self.gameReducer(self.game, action, self.environment, self.gameSubject)
| `- warning: capture of 'action' with non-sendable type 'Chess.GameAction' in a '@Sendable' closure
50 | }
51 | }
/Users/admin/builder/spi-builder-workspace/Sources/Chess/Store/GameActions.swift:12:17: note: consider making enum 'GameAction' conform to the 'Sendable' protocol
10 | extension Chess {
11 | // Game actions cause changes to the game
12 | public enum GameAction {
| `- note: consider making enum 'GameAction' conform to the 'Sendable' protocol
13 | case nextTurn
14 | case startGame
/Users/admin/builder/spi-builder-workspace/Sources/Chess/Store/ChessStore.swift:55:13: warning: capture of 'self' with non-sendable type 'ChessStore' in a '@Sendable' closure
10 | import Combine
11 |
12 | public final class ChessStore: ObservableObject, ChessGameDelegate {
| `- note: class 'ChessStore' does not conform to the 'Sendable' protocol
13 | @Published public var game: Chess.Game
14 | @Published public var environment: ChessEnvironment
:
53 | // Process the message on the background, then sink back to the main thread.
54 | DispatchQueue.global().async {
55 | self.environmentSemaphore.wait()
| `- warning: capture of 'self' with non-sendable type 'ChessStore' in a '@Sendable' closure
56 | self.environmentPublisher
57 | .receive(on: RunLoop.main)
/Users/admin/builder/spi-builder-workspace/Sources/Chess/Store/ChessStore.swift:63:55: warning: capture of 'change' with non-sendable type 'ChessEnvironment.EnvironmentChange' in a '@Sendable' closure
61 | }
62 | .store(in: &self.cancellables)
63 | self.environmentReducer(self.environment, change, self.environmentSubject)
| `- warning: capture of 'change' with non-sendable type 'ChessEnvironment.EnvironmentChange' in a '@Sendable' closure
64 | }
65 | }
/Users/admin/builder/spi-builder-workspace/Sources/Chess/Store/ChessEnvironment.swift:17:17: note: consider making enum 'EnvironmentChange' conform to the 'Sendable' protocol
15 | case development
16 | }
17 | public enum EnvironmentChange {
| `- note: consider making enum 'EnvironmentChange' conform to the 'Sendable' protocol
18 | case target(newTarget: TargetEnvironment)
19 | case boardColor(newColor: Chess.UI.BoardColor)
/Users/admin/builder/spi-builder-workspace/Sources/Chess/UI/BoardIconView.swift:36:29: warning: non-constant range: argument must be an integer literal
34 | GeometryReader { geometry in
35 | VStack(alignment: .center, spacing: 0) {
36 | ForEach(0..<height) { yIdx in
| `- warning: non-constant range: argument must be an integer literal
37 | HStack(alignment: .center, spacing: 0) {
38 | ForEach(0..<width) { xIdx in
/Users/admin/builder/spi-builder-workspace/Sources/Chess/UI/BoardIconView.swift:38:37: warning: non-constant range: argument must be an integer literal
36 | ForEach(0..<height) { yIdx in
37 | HStack(alignment: .center, spacing: 0) {
38 | ForEach(0..<width) { xIdx in
| `- warning: non-constant range: argument must be an integer literal
39 | Rectangle()
40 | .fill( (yIdx + xIdx) % 2 == 0 ? color.dark : color.light )
/Users/admin/builder/spi-builder-workspace/Sources/Chess/UI/ChessSettingsView.swift:49:67: warning: non-constant range: argument must be an integer literal
47 | Picker(selection: $store.game.playerFactory.white,
48 | label: Text("White")) {
49 | ForEach(0 ..< Chess.playerFactory.players.count) {
| `- warning: non-constant range: argument must be an integer literal
50 | PlayerTitleView(player: Chess.playerFactory.players[$0](.white))
51 | }
/Users/admin/builder/spi-builder-workspace/Sources/Chess/UI/ChessSettingsView.swift:58:67: warning: non-constant range: argument must be an integer literal
56 | Picker(selection: $store.game.playerFactory.black,
57 | label: Text("Black")) {
58 | ForEach(0 ..< Chess.playerFactory.players.count) {
| `- warning: non-constant range: argument must be an integer literal
59 | PlayerTitleView(player: Chess.playerFactory.players[$0](.black))
60 | }
[59/84] Compiling Chess BoardIconView.swift
/Users/admin/builder/spi-builder-workspace/Sources/Chess/Store/ChessStore.swift:41:13: warning: capture of 'self' with non-sendable type 'ChessStore' in a '@Sendable' closure
10 | import Combine
11 |
12 | public final class ChessStore: ObservableObject, ChessGameDelegate {
| `- note: class 'ChessStore' does not conform to the 'Sendable' protocol
13 | @Published public var game: Chess.Game
14 | @Published public var environment: ChessEnvironment
:
39 | // Process the message on the background, then sink back to the main thread.
40 | DispatchQueue.global().async {
41 | self.gameSemaphore.wait()
| `- warning: capture of 'self' with non-sendable type 'ChessStore' in a '@Sendable' closure
42 | self.gamePublisher
43 | .receive(on: RunLoop.main)
/Users/admin/builder/spi-builder-workspace/Sources/Chess/Store/ChessStore.swift:49:41: warning: capture of 'action' with non-sendable type 'Chess.GameAction' in a '@Sendable' closure
47 | }
48 | .store(in: &self.cancellables)
49 | self.gameReducer(self.game, action, self.environment, self.gameSubject)
| `- warning: capture of 'action' with non-sendable type 'Chess.GameAction' in a '@Sendable' closure
50 | }
51 | }
/Users/admin/builder/spi-builder-workspace/Sources/Chess/Store/GameActions.swift:12:17: note: consider making enum 'GameAction' conform to the 'Sendable' protocol
10 | extension Chess {
11 | // Game actions cause changes to the game
12 | public enum GameAction {
| `- note: consider making enum 'GameAction' conform to the 'Sendable' protocol
13 | case nextTurn
14 | case startGame
/Users/admin/builder/spi-builder-workspace/Sources/Chess/Store/ChessStore.swift:55:13: warning: capture of 'self' with non-sendable type 'ChessStore' in a '@Sendable' closure
10 | import Combine
11 |
12 | public final class ChessStore: ObservableObject, ChessGameDelegate {
| `- note: class 'ChessStore' does not conform to the 'Sendable' protocol
13 | @Published public var game: Chess.Game
14 | @Published public var environment: ChessEnvironment
:
53 | // Process the message on the background, then sink back to the main thread.
54 | DispatchQueue.global().async {
55 | self.environmentSemaphore.wait()
| `- warning: capture of 'self' with non-sendable type 'ChessStore' in a '@Sendable' closure
56 | self.environmentPublisher
57 | .receive(on: RunLoop.main)
/Users/admin/builder/spi-builder-workspace/Sources/Chess/Store/ChessStore.swift:63:55: warning: capture of 'change' with non-sendable type 'ChessEnvironment.EnvironmentChange' in a '@Sendable' closure
61 | }
62 | .store(in: &self.cancellables)
63 | self.environmentReducer(self.environment, change, self.environmentSubject)
| `- warning: capture of 'change' with non-sendable type 'ChessEnvironment.EnvironmentChange' in a '@Sendable' closure
64 | }
65 | }
/Users/admin/builder/spi-builder-workspace/Sources/Chess/Store/ChessEnvironment.swift:17:17: note: consider making enum 'EnvironmentChange' conform to the 'Sendable' protocol
15 | case development
16 | }
17 | public enum EnvironmentChange {
| `- note: consider making enum 'EnvironmentChange' conform to the 'Sendable' protocol
18 | case target(newTarget: TargetEnvironment)
19 | case boardColor(newColor: Chess.UI.BoardColor)
/Users/admin/builder/spi-builder-workspace/Sources/Chess/UI/BoardIconView.swift:36:29: warning: non-constant range: argument must be an integer literal
34 | GeometryReader { geometry in
35 | VStack(alignment: .center, spacing: 0) {
36 | ForEach(0..<height) { yIdx in
| `- warning: non-constant range: argument must be an integer literal
37 | HStack(alignment: .center, spacing: 0) {
38 | ForEach(0..<width) { xIdx in
/Users/admin/builder/spi-builder-workspace/Sources/Chess/UI/BoardIconView.swift:38:37: warning: non-constant range: argument must be an integer literal
36 | ForEach(0..<height) { yIdx in
37 | HStack(alignment: .center, spacing: 0) {
38 | ForEach(0..<width) { xIdx in
| `- warning: non-constant range: argument must be an integer literal
39 | Rectangle()
40 | .fill( (yIdx + xIdx) % 2 == 0 ? color.dark : color.light )
/Users/admin/builder/spi-builder-workspace/Sources/Chess/UI/ChessSettingsView.swift:49:67: warning: non-constant range: argument must be an integer literal
47 | Picker(selection: $store.game.playerFactory.white,
48 | label: Text("White")) {
49 | ForEach(0 ..< Chess.playerFactory.players.count) {
| `- warning: non-constant range: argument must be an integer literal
50 | PlayerTitleView(player: Chess.playerFactory.players[$0](.white))
51 | }
/Users/admin/builder/spi-builder-workspace/Sources/Chess/UI/ChessSettingsView.swift:58:67: warning: non-constant range: argument must be an integer literal
56 | Picker(selection: $store.game.playerFactory.black,
57 | label: Text("Black")) {
58 | ForEach(0 ..< Chess.playerFactory.players.count) {
| `- warning: non-constant range: argument must be an integer literal
59 | PlayerTitleView(player: Chess.playerFactory.players[$0](.black))
60 | }
[60/84] Compiling Chess BoardView.swift
/Users/admin/builder/spi-builder-workspace/Sources/Chess/Store/ChessStore.swift:41:13: warning: capture of 'self' with non-sendable type 'ChessStore' in a '@Sendable' closure
10 | import Combine
11 |
12 | public final class ChessStore: ObservableObject, ChessGameDelegate {
| `- note: class 'ChessStore' does not conform to the 'Sendable' protocol
13 | @Published public var game: Chess.Game
14 | @Published public var environment: ChessEnvironment
:
39 | // Process the message on the background, then sink back to the main thread.
40 | DispatchQueue.global().async {
41 | self.gameSemaphore.wait()
| `- warning: capture of 'self' with non-sendable type 'ChessStore' in a '@Sendable' closure
42 | self.gamePublisher
43 | .receive(on: RunLoop.main)
/Users/admin/builder/spi-builder-workspace/Sources/Chess/Store/ChessStore.swift:49:41: warning: capture of 'action' with non-sendable type 'Chess.GameAction' in a '@Sendable' closure
47 | }
48 | .store(in: &self.cancellables)
49 | self.gameReducer(self.game, action, self.environment, self.gameSubject)
| `- warning: capture of 'action' with non-sendable type 'Chess.GameAction' in a '@Sendable' closure
50 | }
51 | }
/Users/admin/builder/spi-builder-workspace/Sources/Chess/Store/GameActions.swift:12:17: note: consider making enum 'GameAction' conform to the 'Sendable' protocol
10 | extension Chess {
11 | // Game actions cause changes to the game
12 | public enum GameAction {
| `- note: consider making enum 'GameAction' conform to the 'Sendable' protocol
13 | case nextTurn
14 | case startGame
/Users/admin/builder/spi-builder-workspace/Sources/Chess/Store/ChessStore.swift:55:13: warning: capture of 'self' with non-sendable type 'ChessStore' in a '@Sendable' closure
10 | import Combine
11 |
12 | public final class ChessStore: ObservableObject, ChessGameDelegate {
| `- note: class 'ChessStore' does not conform to the 'Sendable' protocol
13 | @Published public var game: Chess.Game
14 | @Published public var environment: ChessEnvironment
:
53 | // Process the message on the background, then sink back to the main thread.
54 | DispatchQueue.global().async {
55 | self.environmentSemaphore.wait()
| `- warning: capture of 'self' with non-sendable type 'ChessStore' in a '@Sendable' closure
56 | self.environmentPublisher
57 | .receive(on: RunLoop.main)
/Users/admin/builder/spi-builder-workspace/Sources/Chess/Store/ChessStore.swift:63:55: warning: capture of 'change' with non-sendable type 'ChessEnvironment.EnvironmentChange' in a '@Sendable' closure
61 | }
62 | .store(in: &self.cancellables)
63 | self.environmentReducer(self.environment, change, self.environmentSubject)
| `- warning: capture of 'change' with non-sendable type 'ChessEnvironment.EnvironmentChange' in a '@Sendable' closure
64 | }
65 | }
/Users/admin/builder/spi-builder-workspace/Sources/Chess/Store/ChessEnvironment.swift:17:17: note: consider making enum 'EnvironmentChange' conform to the 'Sendable' protocol
15 | case development
16 | }
17 | public enum EnvironmentChange {
| `- note: consider making enum 'EnvironmentChange' conform to the 'Sendable' protocol
18 | case target(newTarget: TargetEnvironment)
19 | case boardColor(newColor: Chess.UI.BoardColor)
/Users/admin/builder/spi-builder-workspace/Sources/Chess/UI/BoardIconView.swift:36:29: warning: non-constant range: argument must be an integer literal
34 | GeometryReader { geometry in
35 | VStack(alignment: .center, spacing: 0) {
36 | ForEach(0..<height) { yIdx in
| `- warning: non-constant range: argument must be an integer literal
37 | HStack(alignment: .center, spacing: 0) {
38 | ForEach(0..<width) { xIdx in
/Users/admin/builder/spi-builder-workspace/Sources/Chess/UI/BoardIconView.swift:38:37: warning: non-constant range: argument must be an integer literal
36 | ForEach(0..<height) { yIdx in
37 | HStack(alignment: .center, spacing: 0) {
38 | ForEach(0..<width) { xIdx in
| `- warning: non-constant range: argument must be an integer literal
39 | Rectangle()
40 | .fill( (yIdx + xIdx) % 2 == 0 ? color.dark : color.light )
/Users/admin/builder/spi-builder-workspace/Sources/Chess/UI/ChessSettingsView.swift:49:67: warning: non-constant range: argument must be an integer literal
47 | Picker(selection: $store.game.playerFactory.white,
48 | label: Text("White")) {
49 | ForEach(0 ..< Chess.playerFactory.players.count) {
| `- warning: non-constant range: argument must be an integer literal
50 | PlayerTitleView(player: Chess.playerFactory.players[$0](.white))
51 | }
/Users/admin/builder/spi-builder-workspace/Sources/Chess/UI/ChessSettingsView.swift:58:67: warning: non-constant range: argument must be an integer literal
56 | Picker(selection: $store.game.playerFactory.black,
57 | label: Text("Black")) {
58 | ForEach(0 ..< Chess.playerFactory.players.count) {
| `- warning: non-constant range: argument must be an integer literal
59 | PlayerTitleView(player: Chess.playerFactory.players[$0](.black))
60 | }
[61/84] Compiling Chess ChessSettingsView.swift
/Users/admin/builder/spi-builder-workspace/Sources/Chess/Store/ChessStore.swift:41:13: warning: capture of 'self' with non-sendable type 'ChessStore' in a '@Sendable' closure
10 | import Combine
11 |
12 | public final class ChessStore: ObservableObject, ChessGameDelegate {
| `- note: class 'ChessStore' does not conform to the 'Sendable' protocol
13 | @Published public var game: Chess.Game
14 | @Published public var environment: ChessEnvironment
:
39 | // Process the message on the background, then sink back to the main thread.
40 | DispatchQueue.global().async {
41 | self.gameSemaphore.wait()
| `- warning: capture of 'self' with non-sendable type 'ChessStore' in a '@Sendable' closure
42 | self.gamePublisher
43 | .receive(on: RunLoop.main)
/Users/admin/builder/spi-builder-workspace/Sources/Chess/Store/ChessStore.swift:49:41: warning: capture of 'action' with non-sendable type 'Chess.GameAction' in a '@Sendable' closure
47 | }
48 | .store(in: &self.cancellables)
49 | self.gameReducer(self.game, action, self.environment, self.gameSubject)
| `- warning: capture of 'action' with non-sendable type 'Chess.GameAction' in a '@Sendable' closure
50 | }
51 | }
/Users/admin/builder/spi-builder-workspace/Sources/Chess/Store/GameActions.swift:12:17: note: consider making enum 'GameAction' conform to the 'Sendable' protocol
10 | extension Chess {
11 | // Game actions cause changes to the game
12 | public enum GameAction {
| `- note: consider making enum 'GameAction' conform to the 'Sendable' protocol
13 | case nextTurn
14 | case startGame
/Users/admin/builder/spi-builder-workspace/Sources/Chess/Store/ChessStore.swift:55:13: warning: capture of 'self' with non-sendable type 'ChessStore' in a '@Sendable' closure
10 | import Combine
11 |
12 | public final class ChessStore: ObservableObject, ChessGameDelegate {
| `- note: class 'ChessStore' does not conform to the 'Sendable' protocol
13 | @Published public var game: Chess.Game
14 | @Published public var environment: ChessEnvironment
:
53 | // Process the message on the background, then sink back to the main thread.
54 | DispatchQueue.global().async {
55 | self.environmentSemaphore.wait()
| `- warning: capture of 'self' with non-sendable type 'ChessStore' in a '@Sendable' closure
56 | self.environmentPublisher
57 | .receive(on: RunLoop.main)
/Users/admin/builder/spi-builder-workspace/Sources/Chess/Store/ChessStore.swift:63:55: warning: capture of 'change' with non-sendable type 'ChessEnvironment.EnvironmentChange' in a '@Sendable' closure
61 | }
62 | .store(in: &self.cancellables)
63 | self.environmentReducer(self.environment, change, self.environmentSubject)
| `- warning: capture of 'change' with non-sendable type 'ChessEnvironment.EnvironmentChange' in a '@Sendable' closure
64 | }
65 | }
/Users/admin/builder/spi-builder-workspace/Sources/Chess/Store/ChessEnvironment.swift:17:17: note: consider making enum 'EnvironmentChange' conform to the 'Sendable' protocol
15 | case development
16 | }
17 | public enum EnvironmentChange {
| `- note: consider making enum 'EnvironmentChange' conform to the 'Sendable' protocol
18 | case target(newTarget: TargetEnvironment)
19 | case boardColor(newColor: Chess.UI.BoardColor)
/Users/admin/builder/spi-builder-workspace/Sources/Chess/UI/BoardIconView.swift:36:29: warning: non-constant range: argument must be an integer literal
34 | GeometryReader { geometry in
35 | VStack(alignment: .center, spacing: 0) {
36 | ForEach(0..<height) { yIdx in
| `- warning: non-constant range: argument must be an integer literal
37 | HStack(alignment: .center, spacing: 0) {
38 | ForEach(0..<width) { xIdx in
/Users/admin/builder/spi-builder-workspace/Sources/Chess/UI/BoardIconView.swift:38:37: warning: non-constant range: argument must be an integer literal
36 | ForEach(0..<height) { yIdx in
37 | HStack(alignment: .center, spacing: 0) {
38 | ForEach(0..<width) { xIdx in
| `- warning: non-constant range: argument must be an integer literal
39 | Rectangle()
40 | .fill( (yIdx + xIdx) % 2 == 0 ? color.dark : color.light )
/Users/admin/builder/spi-builder-workspace/Sources/Chess/UI/ChessSettingsView.swift:49:67: warning: non-constant range: argument must be an integer literal
47 | Picker(selection: $store.game.playerFactory.white,
48 | label: Text("White")) {
49 | ForEach(0 ..< Chess.playerFactory.players.count) {
| `- warning: non-constant range: argument must be an integer literal
50 | PlayerTitleView(player: Chess.playerFactory.players[$0](.white))
51 | }
/Users/admin/builder/spi-builder-workspace/Sources/Chess/UI/ChessSettingsView.swift:58:67: warning: non-constant range: argument must be an integer literal
56 | Picker(selection: $store.game.playerFactory.black,
57 | label: Text("Black")) {
58 | ForEach(0 ..< Chess.playerFactory.players.count) {
| `- warning: non-constant range: argument must be an integer literal
59 | PlayerTitleView(player: Chess.playerFactory.players[$0](.black))
60 | }
[62/84] Compiling Chess ChessThemes.swift
/Users/admin/builder/spi-builder-workspace/Sources/Chess/UI/Extensions/GridItem+Chess.swift:11:16: warning: static property 'chessFile' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
9 |
10 | extension GridItem {
11 | static var chessFile = GridItem(.flexible(minimum: 10, maximum: .infinity), spacing: 0, alignment: .center)
| |- warning: static property 'chessFile' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'chessFile' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'chessFile' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
12 | }
13 |
/Users/admin/builder/spi-builder-workspace/Sources/Chess/UI/PieceArtwork/Bishop.swift:12:16: warning: static property 'bishop' is not concurrency-safe because non-'Sendable' type 'PieceArtwork' may have shared mutable state; this is an error in the Swift 6 language mode
10 |
11 | extension PieceArtwork {
12 | static let bishop: PieceArtwork = {
| |- warning: static property 'bishop' is not concurrency-safe because non-'Sendable' type 'PieceArtwork' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'bishop' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
13 | // We start right on top
14 | let start = CGPoint.xy(0, -0.6)
/Users/admin/builder/spi-builder-workspace/Sources/Chess/UI/PieceArtwork/PieceArtwork.swift:11:15: note: consider making struct 'PieceArtwork' conform to the 'Sendable' protocol
9 | import SwiftUI
10 |
11 | public struct PieceArtwork {
| `- note: consider making struct 'PieceArtwork' conform to the 'Sendable' protocol
12 | let start: CGPoint
13 | let strokes: [Stroke]
/Users/admin/builder/spi-builder-workspace/Sources/Chess/UI/PieceArtwork/King.swift:12:16: warning: static property 'king' is not concurrency-safe because non-'Sendable' type 'PieceArtwork' may have shared mutable state; this is an error in the Swift 6 language mode
10 |
11 | extension PieceArtwork {
12 | static let king: PieceArtwork = {
| |- warning: static property 'king' is not concurrency-safe because non-'Sendable' type 'PieceArtwork' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'king' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
13 | // We start right on top
14 | let start = CGPoint.xy(0, -0.6)
/Users/admin/builder/spi-builder-workspace/Sources/Chess/UI/PieceArtwork/PieceArtwork.swift:11:15: note: consider making struct 'PieceArtwork' conform to the 'Sendable' protocol
9 | import SwiftUI
10 |
11 | public struct PieceArtwork {
| `- note: consider making struct 'PieceArtwork' conform to the 'Sendable' protocol
12 | let start: CGPoint
13 | let strokes: [Stroke]
[63/84] Compiling Chess Defaults.swift
/Users/admin/builder/spi-builder-workspace/Sources/Chess/UI/Extensions/GridItem+Chess.swift:11:16: warning: static property 'chessFile' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
9 |
10 | extension GridItem {
11 | static var chessFile = GridItem(.flexible(minimum: 10, maximum: .infinity), spacing: 0, alignment: .center)
| |- warning: static property 'chessFile' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'chessFile' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'chessFile' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
12 | }
13 |
/Users/admin/builder/spi-builder-workspace/Sources/Chess/UI/PieceArtwork/Bishop.swift:12:16: warning: static property 'bishop' is not concurrency-safe because non-'Sendable' type 'PieceArtwork' may have shared mutable state; this is an error in the Swift 6 language mode
10 |
11 | extension PieceArtwork {
12 | static let bishop: PieceArtwork = {
| |- warning: static property 'bishop' is not concurrency-safe because non-'Sendable' type 'PieceArtwork' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'bishop' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
13 | // We start right on top
14 | let start = CGPoint.xy(0, -0.6)
/Users/admin/builder/spi-builder-workspace/Sources/Chess/UI/PieceArtwork/PieceArtwork.swift:11:15: note: consider making struct 'PieceArtwork' conform to the 'Sendable' protocol
9 | import SwiftUI
10 |
11 | public struct PieceArtwork {
| `- note: consider making struct 'PieceArtwork' conform to the 'Sendable' protocol
12 | let start: CGPoint
13 | let strokes: [Stroke]
/Users/admin/builder/spi-builder-workspace/Sources/Chess/UI/PieceArtwork/King.swift:12:16: warning: static property 'king' is not concurrency-safe because non-'Sendable' type 'PieceArtwork' may have shared mutable state; this is an error in the Swift 6 language mode
10 |
11 | extension PieceArtwork {
12 | static let king: PieceArtwork = {
| |- warning: static property 'king' is not concurrency-safe because non-'Sendable' type 'PieceArtwork' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'king' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
13 | // We start right on top
14 | let start = CGPoint.xy(0, -0.6)
/Users/admin/builder/spi-builder-workspace/Sources/Chess/UI/PieceArtwork/PieceArtwork.swift:11:15: note: consider making struct 'PieceArtwork' conform to the 'Sendable' protocol
9 | import SwiftUI
10 |
11 | public struct PieceArtwork {
| `- note: consider making struct 'PieceArtwork' conform to the 'Sendable' protocol
12 | let start: CGPoint
13 | let strokes: [Stroke]
[64/84] Compiling Chess CoreGraphics+RelativeShape.swift
/Users/admin/builder/spi-builder-workspace/Sources/Chess/UI/Extensions/GridItem+Chess.swift:11:16: warning: static property 'chessFile' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
9 |
10 | extension GridItem {
11 | static var chessFile = GridItem(.flexible(minimum: 10, maximum: .infinity), spacing: 0, alignment: .center)
| |- warning: static property 'chessFile' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'chessFile' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'chessFile' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
12 | }
13 |
/Users/admin/builder/spi-builder-workspace/Sources/Chess/UI/PieceArtwork/Bishop.swift:12:16: warning: static property 'bishop' is not concurrency-safe because non-'Sendable' type 'PieceArtwork' may have shared mutable state; this is an error in the Swift 6 language mode
10 |
11 | extension PieceArtwork {
12 | static let bishop: PieceArtwork = {
| |- warning: static property 'bishop' is not concurrency-safe because non-'Sendable' type 'PieceArtwork' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'bishop' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
13 | // We start right on top
14 | let start = CGPoint.xy(0, -0.6)
/Users/admin/builder/spi-builder-workspace/Sources/Chess/UI/PieceArtwork/PieceArtwork.swift:11:15: note: consider making struct 'PieceArtwork' conform to the 'Sendable' protocol
9 | import SwiftUI
10 |
11 | public struct PieceArtwork {
| `- note: consider making struct 'PieceArtwork' conform to the 'Sendable' protocol
12 | let start: CGPoint
13 | let strokes: [Stroke]
/Users/admin/builder/spi-builder-workspace/Sources/Chess/UI/PieceArtwork/King.swift:12:16: warning: static property 'king' is not concurrency-safe because non-'Sendable' type 'PieceArtwork' may have shared mutable state; this is an error in the Swift 6 language mode
10 |
11 | extension PieceArtwork {
12 | static let king: PieceArtwork = {
| |- warning: static property 'king' is not concurrency-safe because non-'Sendable' type 'PieceArtwork' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'king' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
13 | // We start right on top
14 | let start = CGPoint.xy(0, -0.6)
/Users/admin/builder/spi-builder-workspace/Sources/Chess/UI/PieceArtwork/PieceArtwork.swift:11:15: note: consider making struct 'PieceArtwork' conform to the 'Sendable' protocol
9 | import SwiftUI
10 |
11 | public struct PieceArtwork {
| `- note: consider making struct 'PieceArtwork' conform to the 'Sendable' protocol
12 | let start: CGPoint
13 | let strokes: [Stroke]
[65/84] Compiling Chess GridItem+Chess.swift
/Users/admin/builder/spi-builder-workspace/Sources/Chess/UI/Extensions/GridItem+Chess.swift:11:16: warning: static property 'chessFile' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
9 |
10 | extension GridItem {
11 | static var chessFile = GridItem(.flexible(minimum: 10, maximum: .infinity), spacing: 0, alignment: .center)
| |- warning: static property 'chessFile' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'chessFile' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'chessFile' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
12 | }
13 |
/Users/admin/builder/spi-builder-workspace/Sources/Chess/UI/PieceArtwork/Bishop.swift:12:16: warning: static property 'bishop' is not concurrency-safe because non-'Sendable' type 'PieceArtwork' may have shared mutable state; this is an error in the Swift 6 language mode
10 |
11 | extension PieceArtwork {
12 | static let bishop: PieceArtwork = {
| |- warning: static property 'bishop' is not concurrency-safe because non-'Sendable' type 'PieceArtwork' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'bishop' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
13 | // We start right on top
14 | let start = CGPoint.xy(0, -0.6)
/Users/admin/builder/spi-builder-workspace/Sources/Chess/UI/PieceArtwork/PieceArtwork.swift:11:15: note: consider making struct 'PieceArtwork' conform to the 'Sendable' protocol
9 | import SwiftUI
10 |
11 | public struct PieceArtwork {
| `- note: consider making struct 'PieceArtwork' conform to the 'Sendable' protocol
12 | let start: CGPoint
13 | let strokes: [Stroke]
/Users/admin/builder/spi-builder-workspace/Sources/Chess/UI/PieceArtwork/King.swift:12:16: warning: static property 'king' is not concurrency-safe because non-'Sendable' type 'PieceArtwork' may have shared mutable state; this is an error in the Swift 6 language mode
10 |
11 | extension PieceArtwork {
12 | static let king: PieceArtwork = {
| |- warning: static property 'king' is not concurrency-safe because non-'Sendable' type 'PieceArtwork' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'king' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
13 | // We start right on top
14 | let start = CGPoint.xy(0, -0.6)
/Users/admin/builder/spi-builder-workspace/Sources/Chess/UI/PieceArtwork/PieceArtwork.swift:11:15: note: consider making struct 'PieceArtwork' conform to the 'Sendable' protocol
9 | import SwiftUI
10 |
11 | public struct PieceArtwork {
| `- note: consider making struct 'PieceArtwork' conform to the 'Sendable' protocol
12 | let start: CGPoint
13 | let strokes: [Stroke]
[66/84] Compiling Chess PieceDrag.swift
/Users/admin/builder/spi-builder-workspace/Sources/Chess/UI/Extensions/GridItem+Chess.swift:11:16: warning: static property 'chessFile' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
9 |
10 | extension GridItem {
11 | static var chessFile = GridItem(.flexible(minimum: 10, maximum: .infinity), spacing: 0, alignment: .center)
| |- warning: static property 'chessFile' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'chessFile' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'chessFile' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
12 | }
13 |
/Users/admin/builder/spi-builder-workspace/Sources/Chess/UI/PieceArtwork/Bishop.swift:12:16: warning: static property 'bishop' is not concurrency-safe because non-'Sendable' type 'PieceArtwork' may have shared mutable state; this is an error in the Swift 6 language mode
10 |
11 | extension PieceArtwork {
12 | static let bishop: PieceArtwork = {
| |- warning: static property 'bishop' is not concurrency-safe because non-'Sendable' type 'PieceArtwork' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'bishop' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
13 | // We start right on top
14 | let start = CGPoint.xy(0, -0.6)
/Users/admin/builder/spi-builder-workspace/Sources/Chess/UI/PieceArtwork/PieceArtwork.swift:11:15: note: consider making struct 'PieceArtwork' conform to the 'Sendable' protocol
9 | import SwiftUI
10 |
11 | public struct PieceArtwork {
| `- note: consider making struct 'PieceArtwork' conform to the 'Sendable' protocol
12 | let start: CGPoint
13 | let strokes: [Stroke]
/Users/admin/builder/spi-builder-workspace/Sources/Chess/UI/PieceArtwork/King.swift:12:16: warning: static property 'king' is not concurrency-safe because non-'Sendable' type 'PieceArtwork' may have shared mutable state; this is an error in the Swift 6 language mode
10 |
11 | extension PieceArtwork {
12 | static let king: PieceArtwork = {
| |- warning: static property 'king' is not concurrency-safe because non-'Sendable' type 'PieceArtwork' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'king' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
13 | // We start right on top
14 | let start = CGPoint.xy(0, -0.6)
/Users/admin/builder/spi-builder-workspace/Sources/Chess/UI/PieceArtwork/PieceArtwork.swift:11:15: note: consider making struct 'PieceArtwork' conform to the 'Sendable' protocol
9 | import SwiftUI
10 |
11 | public struct PieceArtwork {
| `- note: consider making struct 'PieceArtwork' conform to the 'Sendable' protocol
12 | let start: CGPoint
13 | let strokes: [Stroke]
[67/84] Compiling Chess Bishop.swift
/Users/admin/builder/spi-builder-workspace/Sources/Chess/UI/Extensions/GridItem+Chess.swift:11:16: warning: static property 'chessFile' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
9 |
10 | extension GridItem {
11 | static var chessFile = GridItem(.flexible(minimum: 10, maximum: .infinity), spacing: 0, alignment: .center)
| |- warning: static property 'chessFile' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'chessFile' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'chessFile' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
12 | }
13 |
/Users/admin/builder/spi-builder-workspace/Sources/Chess/UI/PieceArtwork/Bishop.swift:12:16: warning: static property 'bishop' is not concurrency-safe because non-'Sendable' type 'PieceArtwork' may have shared mutable state; this is an error in the Swift 6 language mode
10 |
11 | extension PieceArtwork {
12 | static let bishop: PieceArtwork = {
| |- warning: static property 'bishop' is not concurrency-safe because non-'Sendable' type 'PieceArtwork' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'bishop' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
13 | // We start right on top
14 | let start = CGPoint.xy(0, -0.6)
/Users/admin/builder/spi-builder-workspace/Sources/Chess/UI/PieceArtwork/PieceArtwork.swift:11:15: note: consider making struct 'PieceArtwork' conform to the 'Sendable' protocol
9 | import SwiftUI
10 |
11 | public struct PieceArtwork {
| `- note: consider making struct 'PieceArtwork' conform to the 'Sendable' protocol
12 | let start: CGPoint
13 | let strokes: [Stroke]
/Users/admin/builder/spi-builder-workspace/Sources/Chess/UI/PieceArtwork/King.swift:12:16: warning: static property 'king' is not concurrency-safe because non-'Sendable' type 'PieceArtwork' may have shared mutable state; this is an error in the Swift 6 language mode
10 |
11 | extension PieceArtwork {
12 | static let king: PieceArtwork = {
| |- warning: static property 'king' is not concurrency-safe because non-'Sendable' type 'PieceArtwork' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'king' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
13 | // We start right on top
14 | let start = CGPoint.xy(0, -0.6)
/Users/admin/builder/spi-builder-workspace/Sources/Chess/UI/PieceArtwork/PieceArtwork.swift:11:15: note: consider making struct 'PieceArtwork' conform to the 'Sendable' protocol
9 | import SwiftUI
10 |
11 | public struct PieceArtwork {
| `- note: consider making struct 'PieceArtwork' conform to the 'Sendable' protocol
12 | let start: CGPoint
13 | let strokes: [Stroke]
[68/84] Compiling Chess King.swift
/Users/admin/builder/spi-builder-workspace/Sources/Chess/UI/Extensions/GridItem+Chess.swift:11:16: warning: static property 'chessFile' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
9 |
10 | extension GridItem {
11 | static var chessFile = GridItem(.flexible(minimum: 10, maximum: .infinity), spacing: 0, alignment: .center)
| |- warning: static property 'chessFile' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'chessFile' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'chessFile' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
12 | }
13 |
/Users/admin/builder/spi-builder-workspace/Sources/Chess/UI/PieceArtwork/Bishop.swift:12:16: warning: static property 'bishop' is not concurrency-safe because non-'Sendable' type 'PieceArtwork' may have shared mutable state; this is an error in the Swift 6 language mode
10 |
11 | extension PieceArtwork {
12 | static let bishop: PieceArtwork = {
| |- warning: static property 'bishop' is not concurrency-safe because non-'Sendable' type 'PieceArtwork' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'bishop' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
13 | // We start right on top
14 | let start = CGPoint.xy(0, -0.6)
/Users/admin/builder/spi-builder-workspace/Sources/Chess/UI/PieceArtwork/PieceArtwork.swift:11:15: note: consider making struct 'PieceArtwork' conform to the 'Sendable' protocol
9 | import SwiftUI
10 |
11 | public struct PieceArtwork {
| `- note: consider making struct 'PieceArtwork' conform to the 'Sendable' protocol
12 | let start: CGPoint
13 | let strokes: [Stroke]
/Users/admin/builder/spi-builder-workspace/Sources/Chess/UI/PieceArtwork/King.swift:12:16: warning: static property 'king' is not concurrency-safe because non-'Sendable' type 'PieceArtwork' may have shared mutable state; this is an error in the Swift 6 language mode
10 |
11 | extension PieceArtwork {
12 | static let king: PieceArtwork = {
| |- warning: static property 'king' is not concurrency-safe because non-'Sendable' type 'PieceArtwork' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'king' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
13 | // We start right on top
14 | let start = CGPoint.xy(0, -0.6)
/Users/admin/builder/spi-builder-workspace/Sources/Chess/UI/PieceArtwork/PieceArtwork.swift:11:15: note: consider making struct 'PieceArtwork' conform to the 'Sendable' protocol
9 | import SwiftUI
10 |
11 | public struct PieceArtwork {
| `- note: consider making struct 'PieceArtwork' conform to the 'Sendable' protocol
12 | let start: CGPoint
13 | let strokes: [Stroke]
[69/84] Compiling Chess Position.swift
/Users/admin/builder/spi-builder-workspace/Sources/Chess/Chess.swift:14:23: warning: static property 'log' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
12 | // Our namespace
13 | public enum Chess {
14 | public static var log: Logger = {
| |- warning: static property 'log' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'log' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'log' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
15 | var log = Logger(label: "com.dpedley.swift-chess")
16 | log.logLevel = Logger.Level.critical
/Users/admin/builder/spi-builder-workspace/Sources/Chess/Game/Game+Rules.swift:71:20: warning: static property 'startingPositionsForBlackPawns' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
69 | return false
70 | }
71 | static var startingPositionsForBlackPawns: [Chess.Position] = [.a7, .b7, .c7, .d7, .e7, .f7, .g7, .h7]
| |- warning: static property 'startingPositionsForBlackPawns' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'startingPositionsForBlackPawns' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'startingPositionsForBlackPawns' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
72 | static var startingPositionsForWhitePawns: [Chess.Position] = [.a2, .b2, .c2, .d2, .e2, .f2, .g2, .h2]
73 | static var startingPositionsForBlackKnights: [Chess.Position] = [.b8, .g8]
/Users/admin/builder/spi-builder-workspace/Sources/Chess/Game/Game+Rules.swift:72:20: warning: static property 'startingPositionsForWhitePawns' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
70 | }
71 | static var startingPositionsForBlackPawns: [Chess.Position] = [.a7, .b7, .c7, .d7, .e7, .f7, .g7, .h7]
72 | static var startingPositionsForWhitePawns: [Chess.Position] = [.a2, .b2, .c2, .d2, .e2, .f2, .g2, .h2]
| |- warning: static property 'startingPositionsForWhitePawns' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'startingPositionsForWhitePawns' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'startingPositionsForWhitePawns' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
73 | static var startingPositionsForBlackKnights: [Chess.Position] = [.b8, .g8]
74 | static var startingPositionsForWhiteKnights: [Chess.Position] = [.b1, .g1]
/Users/admin/builder/spi-builder-workspace/Sources/Chess/Game/Game+Rules.swift:73:20: warning: static property 'startingPositionsForBlackKnights' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
71 | static var startingPositionsForBlackPawns: [Chess.Position] = [.a7, .b7, .c7, .d7, .e7, .f7, .g7, .h7]
72 | static var startingPositionsForWhitePawns: [Chess.Position] = [.a2, .b2, .c2, .d2, .e2, .f2, .g2, .h2]
73 | static var startingPositionsForBlackKnights: [Chess.Position] = [.b8, .g8]
| |- warning: static property 'startingPositionsForBlackKnights' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'startingPositionsForBlackKnights' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'startingPositionsForBlackKnights' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
74 | static var startingPositionsForWhiteKnights: [Chess.Position] = [.b1, .g1]
75 | static var startingPositionsForBlackBishops: [Chess.Position] = [.c8, .f8]
/Users/admin/builder/spi-builder-workspace/Sources/Chess/Game/Game+Rules.swift:74:20: warning: static property 'startingPositionsForWhiteKnights' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
72 | static var startingPositionsForWhitePawns: [Chess.Position] = [.a2, .b2, .c2, .d2, .e2, .f2, .g2, .h2]
73 | static var startingPositionsForBlackKnights: [Chess.Position] = [.b8, .g8]
74 | static var startingPositionsForWhiteKnights: [Chess.Position] = [.b1, .g1]
| |- warning: static property 'startingPositionsForWhiteKnights' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'startingPositionsForWhiteKnights' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'startingPositionsForWhiteKnights' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
75 | static var startingPositionsForBlackBishops: [Chess.Position] = [.c8, .f8]
76 | static var startingPositionsForWhiteBishops: [Chess.Position] = [.c1, .f1]
/Users/admin/builder/spi-builder-workspace/Sources/Chess/Game/Game+Rules.swift:75:20: warning: static property 'startingPositionsForBlackBishops' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
73 | static var startingPositionsForBlackKnights: [Chess.Position] = [.b8, .g8]
74 | static var startingPositionsForWhiteKnights: [Chess.Position] = [.b1, .g1]
75 | static var startingPositionsForBlackBishops: [Chess.Position] = [.c8, .f8]
| |- warning: static property 'startingPositionsForBlackBishops' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'startingPositionsForBlackBishops' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'startingPositionsForBlackBishops' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
76 | static var startingPositionsForWhiteBishops: [Chess.Position] = [.c1, .f1]
77 | static var startingPositionsForBlackRooks: [Chess.Position] = [.a8, .h8]
/Users/admin/builder/spi-builder-workspace/Sources/Chess/Game/Game+Rules.swift:76:20: warning: static property 'startingPositionsForWhiteBishops' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
74 | static var startingPositionsForWhiteKnights: [Chess.Position] = [.b1, .g1]
75 | static var startingPositionsForBlackBishops: [Chess.Position] = [.c8, .f8]
76 | static var startingPositionsForWhiteBishops: [Chess.Position] = [.c1, .f1]
| |- warning: static property 'startingPositionsForWhiteBishops' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'startingPositionsForWhiteBishops' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'startingPositionsForWhiteBishops' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
77 | static var startingPositionsForBlackRooks: [Chess.Position] = [.a8, .h8]
78 | static var startingPositionsForWhiteRooks: [Chess.Position] = [.a1, .h1]
/Users/admin/builder/spi-builder-workspace/Sources/Chess/Game/Game+Rules.swift:77:20: warning: static property 'startingPositionsForBlackRooks' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
75 | static var startingPositionsForBlackBishops: [Chess.Position] = [.c8, .f8]
76 | static var startingPositionsForWhiteBishops: [Chess.Position] = [.c1, .f1]
77 | static var startingPositionsForBlackRooks: [Chess.Position] = [.a8, .h8]
| |- warning: static property 'startingPositionsForBlackRooks' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'startingPositionsForBlackRooks' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'startingPositionsForBlackRooks' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
78 | static var startingPositionsForWhiteRooks: [Chess.Position] = [.a1, .h1]
79 | static func startingPositionForRook(side: Chess.Side, kingSide: Bool) -> Chess.Position {
/Users/admin/builder/spi-builder-workspace/Sources/Chess/Game/Game+Rules.swift:78:20: warning: static property 'startingPositionsForWhiteRooks' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
76 | static var startingPositionsForWhiteBishops: [Chess.Position] = [.c1, .f1]
77 | static var startingPositionsForBlackRooks: [Chess.Position] = [.a8, .h8]
78 | static var startingPositionsForWhiteRooks: [Chess.Position] = [.a1, .h1]
| |- warning: static property 'startingPositionsForWhiteRooks' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'startingPositionsForWhiteRooks' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'startingPositionsForWhiteRooks' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
79 | static func startingPositionForRook(side: Chess.Side, kingSide: Bool) -> Chess.Position {
80 | if side == .white {
[70/84] Compiling Chess SingleMoveVariant.swift
/Users/admin/builder/spi-builder-workspace/Sources/Chess/Chess.swift:14:23: warning: static property 'log' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
12 | // Our namespace
13 | public enum Chess {
14 | public static var log: Logger = {
| |- warning: static property 'log' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'log' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'log' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
15 | var log = Logger(label: "com.dpedley.swift-chess")
16 | log.logLevel = Logger.Level.critical
/Users/admin/builder/spi-builder-workspace/Sources/Chess/Game/Game+Rules.swift:71:20: warning: static property 'startingPositionsForBlackPawns' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
69 | return false
70 | }
71 | static var startingPositionsForBlackPawns: [Chess.Position] = [.a7, .b7, .c7, .d7, .e7, .f7, .g7, .h7]
| |- warning: static property 'startingPositionsForBlackPawns' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'startingPositionsForBlackPawns' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'startingPositionsForBlackPawns' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
72 | static var startingPositionsForWhitePawns: [Chess.Position] = [.a2, .b2, .c2, .d2, .e2, .f2, .g2, .h2]
73 | static var startingPositionsForBlackKnights: [Chess.Position] = [.b8, .g8]
/Users/admin/builder/spi-builder-workspace/Sources/Chess/Game/Game+Rules.swift:72:20: warning: static property 'startingPositionsForWhitePawns' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
70 | }
71 | static var startingPositionsForBlackPawns: [Chess.Position] = [.a7, .b7, .c7, .d7, .e7, .f7, .g7, .h7]
72 | static var startingPositionsForWhitePawns: [Chess.Position] = [.a2, .b2, .c2, .d2, .e2, .f2, .g2, .h2]
| |- warning: static property 'startingPositionsForWhitePawns' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'startingPositionsForWhitePawns' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'startingPositionsForWhitePawns' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
73 | static var startingPositionsForBlackKnights: [Chess.Position] = [.b8, .g8]
74 | static var startingPositionsForWhiteKnights: [Chess.Position] = [.b1, .g1]
/Users/admin/builder/spi-builder-workspace/Sources/Chess/Game/Game+Rules.swift:73:20: warning: static property 'startingPositionsForBlackKnights' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
71 | static var startingPositionsForBlackPawns: [Chess.Position] = [.a7, .b7, .c7, .d7, .e7, .f7, .g7, .h7]
72 | static var startingPositionsForWhitePawns: [Chess.Position] = [.a2, .b2, .c2, .d2, .e2, .f2, .g2, .h2]
73 | static var startingPositionsForBlackKnights: [Chess.Position] = [.b8, .g8]
| |- warning: static property 'startingPositionsForBlackKnights' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'startingPositionsForBlackKnights' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'startingPositionsForBlackKnights' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
74 | static var startingPositionsForWhiteKnights: [Chess.Position] = [.b1, .g1]
75 | static var startingPositionsForBlackBishops: [Chess.Position] = [.c8, .f8]
/Users/admin/builder/spi-builder-workspace/Sources/Chess/Game/Game+Rules.swift:74:20: warning: static property 'startingPositionsForWhiteKnights' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
72 | static var startingPositionsForWhitePawns: [Chess.Position] = [.a2, .b2, .c2, .d2, .e2, .f2, .g2, .h2]
73 | static var startingPositionsForBlackKnights: [Chess.Position] = [.b8, .g8]
74 | static var startingPositionsForWhiteKnights: [Chess.Position] = [.b1, .g1]
| |- warning: static property 'startingPositionsForWhiteKnights' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'startingPositionsForWhiteKnights' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'startingPositionsForWhiteKnights' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
75 | static var startingPositionsForBlackBishops: [Chess.Position] = [.c8, .f8]
76 | static var startingPositionsForWhiteBishops: [Chess.Position] = [.c1, .f1]
/Users/admin/builder/spi-builder-workspace/Sources/Chess/Game/Game+Rules.swift:75:20: warning: static property 'startingPositionsForBlackBishops' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
73 | static var startingPositionsForBlackKnights: [Chess.Position] = [.b8, .g8]
74 | static var startingPositionsForWhiteKnights: [Chess.Position] = [.b1, .g1]
75 | static var startingPositionsForBlackBishops: [Chess.Position] = [.c8, .f8]
| |- warning: static property 'startingPositionsForBlackBishops' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'startingPositionsForBlackBishops' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'startingPositionsForBlackBishops' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
76 | static var startingPositionsForWhiteBishops: [Chess.Position] = [.c1, .f1]
77 | static var startingPositionsForBlackRooks: [Chess.Position] = [.a8, .h8]
/Users/admin/builder/spi-builder-workspace/Sources/Chess/Game/Game+Rules.swift:76:20: warning: static property 'startingPositionsForWhiteBishops' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
74 | static var startingPositionsForWhiteKnights: [Chess.Position] = [.b1, .g1]
75 | static var startingPositionsForBlackBishops: [Chess.Position] = [.c8, .f8]
76 | static var startingPositionsForWhiteBishops: [Chess.Position] = [.c1, .f1]
| |- warning: static property 'startingPositionsForWhiteBishops' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'startingPositionsForWhiteBishops' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'startingPositionsForWhiteBishops' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
77 | static var startingPositionsForBlackRooks: [Chess.Position] = [.a8, .h8]
78 | static var startingPositionsForWhiteRooks: [Chess.Position] = [.a1, .h1]
/Users/admin/builder/spi-builder-workspace/Sources/Chess/Game/Game+Rules.swift:77:20: warning: static property 'startingPositionsForBlackRooks' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
75 | static var startingPositionsForBlackBishops: [Chess.Position] = [.c8, .f8]
76 | static var startingPositionsForWhiteBishops: [Chess.Position] = [.c1, .f1]
77 | static var startingPositionsForBlackRooks: [Chess.Position] = [.a8, .h8]
| |- warning: static property 'startingPositionsForBlackRooks' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'startingPositionsForBlackRooks' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'startingPositionsForBlackRooks' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
78 | static var startingPositionsForWhiteRooks: [Chess.Position] = [.a1, .h1]
79 | static func startingPositionForRook(side: Chess.Side, kingSide: Bool) -> Chess.Position {
/Users/admin/builder/spi-builder-workspace/Sources/Chess/Game/Game+Rules.swift:78:20: warning: static property 'startingPositionsForWhiteRooks' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
76 | static var startingPositionsForWhiteBishops: [Chess.Position] = [.c1, .f1]
77 | static var startingPositionsForBlackRooks: [Chess.Position] = [.a8, .h8]
78 | static var startingPositionsForWhiteRooks: [Chess.Position] = [.a1, .h1]
| |- warning: static property 'startingPositionsForWhiteRooks' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'startingPositionsForWhiteRooks' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'startingPositionsForWhiteRooks' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
79 | static func startingPositionForRook(side: Chess.Side, kingSide: Bool) -> Chess.Position {
80 | if side == .white {
[71/84] Compiling Chess Square.swift
/Users/admin/builder/spi-builder-workspace/Sources/Chess/Chess.swift:14:23: warning: static property 'log' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
12 | // Our namespace
13 | public enum Chess {
14 | public static var log: Logger = {
| |- warning: static property 'log' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'log' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'log' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
15 | var log = Logger(label: "com.dpedley.swift-chess")
16 | log.logLevel = Logger.Level.critical
/Users/admin/builder/spi-builder-workspace/Sources/Chess/Game/Game+Rules.swift:71:20: warning: static property 'startingPositionsForBlackPawns' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
69 | return false
70 | }
71 | static var startingPositionsForBlackPawns: [Chess.Position] = [.a7, .b7, .c7, .d7, .e7, .f7, .g7, .h7]
| |- warning: static property 'startingPositionsForBlackPawns' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'startingPositionsForBlackPawns' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'startingPositionsForBlackPawns' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
72 | static var startingPositionsForWhitePawns: [Chess.Position] = [.a2, .b2, .c2, .d2, .e2, .f2, .g2, .h2]
73 | static var startingPositionsForBlackKnights: [Chess.Position] = [.b8, .g8]
/Users/admin/builder/spi-builder-workspace/Sources/Chess/Game/Game+Rules.swift:72:20: warning: static property 'startingPositionsForWhitePawns' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
70 | }
71 | static var startingPositionsForBlackPawns: [Chess.Position] = [.a7, .b7, .c7, .d7, .e7, .f7, .g7, .h7]
72 | static var startingPositionsForWhitePawns: [Chess.Position] = [.a2, .b2, .c2, .d2, .e2, .f2, .g2, .h2]
| |- warning: static property 'startingPositionsForWhitePawns' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'startingPositionsForWhitePawns' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'startingPositionsForWhitePawns' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
73 | static var startingPositionsForBlackKnights: [Chess.Position] = [.b8, .g8]
74 | static var startingPositionsForWhiteKnights: [Chess.Position] = [.b1, .g1]
/Users/admin/builder/spi-builder-workspace/Sources/Chess/Game/Game+Rules.swift:73:20: warning: static property 'startingPositionsForBlackKnights' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
71 | static var startingPositionsForBlackPawns: [Chess.Position] = [.a7, .b7, .c7, .d7, .e7, .f7, .g7, .h7]
72 | static var startingPositionsForWhitePawns: [Chess.Position] = [.a2, .b2, .c2, .d2, .e2, .f2, .g2, .h2]
73 | static var startingPositionsForBlackKnights: [Chess.Position] = [.b8, .g8]
| |- warning: static property 'startingPositionsForBlackKnights' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'startingPositionsForBlackKnights' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'startingPositionsForBlackKnights' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
74 | static var startingPositionsForWhiteKnights: [Chess.Position] = [.b1, .g1]
75 | static var startingPositionsForBlackBishops: [Chess.Position] = [.c8, .f8]
/Users/admin/builder/spi-builder-workspace/Sources/Chess/Game/Game+Rules.swift:74:20: warning: static property 'startingPositionsForWhiteKnights' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
72 | static var startingPositionsForWhitePawns: [Chess.Position] = [.a2, .b2, .c2, .d2, .e2, .f2, .g2, .h2]
73 | static var startingPositionsForBlackKnights: [Chess.Position] = [.b8, .g8]
74 | static var startingPositionsForWhiteKnights: [Chess.Position] = [.b1, .g1]
| |- warning: static property 'startingPositionsForWhiteKnights' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'startingPositionsForWhiteKnights' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'startingPositionsForWhiteKnights' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
75 | static var startingPositionsForBlackBishops: [Chess.Position] = [.c8, .f8]
76 | static var startingPositionsForWhiteBishops: [Chess.Position] = [.c1, .f1]
/Users/admin/builder/spi-builder-workspace/Sources/Chess/Game/Game+Rules.swift:75:20: warning: static property 'startingPositionsForBlackBishops' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
73 | static var startingPositionsForBlackKnights: [Chess.Position] = [.b8, .g8]
74 | static var startingPositionsForWhiteKnights: [Chess.Position] = [.b1, .g1]
75 | static var startingPositionsForBlackBishops: [Chess.Position] = [.c8, .f8]
| |- warning: static property 'startingPositionsForBlackBishops' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'startingPositionsForBlackBishops' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'startingPositionsForBlackBishops' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
76 | static var startingPositionsForWhiteBishops: [Chess.Position] = [.c1, .f1]
77 | static var startingPositionsForBlackRooks: [Chess.Position] = [.a8, .h8]
/Users/admin/builder/spi-builder-workspace/Sources/Chess/Game/Game+Rules.swift:76:20: warning: static property 'startingPositionsForWhiteBishops' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
74 | static var startingPositionsForWhiteKnights: [Chess.Position] = [.b1, .g1]
75 | static var startingPositionsForBlackBishops: [Chess.Position] = [.c8, .f8]
76 | static var startingPositionsForWhiteBishops: [Chess.Position] = [.c1, .f1]
| |- warning: static property 'startingPositionsForWhiteBishops' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'startingPositionsForWhiteBishops' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'startingPositionsForWhiteBishops' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
77 | static var startingPositionsForBlackRooks: [Chess.Position] = [.a8, .h8]
78 | static var startingPositionsForWhiteRooks: [Chess.Position] = [.a1, .h1]
/Users/admin/builder/spi-builder-workspace/Sources/Chess/Game/Game+Rules.swift:77:20: warning: static property 'startingPositionsForBlackRooks' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
75 | static var startingPositionsForBlackBishops: [Chess.Position] = [.c8, .f8]
76 | static var startingPositionsForWhiteBishops: [Chess.Position] = [.c1, .f1]
77 | static var startingPositionsForBlackRooks: [Chess.Position] = [.a8, .h8]
| |- warning: static property 'startingPositionsForBlackRooks' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'startingPositionsForBlackRooks' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'startingPositionsForBlackRooks' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
78 | static var startingPositionsForWhiteRooks: [Chess.Position] = [.a1, .h1]
79 | static func startingPositionForRook(side: Chess.Side, kingSide: Bool) -> Chess.Position {
/Users/admin/builder/spi-builder-workspace/Sources/Chess/Game/Game+Rules.swift:78:20: warning: static property 'startingPositionsForWhiteRooks' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
76 | static var startingPositionsForWhiteBishops: [Chess.Position] = [.c1, .f1]
77 | static var startingPositionsForBlackRooks: [Chess.Position] = [.a8, .h8]
78 | static var startingPositionsForWhiteRooks: [Chess.Position] = [.a1, .h1]
| |- warning: static property 'startingPositionsForWhiteRooks' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'startingPositionsForWhiteRooks' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'startingPositionsForWhiteRooks' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
79 | static func startingPositionForRook(side: Chess.Side, kingSide: Bool) -> Chess.Position {
80 | if side == .white {
[72/84] Compiling Chess Chess.swift
/Users/admin/builder/spi-builder-workspace/Sources/Chess/Chess.swift:14:23: warning: static property 'log' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
12 | // Our namespace
13 | public enum Chess {
14 | public static var log: Logger = {
| |- warning: static property 'log' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'log' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'log' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
15 | var log = Logger(label: "com.dpedley.swift-chess")
16 | log.logLevel = Logger.Level.critical
/Users/admin/builder/spi-builder-workspace/Sources/Chess/Game/Game+Rules.swift:71:20: warning: static property 'startingPositionsForBlackPawns' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
69 | return false
70 | }
71 | static var startingPositionsForBlackPawns: [Chess.Position] = [.a7, .b7, .c7, .d7, .e7, .f7, .g7, .h7]
| |- warning: static property 'startingPositionsForBlackPawns' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'startingPositionsForBlackPawns' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'startingPositionsForBlackPawns' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
72 | static var startingPositionsForWhitePawns: [Chess.Position] = [.a2, .b2, .c2, .d2, .e2, .f2, .g2, .h2]
73 | static var startingPositionsForBlackKnights: [Chess.Position] = [.b8, .g8]
/Users/admin/builder/spi-builder-workspace/Sources/Chess/Game/Game+Rules.swift:72:20: warning: static property 'startingPositionsForWhitePawns' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
70 | }
71 | static var startingPositionsForBlackPawns: [Chess.Position] = [.a7, .b7, .c7, .d7, .e7, .f7, .g7, .h7]
72 | static var startingPositionsForWhitePawns: [Chess.Position] = [.a2, .b2, .c2, .d2, .e2, .f2, .g2, .h2]
| |- warning: static property 'startingPositionsForWhitePawns' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'startingPositionsForWhitePawns' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'startingPositionsForWhitePawns' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
73 | static var startingPositionsForBlackKnights: [Chess.Position] = [.b8, .g8]
74 | static var startingPositionsForWhiteKnights: [Chess.Position] = [.b1, .g1]
/Users/admin/builder/spi-builder-workspace/Sources/Chess/Game/Game+Rules.swift:73:20: warning: static property 'startingPositionsForBlackKnights' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
71 | static var startingPositionsForBlackPawns: [Chess.Position] = [.a7, .b7, .c7, .d7, .e7, .f7, .g7, .h7]
72 | static var startingPositionsForWhitePawns: [Chess.Position] = [.a2, .b2, .c2, .d2, .e2, .f2, .g2, .h2]
73 | static var startingPositionsForBlackKnights: [Chess.Position] = [.b8, .g8]
| |- warning: static property 'startingPositionsForBlackKnights' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'startingPositionsForBlackKnights' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'startingPositionsForBlackKnights' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
74 | static var startingPositionsForWhiteKnights: [Chess.Position] = [.b1, .g1]
75 | static var startingPositionsForBlackBishops: [Chess.Position] = [.c8, .f8]
/Users/admin/builder/spi-builder-workspace/Sources/Chess/Game/Game+Rules.swift:74:20: warning: static property 'startingPositionsForWhiteKnights' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
72 | static var startingPositionsForWhitePawns: [Chess.Position] = [.a2, .b2, .c2, .d2, .e2, .f2, .g2, .h2]
73 | static var startingPositionsForBlackKnights: [Chess.Position] = [.b8, .g8]
74 | static var startingPositionsForWhiteKnights: [Chess.Position] = [.b1, .g1]
| |- warning: static property 'startingPositionsForWhiteKnights' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'startingPositionsForWhiteKnights' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'startingPositionsForWhiteKnights' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
75 | static var startingPositionsForBlackBishops: [Chess.Position] = [.c8, .f8]
76 | static var startingPositionsForWhiteBishops: [Chess.Position] = [.c1, .f1]
/Users/admin/builder/spi-builder-workspace/Sources/Chess/Game/Game+Rules.swift:75:20: warning: static property 'startingPositionsForBlackBishops' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
73 | static var startingPositionsForBlackKnights: [Chess.Position] = [.b8, .g8]
74 | static var startingPositionsForWhiteKnights: [Chess.Position] = [.b1, .g1]
75 | static var startingPositionsForBlackBishops: [Chess.Position] = [.c8, .f8]
| |- warning: static property 'startingPositionsForBlackBishops' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'startingPositionsForBlackBishops' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'startingPositionsForBlackBishops' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
76 | static var startingPositionsForWhiteBishops: [Chess.Position] = [.c1, .f1]
77 | static var startingPositionsForBlackRooks: [Chess.Position] = [.a8, .h8]
/Users/admin/builder/spi-builder-workspace/Sources/Chess/Game/Game+Rules.swift:76:20: warning: static property 'startingPositionsForWhiteBishops' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
74 | static var startingPositionsForWhiteKnights: [Chess.Position] = [.b1, .g1]
75 | static var startingPositionsForBlackBishops: [Chess.Position] = [.c8, .f8]
76 | static var startingPositionsForWhiteBishops: [Chess.Position] = [.c1, .f1]
| |- warning: static property 'startingPositionsForWhiteBishops' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'startingPositionsForWhiteBishops' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'startingPositionsForWhiteBishops' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
77 | static var startingPositionsForBlackRooks: [Chess.Position] = [.a8, .h8]
78 | static var startingPositionsForWhiteRooks: [Chess.Position] = [.a1, .h1]
/Users/admin/builder/spi-builder-workspace/Sources/Chess/Game/Game+Rules.swift:77:20: warning: static property 'startingPositionsForBlackRooks' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
75 | static var startingPositionsForBlackBishops: [Chess.Position] = [.c8, .f8]
76 | static var startingPositionsForWhiteBishops: [Chess.Position] = [.c1, .f1]
77 | static var startingPositionsForBlackRooks: [Chess.Position] = [.a8, .h8]
| |- warning: static property 'startingPositionsForBlackRooks' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'startingPositionsForBlackRooks' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'startingPositionsForBlackRooks' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
78 | static var startingPositionsForWhiteRooks: [Chess.Position] = [.a1, .h1]
79 | static func startingPositionForRook(side: Chess.Side, kingSide: Bool) -> Chess.Position {
/Users/admin/builder/spi-builder-workspace/Sources/Chess/Game/Game+Rules.swift:78:20: warning: static property 'startingPositionsForWhiteRooks' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
76 | static var startingPositionsForWhiteBishops: [Chess.Position] = [.c1, .f1]
77 | static var startingPositionsForBlackRooks: [Chess.Position] = [.a8, .h8]
78 | static var startingPositionsForWhiteRooks: [Chess.Position] = [.a1, .h1]
| |- warning: static property 'startingPositionsForWhiteRooks' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'startingPositionsForWhiteRooks' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'startingPositionsForWhiteRooks' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
79 | static func startingPositionForRook(side: Chess.Side, kingSide: Bool) -> Chess.Position {
80 | if side == .white {
[73/84] Compiling Chess Game+Notation.swift
/Users/admin/builder/spi-builder-workspace/Sources/Chess/Chess.swift:14:23: warning: static property 'log' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
12 | // Our namespace
13 | public enum Chess {
14 | public static var log: Logger = {
| |- warning: static property 'log' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'log' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'log' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
15 | var log = Logger(label: "com.dpedley.swift-chess")
16 | log.logLevel = Logger.Level.critical
/Users/admin/builder/spi-builder-workspace/Sources/Chess/Game/Game+Rules.swift:71:20: warning: static property 'startingPositionsForBlackPawns' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
69 | return false
70 | }
71 | static var startingPositionsForBlackPawns: [Chess.Position] = [.a7, .b7, .c7, .d7, .e7, .f7, .g7, .h7]
| |- warning: static property 'startingPositionsForBlackPawns' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'startingPositionsForBlackPawns' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'startingPositionsForBlackPawns' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
72 | static var startingPositionsForWhitePawns: [Chess.Position] = [.a2, .b2, .c2, .d2, .e2, .f2, .g2, .h2]
73 | static var startingPositionsForBlackKnights: [Chess.Position] = [.b8, .g8]
/Users/admin/builder/spi-builder-workspace/Sources/Chess/Game/Game+Rules.swift:72:20: warning: static property 'startingPositionsForWhitePawns' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
70 | }
71 | static var startingPositionsForBlackPawns: [Chess.Position] = [.a7, .b7, .c7, .d7, .e7, .f7, .g7, .h7]
72 | static var startingPositionsForWhitePawns: [Chess.Position] = [.a2, .b2, .c2, .d2, .e2, .f2, .g2, .h2]
| |- warning: static property 'startingPositionsForWhitePawns' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'startingPositionsForWhitePawns' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'startingPositionsForWhitePawns' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
73 | static var startingPositionsForBlackKnights: [Chess.Position] = [.b8, .g8]
74 | static var startingPositionsForWhiteKnights: [Chess.Position] = [.b1, .g1]
/Users/admin/builder/spi-builder-workspace/Sources/Chess/Game/Game+Rules.swift:73:20: warning: static property 'startingPositionsForBlackKnights' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
71 | static var startingPositionsForBlackPawns: [Chess.Position] = [.a7, .b7, .c7, .d7, .e7, .f7, .g7, .h7]
72 | static var startingPositionsForWhitePawns: [Chess.Position] = [.a2, .b2, .c2, .d2, .e2, .f2, .g2, .h2]
73 | static var startingPositionsForBlackKnights: [Chess.Position] = [.b8, .g8]
| |- warning: static property 'startingPositionsForBlackKnights' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'startingPositionsForBlackKnights' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'startingPositionsForBlackKnights' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
74 | static var startingPositionsForWhiteKnights: [Chess.Position] = [.b1, .g1]
75 | static var startingPositionsForBlackBishops: [Chess.Position] = [.c8, .f8]
/Users/admin/builder/spi-builder-workspace/Sources/Chess/Game/Game+Rules.swift:74:20: warning: static property 'startingPositionsForWhiteKnights' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
72 | static var startingPositionsForWhitePawns: [Chess.Position] = [.a2, .b2, .c2, .d2, .e2, .f2, .g2, .h2]
73 | static var startingPositionsForBlackKnights: [Chess.Position] = [.b8, .g8]
74 | static var startingPositionsForWhiteKnights: [Chess.Position] = [.b1, .g1]
| |- warning: static property 'startingPositionsForWhiteKnights' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'startingPositionsForWhiteKnights' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'startingPositionsForWhiteKnights' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
75 | static var startingPositionsForBlackBishops: [Chess.Position] = [.c8, .f8]
76 | static var startingPositionsForWhiteBishops: [Chess.Position] = [.c1, .f1]
/Users/admin/builder/spi-builder-workspace/Sources/Chess/Game/Game+Rules.swift:75:20: warning: static property 'startingPositionsForBlackBishops' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
73 | static var startingPositionsForBlackKnights: [Chess.Position] = [.b8, .g8]
74 | static var startingPositionsForWhiteKnights: [Chess.Position] = [.b1, .g1]
75 | static var startingPositionsForBlackBishops: [Chess.Position] = [.c8, .f8]
| |- warning: static property 'startingPositionsForBlackBishops' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'startingPositionsForBlackBishops' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'startingPositionsForBlackBishops' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
76 | static var startingPositionsForWhiteBishops: [Chess.Position] = [.c1, .f1]
77 | static var startingPositionsForBlackRooks: [Chess.Position] = [.a8, .h8]
/Users/admin/builder/spi-builder-workspace/Sources/Chess/Game/Game+Rules.swift:76:20: warning: static property 'startingPositionsForWhiteBishops' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
74 | static var startingPositionsForWhiteKnights: [Chess.Position] = [.b1, .g1]
75 | static var startingPositionsForBlackBishops: [Chess.Position] = [.c8, .f8]
76 | static var startingPositionsForWhiteBishops: [Chess.Position] = [.c1, .f1]
| |- warning: static property 'startingPositionsForWhiteBishops' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'startingPositionsForWhiteBishops' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'startingPositionsForWhiteBishops' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
77 | static var startingPositionsForBlackRooks: [Chess.Position] = [.a8, .h8]
78 | static var startingPositionsForWhiteRooks: [Chess.Position] = [.a1, .h1]
/Users/admin/builder/spi-builder-workspace/Sources/Chess/Game/Game+Rules.swift:77:20: warning: static property 'startingPositionsForBlackRooks' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
75 | static var startingPositionsForBlackBishops: [Chess.Position] = [.c8, .f8]
76 | static var startingPositionsForWhiteBishops: [Chess.Position] = [.c1, .f1]
77 | static var startingPositionsForBlackRooks: [Chess.Position] = [.a8, .h8]
| |- warning: static property 'startingPositionsForBlackRooks' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'startingPositionsForBlackRooks' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'startingPositionsForBlackRooks' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
78 | static var startingPositionsForWhiteRooks: [Chess.Position] = [.a1, .h1]
79 | static func startingPositionForRook(side: Chess.Side, kingSide: Bool) -> Chess.Position {
/Users/admin/builder/spi-builder-workspace/Sources/Chess/Game/Game+Rules.swift:78:20: warning: static property 'startingPositionsForWhiteRooks' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
76 | static var startingPositionsForWhiteBishops: [Chess.Position] = [.c1, .f1]
77 | static var startingPositionsForBlackRooks: [Chess.Position] = [.a8, .h8]
78 | static var startingPositionsForWhiteRooks: [Chess.Position] = [.a1, .h1]
| |- warning: static property 'startingPositionsForWhiteRooks' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'startingPositionsForWhiteRooks' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'startingPositionsForWhiteRooks' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
79 | static func startingPositionForRook(side: Chess.Side, kingSide: Bool) -> Chess.Position {
80 | if side == .white {
[74/84] Compiling Chess Game+Piece.swift
/Users/admin/builder/spi-builder-workspace/Sources/Chess/Chess.swift:14:23: warning: static property 'log' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
12 | // Our namespace
13 | public enum Chess {
14 | public static var log: Logger = {
| |- warning: static property 'log' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'log' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'log' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
15 | var log = Logger(label: "com.dpedley.swift-chess")
16 | log.logLevel = Logger.Level.critical
/Users/admin/builder/spi-builder-workspace/Sources/Chess/Game/Game+Rules.swift:71:20: warning: static property 'startingPositionsForBlackPawns' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
69 | return false
70 | }
71 | static var startingPositionsForBlackPawns: [Chess.Position] = [.a7, .b7, .c7, .d7, .e7, .f7, .g7, .h7]
| |- warning: static property 'startingPositionsForBlackPawns' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'startingPositionsForBlackPawns' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'startingPositionsForBlackPawns' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
72 | static var startingPositionsForWhitePawns: [Chess.Position] = [.a2, .b2, .c2, .d2, .e2, .f2, .g2, .h2]
73 | static var startingPositionsForBlackKnights: [Chess.Position] = [.b8, .g8]
/Users/admin/builder/spi-builder-workspace/Sources/Chess/Game/Game+Rules.swift:72:20: warning: static property 'startingPositionsForWhitePawns' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
70 | }
71 | static var startingPositionsForBlackPawns: [Chess.Position] = [.a7, .b7, .c7, .d7, .e7, .f7, .g7, .h7]
72 | static var startingPositionsForWhitePawns: [Chess.Position] = [.a2, .b2, .c2, .d2, .e2, .f2, .g2, .h2]
| |- warning: static property 'startingPositionsForWhitePawns' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'startingPositionsForWhitePawns' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'startingPositionsForWhitePawns' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
73 | static var startingPositionsForBlackKnights: [Chess.Position] = [.b8, .g8]
74 | static var startingPositionsForWhiteKnights: [Chess.Position] = [.b1, .g1]
/Users/admin/builder/spi-builder-workspace/Sources/Chess/Game/Game+Rules.swift:73:20: warning: static property 'startingPositionsForBlackKnights' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
71 | static var startingPositionsForBlackPawns: [Chess.Position] = [.a7, .b7, .c7, .d7, .e7, .f7, .g7, .h7]
72 | static var startingPositionsForWhitePawns: [Chess.Position] = [.a2, .b2, .c2, .d2, .e2, .f2, .g2, .h2]
73 | static var startingPositionsForBlackKnights: [Chess.Position] = [.b8, .g8]
| |- warning: static property 'startingPositionsForBlackKnights' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'startingPositionsForBlackKnights' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'startingPositionsForBlackKnights' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
74 | static var startingPositionsForWhiteKnights: [Chess.Position] = [.b1, .g1]
75 | static var startingPositionsForBlackBishops: [Chess.Position] = [.c8, .f8]
/Users/admin/builder/spi-builder-workspace/Sources/Chess/Game/Game+Rules.swift:74:20: warning: static property 'startingPositionsForWhiteKnights' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
72 | static var startingPositionsForWhitePawns: [Chess.Position] = [.a2, .b2, .c2, .d2, .e2, .f2, .g2, .h2]
73 | static var startingPositionsForBlackKnights: [Chess.Position] = [.b8, .g8]
74 | static var startingPositionsForWhiteKnights: [Chess.Position] = [.b1, .g1]
| |- warning: static property 'startingPositionsForWhiteKnights' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'startingPositionsForWhiteKnights' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'startingPositionsForWhiteKnights' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
75 | static var startingPositionsForBlackBishops: [Chess.Position] = [.c8, .f8]
76 | static var startingPositionsForWhiteBishops: [Chess.Position] = [.c1, .f1]
/Users/admin/builder/spi-builder-workspace/Sources/Chess/Game/Game+Rules.swift:75:20: warning: static property 'startingPositionsForBlackBishops' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
73 | static var startingPositionsForBlackKnights: [Chess.Position] = [.b8, .g8]
74 | static var startingPositionsForWhiteKnights: [Chess.Position] = [.b1, .g1]
75 | static var startingPositionsForBlackBishops: [Chess.Position] = [.c8, .f8]
| |- warning: static property 'startingPositionsForBlackBishops' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'startingPositionsForBlackBishops' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'startingPositionsForBlackBishops' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
76 | static var startingPositionsForWhiteBishops: [Chess.Position] = [.c1, .f1]
77 | static var startingPositionsForBlackRooks: [Chess.Position] = [.a8, .h8]
/Users/admin/builder/spi-builder-workspace/Sources/Chess/Game/Game+Rules.swift:76:20: warning: static property 'startingPositionsForWhiteBishops' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
74 | static var startingPositionsForWhiteKnights: [Chess.Position] = [.b1, .g1]
75 | static var startingPositionsForBlackBishops: [Chess.Position] = [.c8, .f8]
76 | static var startingPositionsForWhiteBishops: [Chess.Position] = [.c1, .f1]
| |- warning: static property 'startingPositionsForWhiteBishops' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'startingPositionsForWhiteBishops' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'startingPositionsForWhiteBishops' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
77 | static var startingPositionsForBlackRooks: [Chess.Position] = [.a8, .h8]
78 | static var startingPositionsForWhiteRooks: [Chess.Position] = [.a1, .h1]
/Users/admin/builder/spi-builder-workspace/Sources/Chess/Game/Game+Rules.swift:77:20: warning: static property 'startingPositionsForBlackRooks' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
75 | static var startingPositionsForBlackBishops: [Chess.Position] = [.c8, .f8]
76 | static var startingPositionsForWhiteBishops: [Chess.Position] = [.c1, .f1]
77 | static var startingPositionsForBlackRooks: [Chess.Position] = [.a8, .h8]
| |- warning: static property 'startingPositionsForBlackRooks' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'startingPositionsForBlackRooks' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'startingPositionsForBlackRooks' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
78 | static var startingPositionsForWhiteRooks: [Chess.Position] = [.a1, .h1]
79 | static func startingPositionForRook(side: Chess.Side, kingSide: Bool) -> Chess.Position {
/Users/admin/builder/spi-builder-workspace/Sources/Chess/Game/Game+Rules.swift:78:20: warning: static property 'startingPositionsForWhiteRooks' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
76 | static var startingPositionsForWhiteBishops: [Chess.Position] = [.c1, .f1]
77 | static var startingPositionsForBlackRooks: [Chess.Position] = [.a8, .h8]
78 | static var startingPositionsForWhiteRooks: [Chess.Position] = [.a1, .h1]
| |- warning: static property 'startingPositionsForWhiteRooks' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'startingPositionsForWhiteRooks' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'startingPositionsForWhiteRooks' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
79 | static func startingPositionForRook(side: Chess.Side, kingSide: Bool) -> Chess.Position {
80 | if side == .white {
[75/84] Compiling Chess Game+Rules.swift
/Users/admin/builder/spi-builder-workspace/Sources/Chess/Chess.swift:14:23: warning: static property 'log' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
12 | // Our namespace
13 | public enum Chess {
14 | public static var log: Logger = {
| |- warning: static property 'log' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'log' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'log' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
15 | var log = Logger(label: "com.dpedley.swift-chess")
16 | log.logLevel = Logger.Level.critical
/Users/admin/builder/spi-builder-workspace/Sources/Chess/Game/Game+Rules.swift:71:20: warning: static property 'startingPositionsForBlackPawns' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
69 | return false
70 | }
71 | static var startingPositionsForBlackPawns: [Chess.Position] = [.a7, .b7, .c7, .d7, .e7, .f7, .g7, .h7]
| |- warning: static property 'startingPositionsForBlackPawns' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'startingPositionsForBlackPawns' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'startingPositionsForBlackPawns' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
72 | static var startingPositionsForWhitePawns: [Chess.Position] = [.a2, .b2, .c2, .d2, .e2, .f2, .g2, .h2]
73 | static var startingPositionsForBlackKnights: [Chess.Position] = [.b8, .g8]
/Users/admin/builder/spi-builder-workspace/Sources/Chess/Game/Game+Rules.swift:72:20: warning: static property 'startingPositionsForWhitePawns' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
70 | }
71 | static var startingPositionsForBlackPawns: [Chess.Position] = [.a7, .b7, .c7, .d7, .e7, .f7, .g7, .h7]
72 | static var startingPositionsForWhitePawns: [Chess.Position] = [.a2, .b2, .c2, .d2, .e2, .f2, .g2, .h2]
| |- warning: static property 'startingPositionsForWhitePawns' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'startingPositionsForWhitePawns' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'startingPositionsForWhitePawns' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
73 | static var startingPositionsForBlackKnights: [Chess.Position] = [.b8, .g8]
74 | static var startingPositionsForWhiteKnights: [Chess.Position] = [.b1, .g1]
/Users/admin/builder/spi-builder-workspace/Sources/Chess/Game/Game+Rules.swift:73:20: warning: static property 'startingPositionsForBlackKnights' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
71 | static var startingPositionsForBlackPawns: [Chess.Position] = [.a7, .b7, .c7, .d7, .e7, .f7, .g7, .h7]
72 | static var startingPositionsForWhitePawns: [Chess.Position] = [.a2, .b2, .c2, .d2, .e2, .f2, .g2, .h2]
73 | static var startingPositionsForBlackKnights: [Chess.Position] = [.b8, .g8]
| |- warning: static property 'startingPositionsForBlackKnights' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'startingPositionsForBlackKnights' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'startingPositionsForBlackKnights' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
74 | static var startingPositionsForWhiteKnights: [Chess.Position] = [.b1, .g1]
75 | static var startingPositionsForBlackBishops: [Chess.Position] = [.c8, .f8]
/Users/admin/builder/spi-builder-workspace/Sources/Chess/Game/Game+Rules.swift:74:20: warning: static property 'startingPositionsForWhiteKnights' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
72 | static var startingPositionsForWhitePawns: [Chess.Position] = [.a2, .b2, .c2, .d2, .e2, .f2, .g2, .h2]
73 | static var startingPositionsForBlackKnights: [Chess.Position] = [.b8, .g8]
74 | static var startingPositionsForWhiteKnights: [Chess.Position] = [.b1, .g1]
| |- warning: static property 'startingPositionsForWhiteKnights' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'startingPositionsForWhiteKnights' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'startingPositionsForWhiteKnights' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
75 | static var startingPositionsForBlackBishops: [Chess.Position] = [.c8, .f8]
76 | static var startingPositionsForWhiteBishops: [Chess.Position] = [.c1, .f1]
/Users/admin/builder/spi-builder-workspace/Sources/Chess/Game/Game+Rules.swift:75:20: warning: static property 'startingPositionsForBlackBishops' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
73 | static var startingPositionsForBlackKnights: [Chess.Position] = [.b8, .g8]
74 | static var startingPositionsForWhiteKnights: [Chess.Position] = [.b1, .g1]
75 | static var startingPositionsForBlackBishops: [Chess.Position] = [.c8, .f8]
| |- warning: static property 'startingPositionsForBlackBishops' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'startingPositionsForBlackBishops' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'startingPositionsForBlackBishops' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
76 | static var startingPositionsForWhiteBishops: [Chess.Position] = [.c1, .f1]
77 | static var startingPositionsForBlackRooks: [Chess.Position] = [.a8, .h8]
/Users/admin/builder/spi-builder-workspace/Sources/Chess/Game/Game+Rules.swift:76:20: warning: static property 'startingPositionsForWhiteBishops' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
74 | static var startingPositionsForWhiteKnights: [Chess.Position] = [.b1, .g1]
75 | static var startingPositionsForBlackBishops: [Chess.Position] = [.c8, .f8]
76 | static var startingPositionsForWhiteBishops: [Chess.Position] = [.c1, .f1]
| |- warning: static property 'startingPositionsForWhiteBishops' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'startingPositionsForWhiteBishops' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'startingPositionsForWhiteBishops' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
77 | static var startingPositionsForBlackRooks: [Chess.Position] = [.a8, .h8]
78 | static var startingPositionsForWhiteRooks: [Chess.Position] = [.a1, .h1]
/Users/admin/builder/spi-builder-workspace/Sources/Chess/Game/Game+Rules.swift:77:20: warning: static property 'startingPositionsForBlackRooks' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
75 | static var startingPositionsForBlackBishops: [Chess.Position] = [.c8, .f8]
76 | static var startingPositionsForWhiteBishops: [Chess.Position] = [.c1, .f1]
77 | static var startingPositionsForBlackRooks: [Chess.Position] = [.a8, .h8]
| |- warning: static property 'startingPositionsForBlackRooks' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'startingPositionsForBlackRooks' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'startingPositionsForBlackRooks' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
78 | static var startingPositionsForWhiteRooks: [Chess.Position] = [.a1, .h1]
79 | static func startingPositionForRook(side: Chess.Side, kingSide: Bool) -> Chess.Position {
/Users/admin/builder/spi-builder-workspace/Sources/Chess/Game/Game+Rules.swift:78:20: warning: static property 'startingPositionsForWhiteRooks' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
76 | static var startingPositionsForWhiteBishops: [Chess.Position] = [.c1, .f1]
77 | static var startingPositionsForBlackRooks: [Chess.Position] = [.a8, .h8]
78 | static var startingPositionsForWhiteRooks: [Chess.Position] = [.a1, .h1]
| |- warning: static property 'startingPositionsForWhiteRooks' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'startingPositionsForWhiteRooks' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'startingPositionsForWhiteRooks' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
79 | static func startingPositionForRook(side: Chess.Side, kingSide: Bool) -> Chess.Position {
80 | if side == .white {
[76/84] Compiling Chess Game.swift
/Users/admin/builder/spi-builder-workspace/Sources/Chess/Chess.swift:14:23: warning: static property 'log' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
12 | // Our namespace
13 | public enum Chess {
14 | public static var log: Logger = {
| |- warning: static property 'log' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'log' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'log' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
15 | var log = Logger(label: "com.dpedley.swift-chess")
16 | log.logLevel = Logger.Level.critical
/Users/admin/builder/spi-builder-workspace/Sources/Chess/Game/Game+Rules.swift:71:20: warning: static property 'startingPositionsForBlackPawns' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
69 | return false
70 | }
71 | static var startingPositionsForBlackPawns: [Chess.Position] = [.a7, .b7, .c7, .d7, .e7, .f7, .g7, .h7]
| |- warning: static property 'startingPositionsForBlackPawns' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'startingPositionsForBlackPawns' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'startingPositionsForBlackPawns' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
72 | static var startingPositionsForWhitePawns: [Chess.Position] = [.a2, .b2, .c2, .d2, .e2, .f2, .g2, .h2]
73 | static var startingPositionsForBlackKnights: [Chess.Position] = [.b8, .g8]
/Users/admin/builder/spi-builder-workspace/Sources/Chess/Game/Game+Rules.swift:72:20: warning: static property 'startingPositionsForWhitePawns' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
70 | }
71 | static var startingPositionsForBlackPawns: [Chess.Position] = [.a7, .b7, .c7, .d7, .e7, .f7, .g7, .h7]
72 | static var startingPositionsForWhitePawns: [Chess.Position] = [.a2, .b2, .c2, .d2, .e2, .f2, .g2, .h2]
| |- warning: static property 'startingPositionsForWhitePawns' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'startingPositionsForWhitePawns' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'startingPositionsForWhitePawns' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
73 | static var startingPositionsForBlackKnights: [Chess.Position] = [.b8, .g8]
74 | static var startingPositionsForWhiteKnights: [Chess.Position] = [.b1, .g1]
/Users/admin/builder/spi-builder-workspace/Sources/Chess/Game/Game+Rules.swift:73:20: warning: static property 'startingPositionsForBlackKnights' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
71 | static var startingPositionsForBlackPawns: [Chess.Position] = [.a7, .b7, .c7, .d7, .e7, .f7, .g7, .h7]
72 | static var startingPositionsForWhitePawns: [Chess.Position] = [.a2, .b2, .c2, .d2, .e2, .f2, .g2, .h2]
73 | static var startingPositionsForBlackKnights: [Chess.Position] = [.b8, .g8]
| |- warning: static property 'startingPositionsForBlackKnights' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'startingPositionsForBlackKnights' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'startingPositionsForBlackKnights' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
74 | static var startingPositionsForWhiteKnights: [Chess.Position] = [.b1, .g1]
75 | static var startingPositionsForBlackBishops: [Chess.Position] = [.c8, .f8]
/Users/admin/builder/spi-builder-workspace/Sources/Chess/Game/Game+Rules.swift:74:20: warning: static property 'startingPositionsForWhiteKnights' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
72 | static var startingPositionsForWhitePawns: [Chess.Position] = [.a2, .b2, .c2, .d2, .e2, .f2, .g2, .h2]
73 | static var startingPositionsForBlackKnights: [Chess.Position] = [.b8, .g8]
74 | static var startingPositionsForWhiteKnights: [Chess.Position] = [.b1, .g1]
| |- warning: static property 'startingPositionsForWhiteKnights' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'startingPositionsForWhiteKnights' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'startingPositionsForWhiteKnights' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
75 | static var startingPositionsForBlackBishops: [Chess.Position] = [.c8, .f8]
76 | static var startingPositionsForWhiteBishops: [Chess.Position] = [.c1, .f1]
/Users/admin/builder/spi-builder-workspace/Sources/Chess/Game/Game+Rules.swift:75:20: warning: static property 'startingPositionsForBlackBishops' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
73 | static var startingPositionsForBlackKnights: [Chess.Position] = [.b8, .g8]
74 | static var startingPositionsForWhiteKnights: [Chess.Position] = [.b1, .g1]
75 | static var startingPositionsForBlackBishops: [Chess.Position] = [.c8, .f8]
| |- warning: static property 'startingPositionsForBlackBishops' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'startingPositionsForBlackBishops' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'startingPositionsForBlackBishops' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
76 | static var startingPositionsForWhiteBishops: [Chess.Position] = [.c1, .f1]
77 | static var startingPositionsForBlackRooks: [Chess.Position] = [.a8, .h8]
/Users/admin/builder/spi-builder-workspace/Sources/Chess/Game/Game+Rules.swift:76:20: warning: static property 'startingPositionsForWhiteBishops' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
74 | static var startingPositionsForWhiteKnights: [Chess.Position] = [.b1, .g1]
75 | static var startingPositionsForBlackBishops: [Chess.Position] = [.c8, .f8]
76 | static var startingPositionsForWhiteBishops: [Chess.Position] = [.c1, .f1]
| |- warning: static property 'startingPositionsForWhiteBishops' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'startingPositionsForWhiteBishops' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'startingPositionsForWhiteBishops' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
77 | static var startingPositionsForBlackRooks: [Chess.Position] = [.a8, .h8]
78 | static var startingPositionsForWhiteRooks: [Chess.Position] = [.a1, .h1]
/Users/admin/builder/spi-builder-workspace/Sources/Chess/Game/Game+Rules.swift:77:20: warning: static property 'startingPositionsForBlackRooks' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
75 | static var startingPositionsForBlackBishops: [Chess.Position] = [.c8, .f8]
76 | static var startingPositionsForWhiteBishops: [Chess.Position] = [.c1, .f1]
77 | static var startingPositionsForBlackRooks: [Chess.Position] = [.a8, .h8]
| |- warning: static property 'startingPositionsForBlackRooks' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'startingPositionsForBlackRooks' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'startingPositionsForBlackRooks' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
78 | static var startingPositionsForWhiteRooks: [Chess.Position] = [.a1, .h1]
79 | static func startingPositionForRook(side: Chess.Side, kingSide: Bool) -> Chess.Position {
/Users/admin/builder/spi-builder-workspace/Sources/Chess/Game/Game+Rules.swift:78:20: warning: static property 'startingPositionsForWhiteRooks' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
76 | static var startingPositionsForWhiteBishops: [Chess.Position] = [.c1, .f1]
77 | static var startingPositionsForBlackRooks: [Chess.Position] = [.a8, .h8]
78 | static var startingPositionsForWhiteRooks: [Chess.Position] = [.a1, .h1]
| |- warning: static property 'startingPositionsForWhiteRooks' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'startingPositionsForWhiteRooks' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'startingPositionsForWhiteRooks' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
79 | static func startingPositionForRook(side: Chess.Side, kingSide: Bool) -> Chess.Position {
80 | if side == .white {
[77/84] Compiling Chess MontyCarlo.swift
/Users/admin/builder/spi-builder-workspace/Sources/Chess/Robots/MontyCarlo.swift:50:34: warning: capture of 'weakSelf' with non-sendable type 'Chess.Robot.MontyCarloBot?' in a '@Sendable' closure
11 | public extension Chess.Robot {
12 | /// A monty carlo strategist using GKGameModel
13 | class MontyCarloBot: Chess.Player {
| `- note: class 'MontyCarloBot' does not conform to the 'Sendable' protocol
14 | var board = Chess.BoardVariant(originalFEN: Chess.Board.startingFEN)
15 | let strategist: GKMonteCarloStrategist
:
48 | weak var weakDelegate = delegate
49 | Thread.detachNewThread {
50 | guard let self = weakSelf, let delegate = weakDelegate else { return }
| `- warning: capture of 'weakSelf' with non-sendable type 'Chess.Robot.MontyCarloBot?' in a '@Sendable' closure
51 | guard let strategy = self.strategist.bestMoveForActivePlayer() else {
52 | let square = game.board.squareForActiveKing
/Users/admin/builder/spi-builder-workspace/Sources/Chess/Robots/MontyCarlo.swift:50:59: warning: capture of 'weakDelegate' with non-sendable type '(any ChessGameDelegate)?' in a '@Sendable' closure
48 | weak var weakDelegate = delegate
49 | Thread.detachNewThread {
50 | guard let self = weakSelf, let delegate = weakDelegate else { return }
| `- warning: capture of 'weakDelegate' with non-sendable type '(any ChessGameDelegate)?' in a '@Sendable' closure
51 | guard let strategy = self.strategist.bestMoveForActivePlayer() else {
52 | let square = game.board.squareForActiveKing
/Users/admin/builder/spi-builder-workspace/Sources/Chess/Game/Game.swift:10:17: note: protocol 'ChessGameDelegate' does not conform to the 'Sendable' protocol
8 | import Combine
9 |
10 | public protocol ChessGameDelegate: AnyObject {
| `- note: protocol 'ChessGameDelegate' does not conform to the 'Sendable' protocol
11 | func gameAction(_ action: Chess.GameAction)
12 | }
/Users/admin/builder/spi-builder-workspace/Sources/Chess/Robots/MontyCarlo.swift:52:34: warning: capture of 'game' with non-sendable type 'Chess.Game' in a '@Sendable' closure
50 | guard let self = weakSelf, let delegate = weakDelegate else { return }
51 | guard let strategy = self.strategist.bestMoveForActivePlayer() else {
52 | let square = game.board.squareForActiveKing
| `- warning: capture of 'game' with non-sendable type 'Chess.Game' in a '@Sendable' closure
53 | guard square.piece?.side == self.side else {
54 | Chess.log.critical("Misconfigured board, bot cannot find it's own king.")
/Users/admin/builder/spi-builder-workspace/Sources/Chess/Game/Game.swift:15:12: note: consider making struct 'Game' conform to the 'Sendable' protocol
13 |
14 | public extension Chess {
15 | struct Game {
| `- note: consider making struct 'Game' conform to the 'Sendable' protocol
16 | private var botPausedMove: Chess.Move?
17 | weak var delegate: ChessGameDelegate?
/Users/admin/builder/spi-builder-workspace/Sources/Chess/Robots/MontyCarlo.swift:50:34: warning: reference to captured var 'weakSelf' in concurrently-executing code
48 | weak var weakDelegate = delegate
49 | Thread.detachNewThread {
50 | guard let self = weakSelf, let delegate = weakDelegate else { return }
| `- warning: reference to captured var 'weakSelf' in concurrently-executing code
51 | guard let strategy = self.strategist.bestMoveForActivePlayer() else {
52 | let square = game.board.squareForActiveKing
/Users/admin/builder/spi-builder-workspace/Sources/Chess/Robots/MontyCarlo.swift:50:59: warning: reference to captured var 'weakDelegate' in concurrently-executing code
48 | weak var weakDelegate = delegate
49 | Thread.detachNewThread {
50 | guard let self = weakSelf, let delegate = weakDelegate else { return }
| `- warning: reference to captured var 'weakDelegate' in concurrently-executing code
51 | guard let strategy = self.strategist.bestMoveForActivePlayer() else {
52 | let square = game.board.squareForActiveKing
/Users/admin/builder/spi-builder-workspace/Sources/Chess/Store/ChessEnvironment.swift:12:16: warning: static property 'defaults' is not concurrency-safe because non-'Sendable' type 'UserDefaults?' may have shared mutable state; this is an error in the Swift 6 language mode
10 |
11 | public struct ChessEnvironment {
12 | static let defaults = UserDefaults(suiteName: "Chess")
| |- warning: static property 'defaults' is not concurrency-safe because non-'Sendable' type 'UserDefaults?' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'defaults' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
13 | public enum TargetEnvironment {
14 | case production
Swift.Optional:1:21: note: generic enum 'Optional' does not conform to the 'Sendable' protocol
1 | @frozen public enum Optional<Wrapped> : ~Copyable where Wrapped : ~Copyable {
| `- note: generic enum 'Optional' does not conform to the 'Sendable' protocol
2 | case none
3 | case some(Wrapped)
[78/84] Compiling Chess PlaybackBot.swift
/Users/admin/builder/spi-builder-workspace/Sources/Chess/Robots/MontyCarlo.swift:50:34: warning: capture of 'weakSelf' with non-sendable type 'Chess.Robot.MontyCarloBot?' in a '@Sendable' closure
11 | public extension Chess.Robot {
12 | /// A monty carlo strategist using GKGameModel
13 | class MontyCarloBot: Chess.Player {
| `- note: class 'MontyCarloBot' does not conform to the 'Sendable' protocol
14 | var board = Chess.BoardVariant(originalFEN: Chess.Board.startingFEN)
15 | let strategist: GKMonteCarloStrategist
:
48 | weak var weakDelegate = delegate
49 | Thread.detachNewThread {
50 | guard let self = weakSelf, let delegate = weakDelegate else { return }
| `- warning: capture of 'weakSelf' with non-sendable type 'Chess.Robot.MontyCarloBot?' in a '@Sendable' closure
51 | guard let strategy = self.strategist.bestMoveForActivePlayer() else {
52 | let square = game.board.squareForActiveKing
/Users/admin/builder/spi-builder-workspace/Sources/Chess/Robots/MontyCarlo.swift:50:59: warning: capture of 'weakDelegate' with non-sendable type '(any ChessGameDelegate)?' in a '@Sendable' closure
48 | weak var weakDelegate = delegate
49 | Thread.detachNewThread {
50 | guard let self = weakSelf, let delegate = weakDelegate else { return }
| `- warning: capture of 'weakDelegate' with non-sendable type '(any ChessGameDelegate)?' in a '@Sendable' closure
51 | guard let strategy = self.strategist.bestMoveForActivePlayer() else {
52 | let square = game.board.squareForActiveKing
/Users/admin/builder/spi-builder-workspace/Sources/Chess/Game/Game.swift:10:17: note: protocol 'ChessGameDelegate' does not conform to the 'Sendable' protocol
8 | import Combine
9 |
10 | public protocol ChessGameDelegate: AnyObject {
| `- note: protocol 'ChessGameDelegate' does not conform to the 'Sendable' protocol
11 | func gameAction(_ action: Chess.GameAction)
12 | }
/Users/admin/builder/spi-builder-workspace/Sources/Chess/Robots/MontyCarlo.swift:52:34: warning: capture of 'game' with non-sendable type 'Chess.Game' in a '@Sendable' closure
50 | guard let self = weakSelf, let delegate = weakDelegate else { return }
51 | guard let strategy = self.strategist.bestMoveForActivePlayer() else {
52 | let square = game.board.squareForActiveKing
| `- warning: capture of 'game' with non-sendable type 'Chess.Game' in a '@Sendable' closure
53 | guard square.piece?.side == self.side else {
54 | Chess.log.critical("Misconfigured board, bot cannot find it's own king.")
/Users/admin/builder/spi-builder-workspace/Sources/Chess/Game/Game.swift:15:12: note: consider making struct 'Game' conform to the 'Sendable' protocol
13 |
14 | public extension Chess {
15 | struct Game {
| `- note: consider making struct 'Game' conform to the 'Sendable' protocol
16 | private var botPausedMove: Chess.Move?
17 | weak var delegate: ChessGameDelegate?
/Users/admin/builder/spi-builder-workspace/Sources/Chess/Robots/MontyCarlo.swift:50:34: warning: reference to captured var 'weakSelf' in concurrently-executing code
48 | weak var weakDelegate = delegate
49 | Thread.detachNewThread {
50 | guard let self = weakSelf, let delegate = weakDelegate else { return }
| `- warning: reference to captured var 'weakSelf' in concurrently-executing code
51 | guard let strategy = self.strategist.bestMoveForActivePlayer() else {
52 | let square = game.board.squareForActiveKing
/Users/admin/builder/spi-builder-workspace/Sources/Chess/Robots/MontyCarlo.swift:50:59: warning: reference to captured var 'weakDelegate' in concurrently-executing code
48 | weak var weakDelegate = delegate
49 | Thread.detachNewThread {
50 | guard let self = weakSelf, let delegate = weakDelegate else { return }
| `- warning: reference to captured var 'weakDelegate' in concurrently-executing code
51 | guard let strategy = self.strategist.bestMoveForActivePlayer() else {
52 | let square = game.board.squareForActiveKing
/Users/admin/builder/spi-builder-workspace/Sources/Chess/Store/ChessEnvironment.swift:12:16: warning: static property 'defaults' is not concurrency-safe because non-'Sendable' type 'UserDefaults?' may have shared mutable state; this is an error in the Swift 6 language mode
10 |
11 | public struct ChessEnvironment {
12 | static let defaults = UserDefaults(suiteName: "Chess")
| |- warning: static property 'defaults' is not concurrency-safe because non-'Sendable' type 'UserDefaults?' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'defaults' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
13 | public enum TargetEnvironment {
14 | case production
Swift.Optional:1:21: note: generic enum 'Optional' does not conform to the 'Sendable' protocol
1 | @frozen public enum Optional<Wrapped> : ~Copyable where Wrapped : ~Copyable {
| `- note: generic enum 'Optional' does not conform to the 'Sendable' protocol
2 | case none
3 | case some(Wrapped)
[79/84] Compiling Chess Robot+Choices.swift
/Users/admin/builder/spi-builder-workspace/Sources/Chess/Robots/MontyCarlo.swift:50:34: warning: capture of 'weakSelf' with non-sendable type 'Chess.Robot.MontyCarloBot?' in a '@Sendable' closure
11 | public extension Chess.Robot {
12 | /// A monty carlo strategist using GKGameModel
13 | class MontyCarloBot: Chess.Player {
| `- note: class 'MontyCarloBot' does not conform to the 'Sendable' protocol
14 | var board = Chess.BoardVariant(originalFEN: Chess.Board.startingFEN)
15 | let strategist: GKMonteCarloStrategist
:
48 | weak var weakDelegate = delegate
49 | Thread.detachNewThread {
50 | guard let self = weakSelf, let delegate = weakDelegate else { return }
| `- warning: capture of 'weakSelf' with non-sendable type 'Chess.Robot.MontyCarloBot?' in a '@Sendable' closure
51 | guard let strategy = self.strategist.bestMoveForActivePlayer() else {
52 | let square = game.board.squareForActiveKing
/Users/admin/builder/spi-builder-workspace/Sources/Chess/Robots/MontyCarlo.swift:50:59: warning: capture of 'weakDelegate' with non-sendable type '(any ChessGameDelegate)?' in a '@Sendable' closure
48 | weak var weakDelegate = delegate
49 | Thread.detachNewThread {
50 | guard let self = weakSelf, let delegate = weakDelegate else { return }
| `- warning: capture of 'weakDelegate' with non-sendable type '(any ChessGameDelegate)?' in a '@Sendable' closure
51 | guard let strategy = self.strategist.bestMoveForActivePlayer() else {
52 | let square = game.board.squareForActiveKing
/Users/admin/builder/spi-builder-workspace/Sources/Chess/Game/Game.swift:10:17: note: protocol 'ChessGameDelegate' does not conform to the 'Sendable' protocol
8 | import Combine
9 |
10 | public protocol ChessGameDelegate: AnyObject {
| `- note: protocol 'ChessGameDelegate' does not conform to the 'Sendable' protocol
11 | func gameAction(_ action: Chess.GameAction)
12 | }
/Users/admin/builder/spi-builder-workspace/Sources/Chess/Robots/MontyCarlo.swift:52:34: warning: capture of 'game' with non-sendable type 'Chess.Game' in a '@Sendable' closure
50 | guard let self = weakSelf, let delegate = weakDelegate else { return }
51 | guard let strategy = self.strategist.bestMoveForActivePlayer() else {
52 | let square = game.board.squareForActiveKing
| `- warning: capture of 'game' with non-sendable type 'Chess.Game' in a '@Sendable' closure
53 | guard square.piece?.side == self.side else {
54 | Chess.log.critical("Misconfigured board, bot cannot find it's own king.")
/Users/admin/builder/spi-builder-workspace/Sources/Chess/Game/Game.swift:15:12: note: consider making struct 'Game' conform to the 'Sendable' protocol
13 |
14 | public extension Chess {
15 | struct Game {
| `- note: consider making struct 'Game' conform to the 'Sendable' protocol
16 | private var botPausedMove: Chess.Move?
17 | weak var delegate: ChessGameDelegate?
/Users/admin/builder/spi-builder-workspace/Sources/Chess/Robots/MontyCarlo.swift:50:34: warning: reference to captured var 'weakSelf' in concurrently-executing code
48 | weak var weakDelegate = delegate
49 | Thread.detachNewThread {
50 | guard let self = weakSelf, let delegate = weakDelegate else { return }
| `- warning: reference to captured var 'weakSelf' in concurrently-executing code
51 | guard let strategy = self.strategist.bestMoveForActivePlayer() else {
52 | let square = game.board.squareForActiveKing
/Users/admin/builder/spi-builder-workspace/Sources/Chess/Robots/MontyCarlo.swift:50:59: warning: reference to captured var 'weakDelegate' in concurrently-executing code
48 | weak var weakDelegate = delegate
49 | Thread.detachNewThread {
50 | guard let self = weakSelf, let delegate = weakDelegate else { return }
| `- warning: reference to captured var 'weakDelegate' in concurrently-executing code
51 | guard let strategy = self.strategist.bestMoveForActivePlayer() else {
52 | let square = game.board.squareForActiveKing
/Users/admin/builder/spi-builder-workspace/Sources/Chess/Store/ChessEnvironment.swift:12:16: warning: static property 'defaults' is not concurrency-safe because non-'Sendable' type 'UserDefaults?' may have shared mutable state; this is an error in the Swift 6 language mode
10 |
11 | public struct ChessEnvironment {
12 | static let defaults = UserDefaults(suiteName: "Chess")
| |- warning: static property 'defaults' is not concurrency-safe because non-'Sendable' type 'UserDefaults?' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'defaults' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
13 | public enum TargetEnvironment {
14 | case production
Swift.Optional:1:21: note: generic enum 'Optional' does not conform to the 'Sendable' protocol
1 | @frozen public enum Optional<Wrapped> : ~Copyable where Wrapped : ~Copyable {
| `- note: generic enum 'Optional' does not conform to the 'Sendable' protocol
2 | case none
3 | case some(Wrapped)
[80/84] Compiling Chess Robot+Names.swift
/Users/admin/builder/spi-builder-workspace/Sources/Chess/Robots/MontyCarlo.swift:50:34: warning: capture of 'weakSelf' with non-sendable type 'Chess.Robot.MontyCarloBot?' in a '@Sendable' closure
11 | public extension Chess.Robot {
12 | /// A monty carlo strategist using GKGameModel
13 | class MontyCarloBot: Chess.Player {
| `- note: class 'MontyCarloBot' does not conform to the 'Sendable' protocol
14 | var board = Chess.BoardVariant(originalFEN: Chess.Board.startingFEN)
15 | let strategist: GKMonteCarloStrategist
:
48 | weak var weakDelegate = delegate
49 | Thread.detachNewThread {
50 | guard let self = weakSelf, let delegate = weakDelegate else { return }
| `- warning: capture of 'weakSelf' with non-sendable type 'Chess.Robot.MontyCarloBot?' in a '@Sendable' closure
51 | guard let strategy = self.strategist.bestMoveForActivePlayer() else {
52 | let square = game.board.squareForActiveKing
/Users/admin/builder/spi-builder-workspace/Sources/Chess/Robots/MontyCarlo.swift:50:59: warning: capture of 'weakDelegate' with non-sendable type '(any ChessGameDelegate)?' in a '@Sendable' closure
48 | weak var weakDelegate = delegate
49 | Thread.detachNewThread {
50 | guard let self = weakSelf, let delegate = weakDelegate else { return }
| `- warning: capture of 'weakDelegate' with non-sendable type '(any ChessGameDelegate)?' in a '@Sendable' closure
51 | guard let strategy = self.strategist.bestMoveForActivePlayer() else {
52 | let square = game.board.squareForActiveKing
/Users/admin/builder/spi-builder-workspace/Sources/Chess/Game/Game.swift:10:17: note: protocol 'ChessGameDelegate' does not conform to the 'Sendable' protocol
8 | import Combine
9 |
10 | public protocol ChessGameDelegate: AnyObject {
| `- note: protocol 'ChessGameDelegate' does not conform to the 'Sendable' protocol
11 | func gameAction(_ action: Chess.GameAction)
12 | }
/Users/admin/builder/spi-builder-workspace/Sources/Chess/Robots/MontyCarlo.swift:52:34: warning: capture of 'game' with non-sendable type 'Chess.Game' in a '@Sendable' closure
50 | guard let self = weakSelf, let delegate = weakDelegate else { return }
51 | guard let strategy = self.strategist.bestMoveForActivePlayer() else {
52 | let square = game.board.squareForActiveKing
| `- warning: capture of 'game' with non-sendable type 'Chess.Game' in a '@Sendable' closure
53 | guard square.piece?.side == self.side else {
54 | Chess.log.critical("Misconfigured board, bot cannot find it's own king.")
/Users/admin/builder/spi-builder-workspace/Sources/Chess/Game/Game.swift:15:12: note: consider making struct 'Game' conform to the 'Sendable' protocol
13 |
14 | public extension Chess {
15 | struct Game {
| `- note: consider making struct 'Game' conform to the 'Sendable' protocol
16 | private var botPausedMove: Chess.Move?
17 | weak var delegate: ChessGameDelegate?
/Users/admin/builder/spi-builder-workspace/Sources/Chess/Robots/MontyCarlo.swift:50:34: warning: reference to captured var 'weakSelf' in concurrently-executing code
48 | weak var weakDelegate = delegate
49 | Thread.detachNewThread {
50 | guard let self = weakSelf, let delegate = weakDelegate else { return }
| `- warning: reference to captured var 'weakSelf' in concurrently-executing code
51 | guard let strategy = self.strategist.bestMoveForActivePlayer() else {
52 | let square = game.board.squareForActiveKing
/Users/admin/builder/spi-builder-workspace/Sources/Chess/Robots/MontyCarlo.swift:50:59: warning: reference to captured var 'weakDelegate' in concurrently-executing code
48 | weak var weakDelegate = delegate
49 | Thread.detachNewThread {
50 | guard let self = weakSelf, let delegate = weakDelegate else { return }
| `- warning: reference to captured var 'weakDelegate' in concurrently-executing code
51 | guard let strategy = self.strategist.bestMoveForActivePlayer() else {
52 | let square = game.board.squareForActiveKing
/Users/admin/builder/spi-builder-workspace/Sources/Chess/Store/ChessEnvironment.swift:12:16: warning: static property 'defaults' is not concurrency-safe because non-'Sendable' type 'UserDefaults?' may have shared mutable state; this is an error in the Swift 6 language mode
10 |
11 | public struct ChessEnvironment {
12 | static let defaults = UserDefaults(suiteName: "Chess")
| |- warning: static property 'defaults' is not concurrency-safe because non-'Sendable' type 'UserDefaults?' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'defaults' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
13 | public enum TargetEnvironment {
14 | case production
Swift.Optional:1:21: note: generic enum 'Optional' does not conform to the 'Sendable' protocol
1 | @frozen public enum Optional<Wrapped> : ~Copyable where Wrapped : ~Copyable {
| `- note: generic enum 'Optional' does not conform to the 'Sendable' protocol
2 | case none
3 | case some(Wrapped)
[81/84] Compiling Chess Robot+Previews.swift
/Users/admin/builder/spi-builder-workspace/Sources/Chess/Robots/MontyCarlo.swift:50:34: warning: capture of 'weakSelf' with non-sendable type 'Chess.Robot.MontyCarloBot?' in a '@Sendable' closure
11 | public extension Chess.Robot {
12 | /// A monty carlo strategist using GKGameModel
13 | class MontyCarloBot: Chess.Player {
| `- note: class 'MontyCarloBot' does not conform to the 'Sendable' protocol
14 | var board = Chess.BoardVariant(originalFEN: Chess.Board.startingFEN)
15 | let strategist: GKMonteCarloStrategist
:
48 | weak var weakDelegate = delegate
49 | Thread.detachNewThread {
50 | guard let self = weakSelf, let delegate = weakDelegate else { return }
| `- warning: capture of 'weakSelf' with non-sendable type 'Chess.Robot.MontyCarloBot?' in a '@Sendable' closure
51 | guard let strategy = self.strategist.bestMoveForActivePlayer() else {
52 | let square = game.board.squareForActiveKing
/Users/admin/builder/spi-builder-workspace/Sources/Chess/Robots/MontyCarlo.swift:50:59: warning: capture of 'weakDelegate' with non-sendable type '(any ChessGameDelegate)?' in a '@Sendable' closure
48 | weak var weakDelegate = delegate
49 | Thread.detachNewThread {
50 | guard let self = weakSelf, let delegate = weakDelegate else { return }
| `- warning: capture of 'weakDelegate' with non-sendable type '(any ChessGameDelegate)?' in a '@Sendable' closure
51 | guard let strategy = self.strategist.bestMoveForActivePlayer() else {
52 | let square = game.board.squareForActiveKing
/Users/admin/builder/spi-builder-workspace/Sources/Chess/Game/Game.swift:10:17: note: protocol 'ChessGameDelegate' does not conform to the 'Sendable' protocol
8 | import Combine
9 |
10 | public protocol ChessGameDelegate: AnyObject {
| `- note: protocol 'ChessGameDelegate' does not conform to the 'Sendable' protocol
11 | func gameAction(_ action: Chess.GameAction)
12 | }
/Users/admin/builder/spi-builder-workspace/Sources/Chess/Robots/MontyCarlo.swift:52:34: warning: capture of 'game' with non-sendable type 'Chess.Game' in a '@Sendable' closure
50 | guard let self = weakSelf, let delegate = weakDelegate else { return }
51 | guard let strategy = self.strategist.bestMoveForActivePlayer() else {
52 | let square = game.board.squareForActiveKing
| `- warning: capture of 'game' with non-sendable type 'Chess.Game' in a '@Sendable' closure
53 | guard square.piece?.side == self.side else {
54 | Chess.log.critical("Misconfigured board, bot cannot find it's own king.")
/Users/admin/builder/spi-builder-workspace/Sources/Chess/Game/Game.swift:15:12: note: consider making struct 'Game' conform to the 'Sendable' protocol
13 |
14 | public extension Chess {
15 | struct Game {
| `- note: consider making struct 'Game' conform to the 'Sendable' protocol
16 | private var botPausedMove: Chess.Move?
17 | weak var delegate: ChessGameDelegate?
/Users/admin/builder/spi-builder-workspace/Sources/Chess/Robots/MontyCarlo.swift:50:34: warning: reference to captured var 'weakSelf' in concurrently-executing code
48 | weak var weakDelegate = delegate
49 | Thread.detachNewThread {
50 | guard let self = weakSelf, let delegate = weakDelegate else { return }
| `- warning: reference to captured var 'weakSelf' in concurrently-executing code
51 | guard let strategy = self.strategist.bestMoveForActivePlayer() else {
52 | let square = game.board.squareForActiveKing
/Users/admin/builder/spi-builder-workspace/Sources/Chess/Robots/MontyCarlo.swift:50:59: warning: reference to captured var 'weakDelegate' in concurrently-executing code
48 | weak var weakDelegate = delegate
49 | Thread.detachNewThread {
50 | guard let self = weakSelf, let delegate = weakDelegate else { return }
| `- warning: reference to captured var 'weakDelegate' in concurrently-executing code
51 | guard let strategy = self.strategist.bestMoveForActivePlayer() else {
52 | let square = game.board.squareForActiveKing
/Users/admin/builder/spi-builder-workspace/Sources/Chess/Store/ChessEnvironment.swift:12:16: warning: static property 'defaults' is not concurrency-safe because non-'Sendable' type 'UserDefaults?' may have shared mutable state; this is an error in the Swift 6 language mode
10 |
11 | public struct ChessEnvironment {
12 | static let defaults = UserDefaults(suiteName: "Chess")
| |- warning: static property 'defaults' is not concurrency-safe because non-'Sendable' type 'UserDefaults?' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'defaults' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
13 | public enum TargetEnvironment {
14 | case production
Swift.Optional:1:21: note: generic enum 'Optional' does not conform to the 'Sendable' protocol
1 | @frozen public enum Optional<Wrapped> : ~Copyable where Wrapped : ~Copyable {
| `- note: generic enum 'Optional' does not conform to the 'Sendable' protocol
2 | case none
3 | case some(Wrapped)
[82/84] Compiling Chess ChessPreferences.swift
/Users/admin/builder/spi-builder-workspace/Sources/Chess/Robots/MontyCarlo.swift:50:34: warning: capture of 'weakSelf' with non-sendable type 'Chess.Robot.MontyCarloBot?' in a '@Sendable' closure
11 | public extension Chess.Robot {
12 | /// A monty carlo strategist using GKGameModel
13 | class MontyCarloBot: Chess.Player {
| `- note: class 'MontyCarloBot' does not conform to the 'Sendable' protocol
14 | var board = Chess.BoardVariant(originalFEN: Chess.Board.startingFEN)
15 | let strategist: GKMonteCarloStrategist
:
48 | weak var weakDelegate = delegate
49 | Thread.detachNewThread {
50 | guard let self = weakSelf, let delegate = weakDelegate else { return }
| `- warning: capture of 'weakSelf' with non-sendable type 'Chess.Robot.MontyCarloBot?' in a '@Sendable' closure
51 | guard let strategy = self.strategist.bestMoveForActivePlayer() else {
52 | let square = game.board.squareForActiveKing
/Users/admin/builder/spi-builder-workspace/Sources/Chess/Robots/MontyCarlo.swift:50:59: warning: capture of 'weakDelegate' with non-sendable type '(any ChessGameDelegate)?' in a '@Sendable' closure
48 | weak var weakDelegate = delegate
49 | Thread.detachNewThread {
50 | guard let self = weakSelf, let delegate = weakDelegate else { return }
| `- warning: capture of 'weakDelegate' with non-sendable type '(any ChessGameDelegate)?' in a '@Sendable' closure
51 | guard let strategy = self.strategist.bestMoveForActivePlayer() else {
52 | let square = game.board.squareForActiveKing
/Users/admin/builder/spi-builder-workspace/Sources/Chess/Game/Game.swift:10:17: note: protocol 'ChessGameDelegate' does not conform to the 'Sendable' protocol
8 | import Combine
9 |
10 | public protocol ChessGameDelegate: AnyObject {
| `- note: protocol 'ChessGameDelegate' does not conform to the 'Sendable' protocol
11 | func gameAction(_ action: Chess.GameAction)
12 | }
/Users/admin/builder/spi-builder-workspace/Sources/Chess/Robots/MontyCarlo.swift:52:34: warning: capture of 'game' with non-sendable type 'Chess.Game' in a '@Sendable' closure
50 | guard let self = weakSelf, let delegate = weakDelegate else { return }
51 | guard let strategy = self.strategist.bestMoveForActivePlayer() else {
52 | let square = game.board.squareForActiveKing
| `- warning: capture of 'game' with non-sendable type 'Chess.Game' in a '@Sendable' closure
53 | guard square.piece?.side == self.side else {
54 | Chess.log.critical("Misconfigured board, bot cannot find it's own king.")
/Users/admin/builder/spi-builder-workspace/Sources/Chess/Game/Game.swift:15:12: note: consider making struct 'Game' conform to the 'Sendable' protocol
13 |
14 | public extension Chess {
15 | struct Game {
| `- note: consider making struct 'Game' conform to the 'Sendable' protocol
16 | private var botPausedMove: Chess.Move?
17 | weak var delegate: ChessGameDelegate?
/Users/admin/builder/spi-builder-workspace/Sources/Chess/Robots/MontyCarlo.swift:50:34: warning: reference to captured var 'weakSelf' in concurrently-executing code
48 | weak var weakDelegate = delegate
49 | Thread.detachNewThread {
50 | guard let self = weakSelf, let delegate = weakDelegate else { return }
| `- warning: reference to captured var 'weakSelf' in concurrently-executing code
51 | guard let strategy = self.strategist.bestMoveForActivePlayer() else {
52 | let square = game.board.squareForActiveKing
/Users/admin/builder/spi-builder-workspace/Sources/Chess/Robots/MontyCarlo.swift:50:59: warning: reference to captured var 'weakDelegate' in concurrently-executing code
48 | weak var weakDelegate = delegate
49 | Thread.detachNewThread {
50 | guard let self = weakSelf, let delegate = weakDelegate else { return }
| `- warning: reference to captured var 'weakDelegate' in concurrently-executing code
51 | guard let strategy = self.strategist.bestMoveForActivePlayer() else {
52 | let square = game.board.squareForActiveKing
/Users/admin/builder/spi-builder-workspace/Sources/Chess/Store/ChessEnvironment.swift:12:16: warning: static property 'defaults' is not concurrency-safe because non-'Sendable' type 'UserDefaults?' may have shared mutable state; this is an error in the Swift 6 language mode
10 |
11 | public struct ChessEnvironment {
12 | static let defaults = UserDefaults(suiteName: "Chess")
| |- warning: static property 'defaults' is not concurrency-safe because non-'Sendable' type 'UserDefaults?' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'defaults' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
13 | public enum TargetEnvironment {
14 | case production
Swift.Optional:1:21: note: generic enum 'Optional' does not conform to the 'Sendable' protocol
1 | @frozen public enum Optional<Wrapped> : ~Copyable where Wrapped : ~Copyable {
| `- note: generic enum 'Optional' does not conform to the 'Sendable' protocol
2 | case none
3 | case some(Wrapped)
[83/84] Compiling Chess ChessEnvironment.swift
/Users/admin/builder/spi-builder-workspace/Sources/Chess/Robots/MontyCarlo.swift:50:34: warning: capture of 'weakSelf' with non-sendable type 'Chess.Robot.MontyCarloBot?' in a '@Sendable' closure
11 | public extension Chess.Robot {
12 | /// A monty carlo strategist using GKGameModel
13 | class MontyCarloBot: Chess.Player {
| `- note: class 'MontyCarloBot' does not conform to the 'Sendable' protocol
14 | var board = Chess.BoardVariant(originalFEN: Chess.Board.startingFEN)
15 | let strategist: GKMonteCarloStrategist
:
48 | weak var weakDelegate = delegate
49 | Thread.detachNewThread {
50 | guard let self = weakSelf, let delegate = weakDelegate else { return }
| `- warning: capture of 'weakSelf' with non-sendable type 'Chess.Robot.MontyCarloBot?' in a '@Sendable' closure
51 | guard let strategy = self.strategist.bestMoveForActivePlayer() else {
52 | let square = game.board.squareForActiveKing
/Users/admin/builder/spi-builder-workspace/Sources/Chess/Robots/MontyCarlo.swift:50:59: warning: capture of 'weakDelegate' with non-sendable type '(any ChessGameDelegate)?' in a '@Sendable' closure
48 | weak var weakDelegate = delegate
49 | Thread.detachNewThread {
50 | guard let self = weakSelf, let delegate = weakDelegate else { return }
| `- warning: capture of 'weakDelegate' with non-sendable type '(any ChessGameDelegate)?' in a '@Sendable' closure
51 | guard let strategy = self.strategist.bestMoveForActivePlayer() else {
52 | let square = game.board.squareForActiveKing
/Users/admin/builder/spi-builder-workspace/Sources/Chess/Game/Game.swift:10:17: note: protocol 'ChessGameDelegate' does not conform to the 'Sendable' protocol
8 | import Combine
9 |
10 | public protocol ChessGameDelegate: AnyObject {
| `- note: protocol 'ChessGameDelegate' does not conform to the 'Sendable' protocol
11 | func gameAction(_ action: Chess.GameAction)
12 | }
/Users/admin/builder/spi-builder-workspace/Sources/Chess/Robots/MontyCarlo.swift:52:34: warning: capture of 'game' with non-sendable type 'Chess.Game' in a '@Sendable' closure
50 | guard let self = weakSelf, let delegate = weakDelegate else { return }
51 | guard let strategy = self.strategist.bestMoveForActivePlayer() else {
52 | let square = game.board.squareForActiveKing
| `- warning: capture of 'game' with non-sendable type 'Chess.Game' in a '@Sendable' closure
53 | guard square.piece?.side == self.side else {
54 | Chess.log.critical("Misconfigured board, bot cannot find it's own king.")
/Users/admin/builder/spi-builder-workspace/Sources/Chess/Game/Game.swift:15:12: note: consider making struct 'Game' conform to the 'Sendable' protocol
13 |
14 | public extension Chess {
15 | struct Game {
| `- note: consider making struct 'Game' conform to the 'Sendable' protocol
16 | private var botPausedMove: Chess.Move?
17 | weak var delegate: ChessGameDelegate?
/Users/admin/builder/spi-builder-workspace/Sources/Chess/Robots/MontyCarlo.swift:50:34: warning: reference to captured var 'weakSelf' in concurrently-executing code
48 | weak var weakDelegate = delegate
49 | Thread.detachNewThread {
50 | guard let self = weakSelf, let delegate = weakDelegate else { return }
| `- warning: reference to captured var 'weakSelf' in concurrently-executing code
51 | guard let strategy = self.strategist.bestMoveForActivePlayer() else {
52 | let square = game.board.squareForActiveKing
/Users/admin/builder/spi-builder-workspace/Sources/Chess/Robots/MontyCarlo.swift:50:59: warning: reference to captured var 'weakDelegate' in concurrently-executing code
48 | weak var weakDelegate = delegate
49 | Thread.detachNewThread {
50 | guard let self = weakSelf, let delegate = weakDelegate else { return }
| `- warning: reference to captured var 'weakDelegate' in concurrently-executing code
51 | guard let strategy = self.strategist.bestMoveForActivePlayer() else {
52 | let square = game.board.squareForActiveKing
/Users/admin/builder/spi-builder-workspace/Sources/Chess/Store/ChessEnvironment.swift:12:16: warning: static property 'defaults' is not concurrency-safe because non-'Sendable' type 'UserDefaults?' may have shared mutable state; this is an error in the Swift 6 language mode
10 |
11 | public struct ChessEnvironment {
12 | static let defaults = UserDefaults(suiteName: "Chess")
| |- warning: static property 'defaults' is not concurrency-safe because non-'Sendable' type 'UserDefaults?' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'defaults' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
13 | public enum TargetEnvironment {
14 | case production
Swift.Optional:1:21: note: generic enum 'Optional' does not conform to the 'Sendable' protocol
1 | @frozen public enum Optional<Wrapped> : ~Copyable where Wrapped : ~Copyable {
| `- note: generic enum 'Optional' does not conform to the 'Sendable' protocol
2 | case none
3 | case some(Wrapped)
[84/84] Compiling Chess ChessStore+Preview.swift
/Users/admin/builder/spi-builder-workspace/Sources/Chess/Robots/MontyCarlo.swift:50:34: warning: capture of 'weakSelf' with non-sendable type 'Chess.Robot.MontyCarloBot?' in a '@Sendable' closure
11 | public extension Chess.Robot {
12 | /// A monty carlo strategist using GKGameModel
13 | class MontyCarloBot: Chess.Player {
| `- note: class 'MontyCarloBot' does not conform to the 'Sendable' protocol
14 | var board = Chess.BoardVariant(originalFEN: Chess.Board.startingFEN)
15 | let strategist: GKMonteCarloStrategist
:
48 | weak var weakDelegate = delegate
49 | Thread.detachNewThread {
50 | guard let self = weakSelf, let delegate = weakDelegate else { return }
| `- warning: capture of 'weakSelf' with non-sendable type 'Chess.Robot.MontyCarloBot?' in a '@Sendable' closure
51 | guard let strategy = self.strategist.bestMoveForActivePlayer() else {
52 | let square = game.board.squareForActiveKing
/Users/admin/builder/spi-builder-workspace/Sources/Chess/Robots/MontyCarlo.swift:50:59: warning: capture of 'weakDelegate' with non-sendable type '(any ChessGameDelegate)?' in a '@Sendable' closure
48 | weak var weakDelegate = delegate
49 | Thread.detachNewThread {
50 | guard let self = weakSelf, let delegate = weakDelegate else { return }
| `- warning: capture of 'weakDelegate' with non-sendable type '(any ChessGameDelegate)?' in a '@Sendable' closure
51 | guard let strategy = self.strategist.bestMoveForActivePlayer() else {
52 | let square = game.board.squareForActiveKing
/Users/admin/builder/spi-builder-workspace/Sources/Chess/Game/Game.swift:10:17: note: protocol 'ChessGameDelegate' does not conform to the 'Sendable' protocol
8 | import Combine
9 |
10 | public protocol ChessGameDelegate: AnyObject {
| `- note: protocol 'ChessGameDelegate' does not conform to the 'Sendable' protocol
11 | func gameAction(_ action: Chess.GameAction)
12 | }
/Users/admin/builder/spi-builder-workspace/Sources/Chess/Robots/MontyCarlo.swift:52:34: warning: capture of 'game' with non-sendable type 'Chess.Game' in a '@Sendable' closure
50 | guard let self = weakSelf, let delegate = weakDelegate else { return }
51 | guard let strategy = self.strategist.bestMoveForActivePlayer() else {
52 | let square = game.board.squareForActiveKing
| `- warning: capture of 'game' with non-sendable type 'Chess.Game' in a '@Sendable' closure
53 | guard square.piece?.side == self.side else {
54 | Chess.log.critical("Misconfigured board, bot cannot find it's own king.")
/Users/admin/builder/spi-builder-workspace/Sources/Chess/Game/Game.swift:15:12: note: consider making struct 'Game' conform to the 'Sendable' protocol
13 |
14 | public extension Chess {
15 | struct Game {
| `- note: consider making struct 'Game' conform to the 'Sendable' protocol
16 | private var botPausedMove: Chess.Move?
17 | weak var delegate: ChessGameDelegate?
/Users/admin/builder/spi-builder-workspace/Sources/Chess/Robots/MontyCarlo.swift:50:34: warning: reference to captured var 'weakSelf' in concurrently-executing code
48 | weak var weakDelegate = delegate
49 | Thread.detachNewThread {
50 | guard let self = weakSelf, let delegate = weakDelegate else { return }
| `- warning: reference to captured var 'weakSelf' in concurrently-executing code
51 | guard let strategy = self.strategist.bestMoveForActivePlayer() else {
52 | let square = game.board.squareForActiveKing
/Users/admin/builder/spi-builder-workspace/Sources/Chess/Robots/MontyCarlo.swift:50:59: warning: reference to captured var 'weakDelegate' in concurrently-executing code
48 | weak var weakDelegate = delegate
49 | Thread.detachNewThread {
50 | guard let self = weakSelf, let delegate = weakDelegate else { return }
| `- warning: reference to captured var 'weakDelegate' in concurrently-executing code
51 | guard let strategy = self.strategist.bestMoveForActivePlayer() else {
52 | let square = game.board.squareForActiveKing
/Users/admin/builder/spi-builder-workspace/Sources/Chess/Store/ChessEnvironment.swift:12:16: warning: static property 'defaults' is not concurrency-safe because non-'Sendable' type 'UserDefaults?' may have shared mutable state; this is an error in the Swift 6 language mode
10 |
11 | public struct ChessEnvironment {
12 | static let defaults = UserDefaults(suiteName: "Chess")
| |- warning: static property 'defaults' is not concurrency-safe because non-'Sendable' type 'UserDefaults?' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'defaults' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
13 | public enum TargetEnvironment {
14 | case production
Swift.Optional:1:21: note: generic enum 'Optional' does not conform to the 'Sendable' protocol
1 | @frozen public enum Optional<Wrapped> : ~Copyable where Wrapped : ~Copyable {
| `- note: generic enum 'Optional' does not conform to the 'Sendable' protocol
2 | case none
3 | case some(Wrapped)
Build complete! (10.90s)
warning: 'spi-builder-workspace': Invalid Exclude '/Users/admin/builder/spi-builder-workspace/Sources/Chess/PlayChess': File not found.
Build complete.
{
"dependencies" : [
{
"identity" : "swift-log",
"requirement" : {
"range" : [
{
"lower_bound" : "1.4.0",
"upper_bound" : "2.0.0"
}
]
},
"type" : "sourceControl",
"url" : "https://github.com/apple/swift-log.git"
}
],
"manifest_display_name" : "swift-chess",
"name" : "swift-chess",
"path" : "/Users/admin/builder/spi-builder-workspace",
"platforms" : [
{
"name" : "macos",
"version" : "11.0"
},
{
"name" : "ios",
"version" : "14.0"
}
],
"products" : [
{
"name" : "Chess",
"targets" : [
"Chess"
],
"type" : {
"library" : [
"automatic"
]
}
}
],
"targets" : [
{
"c99name" : "ChessTests",
"module_type" : "SwiftTarget",
"name" : "ChessTests",
"path" : "Tests/ChessTests",
"sources" : [
"BoardAnalysisTests.swift",
"BoardFenTests.swift",
"ChessRobotTests.swift",
"ChessTests.swift",
"GameTests.swift",
"GameplayKitTests.swift",
"MoveTests.swift",
"NamedPositionTests.swift",
"PieceMoveTests.swift",
"PieceWeightTests.swift",
"PositionTests.swift",
"PromotionTests.swift",
"RankAndFileTests.swift",
"XCTestManifests.swift"
],
"target_dependencies" : [
"Chess"
],
"type" : "test"
},
{
"c99name" : "Chess",
"module_type" : "SwiftTarget",
"name" : "Chess",
"path" : "Sources/Chess",
"product_dependencies" : [
"Logging"
],
"product_memberships" : [
"Chess"
],
"sources" : [
"Board/Board+Analysis.swift",
"Board/Board+FEN.swift",
"Board/Board+Game.swift",
"Board/Board+Moves.swift",
"Board/Board.swift",
"Board/BoardVariant+GameplayKit.swift",
"Board/BoardVariant.swift",
"Board/Position+Names.swift",
"Board/Position.swift",
"Board/SingleMoveVariant.swift",
"Board/Square.swift",
"Chess.swift",
"Game/Game+Notation.swift",
"Game/Game+Piece.swift",
"Game/Game+Rules.swift",
"Game/Game.swift",
"Game/GameStatus.swift",
"Game/Move+Names.swift",
"Game/Move.swift",
"Game/Piece.swift",
"Game/PieceType.swift",
"Game/Side+Move.swift",
"Game/Side.swift",
"Game/SideEffect.swift",
"Online/Chess+URL.swift",
"Player/ChessRobot.swift",
"Player/HumanPlayer.swift",
"Player/Player.swift",
"Player/PlayerFactory.swift",
"Robots/CautiousBot.swift",
"Robots/GreedyBot.swift",
"Robots/MindyMaxBot.swift",
"Robots/MontyCarlo.swift",
"Robots/PlaybackBot.swift",
"Robots/Robot+Choices.swift",
"Robots/Robot+Names.swift",
"Robots/Robot+Previews.swift",
"Settings/ChessPreferences.swift",
"Store/ChessEnvironment.swift",
"Store/ChessStore+Preview.swift",
"Store/ChessStore.swift",
"Store/EnvironmentReducer.swift",
"Store/GameActions.swift",
"Store/GameReducer.swift",
"UI/BoardIconView.swift",
"UI/BoardView.swift",
"UI/ChessSettingsView.swift",
"UI/ChessThemes.swift",
"UI/Defaults.swift",
"UI/Extensions/CoreGraphics+RelativeShape.swift",
"UI/Extensions/GridItem+Chess.swift",
"UI/Interactions/PieceDrag.swift",
"UI/PieceArtwork/Bishop.swift",
"UI/PieceArtwork/King.swift",
"UI/PieceArtwork/Knight.swift",
"UI/PieceArtwork/Pawn.swift",
"UI/PieceArtwork/PieceArtwork+Drawing.swift",
"UI/PieceArtwork/PieceArtwork.swift",
"UI/PieceArtwork/Queen.swift",
"UI/PieceArtwork/Rook.swift",
"UI/PieceGlyph.swift",
"UI/PieceShape+Details.swift",
"UI/PieceShape.swift",
"UI/PieceStyle.swift",
"UI/PieceView.swift",
"UI/PlayAsButton.swift",
"UI/PlayPauseButton.swift",
"UI/PlayerTitleView.swift",
"UI/ResetBoardButton.swift",
"UI/Sound.swift",
"UI/SquareBackground.swift",
"UI/SquareMoveHighlight.swift",
"UI/SquareSelected.swift",
"UI/SquareTargeted.swift",
"UI/UI.swift"
],
"type" : "library"
}
],
"tools_version" : "5.3"
}
warning: 'spi-builder-workspace': Invalid Exclude '/Users/admin/builder/spi-builder-workspace/Sources/Chess/PlayChess': File not found.
Done.