The Swift Package Index logo.Swift Package Index

Track the adoption of Swift 6 strict concurrency checks for data race safety. How many packages are Ready for Swift 6?

Build Information

Successful build of 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.