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 Spinner, reference main (9bd3af), with Swift 6.1 for Linux on 28 Apr 2025 00:14:02 UTC.

Swift 6 data race errors: 0

Build Command

bash -c docker run --pull=always --rm -v "checkouts-4606859-3":/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/dominicegginton/spinner.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/dominicegginton/spinner
 * branch            main       -> FETCH_HEAD
 * [new branch]      main       -> origin/main
HEAD is now at 9bd3afd feat(workspace): provide an example
Cloned https://github.com/dominicegginton/spinner.git
Revision (git rev-parse @):
9bd3afdfd0ba75c0bd097abee7f05d31c41a0ccb
SUCCESS checkout https://github.com/dominicegginton/spinner.git at main
========================================
Build
========================================
Selected platform:         linux
Swift version:             6.1
Building package at path:  $PWD
https://github.com/dominicegginton/spinner.git
https://github.com/dominicegginton/spinner.git
WARNING: environment variable SUPPRESS_SWIFT_6_FLAGS is not set
{
  "dependencies" : [
    {
      "identity" : "nanoseconds",
      "requirement" : {
        "range" : [
          {
            "lower_bound" : "1.1.3",
            "upper_bound" : "2.0.0"
          }
        ]
      },
      "type" : "sourceControl",
      "url" : "https://github.com/dominicegginton/Nanoseconds"
    },
    {
      "identity" : "rainbow",
      "requirement" : {
        "range" : [
          {
            "lower_bound" : "4.0.0",
            "upper_bound" : "5.0.0"
          }
        ]
      },
      "type" : "sourceControl",
      "url" : "https://github.com/onevcat/Rainbow"
    },
    {
      "identity" : "bluesignals",
      "requirement" : {
        "range" : [
          {
            "lower_bound" : "1.0.0",
            "upper_bound" : "2.0.0"
          }
        ]
      },
      "type" : "sourceControl",
      "url" : "https://github.com/IBM-Swift/BlueSignals.git"
    }
  ],
  "manifest_display_name" : "Spinner",
  "name" : "Spinner",
  "path" : "/host/spi-builder-workspace",
  "platforms" : [
  ],
  "products" : [
    {
      "name" : "Spinner",
      "targets" : [
        "Spinner"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    },
    {
      "name" : "Example",
      "targets" : [
        "Example"
      ],
      "type" : {
        "executable" : null
      }
    }
  ],
  "targets" : [
    {
      "c99name" : "Spinner",
      "module_type" : "SwiftTarget",
      "name" : "Spinner",
      "path" : "Sources/Spinner",
      "product_dependencies" : [
        "Nanoseconds",
        "Rainbow",
        "Signals"
      ],
      "product_memberships" : [
        "Spinner",
        "Example"
      ],
      "sources" : [
        "Spinner.swift",
        "SpinnerAnimation.swift",
        "SpinnerSignal.swift",
        "SpinnerStream.swift"
      ],
      "type" : "library"
    },
    {
      "c99name" : "Example",
      "module_type" : "SwiftTarget",
      "name" : "Example",
      "path" : "Sources/Example",
      "product_memberships" : [
        "Example"
      ],
      "sources" : [
        "main.swift"
      ],
      "target_dependencies" : [
        "Spinner"
      ],
      "type" : "executable"
    }
  ],
  "tools_version" : "5.0"
}
Running build ...
bash -c docker run --pull=always --rm -v "checkouts-4606859-3":/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
Fetching https://github.com/IBM-Swift/BlueSignals.git
Fetching https://github.com/dominicegginton/Nanoseconds
Fetching https://github.com/onevcat/Rainbow
[1/201] Fetching nanoseconds
[202/1397] Fetching nanoseconds, rainbow
[1398/2051] Fetching nanoseconds, rainbow, bluesignals
Fetched https://github.com/dominicegginton/Nanoseconds from cache (0.31s)
Fetched https://github.com/IBM-Swift/BlueSignals.git from cache (0.32s)
Fetched https://github.com/onevcat/Rainbow from cache (0.32s)
Computing version for https://github.com/dominicegginton/Nanoseconds
Computed https://github.com/dominicegginton/Nanoseconds at 1.1.3 (0.93s)
Computing version for https://github.com/onevcat/Rainbow
Computed https://github.com/onevcat/Rainbow at 4.1.0 (3.10s)
Computing version for https://github.com/IBM-Swift/BlueSignals.git
Computed https://github.com/IBM-Swift/BlueSignals.git at 1.0.200 (0.78s)
Creating working copy for https://github.com/IBM-Swift/BlueSignals.git
Working copy of https://github.com/IBM-Swift/BlueSignals.git resolved at 1.0.200
Creating working copy for https://github.com/dominicegginton/Nanoseconds
Working copy of https://github.com/dominicegginton/Nanoseconds resolved at 1.1.3
Creating working copy for https://github.com/onevcat/Rainbow
Working copy of https://github.com/onevcat/Rainbow resolved at 4.1.0
Building for debugging...
[0/13] Write sources
[5/13] Write swift-version-24593BA9C3E375BF.txt
[7/29] Compiling Rainbow StringGenerator.swift
[8/30] Compiling Rainbow Style.swift
[9/30] Compiling Rainbow String+Rainbow.swift
[10/30] Compiling Nanoseconds Now.swift
[11/30] Emitting module Nanoseconds
[12/30] Compiling Nanoseconds TimeInterval.swift
[13/31] Compiling Rainbow Rainbow.swift
[14/31] Compiling Rainbow BackgroundColor.swift
[15/31] Compiling Rainbow CodesParser.swift
[16/31] Emitting module Rainbow
[17/31] Compiling Rainbow Color.swift
[18/31] Compiling Rainbow ColorApproximation.swift
[19/31] Compiling Rainbow ControlCode.swift
[20/31] Compiling Rainbow ModesExtractor.swift
[21/31] Compiling Rainbow OutputTarget.swift
[24/32] Emitting module Signals
[25/32] Compiling Signals Signals.swift
[26/33] Wrapping AST for Rainbow for debugging
[27/33] Wrapping AST for Nanoseconds for debugging
[28/33] Wrapping AST for Signals for debugging
[30/38] Compiling Spinner SpinnerSignal.swift
[31/38] Compiling Spinner SpinnerStream.swift
[32/38] Compiling Spinner SpinnerAnimation.swift
[33/38] Emitting module Spinner
[34/38] Compiling Spinner Spinner.swift
/host/spi-builder-workspace/Sources/Spinner/Spinner.swift:10: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
  8 |     func write(string: String, terminator: String) {
  9 |         print(string, terminator: terminator)
 10 |         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
 11 |     }
 12 |
/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/Spinner/Spinner.swift:15: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
 13 |     func hideCursor() {
 14 |         print("\u{001B}[?25l", terminator: "")
 15 |         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
 16 |     }
 17 |
/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/Spinner/Spinner.swift:20: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
 18 |     func showCursor() {
 19 |         print("\u{001B}[?25h", terminator: "")
 20 |         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
 21 |     }
 22 | }
