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 Commander, reference 0.9.2 (4a1f2f), with Swift 6.0 for Linux on 2 Nov 2024 07:21:52 UTC.

Swift 6 data race errors: 6

Build Command

bash -c docker run --pull=always --rm -v "checkouts-4606859-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/kylef/Commander.git
Reference: 0.9.2
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/kylef/Commander
 * tag               0.9.2      -> FETCH_HEAD
HEAD is now at 4a1f2fb release: 0.9.2
Cloned https://github.com/kylef/Commander.git
Revision (git rev-parse @):
4a1f2fb82fb6cef613c4a25d2e38f702e4d812c2
SUCCESS checkout https://github.com/kylef/Commander.git at 0.9.2
========================================
Build
========================================
Selected platform:         linux
Swift version:             6.0
Building package at path:  $PWD
https://github.com/kylef/Commander.git
Running build ...
bash -c docker run --pull=always --rm -v "checkouts-4606859-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/kylef/Spectre.git
[1/1021] Fetching spectre
Fetched https://github.com/kylef/Spectre.git from cache (0.19s)
Computing version for https://github.com/kylef/Spectre.git
Computed https://github.com/kylef/Spectre.git at 0.10.1 (2.15s)
Creating working copy for https://github.com/kylef/Spectre.git
Working copy of https://github.com/kylef/Spectre.git resolved at 0.10.1
Building for debugging...
[0/2] Write sources
[1/2] Write swift-version-24593BA9C3E375BF.txt
[3/11] Compiling Commander ArgumentConvertible.swift
/host/spi-builder-workspace/Sources/Commander/ArgumentConvertible.swift:149:1: warning: extension declares a conformance of imported type 'Optional' to imported protocol 'CustomStringConvertible'; this will not behave correctly if the owners of 'Swift' introduce this conformance in the future
147 | extension Array : ArgumentConvertible where Element : ArgumentConvertible {}
148 | extension Optional : ArgumentConvertible where Wrapped : ArgumentConvertible {}
149 | extension Optional : CustomStringConvertible where Wrapped : CustomStringConvertible {}
    | |- warning: extension declares a conformance of imported type 'Optional' to imported protocol 'CustomStringConvertible'; this will not behave correctly if the owners of 'Swift' introduce this conformance in the future
    | `- note: add '@retroactive' to silence this warning
150 |
/host/spi-builder-workspace/Sources/Commander/ArgumentDescription.swift:333:7: warning: non-final class 'UsageError' cannot conform to 'Sendable'; use '@unchecked Sendable'; this is an error in the Swift 6 language mode
331 |
332 |
333 | class UsageError : Error, ANSIConvertible, CustomStringConvertible {
    |       `- warning: non-final class 'UsageError' cannot conform to 'Sendable'; use '@unchecked Sendable'; this is an error in the Swift 6 language mode
