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 CommandCougar, reference master (2f209d), with Swift 6.0 for macOS (SPM) on 1 Nov 2024 02:18:30 UTC.

Swift 6 data race errors: 1

Build Command

env DEVELOPER_DIR=/Applications/Xcode-16.1.0.app xcrun swift build --arch arm64 -Xswiftc -Xfrontend -Xswiftc -stats-output-dir -Xswiftc -Xfrontend -Xswiftc .stats -Xswiftc -strict-concurrency=complete

Build Log

========================================
RunAll
========================================
Builder version: 4.56.0
Interrupt handler set up.
========================================
Checkout
========================================
Clone URL: https://github.com/hypertalk/CommandCougar.git
Reference: master
Initialized empty Git repository in /Users/admin/builder/spi-builder-workspace/.git/
From https://github.com/hypertalk/CommandCougar
 * branch            master     -> FETCH_HEAD
 * [new branch]      master     -> origin/master
HEAD is now at 2f209d1 Merge pull request #7 from mrlynn/master
Cloned https://github.com/hypertalk/CommandCougar.git
Revision (git rev-parse @):
2f209d174f07f9c19e80413d53e952a67b4c40eb
SUCCESS checkout https://github.com/hypertalk/CommandCougar.git at master
========================================
ResolveProductDependencies
========================================
Resolving dependencies ...
{
  "identity": ".resolve-product-dependencies",
  "name": "resolve-dependencies",
  "url": "/Users/admin/builder/spi-builder-workspace/.resolve-product-dependencies",
  "version": "unspecified",
  "path": "/Users/admin/builder/spi-builder-workspace/.resolve-product-dependencies",
  "dependencies": [
    {
      "identity": "commandcougar",
      "name": "CommandCougar",
      "url": "https://github.com/hypertalk/CommandCougar.git",
      "version": "unspecified",
      "path": "/Users/admin/builder/spi-builder-workspace/.resolve-product-dependencies/.build/checkouts/CommandCougar",
      "dependencies": [
      ]
    }
  ]
}
Fetching https://github.com/hypertalk/CommandCougar.git
[1/234] Fetching commandcougar
Fetched https://github.com/hypertalk/CommandCougar.git from cache (0.75s)
Creating working copy for https://github.com/hypertalk/CommandCougar.git
Working copy of https://github.com/hypertalk/CommandCougar.git resolved at master (2f209d1)
warning: '.resolve-product-dependencies': dependency 'commandcougar' is not used by any target
Found 0 product dependencies
========================================
Build
========================================
Selected platform:         macosSpm
Swift version:             6.0
Building package at path:  $PWD
https://github.com/hypertalk/CommandCougar.git
Running build ...
env DEVELOPER_DIR=/Applications/Xcode-16.1.0.app xcrun swift build --arch arm64 -Xswiftc -Xfrontend -Xswiftc -stats-output-dir -Xswiftc -Xfrontend -Xswiftc .stats -Xswiftc -strict-concurrency=complete
Building for debugging...
[0/2] Write sources
[1/2] Write swift-version--7754E27361AE5C74.txt
[3/13] Compiling CommandCougar Flag.swift
/Users/admin/builder/spi-builder-workspace/Sources/CommandCougar/Flag.swift:35:2: warning: 'public' modifier is redundant for enum declared in a public extension
33 | 	/// - long: A long entry would be --verbose
34 | 	/// - both: Both flags are allowed
35 | 	public enum Flag: Equatable, CustomStringConvertible {
   |  `- warning: 'public' modifier is redundant for enum declared in a public extension
36 | 		case short(String)
37 | 		case long(String)
[4/13] Compiling CommandCougar Parameter.swift
[5/13] Compiling CommandCougar OptionEvaluation.swift
[6/13] Compiling CommandCougar Option.swift
/Users/admin/builder/spi-builder-workspace/Sources/CommandCougar/Option.swift:33:20: warning: static property 'help' is not concurrency-safe because non-'Sendable' type 'Option' may have shared mutable state; this is an error in the Swift 6 language mode
28 |
29 | /// A struct for describing a option that a command is allowed to take in
30 | public struct Option: FlagIndexable, CustomStringConvertible, Equatable {
   |               `- note: consider making struct 'Option' conform to the 'Sendable' protocol
31 |
32 | 	/// A static help description attached to each command
33 | 	public static let help = Option(
   |                    |- warning: static property 'help' is not concurrency-safe because non-'Sendable' type 'Option' may have shared mutable state; this is an error in the Swift 6 language mode
   |                    |- note: annotate 'help' 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
34 | 		flag: .both(short: "h", long: "help"),
35 | 		overview: "The help menu",
[7/14] Compiling CommandCougar Extensions.swift
/Users/admin/builder/spi-builder-workspace/Sources/CommandCougar/Extensions.swift:31:2: warning: 'internal' modifier is redundant for property declared in an internal extension
29 |
30 | 	/// The string value of self
31 | 	internal var asString: String {
   |  `- warning: 'internal' modifier is redundant for property declared in an internal extension
32 | 		return String(self)
33 | 	}
/Users/admin/builder/spi-builder-workspace/Sources/CommandCougar/Extensions.swift:39:2: warning: 'internal' modifier is redundant for property declared in an internal extension
37 |
38 | 	/// The string value of self
39 | 	internal var asString: String {
   |  `- warning: 'internal' modifier is redundant for property declared in an internal extension
40 | 		return String(self)
41 | 	}
/Users/admin/builder/spi-builder-workspace/Sources/CommandCougar/Extensions.swift:47:2: warning: 'internal' modifier is redundant for property declared in an internal extension
45 |
46 | 	/// The second element in the Collection
47 | 	internal var second: Self.Iterator.Element? {
   |  `- warning: 'internal' modifier is redundant for property declared in an internal extension
48 | 		var a = self.makeIterator()
49 | 		let _ = a.next()
/Users/admin/builder/spi-builder-workspace/Sources/CommandCougar/Extensions.swift:54:2: warning: 'internal' modifier is redundant for property declared in an internal extension
52 |
53 | 	/// The third element in the Collection
54 | 	internal var third: Self.Iterator.Element? {
   |  `- warning: 'internal' modifier is redundant for property declared in an internal extension
55 | 		var a = self.makeIterator()
56 | 		let _ = a.next()
[8/14] Compiling CommandCougar CommandIndexable.swift
/Users/admin/builder/spi-builder-workspace/Sources/CommandCougar/CommandIndexable.swift:34:2: warning: 'public' modifier is redundant for subscript declared in a public extension
32 |
33 | public extension Array where Element: CommandIndexable {
34 | 	public subscript(commandName: String) -> Element? {
   |  `- warning: 'public' modifier is redundant for subscript declared in a public extension
35 | 		get {
36 | 			return first(where: { $0.name == commandName })
[9/14] Compiling CommandCougar FlagIndexable.swift
/Users/admin/builder/spi-builder-workspace/Sources/CommandCougar/FlagIndexable.swift:42:2: warning: 'public' modifier is redundant for subscript declared in a public extension
40 | 	///
41 | 	/// - Parameter flagName: The flagName
42 | 	public subscript (flagName: String) -> Element? {
   |  `- warning: 'public' modifier is redundant for subscript declared in a public extension
43 | 		get {
44 | 			return first(where: { $0.flag == flagName })
/Users/admin/builder/spi-builder-workspace/Sources/CommandCougar/FlagIndexable.swift:60:2: warning: 'public' modifier is redundant for subscript declared in a public extension
58 | 	///
59 | 	/// - Parameter flag: The flag
60 | 	public subscript (flag: Option.Flag) -> Element? {
   |  `- warning: 'public' modifier is redundant for subscript declared in a public extension
61 | 		get {
62 | 			return first(where: { $0.flag == flag })
/Users/admin/builder/spi-builder-workspace/Sources/CommandCougar/FlagIndexable.swift:77:2: warning: 'public' modifier is redundant for subscript declared in a public extension
75 | 	///
76 | 	/// - Parameter flag: The flag
77 | 	public subscript (option: FlagIndexable) -> Element? {
   |  `- warning: 'public' modifier is redundant for subscript declared in a public extension
78 | 		get {
79 | 			return first(where: { $0.flag == option.flag })
/Users/admin/builder/spi-builder-workspace/Sources/CommandCougar/FlagIndexable.swift:88:2: warning: 'public' modifier is redundant for instance method declared in a public extension
86 | 	/// - Parameter element: The FlagIndexable we are looking for
87 | 	/// - Returns: True if found
88 | 	public func contains(_ element: FlagIndexable) -> Bool {
   |  `- warning: 'public' modifier is redundant for instance method declared in a public extension
89 | 		return contains(where: { $0.flag == element.flag })
90 | 	}
[10/14] Emitting module CommandCougar
/Users/admin/builder/spi-builder-workspace/Sources/CommandCougar/CommandIndexable.swift:34:2: warning: 'public' modifier is redundant for subscript declared in a public extension
32 |
33 | public extension Array where Element: CommandIndexable {
34 | 	public subscript(commandName: String) -> Element? {
   |  `- warning: 'public' modifier is redundant for subscript declared in a public extension
35 | 		get {
36 | 			return first(where: { $0.name == commandName })
/Users/admin/builder/spi-builder-workspace/Sources/CommandCougar/Extensions.swift:31:2: warning: 'internal' modifier is redundant for property declared in an internal extension
29 |
30 | 	/// The string value of self
31 | 	internal var asString: String {
   |  `- warning: 'internal' modifier is redundant for property declared in an internal extension
32 | 		return String(self)
33 | 	}
/Users/admin/builder/spi-builder-workspace/Sources/CommandCougar/Extensions.swift:39:2: warning: 'internal' modifier is redundant for property declared in an internal extension
37 |
38 | 	/// The string value of self
39 | 	internal var asString: String {
   |  `- warning: 'internal' modifier is redundant for property declared in an internal extension
40 | 		return String(self)
41 | 	}
/Users/admin/builder/spi-builder-workspace/Sources/CommandCougar/Extensions.swift:47:2: warning: 'internal' modifier is redundant for property declared in an internal extension
45 |
46 | 	/// The second element in the Collection
47 | 	internal var second: Self.Iterator.Element? {
   |  `- warning: 'internal' modifier is redundant for property declared in an internal extension
48 | 		var a = self.makeIterator()
49 | 		let _ = a.next()
/Users/admin/builder/spi-builder-workspace/Sources/CommandCougar/Extensions.swift:54:2: warning: 'internal' modifier is redundant for property declared in an internal extension
52 |
53 | 	/// The third element in the Collection
54 | 	internal var third: Self.Iterator.Element? {
   |  `- warning: 'internal' modifier is redundant for property declared in an internal extension
55 | 		var a = self.makeIterator()
56 | 		let _ = a.next()
/Users/admin/builder/spi-builder-workspace/Sources/CommandCougar/Flag.swift:35:2: warning: 'public' modifier is redundant for enum declared in a public extension
33 | 	/// - long: A long entry would be --verbose
34 | 	/// - both: Both flags are allowed
35 | 	public enum Flag: Equatable, CustomStringConvertible {
   |  `- warning: 'public' modifier is redundant for enum declared in a public extension
36 | 		case short(String)
37 | 		case long(String)
/Users/admin/builder/spi-builder-workspace/Sources/CommandCougar/FlagIndexable.swift:42:2: warning: 'public' modifier is redundant for subscript declared in a public extension
40 | 	///
41 | 	/// - Parameter flagName: The flagName
42 | 	public subscript (flagName: String) -> Element? {
   |  `- warning: 'public' modifier is redundant for subscript declared in a public extension
43 | 		get {
44 | 			return first(where: { $0.flag == flagName })
/Users/admin/builder/spi-builder-workspace/Sources/CommandCougar/FlagIndexable.swift:60:2: warning: 'public' modifier is redundant for subscript declared in a public extension
58 | 	///
59 | 	/// - Parameter flag: The flag
60 | 	public subscript (flag: Option.Flag) -> Element? {
   |  `- warning: 'public' modifier is redundant for subscript declared in a public extension
61 | 		get {
62 | 			return first(where: { $0.flag == flag })
/Users/admin/builder/spi-builder-workspace/Sources/CommandCougar/FlagIndexable.swift:77:2: warning: 'public' modifier is redundant for subscript declared in a public extension
75 | 	///
76 | 	/// - Parameter flag: The flag
77 | 	public subscript (option: FlagIndexable) -> Element? {
   |  `- warning: 'public' modifier is redundant for subscript declared in a public extension
78 | 		get {
79 | 			return first(where: { $0.flag == option.flag })
/Users/admin/builder/spi-builder-workspace/Sources/CommandCougar/FlagIndexable.swift:88:2: warning: 'public' modifier is redundant for instance method declared in a public extension
86 | 	/// - Parameter element: The FlagIndexable we are looking for
87 | 	/// - Returns: True if found
88 | 	public func contains(_ element: FlagIndexable) -> Bool {
   |  `- warning: 'public' modifier is redundant for instance method declared in a public extension
89 | 		return contains(where: { $0.flag == element.flag })
90 | 	}
/Users/admin/builder/spi-builder-workspace/Sources/CommandCougar/Option.swift:33:20: warning: static property 'help' is not concurrency-safe because non-'Sendable' type 'Option' may have shared mutable state; this is an error in the Swift 6 language mode
28 |
29 | /// A struct for describing a option that a command is allowed to take in
30 | public struct Option: FlagIndexable, CustomStringConvertible, Equatable {
   |               `- note: consider making struct 'Option' conform to the 'Sendable' protocol
31 |
32 | 	/// A static help description attached to each command
33 | 	public static let help = Option(
   |                    |- warning: static property 'help' is not concurrency-safe because non-'Sendable' type 'Option' may have shared mutable state; this is an error in the Swift 6 language mode
   |                    |- note: annotate 'help' 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
34 | 		flag: .both(short: "h", long: "help"),
35 | 		overview: "The help menu",
[11/14] Compiling CommandCougar CommandEvaluation.swift
/Users/admin/builder/spi-builder-workspace/Sources/CommandCougar/Option.swift:33:20: warning: static property 'help' is not concurrency-safe because non-'Sendable' type 'Option' may have shared mutable state; this is an error in the Swift 6 language mode
28 |
29 | /// A struct for describing a option that a command is allowed to take in
30 | public struct Option: FlagIndexable, CustomStringConvertible, Equatable {
   |               `- note: consider making struct 'Option' conform to the 'Sendable' protocol
31 |
32 | 	/// A static help description attached to each command
33 | 	public static let help = Option(
   |                    |- warning: static property 'help' is not concurrency-safe because non-'Sendable' type 'Option' may have shared mutable state; this is an error in the Swift 6 language mode
   |                    |- note: annotate 'help' 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
34 | 		flag: .both(short: "h", long: "help"),
35 | 		overview: "The help menu",
[12/14] Compiling CommandCougar Command.swift
/Users/admin/builder/spi-builder-workspace/Sources/CommandCougar/Option.swift:33:20: warning: static property 'help' is not concurrency-safe because non-'Sendable' type 'Option' may have shared mutable state; this is an error in the Swift 6 language mode
28 |
29 | /// A struct for describing a option that a command is allowed to take in
30 | public struct Option: FlagIndexable, CustomStringConvertible, Equatable {
   |               `- note: consider making struct 'Option' conform to the 'Sendable' protocol
31 |
32 | 	/// A static help description attached to each command
33 | 	public static let help = Option(
   |                    |- warning: static property 'help' is not concurrency-safe because non-'Sendable' type 'Option' may have shared mutable state; this is an error in the Swift 6 language mode
   |                    |- note: annotate 'help' 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
34 | 		flag: .both(short: "h", long: "help"),
35 | 		overview: "The help menu",
[13/14] Compiling CommandCougar CommandCougar.swift
/Users/admin/builder/spi-builder-workspace/Sources/CommandCougar/Option.swift:33:20: warning: static property 'help' is not concurrency-safe because non-'Sendable' type 'Option' may have shared mutable state; this is an error in the Swift 6 language mode
28 |
29 | /// A struct for describing a option that a command is allowed to take in
30 | public struct Option: FlagIndexable, CustomStringConvertible, Equatable {
   |               `- note: consider making struct 'Option' conform to the 'Sendable' protocol
31 |
32 | 	/// A static help description attached to each command
33 | 	public static let help = Option(
   |                    |- warning: static property 'help' is not concurrency-safe because non-'Sendable' type 'Option' may have shared mutable state; this is an error in the Swift 6 language mode
   |                    |- note: annotate 'help' 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
34 | 		flag: .both(short: "h", long: "help"),
35 | 		overview: "The help menu",
[14/14] Compiling CommandCougar ParameterEvaluation.swift
Build complete! (16.54s)
Build complete.
{
  "dependencies" : [
  ],
  "manifest_display_name" : "CommandCougar",
  "name" : "CommandCougar",
  "path" : "/Users/admin/builder/spi-builder-workspace",
  "platforms" : [
  ],
  "products" : [
    {
      "name" : "CommandCougar",
      "targets" : [
        "CommandCougar"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    }
  ],
  "targets" : [
    {
      "c99name" : "CommandCougarTests",
      "module_type" : "SwiftTarget",
      "name" : "CommandCougarTests",
      "path" : "Tests/CommandCougarTests",
      "sources" : [
        "CommandCougarTests.swift"
      ],
      "target_dependencies" : [
        "CommandCougar"
      ],
      "type" : "test"
    },
    {
      "c99name" : "CommandCougar",
      "module_type" : "SwiftTarget",
      "name" : "CommandCougar",
      "path" : "Sources/CommandCougar",
      "product_memberships" : [
        "CommandCougar"
      ],
      "sources" : [
        "Command.swift",
        "CommandCougar.swift",
        "CommandEvaluation.swift",
        "CommandIndexable.swift",
        "Extensions.swift",
        "Flag.swift",
        "FlagIndexable.swift",
        "Option.swift",
        "OptionEvaluation.swift",
        "Parameter.swift",
        "ParameterEvaluation.swift"
      ],
      "type" : "library"
    }
  ],
  "tools_version" : "4.0"
}
Done.