/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/Spinner/Spinner.swift:87:32: warning: capture of 'self' with non-sendable type 'Spinner?' in a '@Sendable' closure; this is an error in the Swift 6 language mode
 31 | }
 32 |
 33 | public final class Spinner {
    |                    `- note: class 'Spinner' does not conform to the 'Sendable' protocol
 34 |     var animation: SpinnerAnimation {
 35 |         didSet {
    :
 85 |         self.timestamp = Now()
 86 |         self.queue.async { [weak self] in
 87 |             guard let `self` = self else { return }
    |                                `- warning: capture of 'self' with non-sendable type 'Spinner?' in a '@Sendable' closure; this is an error in the Swift 6 language mode
 88 |             while self.status {
 89 |                 self.render()
[35/39] Wrapping AST for Spinner for debugging
[37/41] Compiling Example main.swift
[38/41] Emitting module Example
[39/42] Wrapping AST for Example for debugging
[40/42] Write Objects.LinkFileList
[41/42] Linking Example
Build complete! (19.91s)
Build complete.
{
  "dependencies" : [
    {
      "identity" : "nanoseconds",
      "requirement" : {
        "range" : [
          {
            "lower_bound" : "1.1.3",
            "upper_bound" : "2.0.0"
          }
        ]
      },
      "type" : "sourceControl",
      "url" : "https://github.com/dominicegginton/Nanoseconds"
    },
    {
      "identity" : "rainbow",
      "requirement" : {
        "range" : [
          {
            "lower_bound" : "4.0.0",
            "upper_bound" : "5.0.0"
          }
        ]
      },
      "type" : "sourceControl",
      "url" : "https://github.com/onevcat/Rainbow"
    },
    {
      "identity" : "bluesignals",
      "requirement" : {
        "range" : [
          {
            "lower_bound" : "1.0.0",
            "upper_bound" : "2.0.0"
          }
        ]
      },
      "type" : "sourceControl",
      "url" : "https://github.com/IBM-Swift/BlueSignals.git"
    }
  ],
  "manifest_display_name" : "Spinner",
  "name" : "Spinner",
  "path" : "/host/spi-builder-workspace",
  "platforms" : [
  ],
  "products" : [
    {
      "name" : "Spinner",
      "targets" : [
        "Spinner"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    },
    {
      "name" : "Example",
      "targets" : [
        "Example"
      ],
      "type" : {
        "executable" : null
      }
    }
  ],
  "targets" : [
    {
      "c99name" : "Spinner",
      "module_type" : "SwiftTarget",
      "name" : "Spinner",
      "path" : "Sources/Spinner",
      "product_dependencies" : [
        "Nanoseconds",
        "Rainbow",
        "Signals"
      ],
      "product_memberships" : [
        "Spinner",
        "Example"
      ],
      "sources" : [
        "Spinner.swift",
        "SpinnerAnimation.swift",
        "SpinnerSignal.swift",
        "SpinnerStream.swift"
      ],
      "type" : "library"
    },
    {
      "c99name" : "Example",
      "module_type" : "SwiftTarget",
      "name" : "Example",
      "path" : "Sources/Example",
      "product_memberships" : [
        "Example"
      ],
      "sources" : [
        "main.swift"
      ],
      "target_dependencies" : [
        "Spinner"
      ],
      "type" : "executable"
    }
  ],
  "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.