334 |   let message: String
335 |   let help: Help
/host/spi-builder-workspace/Sources/Commander/ArgumentDescription.swift:352:7: warning: non-final class 'Help' cannot conform to 'Sendable'; use '@unchecked Sendable'; this is an error in the Swift 6 language mode
350 |
351 |
352 | class Help : Error, ANSIConvertible, CustomStringConvertible {
    |       `- warning: non-final class 'Help' cannot conform to 'Sendable'; use '@unchecked Sendable'; this is an error in the Swift 6 language mode
353 |   let command: String?
354 |   let group: Group?
/host/spi-builder-workspace/Sources/Commander/ArgumentDescription.swift:354:7: warning: stored property 'group' of 'Sendable'-conforming class 'Help' has non-sendable type 'Group?'; this is an error in the Swift 6 language mode
352 | class Help : Error, ANSIConvertible, CustomStringConvertible {
353 |   let command: String?
354 |   let group: Group?
    |       `- warning: stored property 'group' of 'Sendable'-conforming class 'Help' has non-sendable type 'Group?'; this is an error in the Swift 6 language mode
355 |   let descriptors: [BoxedArgumentDescriptor]
356 |
/host/spi-builder-workspace/Sources/Commander/Group.swift:37:12: note: class 'Group' does not conform to the 'Sendable' protocol
 35 |
 36 | /// Represents a group of commands
 37 | open class Group : CommandType {
    |            `- note: class 'Group' does not conform to the 'Sendable' protocol
 38 |   struct SubCommand {
 39 |     let name: String
/host/spi-builder-workspace/Sources/Commander/ArgumentDescription.swift:355:7: warning: stored property 'descriptors' of 'Sendable'-conforming class 'Help' has non-sendable type '[BoxedArgumentDescriptor]'; this is an error in the Swift 6 language mode
265 |
266 |
267 | class BoxedArgumentDescriptor {
    |       `- note: class 'BoxedArgumentDescriptor' does not conform to the 'Sendable' protocol
268 |   let name: String
269 |   let description: String?
    :
353 |   let command: String?
354 |   let group: Group?
355 |   let descriptors: [BoxedArgumentDescriptor]
    |       `- warning: stored property 'descriptors' of 'Sendable'-conforming class 'Help' has non-sendable type '[BoxedArgumentDescriptor]'; this is an error in the Swift 6 language mode
356 |
357 |   init(_ descriptors: [BoxedArgumentDescriptor], command: String? = nil, group: Group? = nil) {
[4/11] Compiling Commander ArgumentDescription.swift
/host/spi-builder-workspace/Sources/Commander/ArgumentConvertible.swift:149:1: warning: extension declares a conformance of imported type 'Optional' to imported protocol 'CustomStringConvertible'; this will not behave correctly if the owners of 'Swift' introduce this conformance in the future
147 | extension Array : ArgumentConvertible where Element : ArgumentConvertible {}
148 | extension Optional : ArgumentConvertible where Wrapped : ArgumentConvertible {}
149 | extension Optional : CustomStringConvertible where Wrapped : CustomStringConvertible {}
    | |- warning: extension declares a conformance of imported type 'Optional' to imported protocol 'CustomStringConvertible'; this will not behave correctly if the owners of 'Swift' introduce this conformance in the future
    | `- note: add '@retroactive' to silence this warning
150 |
/host/spi-builder-workspace/Sources/Commander/ArgumentDescription.swift:333:7: warning: non-final class 'UsageError' cannot conform to 'Sendable'; use '@unchecked Sendable'; this is an error in the Swift 6 language mode
331 |
332 |
333 | class UsageError : Error, ANSIConvertible, CustomStringConvertible {
    |       `- warning: non-final class 'UsageError' cannot conform to 'Sendable'; use '@unchecked Sendable'; this is an error in the Swift 6 language mode
334 |   let message: String
335 |   let help: Help
/host/spi-builder-workspace/Sources/Commander/ArgumentDescription.swift:352:7: warning: non-final class 'Help' cannot conform to 'Sendable'; use '@unchecked Sendable'; this is an error in the Swift 6 language mode
350 |
351 |
352 | class Help : Error, ANSIConvertible, CustomStringConvertible {
    |       `- warning: non-final class 'Help' cannot conform to 'Sendable'; use '@unchecked Sendable'; this is an error in the Swift 6 language mode
353 |   let command: String?
354 |   let group: Group?
/host/spi-builder-workspace/Sources/Commander/ArgumentDescription.swift:354:7: warning: stored property 'group' of 'Sendable'-conforming class 'Help' has non-sendable type 'Group?'; this is an error in the Swift 6 language mode
352 | class Help : Error, ANSIConvertible, CustomStringConvertible {
353 |   let command: String?
354 |   let group: Group?
    |       `- warning: stored property 'group' of 'Sendable'-conforming class 'Help' has non-sendable type 'Group?'; this is an error in the Swift 6 language mode
355 |   let descriptors: [BoxedArgumentDescriptor]
356 |
/host/spi-builder-workspace/Sources/Commander/Group.swift:37:12: note: class 'Group' does not conform to the 'Sendable' protocol
 35 |
 36 | /// Represents a group of commands
 37 | open class Group : CommandType {
    |            `- note: class 'Group' does not conform to the 'Sendable' protocol
 38 |   struct SubCommand {
 39 |     let name: String
/host/spi-builder-workspace/Sources/Commander/ArgumentDescription.swift:355:7: warning: stored property 'descriptors' of 'Sendable'-conforming class 'Help' has non-sendable type '[BoxedArgumentDescriptor]'; this is an error in the Swift 6 language mode
265 |
266 |
267 | class BoxedArgumentDescriptor {
    |       `- note: class 'BoxedArgumentDescriptor' does not conform to the 'Sendable' protocol
268 |   let name: String
269 |   let description: String?
    :
353 |   let command: String?
354 |   let group: Group?
355 |   let descriptors: [BoxedArgumentDescriptor]
    |       `- warning: stored property 'descriptors' of 'Sendable'-conforming class 'Help' has non-sendable type '[BoxedArgumentDescriptor]'; this is an error in the Swift 6 language mode
356 |
357 |   init(_ descriptors: [BoxedArgumentDescriptor], command: String? = nil, group: Group? = nil) {
[5/11] Emitting module Commander
/host/spi-builder-workspace/Sources/Commander/ArgumentConvertible.swift:149:1: warning: extension declares a conformance of imported type 'Optional' to imported protocol 'CustomStringConvertible'; this will not behave correctly if the owners of 'Swift' introduce this conformance in the future
147 | extension Array : ArgumentConvertible where Element : ArgumentConvertible {}
148 | extension Optional : ArgumentConvertible where Wrapped : ArgumentConvertible {}
149 | extension Optional : CustomStringConvertible where Wrapped : CustomStringConvertible {}
    | |- warning: extension declares a conformance of imported type 'Optional' to imported protocol 'CustomStringConvertible'; this will not behave correctly if the owners of 'Swift' introduce this conformance in the future
    | `- note: add '@retroactive' to silence this warning
150 |
/host/spi-builder-workspace/Sources/Commander/ArgumentDescription.swift:333:7: warning: non-final class 'UsageError' cannot conform to 'Sendable'; use '@unchecked Sendable'; this is an error in the Swift 6 language mode
331 |
332 |
333 | class UsageError : Error, ANSIConvertible, CustomStringConvertible {
    |       `- warning: non-final class 'UsageError' cannot conform to 'Sendable'; use '@unchecked Sendable'; this is an error in the Swift 6 language mode
334 |   let message: String
335 |   let help: Help
/host/spi-builder-workspace/Sources/Commander/ArgumentDescription.swift:352:7: warning: non-final class 'Help' cannot conform to 'Sendable'; use '@unchecked Sendable'; this is an error in the Swift 6 language mode
350 |
351 |
352 | class Help : Error, ANSIConvertible, CustomStringConvertible {
    |       `- warning: non-final class 'Help' cannot conform to 'Sendable'; use '@unchecked Sendable'; this is an error in the Swift 6 language mode
353 |   let command: String?
354 |   let group: Group?
/host/spi-builder-workspace/Sources/Commander/ArgumentDescription.swift:354:7: warning: stored property 'group' of 'Sendable'-conforming class 'Help' has non-sendable type 'Group?'; this is an error in the Swift 6 language mode
352 | class Help : Error, ANSIConvertible, CustomStringConvertible {
353 |   let command: String?
354 |   let group: Group?
    |       `- warning: stored property 'group' of 'Sendable'-conforming class 'Help' has non-sendable type 'Group?'; this is an error in the Swift 6 language mode
355 |   let descriptors: [BoxedArgumentDescriptor]
356 |
/host/spi-builder-workspace/Sources/Commander/Group.swift:37:12: note: class 'Group' does not conform to the 'Sendable' protocol
 35 |
 36 | /// Represents a group of commands
 37 | open class Group : CommandType {
    |            `- note: class 'Group' does not conform to the 'Sendable' protocol
 38 |   struct SubCommand {
 39 |     let name: String
/host/spi-builder-workspace/Sources/Commander/ArgumentDescription.swift:355:7: warning: stored property 'descriptors' of 'Sendable'-conforming class 'Help' has non-sendable type '[BoxedArgumentDescriptor]'; this is an error in the Swift 6 language mode
265 |
266 |
267 | class BoxedArgumentDescriptor {
    |       `- note: class 'BoxedArgumentDescriptor' does not conform to the 'Sendable' protocol
268 |   let name: String
269 |   let description: String?
    :
353 |   let command: String?
354 |   let group: Group?
355 |   let descriptors: [BoxedArgumentDescriptor]
    |       `- warning: stored property 'descriptors' of 'Sendable'-conforming class 'Help' has non-sendable type '[BoxedArgumentDescriptor]'; this is an error in the Swift 6 language mode
356 |
357 |   init(_ descriptors: [BoxedArgumentDescriptor], command: String? = nil, group: Group? = nil) {
/host/spi-builder-workspace/Sources/Commander/Error.swift:56:72: 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
54 |   }
55 |
56 |   func print(_ string: String, to output: UnsafeMutablePointer<FILE> = 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
57 |     if ANSI.isTerminalSupported {
58 |       fputs("\(self)\(string)\(ANSI.reset)\n", output)
SwiftGlibc.stdout:1:12: note: var declared here
1 | public var stdout: UnsafeMutablePointer<FILE>!
  |            `- note: var declared here
/host/spi-builder-workspace/Sources/Commander/Group.swift:8:8: warning: associated value 'noCommand' of 'Sendable'-conforming enum 'GroupError' has non-sendable type 'Group'; this is an error in the Swift 6 language mode
  6 |   /// :param: The current path to the command (i.e, all the group names)
  7 |   /// :param: The group raising the error
  8 |   case noCommand(String?, Group)
    |        `- warning: associated value 'noCommand' of 'Sendable'-conforming enum 'GroupError' has non-sendable type 'Group'; this is an error in the Swift 6 language mode
  9 |
 10 |   public var description:String {
    :
 35 |
 36 | /// Represents a group of commands
 37 | open class Group : CommandType {
    |            `- note: class 'Group' does not conform to the 'Sendable' protocol
 38 |   struct SubCommand {
 39 |     let name: String
[6/12] Compiling Commander Group.swift
/host/spi-builder-workspace/Sources/Commander/Group.swift:8:8: warning: associated value 'noCommand' of 'Sendable'-conforming enum 'GroupError' has non-sendable type 'Group'; this is an error in the Swift 6 language mode
  6 |   /// :param: The current path to the command (i.e, all the group names)
  7 |   /// :param: The group raising the error
  8 |   case noCommand(String?, Group)
    |        `- warning: associated value 'noCommand' of 'Sendable'-conforming enum 'GroupError' has non-sendable type 'Group'; this is an error in the Swift 6 language mode
  9 |
 10 |   public var description:String {
    :
 35 |
 36 | /// Represents a group of commands
 37 | open class Group : CommandType {
    |            `- note: class 'Group' does not conform to the 'Sendable' protocol
 38 |   struct SubCommand {
 39 |     let name: String
[7/12] Compiling Commander Command.swift
[8/12] Compiling Commander ArgumentParser.swift
[9/12] Compiling Commander CommandRunner.swift
/host/spi-builder-workspace/Sources/Commander/CommandRunner.swift:43:57: warning: reference to var 'stderr' is not concurrency-safe because it involves shared mutable state; this is an error in the Swift 6 language mode
41 |       exit(1)
42 |     } catch {
43 |       ANSI.red.print("An error occurred: \(error)", to: stderr)
   |                                                         `- warning: reference to var 'stderr' is not concurrency-safe because it involves shared mutable state; this is an error in the Swift 6 language mode
44 |       exit(1)
45 |     }
SwiftGlibc.stderr:1:12: note: var declared here
1 | public var stderr: UnsafeMutablePointer<FILE>!
  |            `- note: var declared here
[10/12] Compiling Commander CommandType.swift
[11/12] Compiling Commander Commands.swift
[12/12] Compiling Commander Error.swift
/host/spi-builder-workspace/Sources/Commander/Error.swift:56:72: 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
54 |   }
55 |
56 |   func print(_ string: String, to output: UnsafeMutablePointer<FILE> = 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
57 |     if ANSI.isTerminalSupported {
58 |       fputs("\(self)\(string)\(ANSI.reset)\n", output)
SwiftGlibc.stdout:1:12: note: var declared here
1 | public var stdout: UnsafeMutablePointer<FILE>!
  |            `- note: var declared here
/host/spi-builder-workspace/Sources/Commander/Error.swift:19:37: warning: reference to var 'stderr' is not concurrency-safe because it involves shared mutable state; this is an error in the Swift 6 language mode
17 |     // Check if we are in any term env and the output is a tty.
18 |     if ANSI.isTerminalSupported {
19 |       fputs("\(ansiDescription)\n", stderr)
   |                                     `- warning: reference to var 'stderr' is not concurrency-safe because it involves shared mutable state; this is an error in the Swift 6 language mode
20 |     } else {
21 |       fputs("\(description)\n", stderr)
SwiftGlibc.stderr:1:12: note: var declared here
1 | public var stderr: UnsafeMutablePointer<FILE>!
  |            `- note: var declared here
/host/spi-builder-workspace/Sources/Commander/Error.swift:21:33: warning: reference to var 'stderr' is not concurrency-safe because it involves shared mutable state; this is an error in the Swift 6 language mode
19 |       fputs("\(ansiDescription)\n", stderr)
20 |     } else {
21 |       fputs("\(description)\n", stderr)
   |                                 `- warning: reference to var 'stderr' is not concurrency-safe because it involves shared mutable state; this is an error in the Swift 6 language mode
22 |     }
23 |   }
SwiftGlibc.stderr:1:12: note: var declared here
1 | public var stderr: UnsafeMutablePointer<FILE>!
  |            `- note: var declared here
Build complete! (14.39s)
Build complete.
{
  "dependencies" : [
    {
      "identity" : "spectre",
      "requirement" : {
        "range" : [
          {
            "lower_bound" : "0.10.0",
            "upper_bound" : "1.0.0"
          }
        ]
      },
      "type" : "sourceControl",
      "url" : "https://github.com/kylef/Spectre.git"
    }
  ],
  "manifest_display_name" : "Commander",
  "name" : "Commander",
  "path" : "/host/spi-builder-workspace",
  "platforms" : [
  ],
  "products" : [
    {
      "name" : "Commander",
      "targets" : [
        "Commander"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    }
  ],
  "targets" : [
    {
      "c99name" : "CommanderTests",
      "module_type" : "SwiftTarget",
      "name" : "CommanderTests",
      "path" : "Tests/CommanderTests",
      "product_dependencies" : [
        "Spectre"
      ],
      "sources" : [
        "ArgumentConvertibleSpec.swift",
        "ArgumentDescriptionSpec.swift",
        "ArgumentParserSpec.swift",
        "CommandSpec.swift",
        "CommandTypeSpec.swift",
        "GroupSpec.swift",
        "XCTest.swift"
      ],
      "target_dependencies" : [
        "Commander"
      ],
      "type" : "test"
    },
    {
      "c99name" : "Commander",
      "module_type" : "SwiftTarget",
      "name" : "Commander",
      "path" : "Sources/Commander",
      "product_memberships" : [
        "Commander"
      ],
      "sources" : [
        "ArgumentConvertible.swift",
        "ArgumentDescription.swift",
        "ArgumentParser.swift",
        "Command.swift",
        "CommandRunner.swift",
        "CommandType.swift",
        "Commands.swift",
        "Error.swift",
        "Group.swift"
      ],
      "type" : "library"
    }
  ],
  "tools_version" : "4.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.