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 XCTAssertCrash 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/norio-nomura/xctassertcrash.git
Reference: master
Initialized empty Git repository in /Users/admin/builder/spi-builder-workspace/.git/
From https://github.com/norio-nomura/xctassertcrash
 * branch            master     -> FETCH_HEAD
 * [new branch]      master     -> origin/master
HEAD is now at 4b414b3 [GitHub Actions] Update action-swiftlint to 3.0.1
Cloned https://github.com/norio-nomura/xctassertcrash.git
Revision (git rev-parse @):
4b414b3b865299332b4b0c185c530fe3ea681867
SUCCESS checkout https://github.com/norio-nomura/xctassertcrash.git at master
========================================
Build
========================================
Selected platform:         macosSpm
Swift version:             6.0
Building package at path:  $workDir
https://github.com/norio-nomura/xctassertcrash.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/4] Write sources
[1/4] Write swift-version-6F35C1178C84523A.txt
[2/4] Compiling CMachExceptionHandler CMachExceptionHandler.c
[3/4] Compiling CMachExceptionHandler mach_excServer.c
[5/10] Compiling XCTAssertCrash SwiftReportFatalErrorsToDebugger.swift
/Users/admin/builder/spi-builder-workspace/Sources/XCTAssertCrash/SwiftReportFatalErrorsToDebugger.swift:28:24: warning: static property 'registeredThreads' is not concurrency-safe because it is non-isolated global shared mutable state; this is an error in the Swift 6 language mode
26 |
27 |     private static let queue = DispatchQueue(label: "XCTAssertCrash.MachExceptionHandler")
28 |     private static var registeredThreads = Set<Thread>()
   |                        |- warning: static property 'registeredThreads' is not concurrency-safe because it is non-isolated global shared mutable state; this is an error in the Swift 6 language mode
   |                        |- note: convert 'registeredThreads' to a 'let' constant to make 'Sendable' shared state immutable
   |                        |- note: annotate 'registeredThreads' 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
29 |     private static let name = "_swift_reportFatalErrorsToDebugger"
30 |     private static let pointer = dlopen(nil, RTLD_GLOBAL)
/Users/admin/builder/spi-builder-workspace/Sources/XCTAssertCrash/SwiftReportFatalErrorsToDebugger.swift:30:24: warning: static property 'pointer' is not concurrency-safe because non-'Sendable' type 'UnsafeMutablePointer<Bool>?' may have shared mutable state; this is an error in the Swift 6 language mode
28 |     private static var registeredThreads = Set<Thread>()
29 |     private static let name = "_swift_reportFatalErrorsToDebugger"
30 |     private static let pointer = dlopen(nil, RTLD_GLOBAL)
   |                        |- warning: static property 'pointer' is not concurrency-safe because non-'Sendable' type 'UnsafeMutablePointer<Bool>?' may have shared mutable state; this is an error in the Swift 6 language mode
   |                        |- note: annotate 'pointer' 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
