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 ANSITerminal, reference 0.0.3 (8e24fa), with Swift 6.0 for Linux on 30 Oct 2024 17:34:45 UTC.

Swift 6 data race errors: 8

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/paklebah/ansiterminal.git
Reference: 0.0.3
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/paklebah/ansiterminal
 * tag               0.0.3      -> FETCH_HEAD
HEAD is now at 8e24fab Add some useful functions
Cloned https://github.com/paklebah/ansiterminal.git
Revision (git rev-parse @):
8e24fab68c660eca1244a95019ec69a11400d62b
SUCCESS checkout https://github.com/paklebah/ansiterminal.git at 0.0.3
========================================
Build
========================================
Selected platform:         linux
Swift version:             6.0
Building package at path:  $PWD
https://github.com/paklebah/ansiterminal.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
Building for debugging...
[0/2] Write sources
[1/2] Write swift-version-24593BA9C3E375BF.txt
[3/7] Compiling ANSITerminal ansiKeyboard.swift
/host/spi-builder-workspace/Sources/ANSITerminal.swift:21:27: warning: var 'isNonBlockingMode' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
 19 |
 20 | internal private(set) var defaultTerminal = termios()
 21 | public   private(set) var isNonBlockingMode = false
    |                           |- warning: var 'isNonBlockingMode' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
    |                           |- note: convert 'isNonBlockingMode' to a 'let' constant to make 'Sendable' shared state immutable
    |                           |- note: annotate 'isNonBlockingMode' with '@MainActor' if property should only be accessed from the main actor
    |                           `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 22 |
 23 | @inlinable public func delay(_ ms: Int) {
[4/7] Compiling ANSITerminal ansiScreen.swift
/host/spi-builder-workspace/Sources/ansiScreen.swift:1:25: warning: var 'isReplacingMode' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
  1 | public private(set) var isReplacingMode = false
    |                         |- warning: var 'isReplacingMode' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
    |                         |- note: convert 'isReplacingMode' to a 'let' constant to make 'Sendable' shared state immutable
    |                         |- note: annotate 'isReplacingMode' 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
  2 | public private(set) var isCursorVisible = true
  3 |
/host/spi-builder-workspace/Sources/ansiScreen.swift:2:25: warning: var 'isCursorVisible' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
  1 | public private(set) var isReplacingMode = false
  2 | public private(set) var isCursorVisible = true
    |                         |- warning: var 'isCursorVisible' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
    |                         |- note: convert 'isCursorVisible' to a 'let' constant to make 'Sendable' shared state immutable
    |                         |- note: annotate 'isCursorVisible' 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
  3 |
  4 | // Reference: https://invisible-island.net/xterm/ctlseqs/ctlseqs.html
[5/7] Compiling ANSITerminal ansiAttribute.swift
/host/spi-builder-workspace/Sources/ansiAttribute.swift:62:27: warning: var 'isOpenedColor' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
 60 | }
 61 |
 62 | internal private(set) var isOpenedColor = false
    |                           |- warning: var 'isOpenedColor' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
    |                           |- note: convert 'isOpenedColor' to a 'let' constant to make 'Sendable' shared state immutable
    |                           |- note: annotate 'isOpenedColor' 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
 63 | internal private(set) var isOpenedStyle = false
 64 |
/host/spi-builder-workspace/Sources/ansiAttribute.swift:63:27: warning: var 'isOpenedStyle' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
 61 |
 62 | internal private(set) var isOpenedColor = false
 63 | internal private(set) var isOpenedStyle = false
    |                           |- warning: var 'isOpenedStyle' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
    |                           |- note: convert 'isOpenedStyle' to a 'let' constant to make 'Sendable' shared state immutable
    |                           |- note: annotate 'isOpenedStyle' 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
 64 |
 65 | public extension String {
[6/7] Emitting module ANSITerminal
/host/spi-builder-workspace/Sources/ANSITerminal.swift:20:27: warning: var 'defaultTerminal' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
 18 | public let LPA = "\u{e0b3}"   // left pointing angle
 19 |
 20 | internal private(set) var defaultTerminal = termios()
    |                           |- warning: var 'defaultTerminal' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
    |                           |- note: convert 'defaultTerminal' to a 'let' constant to make 'Sendable' shared state immutable
    |                           |- note: annotate 'defaultTerminal' 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
 21 | public   private(set) var isNonBlockingMode = false
 22 |
/host/spi-builder-workspace/Sources/ANSITerminal.swift:21:27: warning: var 'isNonBlockingMode' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
 19 |
 20 | internal private(set) var defaultTerminal = termios()
 21 | public   private(set) var isNonBlockingMode = false
    |                           |- warning: var 'isNonBlockingMode' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
    |                           |- note: convert 'isNonBlockingMode' to a 'let' constant to make 'Sendable' shared state immutable
    |                           |- note: annotate 'isNonBlockingMode' with '@MainActor' if property should only be accessed from the main actor
    |                           `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 22 |
 23 | @inlinable public func delay(_ ms: Int) {
/host/spi-builder-workspace/Sources/ANSITerminal.swift:32:20: warning: reference to var 'stdin' is not concurrency-safe because it involves shared mutable state; this is an error in the Swift 6 language mode
 30 |
 31 | @inlinable public func clearBuffer(isOut: Bool = true, isIn: Bool = true) {
 32 |   if isIn { fflush(stdin) }
    |                    `- warning: reference to var 'stdin' is not concurrency-safe because it involves shared mutable state; this is an error in the Swift 6 language mode
 33 |   if isOut { fflush(stdout) }
 34 | }
SwiftGlibc.stdin:1:12: note: var declared here
1 | public var stdin: UnsafeMutablePointer<FILE>!
  |            `- note: var declared here
/host/spi-builder-workspace/Sources/ANSITerminal.swift:33:21: 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 | @inlinable public func clearBuffer(isOut: Bool = true, isIn: Bool = true) {
 32 |   if isIn { fflush(stdin) }
 33 |   if isOut { 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/ansiAttribute.swift:62:27: warning: var 'isOpenedColor' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
 60 | }
 61 |
 62 | internal private(set) var isOpenedColor = false
    |                           |- warning: var 'isOpenedColor' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
    |                           |- note: convert 'isOpenedColor' to a 'let' constant to make 'Sendable' shared state immutable
    |                           |- note: annotate 'isOpenedColor' 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
 63 | internal private(set) var isOpenedStyle = false
 64 |
/host/spi-builder-workspace/Sources/ansiAttribute.swift:63:27: warning: var 'isOpenedStyle' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
 61 |
 62 | internal private(set) var isOpenedColor = false
 63 | internal private(set) var isOpenedStyle = false
    |                           |- warning: var 'isOpenedStyle' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
    |                           |- note: convert 'isOpenedStyle' to a 'let' constant to make 'Sendable' shared state immutable
    |                           |- note: annotate 'isOpenedStyle' 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
 64 |
 65 | public extension String {
/host/spi-builder-workspace/Sources/ansiScreen.swift:1:25: warning: var 'isReplacingMode' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
  1 | public private(set) var isReplacingMode = false
    |                         |- warning: var 'isReplacingMode' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
    |                         |- note: convert 'isReplacingMode' to a 'let' constant to make 'Sendable' shared state immutable
    |                         |- note: annotate 'isReplacingMode' 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
  2 | public private(set) var isCursorVisible = true
  3 |
/host/spi-builder-workspace/Sources/ansiScreen.swift:2:25: warning: var 'isCursorVisible' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
  1 | public private(set) var isReplacingMode = false
  2 | public private(set) var isCursorVisible = true
    |                         |- warning: var 'isCursorVisible' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
    |                         |- note: convert 'isCursorVisible' to a 'let' constant to make 'Sendable' shared state immutable
    |                         |- note: annotate 'isCursorVisible' 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
  3 |
  4 | // Reference: https://invisible-island.net/xterm/ctlseqs/ctlseqs.html
[7/7] Compiling ANSITerminal ANSITerminal.swift
/host/spi-builder-workspace/Sources/ANSITerminal.swift:20:27: warning: var 'defaultTerminal' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
 18 | public let LPA = "\u{e0b3}"   // left pointing angle
 19 |
 20 | internal private(set) var defaultTerminal = termios()
    |                           |- warning: var 'defaultTerminal' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
    |                           |- note: convert 'defaultTerminal' to a 'let' constant to make 'Sendable' shared state immutable
    |                           |- note: annotate 'defaultTerminal' 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
 21 | public   private(set) var isNonBlockingMode = false
 22 |
/host/spi-builder-workspace/Sources/ANSITerminal.swift:21:27: warning: var 'isNonBlockingMode' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
 19 |
 20 | internal private(set) var defaultTerminal = termios()
 21 | public   private(set) var isNonBlockingMode = false
    |                           |- warning: var 'isNonBlockingMode' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
    |                           |- note: convert 'isNonBlockingMode' to a 'let' constant to make 'Sendable' shared state immutable
    |                           |- note: annotate 'isNonBlockingMode' with '@MainActor' if property should only be accessed from the main actor
    |                           `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 22 |
 23 | @inlinable public func delay(_ ms: Int) {
/host/spi-builder-workspace/Sources/ANSITerminal.swift:32:20: warning: reference to var 'stdin' is not concurrency-safe because it involves shared mutable state; this is an error in the Swift 6 language mode
 30 |
 31 | @inlinable public func clearBuffer(isOut: Bool = true, isIn: Bool = true) {
 32 |   if isIn { fflush(stdin) }
    |                    `- warning: reference to var 'stdin' is not concurrency-safe because it involves shared mutable state; this is an error in the Swift 6 language mode
 33 |   if isOut { fflush(stdout) }
 34 | }
SwiftGlibc.stdin:1:12: note: var declared here
1 | public var stdin: UnsafeMutablePointer<FILE>!
  |            `- note: var declared here
/host/spi-builder-workspace/Sources/ANSITerminal.swift:33:21: 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 | @inlinable public func clearBuffer(isOut: Bool = true, isIn: Bool = true) {
 32 |   if isIn { fflush(stdin) }
 33 |   if isOut { 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
Build complete! (5.52s)
Build complete.
{
  "dependencies" : [
  ],
  "manifest_display_name" : "ANSITerminal",
  "name" : "ANSITerminal",
  "path" : "/host/spi-builder-workspace",
  "platforms" : [
  ],
  "products" : [
    {
      "name" : "ANSITerminal",
      "targets" : [
        "ANSITerminal"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    }
  ],
  "targets" : [
    {
      "c99name" : "ANSITerminal",
      "module_type" : "SwiftTarget",
      "name" : "ANSITerminal",
      "path" : "Sources",
      "product_memberships" : [
        "ANSITerminal"
      ],
      "sources" : [
        "ANSITerminal.swift",
        "ansiAttribute.swift",
        "ansiKeyboard.swift",
        "ansiScreen.swift"
      ],
      "type" : "library"
    }
  ],
  "tools_version" : "5.0"
}
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.