This is a staging environment. For live and up-to-date package information, visit swiftpackageindex.com.

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 Matchable with Swift 6.0 for macOS (SPM).

Swift 6 data race errors: 5

Build Command

env DEVELOPER_DIR=/Applications/Xcode-15.3.0.app xcrun --toolchain org.swift.600202405261a swift build --arch arm64 -Xswiftc -Xfrontend -Xswiftc -stats-output-dir -Xswiftc -Xfrontend -Xswiftc .stats -Xswiftc -strict-concurrency=complete

Build Log

========================================
RunAll
========================================
Builder version: 4.40.0
Interrupt handler set up.
========================================
Checkout
========================================
Clone URL: https://github.com/elegantchaos/Matchable.git
Reference: main
Initialized empty Git repository in /Users/admin/builder/spi-builder-workspace/.git/
From https://github.com/elegantchaos/Matchable
 * branch            main       -> FETCH_HEAD
 * [new branch]      main       -> origin/main
HEAD is now at d53e807 added license
Cloned https://github.com/elegantchaos/Matchable.git
Revision (git rev-parse @):
d53e807009960aafbd54f6229c2542f906628b38
SUCCESS checkout https://github.com/elegantchaos/Matchable.git at main
========================================
Build
========================================
Selected platform:         macosSpm
Swift version:             6.0
Building package at path:  $workDir
https://github.com/elegantchaos/Matchable.git
Running build ...
env DEVELOPER_DIR=/Applications/Xcode-15.3.0.app xcrun --toolchain org.swift.600202405261a 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-6F35C1178C84523A.txt
[3/13] Emitting module Matchable
/Users/admin/builder/spi-builder-workspace/Sources/Matchable/MatchFailedError.swift:34:16: warning: stored property 'value' of 'Sendable'-conforming generic struct 'MatchFailedError' has non-sendable type 'T'; this is an error in the Swift 6 language mode
22 | /// up in another error for the structure as a whole, and thrown again.
23 |
24 | public struct MatchFailedError<T>: MatchFailedErrorBase {
   |                                `- note: consider making generic parameter 'T' conform to the 'Sendable' protocol
25 |     public init(_ detail: String, value: T, expected: T, underlyingError: MatchFailedErrorBase? = nil, context: MatchableContext) {
26 |         self.detail = detail
   :
32 |
33 |     public let detail: String
34 |     public let value: T
   |                `- warning: stored property 'value' of 'Sendable'-conforming generic struct 'MatchFailedError' has non-sendable type 'T'; this is an error in the Swift 6 language mode
35 |     public let expected: T
36 |     public let context: MatchableContext
/Users/admin/builder/spi-builder-workspace/Sources/Matchable/MatchFailedError.swift:35:16: warning: stored property 'expected' of 'Sendable'-conforming generic struct 'MatchFailedError' has non-sendable type 'T'; this is an error in the Swift 6 language mode
22 | /// up in another error for the structure as a whole, and thrown again.
23 |
24 | public struct MatchFailedError<T>: MatchFailedErrorBase {
   |                                `- note: consider making generic parameter 'T' conform to the 'Sendable' protocol
25 |     public init(_ detail: String, value: T, expected: T, underlyingError: MatchFailedErrorBase? = nil, context: MatchableContext) {
26 |         self.detail = detail
   :
33 |     public let detail: String
34 |     public let value: T
35 |     public let expected: T
   |                `- warning: stored property 'expected' of 'Sendable'-conforming generic struct 'MatchFailedError' has non-sendable type 'T'; this is an error in the Swift 6 language mode
36 |     public let context: MatchableContext
37 |     public let underlyingError: MatchFailedErrorBase?
/Users/admin/builder/spi-builder-workspace/Sources/Matchable/MatchFailedError.swift:36:16: warning: stored property 'context' of 'Sendable'-conforming generic struct 'MatchFailedError' has non-sendable type 'any MatchableContext'; this is an error in the Swift 6 language mode
34 |     public let value: T
35 |     public let expected: T
36 |     public let context: MatchableContext
   |                `- warning: stored property 'context' of 'Sendable'-conforming generic struct 'MatchFailedError' has non-sendable type 'any MatchableContext'; this is an error in the Swift 6 language mode
37 |     public let underlyingError: MatchFailedErrorBase?
38 | }
/Users/admin/builder/spi-builder-workspace/Sources/Matchable/Matchable.swift:27:17: note: protocol 'MatchableContext' does not conform to the 'Sendable' protocol
 25 | /// such as whether to take account of case sensitivity when matching text.
 26 |
 27 | public protocol MatchableContext {
    |                 `- note: protocol 'MatchableContext' does not conform to the 'Sendable' protocol
 28 |     var file: StaticString { get }
 29 |     var line: UInt { get }
/Users/admin/builder/spi-builder-workspace/Sources/Matchable/Matchable.swift:60:23: warning: static property 'ignoringWhitespace' is not concurrency-safe because non-'Sendable' type 'MatchOptions' may have shared mutable state; this is an error in the Swift 6 language mode
 52 |
 53 | /// Options that can be used to modify the behaviour of the matching.
 54 | public struct MatchOptions: OptionSet {
    |               `- note: consider making struct 'MatchOptions' conform to the 'Sendable' protocol
 55 |     public let rawValue: Int
 56 |     public init(rawValue: Int) {
    :
 58 |     }
 59 |
 60 |     public static let ignoringWhitespace = Self(rawValue: 1 << 0)
    |                       |- warning: static property 'ignoringWhitespace' is not concurrency-safe because non-'Sendable' type 'MatchOptions' may have shared mutable state; this is an error in the Swift 6 language mode
    |                       |- note: annotate 'ignoringWhitespace' 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
 61 |     public static let `default`: MatchOptions = []
 62 | }
/Users/admin/builder/spi-builder-workspace/Sources/Matchable/Matchable.swift:61:23: warning: static property 'default' is not concurrency-safe because non-'Sendable' type 'MatchOptions' may have shared mutable state; this is an error in the Swift 6 language mode
 52 |
 53 | /// Options that can be used to modify the behaviour of the matching.
 54 | public struct MatchOptions: OptionSet {
    |               `- note: consider making struct 'MatchOptions' conform to the 'Sendable' protocol
 55 |     public let rawValue: Int
 56 |     public init(rawValue: Int) {
    :
 59 |
 60 |     public static let ignoringWhitespace = Self(rawValue: 1 << 0)
 61 |     public static let `default`: MatchOptions = []
    |                       |- warning: static property 'default' is not concurrency-safe because non-'Sendable' type 'MatchOptions' may have shared mutable state; this is an error in the Swift 6 language mode
    |                       |- note: annotate 'default' 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
 62 | }
 63 |
[4/13] Compiling Matchable FloatingPoint+Matchable.swift
[5/13] Compiling Matchable Bool+Matchable.swift
[6/13] Compiling Matchable Collections+Matchable.swift
[7/14] Compiling Matchable RawRepresentable+Matchable.swift
[8/14] Compiling Matchable Optional+Matchable.swift
[9/14] Compiling Matchable Integer+Matchable.swift
[10/14] Compiling Matchable Matchable.swift
/Users/admin/builder/spi-builder-workspace/Sources/Matchable/Matchable.swift:60:23: warning: static property 'ignoringWhitespace' is not concurrency-safe because non-'Sendable' type 'MatchOptions' may have shared mutable state; this is an error in the Swift 6 language mode
 52 |
 53 | /// Options that can be used to modify the behaviour of the matching.
 54 | public struct MatchOptions: OptionSet {
    |               `- note: consider making struct 'MatchOptions' conform to the 'Sendable' protocol
 55 |     public let rawValue: Int
 56 |     public init(rawValue: Int) {
    :
 58 |     }
 59 |
 60 |     public static let ignoringWhitespace = Self(rawValue: 1 << 0)
    |                       |- warning: static property 'ignoringWhitespace' is not concurrency-safe because non-'Sendable' type 'MatchOptions' may have shared mutable state; this is an error in the Swift 6 language mode
    |                       |- note: annotate 'ignoringWhitespace' 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
 61 |     public static let `default`: MatchOptions = []
 62 | }
/Users/admin/builder/spi-builder-workspace/Sources/Matchable/Matchable.swift:61:23: warning: static property 'default' is not concurrency-safe because non-'Sendable' type 'MatchOptions' may have shared mutable state; this is an error in the Swift 6 language mode
 52 |
 53 | /// Options that can be used to modify the behaviour of the matching.
 54 | public struct MatchOptions: OptionSet {
    |               `- note: consider making struct 'MatchOptions' conform to the 'Sendable' protocol
 55 |     public let rawValue: Int
 56 |     public init(rawValue: Int) {
    :
 59 |
 60 |     public static let ignoringWhitespace = Self(rawValue: 1 << 0)
 61 |     public static let `default`: MatchOptions = []
    |                       |- warning: static property 'default' is not concurrency-safe because non-'Sendable' type 'MatchOptions' may have shared mutable state; this is an error in the Swift 6 language mode
    |                       |- note: annotate 'default' 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
 62 | }
 63 |
[11/14] Compiling Matchable Date+Matchable.swift
[12/14] Compiling Matchable MatchFailedError.swift
/Users/admin/builder/spi-builder-workspace/Sources/Matchable/MatchFailedError.swift:34:16: warning: stored property 'value' of 'Sendable'-conforming generic struct 'MatchFailedError' has non-sendable type 'T'; this is an error in the Swift 6 language mode
22 | /// up in another error for the structure as a whole, and thrown again.
23 |
24 | public struct MatchFailedError<T>: MatchFailedErrorBase {
   |                                `- note: consider making generic parameter 'T' conform to the 'Sendable' protocol
25 |     public init(_ detail: String, value: T, expected: T, underlyingError: MatchFailedErrorBase? = nil, context: MatchableContext) {
26 |         self.detail = detail
   :
32 |
33 |     public let detail: String
34 |     public let value: T
   |                `- warning: stored property 'value' of 'Sendable'-conforming generic struct 'MatchFailedError' has non-sendable type 'T'; this is an error in the Swift 6 language mode
35 |     public let expected: T
36 |     public let context: MatchableContext
/Users/admin/builder/spi-builder-workspace/Sources/Matchable/MatchFailedError.swift:35:16: warning: stored property 'expected' of 'Sendable'-conforming generic struct 'MatchFailedError' has non-sendable type 'T'; this is an error in the Swift 6 language mode
22 | /// up in another error for the structure as a whole, and thrown again.
23 |
24 | public struct MatchFailedError<T>: MatchFailedErrorBase {
   |                                `- note: consider making generic parameter 'T' conform to the 'Sendable' protocol
25 |     public init(_ detail: String, value: T, expected: T, underlyingError: MatchFailedErrorBase? = nil, context: MatchableContext) {
26 |         self.detail = detail
   :
33 |     public let detail: String
34 |     public let value: T
35 |     public let expected: T
   |                `- warning: stored property 'expected' of 'Sendable'-conforming generic struct 'MatchFailedError' has non-sendable type 'T'; this is an error in the Swift 6 language mode
36 |     public let context: MatchableContext
37 |     public let underlyingError: MatchFailedErrorBase?
/Users/admin/builder/spi-builder-workspace/Sources/Matchable/MatchFailedError.swift:36:16: warning: stored property 'context' of 'Sendable'-conforming generic struct 'MatchFailedError' has non-sendable type 'any MatchableContext'; this is an error in the Swift 6 language mode
34 |     public let value: T
35 |     public let expected: T
36 |     public let context: MatchableContext
   |                `- warning: stored property 'context' of 'Sendable'-conforming generic struct 'MatchFailedError' has non-sendable type 'any MatchableContext'; this is an error in the Swift 6 language mode
37 |     public let underlyingError: MatchFailedErrorBase?
38 | }
/Users/admin/builder/spi-builder-workspace/Sources/Matchable/Matchable.swift:27:17: note: protocol 'MatchableContext' does not conform to the 'Sendable' protocol
 25 | /// such as whether to take account of case sensitivity when matching text.
 26 |
 27 | public protocol MatchableContext {
    |                 `- note: protocol 'MatchableContext' does not conform to the 'Sendable' protocol
 28 |     var file: StaticString { get }
 29 |     var line: UInt { get }
[13/14] Compiling Matchable MatchableCompound.swift
[14/14] Compiling Matchable String+Matchable.swift
/Users/admin/builder/spi-builder-workspace/Sources/Matchable/Matchable.swift:60:23: warning: static property 'ignoringWhitespace' is not concurrency-safe because non-'Sendable' type 'MatchOptions' may have shared mutable state; this is an error in the Swift 6 language mode
 52 |
 53 | /// Options that can be used to modify the behaviour of the matching.
 54 | public struct MatchOptions: OptionSet {
    |               `- note: consider making struct 'MatchOptions' conform to the 'Sendable' protocol
 55 |     public let rawValue: Int
 56 |     public init(rawValue: Int) {
    :
 58 |     }
 59 |
 60 |     public static let ignoringWhitespace = Self(rawValue: 1 << 0)
    |                       |- warning: static property 'ignoringWhitespace' is not concurrency-safe because non-'Sendable' type 'MatchOptions' may have shared mutable state; this is an error in the Swift 6 language mode
    |                       |- note: annotate 'ignoringWhitespace' 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
 61 |     public static let `default`: MatchOptions = []
 62 | }
Build complete! (22.01s)
Build complete.
{
  "dependencies" : [
  ],
  "manifest_display_name" : "Matchable",
  "name" : "Matchable",
  "path" : "/Users/admin/builder/spi-builder-workspace",
  "platforms" : [
    {
      "name" : "macos",
      "version" : "10.13"
    },
    {
      "name" : "ios",
      "version" : "10.0"
    },
    {
      "name" : "tvos",
      "version" : "10.0"
    },
    {
      "name" : "watchos",
      "version" : "6.0"
    }
  ],
  "products" : [
    {
      "name" : "Matchable",
      "targets" : [
        "Matchable"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    }
  ],
  "targets" : [
    {
      "c99name" : "MatchableTests",
      "module_type" : "SwiftTarget",
      "name" : "MatchableTests",
      "path" : "Tests/MatchableTests",
      "sources" : [
        "MatchableTests.swift",
        "XCTestManifests.swift"
      ],
      "target_dependencies" : [
        "Matchable"
      ],
      "type" : "test"
    },
    {
      "c99name" : "Matchable",
      "module_type" : "SwiftTarget",
      "name" : "Matchable",
      "path" : "Sources/Matchable",
      "product_memberships" : [
        "Matchable"
      ],
      "sources" : [
        "Bool+Matchable.swift",
        "Collections+Matchable.swift",
        "Date+Matchable.swift",
        "FloatingPoint+Matchable.swift",
        "Integer+Matchable.swift",
        "MatchFailedError.swift",
        "Matchable.swift",
        "MatchableCompound.swift",
        "Optional+Matchable.swift",
        "RawRepresentable+Matchable.swift",
        "String+Matchable.swift"
      ],
      "type" : "library"
    }
  ],
  "tools_version" : "5.1"
}
Done.
This is a staging environment. For live and up-to-date package information, visit swiftpackageindex.com.