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 USBDeviceSwift, reference master (b26a0b), with Swift 6.0 for macOS (SPM) on 30 Nov 2024 07:59:59 UTC.

Swift 6 data race errors: 3

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 -Xswiftc -enable-upcoming-feature -Xswiftc StrictConcurrency -Xswiftc -enable-upcoming-feature -Xswiftc DisableOutwardActorInference -Xswiftc -enable-upcoming-feature -Xswiftc GlobalActorIsolatedTypesUsability -Xswiftc -enable-upcoming-feature -Xswiftc InferSendableFromCaptures

Build Log

========================================
RunAll
========================================
Builder version: 4.58.1
Interrupt handler set up.
========================================
Checkout
========================================
Clone URL: https://github.com/Arti3DPlayer/USBDeviceSwift.git
Reference: master
Initialized empty Git repository in /Users/admin/builder/spi-builder-workspace/.git/
From https://github.com/Arti3DPlayer/USBDeviceSwift
 * branch            master     -> FETCH_HEAD
 * [new branch]      master     -> origin/master
HEAD is now at b26a0b4 Merge pull request #27 from emorydunn/master
Cloned https://github.com/Arti3DPlayer/USBDeviceSwift.git
Revision (git rev-parse @):
b26a0b4b3f9230ac767eee248e31706f7949a143
SUCCESS checkout https://github.com/Arti3DPlayer/USBDeviceSwift.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": "usbdeviceswift",
      "name": "USBDeviceSwift",
      "url": "https://github.com/Arti3DPlayer/USBDeviceSwift.git",
      "version": "unspecified",
      "path": "/Users/admin/builder/spi-builder-workspace/.resolve-product-dependencies/.build/checkouts/USBDeviceSwift",
      "dependencies": [
      ]
    }
  ]
}
Fetching https://github.com/Arti3DPlayer/USBDeviceSwift.git
[1/311] Fetching usbdeviceswift
Fetched https://github.com/Arti3DPlayer/USBDeviceSwift.git from cache (0.81s)
Creating working copy for https://github.com/Arti3DPlayer/USBDeviceSwift.git
Working copy of https://github.com/Arti3DPlayer/USBDeviceSwift.git resolved at master (b26a0b4)
warning: '.resolve-product-dependencies': dependency 'usbdeviceswift' 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/Arti3DPlayer/USBDeviceSwift.git
{
  "dependencies" : [
  ],
  "manifest_display_name" : "USBDeviceSwift",
  "name" : "USBDeviceSwift",
  "path" : "/Users/admin/builder/spi-builder-workspace",
  "platforms" : [
  ],
  "products" : [
    {
      "name" : "USBDeviceSwift",
      "targets" : [
        "USBDeviceSwift"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    }
  ],
  "targets" : [
    {
      "c99name" : "USBDeviceSwift",
      "module_type" : "SwiftTarget",
      "name" : "USBDeviceSwift",
      "path" : "Sources",
      "product_memberships" : [
        "USBDeviceSwift"
      ],
      "sources" : [
        "HIDDevice.swift",
        "HIDDeviceMonitor.swift",
        "SerialDevice.swift",
        "SerialDeviceMonitor.swift",
        "USBDevice.swift",
        "USBDeviceMonitor.swift"
      ],
      "type" : "library"
    }
  ],
  "tools_version" : "4.0"
}
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 -Xswiftc -enable-upcoming-feature -Xswiftc StrictConcurrency -Xswiftc -enable-upcoming-feature -Xswiftc DisableOutwardActorInference -Xswiftc -enable-upcoming-feature -Xswiftc GlobalActorIsolatedTypesUsability -Xswiftc -enable-upcoming-feature -Xswiftc InferSendableFromCaptures
Building for debugging...
[0/2] Write sources
[1/2] Write swift-version--7754E27361AE5C74.txt
[3/9] Emitting module USBDeviceSwift
/Users/admin/builder/spi-builder-workspace/Sources/SerialDevice.swift:32:16: warning: 'Hashable.hashValue' is deprecated as a protocol requirement; conform type 'SerialDevice' to 'Hashable' by implementing 'hash(into:)' instead
30 |
31 | extension SerialDevice: Hashable {
32 |     public var hashValue: Int {
   |                `- warning: 'Hashable.hashValue' is deprecated as a protocol requirement; conform type 'SerialDevice' to 'Hashable' by implementing 'hash(into:)' instead
33 |         return "\(path)".hashValue
34 |     }
/Users/admin/builder/spi-builder-workspace/Sources/USBDevice.swift:15:12: warning: let 'kIOUSBDeviceUserClientTypeID' is not concurrency-safe because non-'Sendable' type 'CFUUID?' may have shared mutable state; this is an error in the Swift 6 language mode
13 |
14 | //from IOUSBLib.h
15 | public let kIOUSBDeviceUserClientTypeID = CFUUIDGetConstantUUIDWithBytes(nil,
   |            `- warning: let 'kIOUSBDeviceUserClientTypeID' is not concurrency-safe because non-'Sendable' type 'CFUUID?' may have shared mutable state; this is an error in the Swift 6 language mode
16 |                                                                   0x9d, 0xc7, 0xb7, 0x80, 0x9e, 0xc0, 0x11, 0xD4,
17 |                                                                   0xa5, 0x4f, 0x00, 0x0a, 0x27, 0x05, 0x28, 0x61)
CoreFoundation.CFUUID:1:14: note: class 'CFUUID' does not conform to the 'Sendable' protocol
1 | public class CFUUID : _CFObject {
  |              `- note: class 'CFUUID' does not conform to the 'Sendable' protocol
2 | }
/Users/admin/builder/spi-builder-workspace/Sources/USBDevice.swift:9:1: warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'CoreFoundation'
 7 | //
 8 |
 9 | import Cocoa
   | `- warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'CoreFoundation'
10 | import IOKit
11 | import IOKit.usb
   :
13 |
14 | //from IOUSBLib.h
15 | public let kIOUSBDeviceUserClientTypeID = CFUUIDGetConstantUUIDWithBytes(nil,
   |            |- note: annotate 'kIOUSBDeviceUserClientTypeID' 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
16 |                                                                   0x9d, 0xc7, 0xb7, 0x80, 0x9e, 0xc0, 0x11, 0xD4,
17 |                                                                   0xa5, 0x4f, 0x00, 0x0a, 0x27, 0x05, 0x28, 0x61)
/Users/admin/builder/spi-builder-workspace/Sources/USBDevice.swift:18:12: warning: let 'kIOUSBDeviceInterfaceID' is not concurrency-safe because non-'Sendable' type 'CFUUID?' may have shared mutable state; this is an error in the Swift 6 language mode
16 |                                                                   0x9d, 0xc7, 0xb7, 0x80, 0x9e, 0xc0, 0x11, 0xD4,
17 |                                                                   0xa5, 0x4f, 0x00, 0x0a, 0x27, 0x05, 0x28, 0x61)
18 | public let kIOUSBDeviceInterfaceID = CFUUIDGetConstantUUIDWithBytes(nil,
   |            |- warning: let 'kIOUSBDeviceInterfaceID' is not concurrency-safe because non-'Sendable' type 'CFUUID?' may have shared mutable state; this is an error in the Swift 6 language mode
   |            |- note: annotate 'kIOUSBDeviceInterfaceID' 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 |                                                              0x5c, 0x81, 0x87, 0xd0, 0x9e, 0xf3, 0x11, 0xD4,
20 |                                                              0x8b, 0x45, 0x00, 0x0a, 0x27, 0x05, 0x28, 0x61)
CoreFoundation.CFUUID:1:14: note: class 'CFUUID' does not conform to the 'Sendable' protocol
1 | public class CFUUID : _CFObject {
  |              `- note: class 'CFUUID' does not conform to the 'Sendable' protocol
2 | }
/Users/admin/builder/spi-builder-workspace/Sources/USBDevice.swift:23:12: warning: let 'kIOCFPlugInInterfaceID' is not concurrency-safe because non-'Sendable' type 'CFUUID?' may have shared mutable state; this is an error in the Swift 6 language mode
21 |
22 | //from IOCFPlugin.h
23 | public let kIOCFPlugInInterfaceID = CFUUIDGetConstantUUIDWithBytes(nil,
   |            |- warning: let 'kIOCFPlugInInterfaceID' is not concurrency-safe because non-'Sendable' type 'CFUUID?' may have shared mutable state; this is an error in the Swift 6 language mode
   |            |- note: annotate 'kIOCFPlugInInterfaceID' 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
24 |                                                             0xC2, 0x44, 0xE8, 0x58, 0x10, 0x9C, 0x11, 0xD4,
25 |                                                             0x91, 0xD4, 0x00, 0x50, 0xE4, 0xC6, 0x42, 0x6F)
CoreFoundation.CFUUID:1:14: note: class 'CFUUID' does not conform to the 'Sendable' protocol
1 | public class CFUUID : _CFObject {
  |              `- note: class 'CFUUID' does not conform to the 'Sendable' protocol
2 | }
[4/9] Compiling USBDeviceSwift SerialDevice.swift
/Users/admin/builder/spi-builder-workspace/Sources/SerialDevice.swift:32:16: warning: 'Hashable.hashValue' is deprecated as a protocol requirement; conform type 'SerialDevice' to 'Hashable' by implementing 'hash(into:)' instead
30 |
31 | extension SerialDevice: Hashable {
32 |     public var hashValue: Int {
   |                `- warning: 'Hashable.hashValue' is deprecated as a protocol requirement; conform type 'SerialDevice' to 'Hashable' by implementing 'hash(into:)' instead
33 |         return "\(path)".hashValue
34 |     }
[5/9] Compiling USBDeviceSwift SerialDeviceMonitor.swift
[6/9] Compiling USBDeviceSwift HIDDeviceMonitor.swift
[7/9] Compiling USBDeviceSwift USBDeviceMonitor.swift
/Users/admin/builder/spi-builder-workspace/Sources/USBDevice.swift:15:12: warning: let 'kIOUSBDeviceUserClientTypeID' is not concurrency-safe because non-'Sendable' type 'CFUUID?' may have shared mutable state; this is an error in the Swift 6 language mode
13 |
14 | //from IOUSBLib.h
15 | public let kIOUSBDeviceUserClientTypeID = CFUUIDGetConstantUUIDWithBytes(nil,
   |            `- warning: let 'kIOUSBDeviceUserClientTypeID' is not concurrency-safe because non-'Sendable' type 'CFUUID?' may have shared mutable state; this is an error in the Swift 6 language mode
16 |                                                                   0x9d, 0xc7, 0xb7, 0x80, 0x9e, 0xc0, 0x11, 0xD4,
17 |                                                                   0xa5, 0x4f, 0x00, 0x0a, 0x27, 0x05, 0x28, 0x61)
CoreFoundation.CFUUID:1:14: note: class 'CFUUID' does not conform to the 'Sendable' protocol
1 | public class CFUUID : _CFObject {
  |              `- note: class 'CFUUID' does not conform to the 'Sendable' protocol
2 | }
/Users/admin/builder/spi-builder-workspace/Sources/USBDevice.swift:9:1: warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'CoreFoundation'
 7 | //
 8 |
 9 | import Cocoa
   | `- warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'CoreFoundation'
10 | import IOKit
11 | import IOKit.usb
   :
13 |
14 | //from IOUSBLib.h
15 | public let kIOUSBDeviceUserClientTypeID = CFUUIDGetConstantUUIDWithBytes(nil,
   |            |- note: annotate 'kIOUSBDeviceUserClientTypeID' 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
16 |                                                                   0x9d, 0xc7, 0xb7, 0x80, 0x9e, 0xc0, 0x11, 0xD4,
17 |                                                                   0xa5, 0x4f, 0x00, 0x0a, 0x27, 0x05, 0x28, 0x61)
/Users/admin/builder/spi-builder-workspace/Sources/USBDevice.swift:23:12: warning: let 'kIOCFPlugInInterfaceID' is not concurrency-safe because non-'Sendable' type 'CFUUID?' may have shared mutable state; this is an error in the Swift 6 language mode
21 |
22 | //from IOCFPlugin.h
23 | public let kIOCFPlugInInterfaceID = CFUUIDGetConstantUUIDWithBytes(nil,
   |            |- warning: let 'kIOCFPlugInInterfaceID' is not concurrency-safe because non-'Sendable' type 'CFUUID?' may have shared mutable state; this is an error in the Swift 6 language mode
   |            |- note: annotate 'kIOCFPlugInInterfaceID' 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
24 |                                                             0xC2, 0x44, 0xE8, 0x58, 0x10, 0x9C, 0x11, 0xD4,
25 |                                                             0x91, 0xD4, 0x00, 0x50, 0xE4, 0xC6, 0x42, 0x6F)
CoreFoundation.CFUUID:1:14: note: class 'CFUUID' does not conform to the 'Sendable' protocol
1 | public class CFUUID : _CFObject {
  |              `- note: class 'CFUUID' does not conform to the 'Sendable' protocol
2 | }
/Users/admin/builder/spi-builder-workspace/Sources/USBDevice.swift:18:12: warning: let 'kIOUSBDeviceInterfaceID' is not concurrency-safe because non-'Sendable' type 'CFUUID?' may have shared mutable state; this is an error in the Swift 6 language mode
16 |                                                                   0x9d, 0xc7, 0xb7, 0x80, 0x9e, 0xc0, 0x11, 0xD4,
17 |                                                                   0xa5, 0x4f, 0x00, 0x0a, 0x27, 0x05, 0x28, 0x61)
18 | public let kIOUSBDeviceInterfaceID = CFUUIDGetConstantUUIDWithBytes(nil,
   |            |- warning: let 'kIOUSBDeviceInterfaceID' is not concurrency-safe because non-'Sendable' type 'CFUUID?' may have shared mutable state; this is an error in the Swift 6 language mode
   |            |- note: annotate 'kIOUSBDeviceInterfaceID' 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 |                                                              0x5c, 0x81, 0x87, 0xd0, 0x9e, 0xf3, 0x11, 0xD4,
20 |                                                              0x8b, 0x45, 0x00, 0x0a, 0x27, 0x05, 0x28, 0x61)
CoreFoundation.CFUUID:1:14: note: class 'CFUUID' does not conform to the 'Sendable' protocol
1 | public class CFUUID : _CFObject {
  |              `- note: class 'CFUUID' does not conform to the 'Sendable' protocol
2 | }
[8/9] Compiling USBDeviceSwift USBDevice.swift
/Users/admin/builder/spi-builder-workspace/Sources/USBDevice.swift:15:12: warning: let 'kIOUSBDeviceUserClientTypeID' is not concurrency-safe because non-'Sendable' type 'CFUUID?' may have shared mutable state; this is an error in the Swift 6 language mode
13 |
14 | //from IOUSBLib.h
15 | public let kIOUSBDeviceUserClientTypeID = CFUUIDGetConstantUUIDWithBytes(nil,
   |            `- warning: let 'kIOUSBDeviceUserClientTypeID' is not concurrency-safe because non-'Sendable' type 'CFUUID?' may have shared mutable state; this is an error in the Swift 6 language mode
16 |                                                                   0x9d, 0xc7, 0xb7, 0x80, 0x9e, 0xc0, 0x11, 0xD4,
17 |                                                                   0xa5, 0x4f, 0x00, 0x0a, 0x27, 0x05, 0x28, 0x61)
CoreFoundation.CFUUID:1:14: note: class 'CFUUID' does not conform to the 'Sendable' protocol
1 | public class CFUUID : _CFObject {
  |              `- note: class 'CFUUID' does not conform to the 'Sendable' protocol
2 | }
/Users/admin/builder/spi-builder-workspace/Sources/USBDevice.swift:9:1: warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'CoreFoundation'
 7 | //
 8 |
 9 | import Cocoa
   | `- warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'CoreFoundation'
10 | import IOKit
11 | import IOKit.usb
   :
13 |
14 | //from IOUSBLib.h
15 | public let kIOUSBDeviceUserClientTypeID = CFUUIDGetConstantUUIDWithBytes(nil,
   |            |- note: annotate 'kIOUSBDeviceUserClientTypeID' 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
16 |                                                                   0x9d, 0xc7, 0xb7, 0x80, 0x9e, 0xc0, 0x11, 0xD4,
17 |                                                                   0xa5, 0x4f, 0x00, 0x0a, 0x27, 0x05, 0x28, 0x61)
/Users/admin/builder/spi-builder-workspace/Sources/USBDevice.swift:18:12: warning: let 'kIOUSBDeviceInterfaceID' is not concurrency-safe because non-'Sendable' type 'CFUUID?' may have shared mutable state; this is an error in the Swift 6 language mode
16 |                                                                   0x9d, 0xc7, 0xb7, 0x80, 0x9e, 0xc0, 0x11, 0xD4,
17 |                                                                   0xa5, 0x4f, 0x00, 0x0a, 0x27, 0x05, 0x28, 0x61)
18 | public let kIOUSBDeviceInterfaceID = CFUUIDGetConstantUUIDWithBytes(nil,
   |            |- warning: let 'kIOUSBDeviceInterfaceID' is not concurrency-safe because non-'Sendable' type 'CFUUID?' may have shared mutable state; this is an error in the Swift 6 language mode
   |            |- note: annotate 'kIOUSBDeviceInterfaceID' 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 |                                                              0x5c, 0x81, 0x87, 0xd0, 0x9e, 0xf3, 0x11, 0xD4,
20 |                                                              0x8b, 0x45, 0x00, 0x0a, 0x27, 0x05, 0x28, 0x61)
CoreFoundation.CFUUID:1:14: note: class 'CFUUID' does not conform to the 'Sendable' protocol
1 | public class CFUUID : _CFObject {
  |              `- note: class 'CFUUID' does not conform to the 'Sendable' protocol
2 | }
/Users/admin/builder/spi-builder-workspace/Sources/USBDevice.swift:23:12: warning: let 'kIOCFPlugInInterfaceID' is not concurrency-safe because non-'Sendable' type 'CFUUID?' may have shared mutable state; this is an error in the Swift 6 language mode
21 |
22 | //from IOCFPlugin.h
23 | public let kIOCFPlugInInterfaceID = CFUUIDGetConstantUUIDWithBytes(nil,
   |            |- warning: let 'kIOCFPlugInInterfaceID' is not concurrency-safe because non-'Sendable' type 'CFUUID?' may have shared mutable state; this is an error in the Swift 6 language mode
   |            |- note: annotate 'kIOCFPlugInInterfaceID' 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
24 |                                                             0xC2, 0x44, 0xE8, 0x58, 0x10, 0x9C, 0x11, 0xD4,
25 |                                                             0x91, 0xD4, 0x00, 0x50, 0xE4, 0xC6, 0x42, 0x6F)
CoreFoundation.CFUUID:1:14: note: class 'CFUUID' does not conform to the 'Sendable' protocol
1 | public class CFUUID : _CFObject {
  |              `- note: class 'CFUUID' does not conform to the 'Sendable' protocol
2 | }
[9/9] Compiling USBDeviceSwift HIDDevice.swift
Build complete! (9.24s)
Build complete.
{
  "dependencies" : [
  ],
  "manifest_display_name" : "USBDeviceSwift",
  "name" : "USBDeviceSwift",
  "path" : "/Users/admin/builder/spi-builder-workspace",
  "platforms" : [
  ],
  "products" : [
    {
      "name" : "USBDeviceSwift",
      "targets" : [
        "USBDeviceSwift"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    }
  ],
  "targets" : [
    {
      "c99name" : "USBDeviceSwift",
      "module_type" : "SwiftTarget",
      "name" : "USBDeviceSwift",
      "path" : "Sources",
      "product_memberships" : [
        "USBDeviceSwift"
      ],
      "sources" : [
        "HIDDevice.swift",
        "HIDDeviceMonitor.swift",
        "SerialDevice.swift",
        "SerialDeviceMonitor.swift",
        "USBDevice.swift",
        "USBDeviceMonitor.swift"
      ],
      "type" : "library"
    }
  ],
  "tools_version" : "4.0"
}
Done.