Build Information
Successful build of Terminus, reference main (fd8396
), with Swift 6.0 for Linux on 2 Nov 2024 23:34:48 UTC.
Swift 6 data race errors: 4
Build Command
bash -c docker run --pull=always --rm -v "checkouts-4609320-0":/host -w "$PWD" registry.gitlab.com/finestructure/spi-images:basic-6.0-latest swift build --triple x86_64-unknown-linux-gnu -Xswiftc -Xfrontend -Xswiftc -stats-output-dir -Xswiftc -Xfrontend -Xswiftc .stats -Xswiftc -strict-concurrency=complete 2>&1
Build Log
========================================
RunAll
========================================
Builder version: 4.56.0
Interrupt handler set up.
========================================
Checkout
========================================
Clone URL: https://github.com/jbadger3/Terminus.git
Reference: main
Initialized empty Git repository in /host/spi-builder-workspace/.git/
hint: Using 'master' as the name for the initial branch. This default branch name
hint: is subject to change. To configure the initial branch name to use in all
hint: of your new repositories, which will suppress this warning, call:
hint:
hint: git config --global init.defaultBranch <name>
hint:
hint: Names commonly chosen instead of 'master' are 'main', 'trunk' and
hint: 'development'. The just-created branch can be renamed via this command:
hint:
hint: git branch -m <name>
From https://github.com/jbadger3/Terminus
* branch main -> FETCH_HEAD
* [new branch] main -> origin/main
HEAD is now at fd8396f remove redundant example from readme
Cloned https://github.com/jbadger3/Terminus.git
Revision (git rev-parse @):
fd8396f13fc9f4a0600b744ef0f526c3c02565cb
SPI manifest file found: $PWD/.spi.yml
SUCCESS checkout https://github.com/jbadger3/Terminus.git at main
========================================
Build
========================================
Selected platform: linux
Swift version: 6.0
Building package at path: $PWD
https://github.com/jbadger3/Terminus.git
Running build ...
bash -c docker run --pull=always --rm -v "checkouts-4609320-0":/host -w "$PWD" registry.gitlab.com/finestructure/spi-images:basic-6.0-latest swift build --triple x86_64-unknown-linux-gnu -Xswiftc -Xfrontend -Xswiftc -stats-output-dir -Xswiftc -Xfrontend -Xswiftc .stats -Xswiftc -strict-concurrency=complete 2>&1
basic-6.0-latest: Pulling from finestructure/spi-images
Digest: sha256:47d26c99ca4f1ac0a332c85fd5b13ff4390e72115219984a57a68fe9d1063a05
Status: Image is up to date for registry.gitlab.com/finestructure/spi-images:basic-6.0-latest
Fetching https://github.com/apple/swift-argument-parser.git
[1/12353] Fetching swift-argument-parser
Fetched https://github.com/apple/swift-argument-parser.git from cache (0.62s)
Computing version for https://github.com/apple/swift-argument-parser.git
Computed https://github.com/apple/swift-argument-parser.git at 1.5.0 (0.39s)
Creating working copy for https://github.com/apple/swift-argument-parser.git
Working copy of https://github.com/apple/swift-argument-parser.git resolved at 1.5.0
[1/1] Compiling plugin GenerateManual
Building for debugging...
[1/12] Write sources
[5/12] Write swift-version-24593BA9C3E375BF.txt
[7/31] Emitting module Terminus
/host/spi-builder-workspace/Sources/Terminus/Core/Terminal.swift:8:23: warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'Terminal' may have shared mutable state; this is an error in the Swift 6 language mode
4 | The starting point and primary means of interaction for a command line application.
5 | */
6 | public class Terminal {
| `- note: class 'Terminal' does not conform to the 'Sendable' protocol
7 | ///The shared singleton Terminal object.
8 | public static let shared = Terminal()
| |- warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'Terminal' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: annotate 'shared' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
9 | ///The cursor associated with the terminal
10 | public let cursor = Cursor()
/host/spi-builder-workspace/Sources/Terminus/UIControls/Menu.swift:24:23: warning: static property 'defaultItemColorPair' is not concurrency-safe because non-'Sendable' type 'ColorPair' may have shared mutable state; this is an error in the Swift 6 language mode
22 | public let itemAttributes: [Attribute]
23 | public let selectionAttributes: [Attribute]
24 | public static let defaultItemColorPair = ColorPair(foreground: XTermPalette().Black, background: XTermPalette().Silver)
| |- warning: static property 'defaultItemColorPair' is not concurrency-safe because non-'Sendable' type 'ColorPair' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: annotate 'defaultItemColorPair' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
25 | public static let defaultSelectionColorPair = ColorPair(foreground: XTermPalette().Black, background: XTermPalette().Grey46)
26 |
/host/spi-builder-workspace/Sources/Terminus/Core/Color/ColorPair.swift:22:15: note: consider making struct 'ColorPair' conform to the 'Sendable' protocol
20 | ```
21 | */
22 | public struct ColorPair: Equatable {
| `- note: consider making struct 'ColorPair' conform to the 'Sendable' protocol
23 | public let foreground: Color
24 | public let background: Color
/host/spi-builder-workspace/Sources/Terminus/UIControls/Menu.swift:25:23: warning: static property 'defaultSelectionColorPair' is not concurrency-safe because non-'Sendable' type 'ColorPair' may have shared mutable state; this is an error in the Swift 6 language mode
23 | public let selectionAttributes: [Attribute]
24 | public static let defaultItemColorPair = ColorPair(foreground: XTermPalette().Black, background: XTermPalette().Silver)
25 | public static let defaultSelectionColorPair = ColorPair(foreground: XTermPalette().Black, background: XTermPalette().Grey46)
| |- warning: static property 'defaultSelectionColorPair' is not concurrency-safe because non-'Sendable' type 'ColorPair' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: annotate 'defaultSelectionColorPair' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
26 |
27 | var hidden: Bool = true
/host/spi-builder-workspace/Sources/Terminus/Core/Color/ColorPair.swift:22:15: note: consider making struct 'ColorPair' conform to the 'Sendable' protocol
20 | ```
21 | */
22 | public struct ColorPair: Equatable {
| `- note: consider making struct 'ColorPair' conform to the 'Sendable' protocol
23 | public let foreground: Color
24 | public let background: Color
[8/33] Emitting module ArgumentParserToolInfo
[9/33] Compiling ArgumentParserToolInfo ToolInfo.swift
[10/34] Wrapping AST for ArgumentParserToolInfo for debugging
[12/72] Compiling ArgumentParser OptionGroup.swift
[13/72] Compiling ArgumentParser AsyncParsableCommand.swift
[14/72] Compiling ArgumentParser CommandConfiguration.swift
[15/72] Compiling ArgumentParser CommandGroup.swift
[16/72] Compiling ArgumentParser EnumerableFlag.swift
[17/77] Compiling ArgumentParser ArgumentVisibility.swift
[18/77] Compiling ArgumentParser CompletionKind.swift
[19/77] Compiling ArgumentParser Errors.swift
[20/77] Compiling ArgumentParser Flag.swift
[21/77] Compiling ArgumentParser NameSpecification.swift
[22/77] Compiling ArgumentParser Option.swift
[23/77] Emitting module ArgumentParser
[24/77] Compiling ArgumentParser BashCompletionsGenerator.swift
[25/77] Compiling ArgumentParser CompletionsGenerator.swift
[26/77] Compiling ArgumentParser FishCompletionsGenerator.swift
[27/77] Compiling ArgumentParser ZshCompletionsGenerator.swift
[28/77] Compiling ArgumentParser Argument.swift
[29/77] Compiling ArgumentParser ArgumentHelp.swift
[30/77] Compiling ArgumentParser CollectionExtensions.swift
[31/77] Compiling ArgumentParser Platform.swift
[32/77] Compiling ArgumentParser SequenceExtensions.swift
[33/77] Compiling ArgumentParser StringExtensions.swift
[34/77] Compiling ArgumentParser Tree.swift
/host/spi-builder-workspace/Sources/Terminus/Core/Terminal.swift:8:23: warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'Terminal' may have shared mutable state; this is an error in the Swift 6 language mode
4 | The starting point and primary means of interaction for a command line application.
5 | */
6 | public class Terminal {
| `- note: class 'Terminal' does not conform to the 'Sendable' protocol
7 | ///The shared singleton Terminal object.
8 | public static let shared = Terminal()
| |- warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'Terminal' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: annotate 'shared' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
9 | ///The cursor associated with the terminal
10 | public let cursor = Cursor()
/host/spi-builder-workspace/Sources/Terminus/Core/Terminal.swift:27:16: warning: reference to var 'stdout' is not concurrency-safe because it involves shared mutable state; this is an error in the Swift 6 language mode
25 | let attributeString = attributes.map({$0.csString()}).joined(separator: "")
26 | print(attributeString, terminator: "")
27 | fflush(stdout)
| `- warning: reference to var 'stdout' is not concurrency-safe because it involves shared mutable state; this is an error in the Swift 6 language mode
28 | }
29 |
SwiftGlibc.stdout:1:12: note: var declared here
1 | public var stdout: UnsafeMutablePointer<FILE>!
| `- note: var declared here
/host/spi-builder-workspace/Sources/Terminus/Core/Terminal.swift:33:16: warning: reference to var 'stdout' is not concurrency-safe because it involves shared mutable state; this is an error in the Swift 6 language mode
31 | let attributeString = attributes.map({$0.resetValue()}).joined(separator: "")
32 | print(attributeString, terminator: "")
33 | fflush(stdout)
| `- warning: reference to var 'stdout' is not concurrency-safe because it involves shared mutable state; this is an error in the Swift 6 language mode
34 | }
35 |
SwiftGlibc.stdout:1:12: note: var declared here
1 | public var stdout: UnsafeMutablePointer<FILE>!
| `- note: var declared here
/host/spi-builder-workspace/Sources/Terminus/Core/Terminal.swift:104:16: warning: reference to var 'stdout' is not concurrency-safe because it involves shared mutable state; this is an error in the Swift 6 language mode
102 | let resetAttributes = attributes.map{$0.resetValue()}.joined(separator: "")
103 | print(resetAttributes, terminator: "")
104 | fflush(stdout)
| `- warning: reference to var 'stdout' is not concurrency-safe because it involves shared mutable state; this is an error in the Swift 6 language mode
105 |
106 | if let textArea = try? textAreaSize(),
SwiftGlibc.stdout:1:12: note: var declared here
1 | public var stdout: UnsafeMutablePointer<FILE>!
| `- note: var declared here
<unknown>:0: warning: cannot form key path that captures non-sendable type 'KeyPath<AttributeScopes.Terminal, TerminalTextAttribute>'; this is an error in the Swift 6 language mode
/host/spi-builder-workspace/Sources/Terminus/Core/Terminal.swift:124:30: warning: type 'Attribute' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
122 | for run in attributedString.runs {
123 | let subString = String(attributedString[run.range].characters)
124 | let attributes = run.terminalTextAttributes ?? []
| `- warning: type 'Attribute' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
125 | write(subString, attributes: attributes)
126 | }
/host/spi-builder-workspace/Sources/Terminus/Core/Attribute.swift:7:13: note: consider making enum 'Attribute' conform to the 'Sendable' protocol
5 |
6 | ///Used to specify the appearance of characters on screen. Mutliple attributes can be combined for varying effects.
7 | public enum Attribute: ControlSequenceEmitting {
| `- note: consider making enum 'Attribute' conform to the 'Sendable' protocol
8 | case resetToDefault //CSI 0m
9 | case bold //CSI 1m
Swift.KeyPath:1:14: note: generic class 'KeyPath' does not conform to the 'Sendable' protocol
1 | public class KeyPath<Root, Value> : PartialKeyPath<Root> {
| `- note: generic class 'KeyPath' does not conform to the 'Sendable' protocol
2 | deinit
3 | }
/host/spi-builder-workspace/Sources/Terminus/Core/Terminal.swift:134:16: warning: reference to var 'stdout' is not concurrency-safe because it involves shared mutable state; this is an error in the Swift 6 language mode
132 | public func executeControlSequence(_ controlSequence: ControlSequenceEmitting) {
133 | print(controlSequence.csString(), terminator: "")
134 | fflush(stdout)
| `- warning: reference to var 'stdout' is not concurrency-safe because it involves shared mutable state; this is an error in the Swift 6 language mode
135 | }
136 |
SwiftGlibc.stdout:1:12: note: var declared here
1 | public var stdout: UnsafeMutablePointer<FILE>!
| `- note: var declared here
/host/spi-builder-workspace/Sources/Terminus/Core/Terminal.swift:144:16: warning: reference to var 'stdout' is not concurrency-safe because it involves shared mutable state; this is an error in the Swift 6 language mode
142 | public func executeControlSequenceWithResponse(_ controlSequence: ControlSequenceEmitting) throws -> String {
143 | print(controlSequence.csString(), terminator: "")
144 | fflush(stdout)
| `- warning: reference to var 'stdout' is not concurrency-safe because it involves shared mutable state; this is an error in the Swift 6 language mode
145 | do {
146 | let responseString = try read(nBytes: 64)
SwiftGlibc.stdout:1:12: note: var declared here
1 | public var stdout: UnsafeMutablePointer<FILE>!
| `- note: var declared here
/host/spi-builder-workspace/Sources/Terminus/Core/Terminal.swift:8:23: warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'Terminal' may have shared mutable state; this is an error in the Swift 6 language mode
4 | The starting point and primary means of interaction for a command line application.
5 | */
6 | public class Terminal {
| `- note: class 'Terminal' does not conform to the 'Sendable' protocol
7 | ///The shared singleton Terminal object.
8 | public static let shared = Terminal()
| |- warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'Terminal' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: annotate 'shared' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
9 | ///The cursor associated with the terminal
10 | public let cursor = Cursor()
/host/spi-builder-workspace/Sources/Terminus/Core/Terminal.swift:27:16: warning: reference to var 'stdout' is not concurrency-safe because it involves shared mutable state; this is an error in the Swift 6 language mode
25 | let attributeString = attributes.map({$0.csString()}).joined(separator: "")
26 | print(attributeString, terminator: "")
27 | fflush(stdout)
| `- warning: reference to var 'stdout' is not concurrency-safe because it involves shared mutable state; this is an error in the Swift 6 language mode
28 | }
29 |
SwiftGlibc.stdout:1:12: note: var declared here
1 | public var stdout: UnsafeMutablePointer<FILE>!
| `- note: var declared here
/host/spi-builder-workspace/Sources/Terminus/Core/Terminal.swift:33:16: warning: reference to var 'stdout' is not concurrency-safe because it involves shared mutable state; this is an error in the Swift 6 language mode
31 | let attributeString = attributes.map({$0.resetValue()}).joined(separator: "")
32 | print(attributeString, terminator: "")
33 | fflush(stdout)
| `- warning: reference to var 'stdout' is not concurrency-safe because it involves shared mutable state; this is an error in the Swift 6 language mode
34 | }
35 |
SwiftGlibc.stdout:1:12: note: var declared here
1 | public var stdout: UnsafeMutablePointer<FILE>!
| `- note: var declared here
/host/spi-builder-workspace/Sources/Terminus/Core/Terminal.swift:104:16: warning: reference to var 'stdout' is not concurrency-safe because it involves shared mutable state; this is an error in the Swift 6 language mode
102 | let resetAttributes = attributes.map{$0.resetValue()}.joined(separator: "")
103 | print(resetAttributes, terminator: "")
104 | fflush(stdout)
| `- warning: reference to var 'stdout' is not concurrency-safe because it involves shared mutable state; this is an error in the Swift 6 language mode
105 |
106 | if let textArea = try? textAreaSize(),
SwiftGlibc.stdout:1:12: note: var declared here
1 | public var stdout: UnsafeMutablePointer<FILE>!
| `- note: var declared here
<unknown>:0: warning: cannot form key path that captures non-sendable type 'KeyPath<AttributeScopes.Terminal, TerminalTextAttribute>'; this is an error in the Swift 6 language mode
/host/spi-builder-workspace/Sources/Terminus/Core/Terminal.swift:124:30: warning: type 'Attribute' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
122 | for run in attributedString.runs {
123 | let subString = String(attributedString[run.range].characters)
124 | let attributes = run.terminalTextAttributes ?? []
| `- warning: type 'Attribute' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
125 | write(subString, attributes: attributes)
126 | }
/host/spi-builder-workspace/Sources/Terminus/Core/Attribute.swift:7:13: note: consider making enum 'Attribute' conform to the 'Sendable' protocol
5 |
6 | ///Used to specify the appearance of characters on screen. Mutliple attributes can be combined for varying effects.
7 | public enum Attribute: ControlSequenceEmitting {
| `- note: consider making enum 'Attribute' conform to the 'Sendable' protocol
8 | case resetToDefault //CSI 0m
9 | case bold //CSI 1m
Swift.KeyPath:1:14: note: generic class 'KeyPath' does not conform to the 'Sendable' protocol
1 | public class KeyPath<Root, Value> : PartialKeyPath<Root> {
| `- note: generic class 'KeyPath' does not conform to the 'Sendable' protocol
2 | deinit
3 | }
/host/spi-builder-workspace/Sources/Terminus/Core/Terminal.swift:134:16: warning: reference to var 'stdout' is not concurrency-safe because it involves shared mutable state; this is an error in the Swift 6 language mode
132 | public func executeControlSequence(_ controlSequence: ControlSequenceEmitting) {
133 | print(controlSequence.csString(), terminator: "")
134 | fflush(stdout)
| `- warning: reference to var 'stdout' is not concurrency-safe because it involves shared mutable state; this is an error in the Swift 6 language mode
135 | }
136 |
SwiftGlibc.stdout:1:12: note: var declared here
1 | public var stdout: UnsafeMutablePointer<FILE>!
| `- note: var declared here
/host/spi-builder-workspace/Sources/Terminus/Core/Terminal.swift:144:16: warning: reference to var 'stdout' is not concurrency-safe because it involves shared mutable state; this is an error in the Swift 6 language mode
142 | public func executeControlSequenceWithResponse(_ controlSequence: ControlSequenceEmitting) throws -> String {
143 | print(controlSequence.csString(), terminator: "")
144 | fflush(stdout)
| `- warning: reference to var 'stdout' is not concurrency-safe because it involves shared mutable state; this is an error in the Swift 6 language mode
145 | do {
146 | let responseString = try read(nBytes: 64)
SwiftGlibc.stdout:1:12: note: var declared here
1 | public var stdout: UnsafeMutablePointer<FILE>!
| `- note: var declared here
/host/spi-builder-workspace/Sources/Terminus/Core/Terminal.swift:8:23: warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'Terminal' may have shared mutable state; this is an error in the Swift 6 language mode
4 | The starting point and primary means of interaction for a command line application.
5 | */
6 | public class Terminal {
| `- note: class 'Terminal' does not conform to the 'Sendable' protocol
7 | ///The shared singleton Terminal object.
8 | public static let shared = Terminal()
| |- warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'Terminal' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: annotate 'shared' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
9 | ///The cursor associated with the terminal
10 | public let cursor = Cursor()
/host/spi-builder-workspace/Sources/Terminus/UIControls/Menu.swift:24:23: warning: static property 'defaultItemColorPair' is not concurrency-safe because non-'Sendable' type 'ColorPair' may have shared mutable state; this is an error in the Swift 6 language mode
22 | public let itemAttributes: [Attribute]
23 | public let selectionAttributes: [Attribute]
24 | public static let defaultItemColorPair = ColorPair(foreground: XTermPalette().Black, background: XTermPalette().Silver)
| |- warning: static property 'defaultItemColorPair' is not concurrency-safe because non-'Sendable' type 'ColorPair' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: annotate 'defaultItemColorPair' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
25 | public static let defaultSelectionColorPair = ColorPair(foreground: XTermPalette().Black, background: XTermPalette().Grey46)
26 |
/host/spi-builder-workspace/Sources/Terminus/Core/Color/ColorPair.swift:22:15: note: consider making struct 'ColorPair' conform to the 'Sendable' protocol
20 | ```
21 | */
22 | public struct ColorPair: Equatable {
| `- note: consider making struct 'ColorPair' conform to the 'Sendable' protocol
23 | public let foreground: Color
24 | public let background: Color
/host/spi-builder-workspace/Sources/Terminus/UIControls/Menu.swift:25:23: warning: static property 'defaultSelectionColorPair' is not concurrency-safe because non-'Sendable' type 'ColorPair' may have shared mutable state; this is an error in the Swift 6 language mode
23 | public let selectionAttributes: [Attribute]
24 | public static let defaultItemColorPair = ColorPair(foreground: XTermPalette().Black, background: XTermPalette().Silver)
25 | public static let defaultSelectionColorPair = ColorPair(foreground: XTermPalette().Black, background: XTermPalette().Grey46)
| |- warning: static property 'defaultSelectionColorPair' is not concurrency-safe because non-'Sendable' type 'ColorPair' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: annotate 'defaultSelectionColorPair' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
26 |
27 | var hidden: Bool = true
/host/spi-builder-workspace/Sources/Terminus/Core/Color/ColorPair.swift:22:15: note: consider making struct 'ColorPair' conform to the 'Sendable' protocol
20 | ```
21 | */
22 | public struct ColorPair: Equatable {
| `- note: consider making struct 'ColorPair' conform to the 'Sendable' protocol
23 | public let foreground: Color
24 | public let background: Color
[38/77] Compiling ArgumentParser ExpressibleByArgument.swift
/host/spi-builder-workspace/Sources/Terminus/Core/Terminal.swift:8:23: warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'Terminal' may have shared mutable state; this is an error in the Swift 6 language mode
4 | The starting point and primary means of interaction for a command line application.
5 | */
6 | public class Terminal {
| `- note: class 'Terminal' does not conform to the 'Sendable' protocol
7 | ///The shared singleton Terminal object.
8 | public static let shared = Terminal()
| |- warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'Terminal' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: annotate 'shared' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
9 | ///The cursor associated with the terminal
10 | public let cursor = Cursor()
/host/spi-builder-workspace/Sources/Terminus/UIControls/Menu.swift:24:23: warning: static property 'defaultItemColorPair' is not concurrency-safe because non-'Sendable' type 'ColorPair' may have shared mutable state; this is an error in the Swift 6 language mode
22 | public let itemAttributes: [Attribute]
23 | public let selectionAttributes: [Attribute]
24 | public static let defaultItemColorPair = ColorPair(foreground: XTermPalette().Black, background: XTermPalette().Silver)
| |- warning: static property 'defaultItemColorPair' is not concurrency-safe because non-'Sendable' type 'ColorPair' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: annotate 'defaultItemColorPair' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
25 | public static let defaultSelectionColorPair = ColorPair(foreground: XTermPalette().Black, background: XTermPalette().Grey46)
26 |
/host/spi-builder-workspace/Sources/Terminus/Core/Color/ColorPair.swift:22:15: note: consider making struct 'ColorPair' conform to the 'Sendable' protocol
20 | ```
21 | */
22 | public struct ColorPair: Equatable {
| `- note: consider making struct 'ColorPair' conform to the 'Sendable' protocol
23 | public let foreground: Color
24 | public let background: Color
/host/spi-builder-workspace/Sources/Terminus/UIControls/Menu.swift:25:23: warning: static property 'defaultSelectionColorPair' is not concurrency-safe because non-'Sendable' type 'ColorPair' may have shared mutable state; this is an error in the Swift 6 language mode
23 | public let selectionAttributes: [Attribute]
24 | public static let defaultItemColorPair = ColorPair(foreground: XTermPalette().Black, background: XTermPalette().Silver)
25 | public static let defaultSelectionColorPair = ColorPair(foreground: XTermPalette().Black, background: XTermPalette().Grey46)
| |- warning: static property 'defaultSelectionColorPair' is not concurrency-safe because non-'Sendable' type 'ColorPair' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: annotate 'defaultSelectionColorPair' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
26 |
27 | var hidden: Bool = true
/host/spi-builder-workspace/Sources/Terminus/Core/Color/ColorPair.swift:22:15: note: consider making struct 'ColorPair' conform to the 'Sendable' protocol
20 | ```
21 | */
22 | public struct ColorPair: Equatable {
| `- note: consider making struct 'ColorPair' conform to the 'Sendable' protocol
23 | public let foreground: Color
24 | public let background: Color
/host/spi-builder-workspace/Sources/Terminus/Core/Terminal.swift:8:23: warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'Terminal' may have shared mutable state; this is an error in the Swift 6 language mode
4 | The starting point and primary means of interaction for a command line application.
5 | */
6 | public class Terminal {
| `- note: class 'Terminal' does not conform to the 'Sendable' protocol
7 | ///The shared singleton Terminal object.
8 | public static let shared = Terminal()
| |- warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'Terminal' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: annotate 'shared' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
9 | ///The cursor associated with the terminal
10 | public let cursor = Cursor()
/host/spi-builder-workspace/Sources/Terminus/Core/Terminal.swift:8:23: warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'Terminal' may have shared mutable state; this is an error in the Swift 6 language mode
4 | The starting point and primary means of interaction for a command line application.
5 | */
6 | public class Terminal {
| `- note: class 'Terminal' does not conform to the 'Sendable' protocol
7 | ///The shared singleton Terminal object.
8 | public static let shared = Terminal()
| |- warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'Terminal' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: annotate 'shared' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
9 | ///The cursor associated with the terminal
10 | public let cursor = Cursor()
[54/78] Compiling ArgumentParser DumpHelpGenerator.swift
[55/78] Compiling ArgumentParser HelpCommand.swift
[56/78] Compiling ArgumentParser HelpGenerator.swift
[57/78] Compiling ArgumentParser MessageInfo.swift
[58/78] Compiling ArgumentParser UsageGenerator.swift
[59/78] Compiling ArgumentParser Name.swift
[60/78] Compiling ArgumentParser Parsed.swift
[61/78] Compiling ArgumentParser ParsedValues.swift
[62/78] Compiling ArgumentParser ParserError.swift
[63/78] Compiling ArgumentParser SplitArguments.swift
[63/78] Wrapping AST for Terminus for debugging
[66/78] Compiling ArgumentParser ParsableArguments.swift
[67/78] Compiling ArgumentParser ParsableArgumentsValidation.swift
[68/78] Compiling ArgumentParser ParsableCommand.swift
[69/78] Compiling ArgumentParser ArgumentDecoder.swift
[70/78] Compiling ArgumentParser ArgumentDefinition.swift
[71/78] Compiling ArgumentParser ArgumentSet.swift
[72/78] Compiling ArgumentParser CommandParser.swift
[73/78] Compiling ArgumentParser InputKey.swift
[74/78] Compiling ArgumentParser InputOrigin.swift
[75/79] Wrapping AST for ArgumentParser for debugging
[77/87] Compiling TerminusTestApp VisualTest.swift
[78/88] Compiling TerminusTestApp TestAssertions.swift
/host/spi-builder-workspace/Sources/TerminusTestApp/TestLogger.swift:11:16: warning: static property 'shared' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
9 |
10 | class TestLogger {
11 | static var shared = TestLogger()
| |- warning: static property 'shared' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'shared' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: annotate 'shared' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
12 | var fileHandle: FileHandle?
13 |
[79/88] Compiling TerminusTestApp TestCase.swift
/host/spi-builder-workspace/Sources/TerminusTestApp/TestLogger.swift:11:16: warning: static property 'shared' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
9 |
10 | class TestLogger {
11 | static var shared = TestLogger()
| |- warning: static property 'shared' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'shared' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: annotate 'shared' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
12 | var fileHandle: FileHandle?
13 |
[80/88] Compiling TerminusTestApp TestLogger.swift
/host/spi-builder-workspace/Sources/TerminusTestApp/TestLogger.swift:11:16: warning: static property 'shared' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
9 |
10 | class TestLogger {
11 | static var shared = TestLogger()
| |- warning: static property 'shared' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'shared' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: annotate 'shared' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
12 | var fileHandle: FileHandle?
13 |
[81/88] Emitting module TerminusTestApp
/host/spi-builder-workspace/Sources/TerminusTestApp/TestLogger.swift:11:16: warning: static property 'shared' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
9 |
10 | class TestLogger {
11 | static var shared = TestLogger()
| |- warning: static property 'shared' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'shared' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: annotate 'shared' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
12 | var fileHandle: FileHandle?
13 |
[82/88] Compiling TerminusTestApp MenuTests.swift
[83/88] Compiling TerminusTestApp CursorTests.swift
/host/spi-builder-workspace/Sources/TerminusTestApp/Tests/CursorTests.swift:48:30: warning: forming 'UnsafeRawPointer' to an inout variable of type String exposes the internal representation rather than the string contents.
46 | func saveCursorPosition() {
47 | var saveCS = Esc + "7"
48 | write(STDOUT_FILENO, &saveCS, saveCS.lengthOfBytes(using: .utf8))
| `- warning: forming 'UnsafeRawPointer' to an inout variable of type String exposes the internal representation rather than the string contents.
49 | }
50 |
/host/spi-builder-workspace/Sources/TerminusTestApp/Tests/CursorTests.swift:53:30: warning: forming 'UnsafeRawPointer' to an inout variable of type String exposes the internal representation rather than the string contents.
51 | func restoreCursorPosition() {
52 | var restoreCS = Esc + "8"
53 | write(STDOUT_FILENO, &restoreCS, restoreCS.lengthOfBytes(using: .utf8))
| `- warning: forming 'UnsafeRawPointer' to an inout variable of type String exposes the internal representation rather than the string contents.
54 | }
55 |
/host/spi-builder-workspace/Sources/TerminusTestApp/Tests/CursorTests.swift:59:31: warning: forming 'UnsafeRawPointer' to an inout variable of type String exposes the internal representation rather than the string contents.
57 | saveCursorPosition()
58 | var locationString = CSI + "3;2H"
59 | write(STDOUT_FILENO , &locationString, locationString.lengthOfBytes(using: .utf8))
| `- warning: forming 'UnsafeRawPointer' to an inout variable of type String exposes the internal representation rather than the string contents.
60 | let expectedLocation = Location(x: 2, y: 3)
61 | let cursorLocation = sut.location
[84/88] Compiling TerminusTestApp TerminalTests.swift
[85/88] Compiling TerminusTestApp main.swift
/host/spi-builder-workspace/Sources/TerminusTestApp/main.swift:80:21: warning: result of call to 'createFile(atPath:contents:attributes:)' is unused
78 |
79 | let fileManager = FileManager.default
80 | fileManager.createFile(atPath: logFile, contents: nil)
| `- warning: result of call to 'createFile(atPath:contents:attributes:)' is unused
81 | let fileHandle = FileHandle(forWritingAtPath: logFile)
82 | let testLogger = TestLogger.shared
/host/spi-builder-workspace/Sources/TerminusTestApp/TestLogger.swift:11:16: warning: static property 'shared' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
9 |
10 | class TestLogger {
11 | static var shared = TestLogger()
| |- warning: static property 'shared' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'shared' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: annotate 'shared' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
12 | var fileHandle: FileHandle?
13 |
[86/89] Wrapping AST for TerminusTestApp for debugging
[87/89] Write Objects.LinkFileList
[88/89] Linking TerminusTest
Build complete! (16.71s)
Build complete.
{
"dependencies" : [
{
"identity" : "swift-argument-parser",
"requirement" : {
"range" : [
{
"lower_bound" : "1.0.0",
"upper_bound" : "2.0.0"
}
]
},
"type" : "sourceControl",
"url" : "https://github.com/apple/swift-argument-parser.git"
}
],
"manifest_display_name" : "Terminus",
"name" : "Terminus",
"path" : "/host/spi-builder-workspace",
"platforms" : [
{
"name" : "macos",
"version" : "12.0"
}
],
"products" : [
{
"name" : "Terminus",
"targets" : [
"Terminus"
],
"type" : {
"library" : [
"automatic"
]
}
},
{
"name" : "TerminusTest",
"targets" : [
"TerminusTestApp"
],
"type" : {
"executable" : null
}
}
],
"targets" : [
{
"c99name" : "TerminusTests",
"module_type" : "SwiftTarget",
"name" : "TerminusTests",
"path" : "Tests/TerminusTests",
"sources" : [
"CursorTests.swift",
"MockTerminalIO.swift",
"TerminalTests.swift",
"TermiosTests.swift"
],
"target_dependencies" : [
"Terminus"
],
"type" : "test"
},
{
"c99name" : "TerminusTestApp",
"module_type" : "SwiftTarget",
"name" : "TerminusTestApp",
"path" : "Sources/TerminusTestApp",
"product_dependencies" : [
"ArgumentParser"
],
"product_memberships" : [
"TerminusTest"
],
"sources" : [
"TestAssertions.swift",
"TestCase.swift",
"TestLogger.swift",
"Tests/CursorTests.swift",
"Tests/MenuTests.swift",
"Tests/TerminalTests.swift",
"VisualTest.swift",
"main.swift"
],
"target_dependencies" : [
"Terminus"
],
"type" : "executable"
},
{
"c99name" : "Terminus",
"module_type" : "SwiftTarget",
"name" : "Terminus",
"path" : "Sources/Terminus",
"product_memberships" : [
"Terminus",
"TerminusTest"
],
"sources" : [
"Core/ANSIEscapeCode.swift",
"Core/Attribute.swift",
"Core/AttributeScopes+Terminal.swift",
"Core/Color/Color.swift",
"Core/Color/ColorPair.swift",
"Core/Color/ColorPalette.swift",
"Core/Color/Palettes/BasicColorPalette.swift",
"Core/Color/Palettes/X11WebPalette.swift",
"Core/Color/Palettes/XTermPalette.swift",
"Core/Cursor.swift",
"Core/Key.swift",
"Core/KeyTypes.swift",
"Core/Location.swift",
"Core/String+strippingCSI.swift",
"Core/Terminal.swift",
"Core/Termios.swift",
"UIControls/LineEditor.swift",
"UIControls/Menu.swift"
],
"type" : "library"
}
],
"tools_version" : "5.6"
}
basic-6.0-latest: Pulling from finestructure/spi-images
Digest: sha256:47d26c99ca4f1ac0a332c85fd5b13ff4390e72115219984a57a68fe9d1063a05
Status: Image is up to date for registry.gitlab.com/finestructure/spi-images:basic-6.0-latest
Done.