31 |         .map { dlsym($0, name) }
32 |         .flatMap { unsafeBitCast($0, to: UnsafeMutablePointer<Bool>.self) }
Swift.Optional:1:21: note: generic enum 'Optional' does not conform to the 'Sendable' protocol
1 | @frozen public enum Optional<Wrapped> : ~Copyable where Wrapped : ~Copyable {
  |                     `- note: generic enum 'Optional' does not conform to the 'Sendable' protocol
2 |     case none
3 |     case some(Wrapped)
[6/10] Compiling XCTAssertCrash PosixSignal.swift
/Users/admin/builder/spi-builder-workspace/Sources/XCTAssertCrash/PosixSignal.swift:37:16: warning: static property 'registeredSignalInfo' is not concurrency-safe because it is non-isolated global shared mutable state; this is an error in the Swift 6 language mode
 35 |     }
 36 |
 37 |     static var registeredSignalInfo = [SignalInfo]()
    |                |- warning: static property 'registeredSignalInfo' is not concurrency-safe because it is non-isolated global shared mutable state; this is an error in the Swift 6 language mode
    |                |- note: convert 'registeredSignalInfo' to a 'let' constant to make 'Sendable' shared state immutable
    |                |- note: annotate 'registeredSignalInfo' 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
 38 |     static let queue = DispatchQueue(label: "XCTAssertCrash.registerHandlers()")
 39 |
[7/10] Compiling XCTAssertCrash ThreadState.swift
[8/10] Compiling XCTAssertCrash XCTAssertCrash.swift
/Users/admin/builder/spi-builder-workspace/Sources/XCTAssertCrash/XCTAssertCrash.swift:18:12: warning: var 'skipXCTAssertCrashIfIsBeingDebugged' is not concurrency-safe because it is non-isolated global shared mutable state; this is an error in the Swift 6 language mode
 16 | ///  #endif
 17 | /// ```
 18 | public var skipXCTAssertCrashIfIsBeingDebugged: Bool = {
    |            |- warning: var 'skipXCTAssertCrashIfIsBeingDebugged' is not concurrency-safe because it is non-isolated global shared mutable state; this is an error in the Swift 6 language mode
    |            |- note: convert 'skipXCTAssertCrashIfIsBeingDebugged' to a 'let' constant to make 'Sendable' shared state immutable
    |            |- note: annotate 'skipXCTAssertCrashIfIsBeingDebugged' 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
 19 | #if canImport(Darwin) && !os(tvOS) && !os(watchOS)
 20 |     return false
/Users/admin/builder/spi-builder-workspace/Sources/XCTAssertCrash/XCTAssertCrash.swift:82:40: warning: converting non-sendable function value to '@Sendable () -> Void' may introduce data races
 80 |             }
 81 |             if #available(macOS 12, iOS 10, tvOS 10, watchOS 3, *) {
 82 |                 thread = Thread(block: block)
    |                                        `- warning: converting non-sendable function value to '@Sendable () -> Void' may introduce data races
 83 |             } else {
 84 |                 thread = _Thread(block: block)
[9/10] Emitting module XCTAssertCrash
/Users/admin/builder/spi-builder-workspace/Sources/XCTAssertCrash/MachException.swift:34:16: warning: static property 'callSignalHandler' is not concurrency-safe because it is non-isolated global shared mutable state; this is an error in the Swift 6 language mode
 32 |     }()
 33 |
 34 |     static var callSignalHandler: @convention(c) (Int32) -> Void = { signal in
    |                |- warning: static property 'callSignalHandler' is not concurrency-safe because it is non-isolated global shared mutable state; this is an error in the Swift 6 language mode
    |                |- note: convert 'callSignalHandler' to a 'let' constant to make 'Sendable' shared state immutable
    |                |- note: annotate 'callSignalHandler' 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
 35 |         SwiftReportFatalErrorsToDebugger.restore()
 36 |         if let handler = Thread.current.unregisterSignalHandler() {
/Users/admin/builder/spi-builder-workspace/Sources/XCTAssertCrash/PosixSignal.swift:37:16: warning: static property 'registeredSignalInfo' is not concurrency-safe because it is non-isolated global shared mutable state; this is an error in the Swift 6 language mode
 35 |     }
 36 |
 37 |     static var registeredSignalInfo = [SignalInfo]()
    |                |- warning: static property 'registeredSignalInfo' is not concurrency-safe because it is non-isolated global shared mutable state; this is an error in the Swift 6 language mode
    |                |- note: convert 'registeredSignalInfo' to a 'let' constant to make 'Sendable' shared state immutable
    |                |- note: annotate 'registeredSignalInfo' 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
 38 |     static let queue = DispatchQueue(label: "XCTAssertCrash.registerHandlers()")
 39 |
/Users/admin/builder/spi-builder-workspace/Sources/XCTAssertCrash/SwiftReportFatalErrorsToDebugger.swift:28:24: warning: static property 'registeredThreads' is not concurrency-safe because it is non-isolated global shared mutable state; this is an error in the Swift 6 language mode
26 |
27 |     private static let queue = DispatchQueue(label: "XCTAssertCrash.MachExceptionHandler")
28 |     private static var registeredThreads = Set<Thread>()
   |                        |- warning: static property 'registeredThreads' is not concurrency-safe because it is non-isolated global shared mutable state; this is an error in the Swift 6 language mode
   |                        |- note: convert 'registeredThreads' to a 'let' constant to make 'Sendable' shared state immutable
   |                        |- note: annotate 'registeredThreads' 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
29 |     private static let name = "_swift_reportFatalErrorsToDebugger"
30 |     private static let pointer = dlopen(nil, RTLD_GLOBAL)
/Users/admin/builder/spi-builder-workspace/Sources/XCTAssertCrash/SwiftReportFatalErrorsToDebugger.swift:30:24: warning: static property 'pointer' is not concurrency-safe because non-'Sendable' type 'UnsafeMutablePointer<Bool>?' may have shared mutable state; this is an error in the Swift 6 language mode
28 |     private static var registeredThreads = Set<Thread>()
29 |     private static let name = "_swift_reportFatalErrorsToDebugger"
30 |     private static let pointer = dlopen(nil, RTLD_GLOBAL)
   |                        |- warning: static property 'pointer' is not concurrency-safe because non-'Sendable' type 'UnsafeMutablePointer<Bool>?' may have shared mutable state; this is an error in the Swift 6 language mode
   |                        |- note: annotate 'pointer' 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
31 |         .map { dlsym($0, name) }
32 |         .flatMap { unsafeBitCast($0, to: UnsafeMutablePointer<Bool>.self) }
Swift.Optional:1:21: note: generic enum 'Optional' does not conform to the 'Sendable' protocol
1 | @frozen public enum Optional<Wrapped> : ~Copyable where Wrapped : ~Copyable {
  |                     `- note: generic enum 'Optional' does not conform to the 'Sendable' protocol
2 |     case none
3 |     case some(Wrapped)
/Users/admin/builder/spi-builder-workspace/Sources/XCTAssertCrash/XCTAssertCrash.swift:18:12: warning: var 'skipXCTAssertCrashIfIsBeingDebugged' is not concurrency-safe because it is non-isolated global shared mutable state; this is an error in the Swift 6 language mode
 16 | ///  #endif
 17 | /// ```
 18 | public var skipXCTAssertCrashIfIsBeingDebugged: Bool = {
    |            |- warning: var 'skipXCTAssertCrashIfIsBeingDebugged' is not concurrency-safe because it is non-isolated global shared mutable state; this is an error in the Swift 6 language mode
    |            |- note: convert 'skipXCTAssertCrashIfIsBeingDebugged' to a 'let' constant to make 'Sendable' shared state immutable
    |            |- note: annotate 'skipXCTAssertCrashIfIsBeingDebugged' 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
 19 | #if canImport(Darwin) && !os(tvOS) && !os(watchOS)
 20 |     return false
[10/10] Compiling XCTAssertCrash MachException.swift
/Users/admin/builder/spi-builder-workspace/Sources/XCTAssertCrash/MachException.swift:34:16: warning: static property 'callSignalHandler' is not concurrency-safe because it is non-isolated global shared mutable state; this is an error in the Swift 6 language mode
 32 |     }()
 33 |
 34 |     static var callSignalHandler: @convention(c) (Int32) -> Void = { signal in
    |                |- warning: static property 'callSignalHandler' is not concurrency-safe because it is non-isolated global shared mutable state; this is an error in the Swift 6 language mode
    |                |- note: convert 'callSignalHandler' to a 'let' constant to make 'Sendable' shared state immutable
    |                |- note: annotate 'callSignalHandler' 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
 35 |         SwiftReportFatalErrorsToDebugger.restore()
 36 |         if let handler = Thread.current.unregisterSignalHandler() {
Build complete! (27.14s)
Build complete.
{
  "c_language_standard" : "gnu99",
  "dependencies" : [
  ],
  "manifest_display_name" : "XCTAssertCrash",
  "name" : "XCTAssertCrash",
  "path" : "/Users/admin/builder/spi-builder-workspace",
  "platforms" : [
    {
      "name" : "macos",
      "version" : "10.10"
    },
    {
      "name" : "ios",
      "version" : "8.0"
    },
    {
      "name" : "tvos",
      "version" : "9.0"
    }
  ],
  "products" : [
    {
      "name" : "XCTAssertCrash",
      "targets" : [
        "XCTAssertCrash"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    }
  ],
  "targets" : [
    {
      "c99name" : "XCTAssertCrashTests",
      "module_type" : "SwiftTarget",
      "name" : "XCTAssertCrashTests",
      "path" : "Tests/XCTAssertCrashTests",
      "sources" : [
        "AbortTests.swift",
        "XCTAssertCrashTests.swift",
        "XCTestManifests.swift"
      ],
      "target_dependencies" : [
        "XCTAssertCrash"
      ],
      "type" : "test"
    },
    {
      "c99name" : "XCTAssertCrash",
      "module_type" : "SwiftTarget",
      "name" : "XCTAssertCrash",
      "path" : "Sources/XCTAssertCrash",
      "product_memberships" : [
        "XCTAssertCrash"
      ],
      "sources" : [
        "MachException.swift",
        "PosixSignal.swift",
        "SwiftReportFatalErrorsToDebugger.swift",
        "ThreadState.swift",
        "XCTAssertCrash.swift"
      ],
      "target_dependencies" : [
        "CMachExceptionHandler"
      ],
      "type" : "library"
    },
    {
      "c99name" : "CMachExceptionHandler",
      "module_type" : "ClangTarget",
      "name" : "CMachExceptionHandler",
      "path" : "Sources/CMachExceptionHandler",
      "product_memberships" : [
        "XCTAssertCrash"
      ],
      "sources" : [
        "CMachExceptionHandler.c",
        "mach_excServer.c"
      ],
      "type" : "library"
    }
  ],
  "tools_version" : "5.0"
}
Done.
This is a staging environment. For live and up-to-date package information, visit swiftpackageindex.com.