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 master (95f7cf), with Swift 6.1 for Linux on 25 Apr 2025 09:44:05 UTC.

Swift 6 data race errors: 8

Build Command

bash -c docker run --pull=always --rm -v "checkouts-4609320-1":/host -w "$PWD" registry.gitlab.com/finestructure/spi-images:basic-6.1-latest swift build --triple x86_64-unknown-linux-gnu -Xswiftc -Xfrontend -Xswiftc -stats-output-dir -Xswiftc -Xfrontend -Xswiftc .stats -Xswiftc -strict-concurrency=complete -Xswiftc -enable-upcoming-feature -Xswiftc StrictConcurrency -Xswiftc -enable-upcoming-feature -Xswiftc DisableOutwardActorInference -Xswiftc -enable-upcoming-feature -Xswiftc GlobalActorIsolatedTypesUsability -Xswiftc -enable-upcoming-feature -Xswiftc InferSendableFromCaptures 2>&1

Build Log

========================================
RunAll
========================================
Builder version: 4.61.0
Interrupt handler set up.
========================================
Checkout
========================================
Clone URL: https://github.com/paklebah/ansiterminal.git
Reference: master
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
 * branch            master     -> FETCH_HEAD
 * [new branch]      master     -> origin/master
HEAD is now at 95f7cf1 Fix package property sequence.
Cloned https://github.com/paklebah/ansiterminal.git
Revision (git rev-parse @):
95f7cf132cb08d9eebd095b09214d8a375545e01
SUCCESS checkout https://github.com/paklebah/ansiterminal.git at master
========================================
Build
========================================
Selected platform:         linux
Swift version:             6.1
Building package at path:  $PWD
https://github.com/paklebah/ansiterminal.git
https://github.com/paklebah/ansiterminal.git
WARNING: environment variable SUPPRESS_SWIFT_6_FLAGS is not set
{
  "dependencies" : [
  ],
  "manifest_display_name" : "ANSITerminal",
  "name" : "ANSITerminal",
  "path" : "/host/spi-builder-workspace",
  "platforms" : [
    {
      "name" : "macos",
      "version" : "10.14"
    }
  ],
  "products" : [
    {
      "name" : "ANSITerminal",
      "targets" : [
        "ANSITerminal"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    }
  ],
  "swift_languages_versions" : [
    "5"
  ],
  "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"
}
Running build ...
bash -c docker run --pull=always --rm -v "checkouts-4609320-1":/host -w "$PWD" registry.gitlab.com/finestructure/spi-images:basic-6.1-latest swift build --triple x86_64-unknown-linux-gnu -Xswiftc -Xfrontend -Xswiftc -stats-output-dir -Xswiftc -Xfrontend -Xswiftc .stats -Xswiftc -strict-concurrency=complete -Xswiftc -enable-upcoming-feature -Xswiftc StrictConcurrency -Xswiftc -enable-upcoming-feature -Xswiftc DisableOutwardActorInference -Xswiftc -enable-upcoming-feature -Xswiftc GlobalActorIsolatedTypesUsability -Xswiftc -enable-upcoming-feature -Xswiftc InferSendableFromCaptures 2>&1
basic-6.1-latest: Pulling from finestructure/spi-images
Digest: sha256:3bdcac04179f4ed3e5b8e9dbd6e74bbf5ebc0f4fde48bbaad7d1e5c757e65bcb
Status: Image is up to date for registry.gitlab.com/finestructure/spi-images:basic-6.1-latest
Building for debugging...
[0/2] Write sources
[1/2] Write swift-version-24593BA9C3E375BF.txt
[3/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: add '@MainActor' to make var 'isOpenedColor' part of global actor 'MainActor'
    |                           `- 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: add '@MainActor' to make var 'isOpenedStyle' part of global actor 'MainActor'
    |                           `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 64 |
 65 | public extension String {
[4/7] Compiling ANSITerminal ansiKeyboard.swift
[5/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: add '@MainActor' to make var 'isReplacingMode' part of global actor 'MainActor'
    |                         `- 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: add '@MainActor' to make var 'isCursorVisible' part of global actor 'MainActor'
    |                         `- 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
[6/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: add '@MainActor' to make var 'defaultTerminal' part of global actor 'MainActor'
    |                           `- 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: add '@MainActor' to make var 'isNonBlockingMode' part of global actor 'MainActor'
    |                           `- 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 | }
/usr/include/stdio.h:143:14: note: var declared here
141 |
142 | /* Standard streams.  */
143 | extern FILE *stdin;		/* Standard input stream.  */
    |              `- note: var declared here
144 | extern FILE *stdout;		/* Standard output stream.  */
145 | extern FILE *stderr;		/* Standard error output stream.  */
/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 |
/usr/include/stdio.h:144:14: note: var declared here
142 | /* Standard streams.  */
143 | extern FILE *stdin;		/* Standard input stream.  */
144 | extern FILE *stdout;		/* Standard output stream.  */
    |              `- note: var declared here
145 | extern FILE *stderr;		/* Standard error output stream.  */
146 | /* C89/C99 say they're macros.  Make them happy.  */
[7/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: add '@MainActor' to make var 'defaultTerminal' part of global actor 'MainActor'
    |                           `- 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: add '@MainActor' to make var 'isNonBlockingMode' part of global actor 'MainActor'
    |                           `- 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 | }
/usr/include/stdio.h:143:14: note: var declared here
141 |
142 | /* Standard streams.  */
143 | extern FILE *stdin;		/* Standard input stream.  */
    |              `- note: var declared here
144 | extern FILE *stdout;		/* Standard output stream.  */
145 | extern FILE *stderr;		/* Standard error output stream.  */
/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 |
/usr/include/stdio.h:144:14: note: var declared here
142 | /* Standard streams.  */
143 | extern FILE *stdin;		/* Standard input stream.  */
144 | extern FILE *stdout;		/* Standard output stream.  */
    |              `- note: var declared here
145 | extern FILE *stderr;		/* Standard error output stream.  */
146 | /* C89/C99 say they're macros.  Make them happy.  */
/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: add '@MainActor' to make var 'isOpenedColor' part of global actor 'MainActor'
    |                           `- 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: add '@MainActor' to make var 'isOpenedStyle' part of global actor 'MainActor'
    |                           `- 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: add '@MainActor' to make var 'isReplacingMode' part of global actor 'MainActor'
    |                         `- 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: add '@MainActor' to make var 'isCursorVisible' part of global actor 'MainActor'
    |                         `- 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
Build complete! (4.67s)
Build complete.
{
  "dependencies" : [
  ],
  "manifest_display_name" : "ANSITerminal",
  "name" : "ANSITerminal",
  "path" : "/host/spi-builder-workspace",
  "platforms" : [
    {
      "name" : "macos",
      "version" : "10.14"
    }
  ],
  "products" : [
    {
      "name" : "ANSITerminal",
      "targets" : [
        "ANSITerminal"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    }
  ],
  "swift_languages_versions" : [
    "5"
  ],
  "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.1-latest: Pulling from finestructure/spi-images
Digest: sha256:3bdcac04179f4ed3e5b8e9dbd6e74bbf5ebc0f4fde48bbaad7d1e5c757e65bcb
Status: Image is up to date for registry.gitlab.com/finestructure/spi-images:basic-6.1-latest
Done.