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 SwiftyGPIO, reference 2.0.0-beta10 (d9b049), with Swift 6.1 for macOS (SPM) on 28 Apr 2025 01:34:27 UTC.

Swift 6 data race errors: 16

Build Command

env DEVELOPER_DIR=/Applications/Xcode-16.3.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.61.0
Interrupt handler set up.
========================================
Checkout
========================================
Clone URL: https://github.com/uraimo/SwiftyGPIO.git
Reference: 2.0.0-beta10
Initialized empty Git repository in /Users/admin/builder/spi-builder-workspace/.git/
From https://github.com/uraimo/SwiftyGPIO
 * tag               2.0.0-beta10 -> FETCH_HEAD
HEAD is now at d9b0494 Workaround for #96, Issue with poll on boot
Cloned https://github.com/uraimo/SwiftyGPIO.git
Revision (git rev-parse @):
d9b04944a4c0639d606e9a0fcfef41c8ebcf6d2c
SUCCESS checkout https://github.com/uraimo/SwiftyGPIO.git at 2.0.0-beta10
========================================
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": "swiftygpio",
      "name": "SwiftyGPIO",
      "url": "https://github.com/uraimo/SwiftyGPIO.git",
      "version": "unspecified",
      "path": "/Users/admin/builder/spi-builder-workspace/.resolve-product-dependencies/.build/checkouts/SwiftyGPIO",
      "dependencies": [
      ]
    }
  ]
}
Fetching https://github.com/uraimo/SwiftyGPIO.git
[1/2388] Fetching swiftygpio
Fetched https://github.com/uraimo/SwiftyGPIO.git from cache (1.06s)
Creating working copy for https://github.com/uraimo/SwiftyGPIO.git
Working copy of https://github.com/uraimo/SwiftyGPIO.git resolved at 2.0.0-beta10 (d9b0494)
warning: '.resolve-product-dependencies': dependency 'swiftygpio' is not used by any target
Found 0 product dependencies
========================================
Build
========================================
Selected platform:         macosSpm
Swift version:             6.1
Building package at path:  $PWD
https://github.com/uraimo/SwiftyGPIO.git
https://github.com/uraimo/SwiftyGPIO.git
{
  "dependencies" : [
  ],
  "manifest_display_name" : "SwiftyGPIO",
  "name" : "SwiftyGPIO",
  "path" : "/Users/admin/builder/spi-builder-workspace",
  "platforms" : [
  ],
  "products" : [
    {
      "name" : "SwiftyGPIO",
      "targets" : [
        "SwiftyGPIO"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    }
  ],
  "targets" : [
    {
      "c99name" : "SwiftyGPIOTests",
      "module_type" : "SwiftTarget",
      "name" : "SwiftyGPIOTests",
      "path" : "Tests/SwiftyGPIOTests",
      "sources" : [
        "SwiftyGPIOTests.swift",
        "XCTestManifests.swift"
      ],
      "target_dependencies" : [
        "SwiftyGPIO"
      ],
      "type" : "test"
    },
    {
      "c99name" : "SwiftyGPIO",
      "module_type" : "SwiftTarget",
      "name" : "SwiftyGPIO",
      "path" : "Sources/SwiftyGPIO",
      "product_memberships" : [
        "SwiftyGPIO"
      ],
      "sources" : [
        "Generic/1Wire.swift",
        "Generic/ADC.swift",
        "Generic/GPIO.swift",
        "Generic/I2C.swift",
        "Generic/SPI.swift",
        "Generic/UART.swift",
        "Presets.swift",
        "SunXi.swift",
        "SwiftyGPIO.swift",
        "Vendor/Mailbox.swift",
        "Vendor/RaspberryGPIO.swift",
        "Vendor/RaspberryPWM.swift",
        "Vendor/RaspberrySPI.swift"
      ],
      "type" : "library"
    }
  ],
  "tools_version" : "4.0"
}
Running build ...
env DEVELOPER_DIR=/Applications/Xcode-16.3.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-2F0A5646E1D333AE.txt
[3/15] Compiling SwiftyGPIO RaspberryPWM.swift
[4/16] Compiling SwiftyGPIO Mailbox.swift
[5/16] Compiling SwiftyGPIO SunXi.swift
[6/16] Compiling SwiftyGPIO RaspberryGPIO.swift
/Users/admin/builder/spi-builder-workspace/Sources/SwiftyGPIO/Vendor/RaspberryGPIO.swift:221:27: warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'RaspberryGPIO.Architecture' may have shared mutable state; this is an error in the Swift 6 language mode
217 |     }
218 |
219 |     class Architecture {
    |           `- note: class 'Architecture' does not conform to the 'Sendable' protocol
220 |         private var current: String = ""
221 |         public static let shared = Architecture()
    |                           |- warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'RaspberryGPIO.Architecture' may have shared mutable state; this is an error in the Swift 6 language mode
    |                           |- note: add '@MainActor' to make static property 'shared' part of global actor 'MainActor'
    |                           `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
222 |
223 |         private init() { }
[7/16] Compiling SwiftyGPIO Presets.swift
/Users/admin/builder/spi-builder-workspace/Sources/SwiftyGPIO/Presets.swift:30:16: warning: static property 'GPIORPIRev1' is not concurrency-safe because non-'Sendable' type '[GPIOName : SysFSGPIO]' may have shared mutable state; this is an error in the Swift 6 language mode
 28 |     // RaspberryPi A and B Revision 1 (Before September 2012) - 26 pin header boards
 29 |     // 0, 1, 4, 7, 8, 9, 10, 11, 14, 15, 17, 18, 21, 22, 23, 24, 25
 30 |     static let GPIORPIRev1: [GPIOName:SysFSGPIO] = [
    |                |- warning: static property 'GPIORPIRev1' is not concurrency-safe because non-'Sendable' type '[GPIOName : SysFSGPIO]' may have shared mutable state; this is an error in the Swift 6 language mode
    |                |- note: add '@MainActor' to make static property 'GPIORPIRev1' part of global actor 'MainActor'
    |                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 31 |         .pin0: RaspberryGPIO(id:0),
 32 |         .pin1: RaspberryGPIO(id:1),
/Users/admin/builder/spi-builder-workspace/Sources/SwiftyGPIO/SwiftyGPIO.swift:98:13: note: consider making enum 'GPIOName' conform to the 'Sendable' protocol
 96 |
 97 |
 98 | public enum GPIOName: String {
    |             `- note: consider making enum 'GPIOName' conform to the 'Sendable' protocol
 99 |     case pin0
100 |     case pin1
/Users/admin/builder/spi-builder-workspace/Sources/SwiftyGPIO/Generic/GPIO.swift:35:14: note: class 'SysFSGPIO' does not conform to the 'Sendable' protocol
 33 |
 34 | /// GPIOs via Linux SysFS
 35 | public class SysFSGPIO : GPIOInterface {
    |              `- note: class 'SysFSGPIO' does not conform to the 'Sendable' protocol
 36 |     public var bounceTime: TimeInterval?
 37 |
/Users/admin/builder/spi-builder-workspace/Sources/SwiftyGPIO/Presets.swift:53:16: warning: static property 'GPIORPIRev2' is not concurrency-safe because non-'Sendable' type '[GPIOName : SysFSGPIO]' may have shared mutable state; this is an error in the Swift 6 language mode
 51 |     //TODO: Additional GPIO from 28-31 ignored for now
 52 |     // 2, 3, 4, 7, 8, 9, 10, 11, 14, 15, 17, 18, 22, 23, 24, 25, 27
 53 |     static let GPIORPIRev2: [GPIOName:SysFSGPIO] = [
    |                |- warning: static property 'GPIORPIRev2' is not concurrency-safe because non-'Sendable' type '[GPIOName : SysFSGPIO]' may have shared mutable state; this is an error in the Swift 6 language mode
    |                |- note: add '@MainActor' to make static property 'GPIORPIRev2' part of global actor 'MainActor'
    |                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 54 |         .pin2: RaspberryGPIO(id:2),
 55 |         .pin3: RaspberryGPIO(id:3),
/Users/admin/builder/spi-builder-workspace/Sources/SwiftyGPIO/SwiftyGPIO.swift:98:13: note: consider making enum 'GPIOName' conform to the 'Sendable' protocol
 96 |
 97 |
 98 | public enum GPIOName: String {
    |             `- note: consider making enum 'GPIOName' conform to the 'Sendable' protocol
 99 |     case pin0
100 |     case pin1
/Users/admin/builder/spi-builder-workspace/Sources/SwiftyGPIO/Generic/GPIO.swift:35:14: note: class 'SysFSGPIO' does not conform to the 'Sendable' protocol
 33 |
 34 | /// GPIOs via Linux SysFS
 35 | public class SysFSGPIO : GPIOInterface {
    |              `- note: class 'SysFSGPIO' does not conform to the 'Sendable' protocol
 36 |     public var bounceTime: TimeInterval?
 37 |
/Users/admin/builder/spi-builder-workspace/Sources/SwiftyGPIO/Presets.swift:75:16: warning: static property 'GPIORPIPlusZERO' is not concurrency-safe because non-'Sendable' type '[GPIOName : SysFSGPIO]' may have shared mutable state; this is an error in the Swift 6 language mode
 73 |     // RaspberryPi A+ and B+, Raspberry Zero - 40 pin header boards
 74 |     // 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31
 75 |     static let GPIORPIPlusZERO: [GPIOName:SysFSGPIO] = [
    |                |- warning: static property 'GPIORPIPlusZERO' is not concurrency-safe because non-'Sendable' type '[GPIOName : SysFSGPIO]' may have shared mutable state; this is an error in the Swift 6 language mode
    |                |- note: add '@MainActor' to make static property 'GPIORPIPlusZERO' part of global actor 'MainActor'
    |                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 76 |         .pin2: RaspberryGPIO(id:2),
 77 |         .pin3: RaspberryGPIO(id:3),
/Users/admin/builder/spi-builder-workspace/Sources/SwiftyGPIO/SwiftyGPIO.swift:98:13: note: consider making enum 'GPIOName' conform to the 'Sendable' protocol
 96 |
 97 |
 98 | public enum GPIOName: String {
    |             `- note: consider making enum 'GPIOName' conform to the 'Sendable' protocol
 99 |     case pin0
100 |     case pin1
/Users/admin/builder/spi-builder-workspace/Sources/SwiftyGPIO/Generic/GPIO.swift:35:14: note: class 'SysFSGPIO' does not conform to the 'Sendable' protocol
 33 |
 34 | /// GPIOs via Linux SysFS
 35 | public class SysFSGPIO : GPIOInterface {
    |              `- note: class 'SysFSGPIO' does not conform to the 'Sendable' protocol
 36 |     public var bounceTime: TimeInterval?
 37 |
/Users/admin/builder/spi-builder-workspace/Sources/SwiftyGPIO/Presets.swift:106:16: warning: static property 'GPIORPI2' is not concurrency-safe because non-'Sendable' type '[GPIOName : SysFSGPIO]' may have shared mutable state; this is an error in the Swift 6 language mode
104 |     // RaspberryPi 2
105 |     // 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31
106 |     static let GPIORPI2: [GPIOName:SysFSGPIO] = [
    |                |- warning: static property 'GPIORPI2' is not concurrency-safe because non-'Sendable' type '[GPIOName : SysFSGPIO]' may have shared mutable state; this is an error in the Swift 6 language mode
    |                |- note: add '@MainActor' to make static property 'GPIORPI2' part of global actor 'MainActor'
    |                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
107 |         .pin2: RaspberryGPIO(id:2),
108 |         .pin3: RaspberryGPIO(id:3),
/Users/admin/builder/spi-builder-workspace/Sources/SwiftyGPIO/SwiftyGPIO.swift:98:13: note: consider making enum 'GPIOName' conform to the 'Sendable' protocol
 96 |
 97 |
 98 | public enum GPIOName: String {
    |             `- note: consider making enum 'GPIOName' conform to the 'Sendable' protocol
 99 |     case pin0
100 |     case pin1
/Users/admin/builder/spi-builder-workspace/Sources/SwiftyGPIO/Generic/GPIO.swift:35:14: note: class 'SysFSGPIO' does not conform to the 'Sendable' protocol
 33 |
 34 | /// GPIOs via Linux SysFS
 35 | public class SysFSGPIO : GPIOInterface {
    |              `- note: class 'SysFSGPIO' does not conform to the 'Sendable' protocol
 36 |     public var bounceTime: TimeInterval?
 37 |
/Users/admin/builder/spi-builder-workspace/Sources/SwiftyGPIO/Presets.swift:142:16: warning: static property 'GPIOCHIP' is not concurrency-safe because non-'Sendable' type '[GPIOName : SysFSGPIO]' may have shared mutable state; this is an error in the Swift 6 language mode
140 |     //
141 |     // See: https://docs.getchip.com/chip.html#kernel-4-3-vs-4-4-gpio-how-to-tell-the-difference
142 |     static let GPIOCHIP: [GPIOName:SysFSGPIO] = [
    |                |- warning: static property 'GPIOCHIP' is not concurrency-safe because non-'Sendable' type '[GPIOName : SysFSGPIO]' may have shared mutable state; this is an error in the Swift 6 language mode
    |                |- note: add '@MainActor' to make static property 'GPIOCHIP' part of global actor 'MainActor'
    |                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
143 |         .pin0: SysFSGPIO(name:"XIO-P0", id:1013),
144 |         .pin1: SysFSGPIO(name:"XIO-P1", id:1014),
/Users/admin/builder/spi-builder-workspace/Sources/SwiftyGPIO/SwiftyGPIO.swift:98:13: note: consider making enum 'GPIOName' conform to the 'Sendable' protocol
 96 |
 97 |
 98 | public enum GPIOName: String {
    |             `- note: consider making enum 'GPIOName' conform to the 'Sendable' protocol
 99 |     case pin0
100 |     case pin1
/Users/admin/builder/spi-builder-workspace/Sources/SwiftyGPIO/Generic/GPIO.swift:35:14: note: class 'SysFSGPIO' does not conform to the 'Sendable' protocol
 33 |
 34 | /// GPIOs via Linux SysFS
 35 | public class SysFSGPIO : GPIOInterface {
    |              `- note: class 'SysFSGPIO' does not conform to the 'Sendable' protocol
 36 |     public var bounceTime: TimeInterval?
 37 |
/Users/admin/builder/spi-builder-workspace/Sources/SwiftyGPIO/Presets.swift:191:16: warning: static property 'GPIOBEAGLEBONE' is not concurrency-safe because non-'Sendable' type '[GPIOName : SysFSGPIO]' may have shared mutable state; this is an error in the Swift 6 language mode
189 |     //Clearly this does not support mode change.
190 |     //
191 |     static let GPIOBEAGLEBONE: [GPIOName:SysFSGPIO] = [
    |                |- warning: static property 'GPIOBEAGLEBONE' is not concurrency-safe because non-'Sendable' type '[GPIOName : SysFSGPIO]' may have shared mutable state; this is an error in the Swift 6 language mode
    |                |- note: add '@MainActor' to make static property 'GPIOBEAGLEBONE' part of global actor 'MainActor'
    |                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
192 |         .pin0: SysFSGPIO(name:"P8_PIN03_GPIO1_6", id:38),  //P8
193 |         .pin1: SysFSGPIO(name:"P8_PIN04_GPIO1_7", id:39),
/Users/admin/builder/spi-builder-workspace/Sources/SwiftyGPIO/SwiftyGPIO.swift:98:13: note: consider making enum 'GPIOName' conform to the 'Sendable' protocol
 96 |
 97 |
 98 | public enum GPIOName: String {
    |             `- note: consider making enum 'GPIOName' conform to the 'Sendable' protocol
 99 |     case pin0
100 |     case pin1
/Users/admin/builder/spi-builder-workspace/Sources/SwiftyGPIO/Generic/GPIO.swift:35:14: note: class 'SysFSGPIO' does not conform to the 'Sendable' protocol
 33 |
 34 | /// GPIOs via Linux SysFS
 35 | public class SysFSGPIO : GPIOInterface {
    |              `- note: class 'SysFSGPIO' does not conform to the 'Sendable' protocol
 36 |     public var bounceTime: TimeInterval?
 37 |
/Users/admin/builder/spi-builder-workspace/Sources/SwiftyGPIO/Presets.swift:231:16: warning: static property 'GPIOORANGEPI' is not concurrency-safe because non-'Sendable' type '[GPIOName : SysFSGPIO]' may have shared mutable state; this is an error in the Swift 6 language mode
229 |     // - SeeAlso: [SunXi Wiki](http://linux-sunxi.org/GPIO)
230 |     // The pins are ordered by name: A0-A21(P0-P16), C0-C7(P17-P22), D14(P23), G6-G9(P24-P27)
231 |     static let GPIOORANGEPI: [GPIOName:SysFSGPIO] = [
    |                |- warning: static property 'GPIOORANGEPI' is not concurrency-safe because non-'Sendable' type '[GPIOName : SysFSGPIO]' may have shared mutable state; this is an error in the Swift 6 language mode
    |                |- note: add '@MainActor' to make static property 'GPIOORANGEPI' part of global actor 'MainActor'
    |                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
232 |         .pin0: SysFSGPIO(sunXi:SunXiGPIO(letter: .A, pin:0)),
233 |         .pin1: SysFSGPIO(sunXi:SunXiGPIO(letter:.A, pin:1)),
/Users/admin/builder/spi-builder-workspace/Sources/SwiftyGPIO/SwiftyGPIO.swift:98:13: note: consider making enum 'GPIOName' conform to the 'Sendable' protocol
 96 |
 97 |
 98 | public enum GPIOName: String {
    |             `- note: consider making enum 'GPIOName' conform to the 'Sendable' protocol
 99 |     case pin0
100 |     case pin1
/Users/admin/builder/spi-builder-workspace/Sources/SwiftyGPIO/Generic/GPIO.swift:35:14: note: class 'SysFSGPIO' does not conform to the 'Sendable' protocol
 33 |
 34 | /// GPIOs via Linux SysFS
 35 | public class SysFSGPIO : GPIOInterface {
    |              `- note: class 'SysFSGPIO' does not conform to the 'Sendable' protocol
 36 |     public var bounceTime: TimeInterval?
 37 |
/Users/admin/builder/spi-builder-workspace/Sources/SwiftyGPIO/Presets.swift:263:16: warning: static property 'GPIOORANGEPIZERO' is not concurrency-safe because non-'Sendable' type '[GPIOName : SysFSGPIO]' may have shared mutable state; this is an error in the Swift 6 language mode
261 |
262 |     // OrangePiZero
263 |     static let GPIOORANGEPIZERO: [GPIOName:SysFSGPIO] = [
    |                |- warning: static property 'GPIOORANGEPIZERO' is not concurrency-safe because non-'Sendable' type '[GPIOName : SysFSGPIO]' may have shared mutable state; this is an error in the Swift 6 language mode
    |                |- note: add '@MainActor' to make static property 'GPIOORANGEPIZERO' part of global actor 'MainActor'
    |                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
264 |         .pin2: SysFSGPIO(sunXi:SunXiGPIO(letter:.A, pin:12)),
265 |         .pin3: SysFSGPIO(sunXi:SunXiGPIO(letter:.A, pin:11)),
/Users/admin/builder/spi-builder-workspace/Sources/SwiftyGPIO/SwiftyGPIO.swift:98:13: note: consider making enum 'GPIOName' conform to the 'Sendable' protocol
 96 |
 97 |
 98 | public enum GPIOName: String {
    |             `- note: consider making enum 'GPIOName' conform to the 'Sendable' protocol
 99 |     case pin0
100 |     case pin1
/Users/admin/builder/spi-builder-workspace/Sources/SwiftyGPIO/Generic/GPIO.swift:35:14: note: class 'SysFSGPIO' does not conform to the 'Sendable' protocol
 33 |
 34 | /// GPIOs via Linux SysFS
 35 | public class SysFSGPIO : GPIOInterface {
    |              `- note: class 'SysFSGPIO' does not conform to the 'Sendable' protocol
 36 |     public var bounceTime: TimeInterval?
 37 |
[8/16] Compiling SwiftyGPIO SPI.swift
/Users/admin/builder/spi-builder-workspace/Sources/SwiftyGPIO/Generic/SPI.swift:94:46: warning: initialization of 'UnsafeMutablePointer<UInt8>' results in a dangling pointer
 92 |
 93 |         var tr = spi_ioc_transfer(
 94 |             tx_buf: UInt64( UInt(bitPattern: UnsafeMutablePointer(mutating: tx)) ),
    |                                              |                              |- note: implicit argument conversion from '[UInt8]' to 'UnsafePointer<UInt8>' produces a pointer valid only for the duration of the call to 'init(mutating:)'
    |                                              |                              `- note: use the 'withUnsafeBufferPointer' method on Array in order to explicitly convert argument to buffer pointer valid for a defined scope
    |                                              `- warning: initialization of 'UnsafeMutablePointer<UInt8>' results in a dangling pointer
 95 |             rx_buf: UInt64( UInt(bitPattern: UnsafeMutablePointer(mutating: rx)) ),
 96 |             len: UInt32(tx.count),
/Users/admin/builder/spi-builder-workspace/Sources/SwiftyGPIO/Generic/SPI.swift:95:46: warning: initialization of 'UnsafeMutablePointer<UInt8>' results in a dangling pointer
 93 |         var tr = spi_ioc_transfer(
 94 |             tx_buf: UInt64( UInt(bitPattern: UnsafeMutablePointer(mutating: tx)) ),
 95 |             rx_buf: UInt64( UInt(bitPattern: UnsafeMutablePointer(mutating: rx)) ),
    |                                              |                              |- note: implicit argument conversion from '[UInt8]' to 'UnsafePointer<UInt8>' produces a pointer valid only for the duration of the call to 'init(mutating:)'
    |                                              |                              `- note: use the 'withUnsafeBufferPointer' method on Array in order to explicitly convert argument to buffer pointer valid for a defined scope
    |                                              `- warning: initialization of 'UnsafeMutablePointer<UInt8>' results in a dangling pointer
 96 |             len: UInt32(tx.count),
 97 |             speed_hz: speed,
/Users/admin/builder/spi-builder-workspace/Sources/SwiftyGPIO/Generic/UART.swift:94:19: warning: initialization of 'UnsafeMutablePointer<CChar>' (aka 'UnsafeMutablePointer<Int8>') results in a dangling pointer
 92 |     public func readLine() throws -> String {
 93 |         var buf = [CChar](repeating:0, count: 4097) //4096 chars at max in canonical mode
 94 |         var ptr = UnsafeMutablePointer<CChar>(&buf)
    |                   |                           |- note: implicit argument conversion from '[CChar]' (aka 'Array<Int8>') to 'UnsafeMutablePointer<CChar>' (aka 'UnsafeMutablePointer<Int8>') produces a pointer valid only for the duration of the call to 'init(_:)'
    |                   |                           `- note: use the 'withUnsafeMutableBufferPointer' method on Array in order to explicitly convert argument to buffer pointer valid for a defined scope
    |                   `- warning: initialization of 'UnsafeMutablePointer<CChar>' (aka 'UnsafeMutablePointer<Int8>') results in a dangling pointer
 95 |         var pos = 0
 96 |
[9/16] Compiling SwiftyGPIO UART.swift
/Users/admin/builder/spi-builder-workspace/Sources/SwiftyGPIO/Generic/SPI.swift:94:46: warning: initialization of 'UnsafeMutablePointer<UInt8>' results in a dangling pointer
 92 |
 93 |         var tr = spi_ioc_transfer(
 94 |             tx_buf: UInt64( UInt(bitPattern: UnsafeMutablePointer(mutating: tx)) ),
    |                                              |                              |- note: implicit argument conversion from '[UInt8]' to 'UnsafePointer<UInt8>' produces a pointer valid only for the duration of the call to 'init(mutating:)'
    |                                              |                              `- note: use the 'withUnsafeBufferPointer' method on Array in order to explicitly convert argument to buffer pointer valid for a defined scope
    |                                              `- warning: initialization of 'UnsafeMutablePointer<UInt8>' results in a dangling pointer
 95 |             rx_buf: UInt64( UInt(bitPattern: UnsafeMutablePointer(mutating: rx)) ),
 96 |             len: UInt32(tx.count),
/Users/admin/builder/spi-builder-workspace/Sources/SwiftyGPIO/Generic/SPI.swift:95:46: warning: initialization of 'UnsafeMutablePointer<UInt8>' results in a dangling pointer
 93 |         var tr = spi_ioc_transfer(
 94 |             tx_buf: UInt64( UInt(bitPattern: UnsafeMutablePointer(mutating: tx)) ),
 95 |             rx_buf: UInt64( UInt(bitPattern: UnsafeMutablePointer(mutating: rx)) ),
    |                                              |                              |- note: implicit argument conversion from '[UInt8]' to 'UnsafePointer<UInt8>' produces a pointer valid only for the duration of the call to 'init(mutating:)'
    |                                              |                              `- note: use the 'withUnsafeBufferPointer' method on Array in order to explicitly convert argument to buffer pointer valid for a defined scope
    |                                              `- warning: initialization of 'UnsafeMutablePointer<UInt8>' results in a dangling pointer
 96 |             len: UInt32(tx.count),
 97 |             speed_hz: speed,
/Users/admin/builder/spi-builder-workspace/Sources/SwiftyGPIO/Generic/UART.swift:94:19: warning: initialization of 'UnsafeMutablePointer<CChar>' (aka 'UnsafeMutablePointer<Int8>') results in a dangling pointer
 92 |     public func readLine() throws -> String {
 93 |         var buf = [CChar](repeating:0, count: 4097) //4096 chars at max in canonical mode
 94 |         var ptr = UnsafeMutablePointer<CChar>(&buf)
    |                   |                           |- note: implicit argument conversion from '[CChar]' (aka 'Array<Int8>') to 'UnsafeMutablePointer<CChar>' (aka 'UnsafeMutablePointer<Int8>') produces a pointer valid only for the duration of the call to 'init(_:)'
    |                   |                           `- note: use the 'withUnsafeMutableBufferPointer' method on Array in order to explicitly convert argument to buffer pointer valid for a defined scope
    |                   `- warning: initialization of 'UnsafeMutablePointer<CChar>' (aka 'UnsafeMutablePointer<Int8>') results in a dangling pointer
 95 |         var pos = 0
 96 |
[10/16] Compiling SwiftyGPIO SwiftyGPIO.swift
/Users/admin/builder/spi-builder-workspace/Sources/SwiftyGPIO/SwiftyGPIO.swift:241:16: warning: static property 'ADCBBB' is not concurrency-safe because non-'Sendable' type '[Int : any ADCInterface]' may have shared mutable state; this is an error in the Swift 6 language mode
239 |
240 |     // Beaglebone Black ADCs
241 |     static let ADCBBB: [Int: ADCInterface] = [
    |                |- warning: static property 'ADCBBB' is not concurrency-safe because non-'Sendable' type '[Int : any ADCInterface]' may have shared mutable state; this is an error in the Swift 6 language mode
    |                |- note: add '@MainActor' to make static property 'ADCBBB' part of global actor 'MainActor'
    |                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
242 |         0: SysFSADC(adcPath: "/sys/devices/platform/ocp/44e0d000.tscadc/TI-am335x-adc/iio:device1/in_voltage0_raw", id: 0),
243 |         1: SysFSADC(adcPath: "/sys/devices/platform/ocp/44e0d000.tscadc/TI-am335x-adc/iio:device1/in_voltage1_raw", id: 1),
    :
249 | // MARK: ADC Types
250 |
251 | public protocol ADCInterface {
    |                 `- note: protocol 'ADCInterface' does not conform to the 'Sendable' protocol
252 |     var id: Int { get }
253 |     func getSample() throws -> Int
/Users/admin/builder/spi-builder-workspace/Sources/SwiftyGPIO/SwiftyGPIO.swift:286:16: warning: static property 'I2CRPI' is not concurrency-safe because non-'Sendable' type '[Int : any I2CInterface]' may have shared mutable state; this is an error in the Swift 6 language mode
284 |
285 |     // RaspberryPis I2Cs
286 |     static let I2CRPI: [Int:I2CInterface] = [
    |                |- warning: static property 'I2CRPI' is not concurrency-safe because non-'Sendable' type '[Int : any I2CInterface]' may have shared mutable state; this is an error in the Swift 6 language mode
    |                |- note: add '@MainActor' to make static property 'I2CRPI' part of global actor 'MainActor'
    |                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
287 |         0: SysFSI2C(i2cId: 0),
288 |         1: SysFSI2C(i2cId: 1)
    :
306 | }
307 |
308 | public protocol I2CInterface {
    |                 `- note: protocol 'I2CInterface' does not conform to the 'Sendable' protocol
309 |     func isReachable(_ address: Int) throws -> Bool
310 |     func setPEC(_ address: Int, enabled: Bool) throws
/Users/admin/builder/spi-builder-workspace/Sources/SwiftyGPIO/SwiftyGPIO.swift:295:16: warning: static property 'I2CCHIP' is not concurrency-safe because non-'Sendable' type '[Int : any I2CInterface]' may have shared mutable state; this is an error in the Swift 6 language mode
293 |     // i2c.1: after 4.4.13-ntc-mlc connected to the U13 header I2C interface
294 |     // i2c.2: connected to the U14 header I2C interface, XIO gpios are connected on this bus
295 |     static let I2CCHIP: [Int:I2CInterface] = [
    |                |- warning: static property 'I2CCHIP' is not concurrency-safe because non-'Sendable' type '[Int : any I2CInterface]' may have shared mutable state; this is an error in the Swift 6 language mode
    |                |- note: add '@MainActor' to make static property 'I2CCHIP' part of global actor 'MainActor'
    |                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
296 |         1: SysFSI2C(i2cId: 1),
297 |         2: SysFSI2C(i2cId: 2),
    :
306 | }
307 |
308 | public protocol I2CInterface {
    |                 `- note: protocol 'I2CInterface' does not conform to the 'Sendable' protocol
309 |     func isReachable(_ address: Int) throws -> Bool
310 |     func setPEC(_ address: Int, enabled: Bool) throws
/Users/admin/builder/spi-builder-workspace/Sources/SwiftyGPIO/SwiftyGPIO.swift:347:16: warning: static property 'PWMRPI1' is not concurrency-safe because non-'Sendable' type '[Int : [GPIOName : any PWMInterface]]' may have shared mutable state; this is an error in the Swift 6 language mode
 96 |
 97 |
 98 | public enum GPIOName: String {
    |             `- note: consider making enum 'GPIOName' conform to the 'Sendable' protocol
 99 |     case pin0
100 |     case pin1
    :
345 |
346 |     // RaspberryPis ARMv6 (all 1, Zero, Zero W) PWMs, only accessible ones, divided in channels (can use only one for each channel)
347 |     static let PWMRPI1: [Int:[GPIOName:PWMInterface]] = [
    |                |- warning: static property 'PWMRPI1' is not concurrency-safe because non-'Sendable' type '[Int : [GPIOName : any PWMInterface]]' may have shared mutable state; this is an error in the Swift 6 language mode
    |                |- note: add '@MainActor' to make static property 'PWMRPI1' part of global actor 'MainActor'
    |                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
348 |         0: [.pin12: RaspberryPWM(gpioId: 12, alt: 0, channel:0, baseAddr: 0x20000000), .pin18: RaspberryPWM(gpioId: 18, alt: 5, channel:0, baseAddr: 0x20000000)],
349 |         1: [.pin13: RaspberryPWM(gpioId: 13, alt: 0, channel:1, baseAddr: 0x20000000), .pin19: RaspberryPWM(gpioId: 19, alt: 5, channel:1, baseAddr: 0x20000000)]
    :
364 | }
365 |
366 | public protocol PWMInterface {
    |                 `- note: protocol 'PWMInterface' does not conform to the 'Sendable' protocol
367 |     func enable() throws
368 |     func start(period ns: Int, duty percent: Float)
/Users/admin/builder/spi-builder-workspace/Sources/SwiftyGPIO/SwiftyGPIO.swift:353:16: warning: static property 'PWMRPI23' is not concurrency-safe because non-'Sendable' type '[Int : [GPIOName : any PWMInterface]]' may have shared mutable state; this is an error in the Swift 6 language mode
 96 |
 97 |
 98 | public enum GPIOName: String {
    |             `- note: consider making enum 'GPIOName' conform to the 'Sendable' protocol
 99 |     case pin0
100 |     case pin1
    :
351 |
352 |     // RaspberryPis ARMv7 (2-3) PWMs, only accessible ones, divided in channels (can use only one for each channel)
353 |     static let PWMRPI23: [Int:[GPIOName:PWMInterface]] = [
    |                |- warning: static property 'PWMRPI23' is not concurrency-safe because non-'Sendable' type '[Int : [GPIOName : any PWMInterface]]' may have shared mutable state; this is an error in the Swift 6 language mode
    |                |- note: add '@MainActor' to make static property 'PWMRPI23' part of global actor 'MainActor'
    |                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
354 |         0: [.pin12: RaspberryPWM(gpioId: 12, alt: 0, channel:0, baseAddr: 0x3F000000), .pin18: RaspberryPWM(gpioId: 18, alt: 5, channel:0, baseAddr: 0x3F000000)],
355 |         1: [.pin13: RaspberryPWM(gpioId: 13, alt: 0, channel:1, baseAddr: 0x3F000000), .pin19: RaspberryPWM(gpioId: 19, alt: 5, channel:1, baseAddr: 0x3F000000)]
    :
364 | }
365 |
366 | public protocol PWMInterface {
    |                 `- note: protocol 'PWMInterface' does not conform to the 'Sendable' protocol
367 |     func enable() throws
368 |     func start(period ns: Int, duty percent: Float)
/Users/admin/builder/spi-builder-workspace/Sources/SwiftyGPIO/SwiftyGPIO.swift:401:16: warning: static property 'SPIRPI' is not concurrency-safe because non-'Sendable' type '[Int : any SPIInterface]' may have shared mutable state; this is an error in the Swift 6 language mode
399 |
400 |     // RaspberryPis SPIs
401 |     static let SPIRPI: [Int:SPIInterface] = [
    |                |- warning: static property 'SPIRPI' is not concurrency-safe because non-'Sendable' type '[Int : any SPIInterface]' may have shared mutable state; this is an error in the Swift 6 language mode
    |                |- note: add '@MainActor' to make static property 'SPIRPI' part of global actor 'MainActor'
    |                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
402 |         0: SysFSSPI(spiId:"0.0"),
403 |         1: SysFSSPI(spiId:"0.1")
    :
420 | }
421 |
422 | public protocol SPIInterface {
    |                 `- note: protocol 'SPIInterface' does not conform to the 'Sendable' protocol
423 |     // Send data at the requested frequency (from 500Khz to 20 Mhz)
424 |     func sendData(_ values: [UInt8], frequencyHz: UInt) throws
/Users/admin/builder/spi-builder-workspace/Sources/SwiftyGPIO/SwiftyGPIO.swift:410:16: warning: static property 'SPICHIP' is not concurrency-safe because non-'Sendable' type '[Int : any SPIInterface]' may have shared mutable state; this is an error in the Swift 6 language mode
408 |     // See: https://bbs.nextthing.co/t/can-interface-spi-and-can-utils/18042/3
409 |     //      https://bbs.nextthing.co/t/can-bus-mcp2515-via-spi-anyone/11388/2
410 |     static let SPICHIP: [Int:SPIInterface] = [
    |                |- warning: static property 'SPICHIP' is not concurrency-safe because non-'Sendable' type '[Int : any SPIInterface]' may have shared mutable state; this is an error in the Swift 6 language mode
    |                |- note: add '@MainActor' to make static property 'SPICHIP' part of global actor 'MainActor'
    |                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
411 |         0: SysFSSPI(spiId:"2.0")
412 |     ]
    :
420 | }
421 |
422 | public protocol SPIInterface {
    |                 `- note: protocol 'SPIInterface' does not conform to the 'Sendable' protocol
423 |     // Send data at the requested frequency (from 500Khz to 20 Mhz)
424 |     func sendData(_ values: [UInt8], frequencyHz: UInt) throws
[11/16] Compiling SwiftyGPIO 1Wire.swift
/Users/admin/builder/spi-builder-workspace/Sources/SwiftyGPIO/Generic/1Wire.swift:76:19: warning: initialization of 'UnsafeMutablePointer<CChar>' (aka 'UnsafeMutablePointer<Int8>') results in a dangling pointer
 74 |     private func readLine(_ fd: Int32) throws -> String? {
 75 |         var buf = [CChar](repeating:0, count: 128)
 76 |         var ptr = UnsafeMutablePointer<CChar>(&buf)
    |                   |                           |- note: implicit argument conversion from '[CChar]' (aka 'Array<Int8>') to 'UnsafeMutablePointer<CChar>' (aka 'UnsafeMutablePointer<Int8>') produces a pointer valid only for the duration of the call to 'init(_:)'
    |                   |                           `- note: use the 'withUnsafeMutableBufferPointer' method on Array in order to explicitly convert argument to buffer pointer valid for a defined scope
    |                   `- warning: initialization of 'UnsafeMutablePointer<CChar>' (aka 'UnsafeMutablePointer<Int8>') results in a dangling pointer
 77 |         var pos = 0
 78 |
[12/16] Compiling SwiftyGPIO ADC.swift
/Users/admin/builder/spi-builder-workspace/Sources/SwiftyGPIO/Generic/1Wire.swift:76:19: warning: initialization of 'UnsafeMutablePointer<CChar>' (aka 'UnsafeMutablePointer<Int8>') results in a dangling pointer
 74 |     private func readLine(_ fd: Int32) throws -> String? {
 75 |         var buf = [CChar](repeating:0, count: 128)
 76 |         var ptr = UnsafeMutablePointer<CChar>(&buf)
    |                   |                           |- note: implicit argument conversion from '[CChar]' (aka 'Array<Int8>') to 'UnsafeMutablePointer<CChar>' (aka 'UnsafeMutablePointer<Int8>') produces a pointer valid only for the duration of the call to 'init(_:)'
    |                   |                           `- note: use the 'withUnsafeMutableBufferPointer' method on Array in order to explicitly convert argument to buffer pointer valid for a defined scope
    |                   `- warning: initialization of 'UnsafeMutablePointer<CChar>' (aka 'UnsafeMutablePointer<Int8>') results in a dangling pointer
 77 |         var pos = 0
 78 |
[13/16] Emitting module SwiftyGPIO
/Users/admin/builder/spi-builder-workspace/Sources/SwiftyGPIO/Presets.swift:30:16: warning: static property 'GPIORPIRev1' is not concurrency-safe because non-'Sendable' type '[GPIOName : SysFSGPIO]' may have shared mutable state; this is an error in the Swift 6 language mode
 28 |     // RaspberryPi A and B Revision 1 (Before September 2012) - 26 pin header boards
 29 |     // 0, 1, 4, 7, 8, 9, 10, 11, 14, 15, 17, 18, 21, 22, 23, 24, 25
 30 |     static let GPIORPIRev1: [GPIOName:SysFSGPIO] = [
    |                |- warning: static property 'GPIORPIRev1' is not concurrency-safe because non-'Sendable' type '[GPIOName : SysFSGPIO]' may have shared mutable state; this is an error in the Swift 6 language mode
    |                |- note: add '@MainActor' to make static property 'GPIORPIRev1' part of global actor 'MainActor'
    |                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 31 |         .pin0: RaspberryGPIO(id:0),
 32 |         .pin1: RaspberryGPIO(id:1),
/Users/admin/builder/spi-builder-workspace/Sources/SwiftyGPIO/SwiftyGPIO.swift:98:13: note: consider making enum 'GPIOName' conform to the 'Sendable' protocol
 96 |
 97 |
 98 | public enum GPIOName: String {
    |             `- note: consider making enum 'GPIOName' conform to the 'Sendable' protocol
 99 |     case pin0
100 |     case pin1
/Users/admin/builder/spi-builder-workspace/Sources/SwiftyGPIO/Generic/GPIO.swift:35:14: note: class 'SysFSGPIO' does not conform to the 'Sendable' protocol
 33 |
 34 | /// GPIOs via Linux SysFS
 35 | public class SysFSGPIO : GPIOInterface {
    |              `- note: class 'SysFSGPIO' does not conform to the 'Sendable' protocol
 36 |     public var bounceTime: TimeInterval?
 37 |
/Users/admin/builder/spi-builder-workspace/Sources/SwiftyGPIO/Presets.swift:53:16: warning: static property 'GPIORPIRev2' is not concurrency-safe because non-'Sendable' type '[GPIOName : SysFSGPIO]' may have shared mutable state; this is an error in the Swift 6 language mode
 51 |     //TODO: Additional GPIO from 28-31 ignored for now
 52 |     // 2, 3, 4, 7, 8, 9, 10, 11, 14, 15, 17, 18, 22, 23, 24, 25, 27
 53 |     static let GPIORPIRev2: [GPIOName:SysFSGPIO] = [
    |                |- warning: static property 'GPIORPIRev2' is not concurrency-safe because non-'Sendable' type '[GPIOName : SysFSGPIO]' may have shared mutable state; this is an error in the Swift 6 language mode
    |                |- note: add '@MainActor' to make static property 'GPIORPIRev2' part of global actor 'MainActor'
    |                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 54 |         .pin2: RaspberryGPIO(id:2),
 55 |         .pin3: RaspberryGPIO(id:3),
/Users/admin/builder/spi-builder-workspace/Sources/SwiftyGPIO/SwiftyGPIO.swift:98:13: note: consider making enum 'GPIOName' conform to the 'Sendable' protocol
 96 |
 97 |
 98 | public enum GPIOName: String {
    |             `- note: consider making enum 'GPIOName' conform to the 'Sendable' protocol
 99 |     case pin0
100 |     case pin1
/Users/admin/builder/spi-builder-workspace/Sources/SwiftyGPIO/Generic/GPIO.swift:35:14: note: class 'SysFSGPIO' does not conform to the 'Sendable' protocol
 33 |
 34 | /// GPIOs via Linux SysFS
 35 | public class SysFSGPIO : GPIOInterface {
    |              `- note: class 'SysFSGPIO' does not conform to the 'Sendable' protocol
 36 |     public var bounceTime: TimeInterval?
 37 |
/Users/admin/builder/spi-builder-workspace/Sources/SwiftyGPIO/Presets.swift:75:16: warning: static property 'GPIORPIPlusZERO' is not concurrency-safe because non-'Sendable' type '[GPIOName : SysFSGPIO]' may have shared mutable state; this is an error in the Swift 6 language mode
 73 |     // RaspberryPi A+ and B+, Raspberry Zero - 40 pin header boards
 74 |     // 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31
 75 |     static let GPIORPIPlusZERO: [GPIOName:SysFSGPIO] = [
    |                |- warning: static property 'GPIORPIPlusZERO' is not concurrency-safe because non-'Sendable' type '[GPIOName : SysFSGPIO]' may have shared mutable state; this is an error in the Swift 6 language mode
    |                |- note: add '@MainActor' to make static property 'GPIORPIPlusZERO' part of global actor 'MainActor'
    |                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 76 |         .pin2: RaspberryGPIO(id:2),
 77 |         .pin3: RaspberryGPIO(id:3),
/Users/admin/builder/spi-builder-workspace/Sources/SwiftyGPIO/SwiftyGPIO.swift:98:13: note: consider making enum 'GPIOName' conform to the 'Sendable' protocol
 96 |
 97 |
 98 | public enum GPIOName: String {
    |             `- note: consider making enum 'GPIOName' conform to the 'Sendable' protocol
 99 |     case pin0
100 |     case pin1
/Users/admin/builder/spi-builder-workspace/Sources/SwiftyGPIO/Generic/GPIO.swift:35:14: note: class 'SysFSGPIO' does not conform to the 'Sendable' protocol
 33 |
 34 | /// GPIOs via Linux SysFS
 35 | public class SysFSGPIO : GPIOInterface {
    |              `- note: class 'SysFSGPIO' does not conform to the 'Sendable' protocol
 36 |     public var bounceTime: TimeInterval?
 37 |
/Users/admin/builder/spi-builder-workspace/Sources/SwiftyGPIO/Presets.swift:106:16: warning: static property 'GPIORPI2' is not concurrency-safe because non-'Sendable' type '[GPIOName : SysFSGPIO]' may have shared mutable state; this is an error in the Swift 6 language mode
104 |     // RaspberryPi 2
105 |     // 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31
106 |     static let GPIORPI2: [GPIOName:SysFSGPIO] = [
    |                |- warning: static property 'GPIORPI2' is not concurrency-safe because non-'Sendable' type '[GPIOName : SysFSGPIO]' may have shared mutable state; this is an error in the Swift 6 language mode
    |                |- note: add '@MainActor' to make static property 'GPIORPI2' part of global actor 'MainActor'
    |                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
107 |         .pin2: RaspberryGPIO(id:2),
108 |         .pin3: RaspberryGPIO(id:3),
/Users/admin/builder/spi-builder-workspace/Sources/SwiftyGPIO/SwiftyGPIO.swift:98:13: note: consider making enum 'GPIOName' conform to the 'Sendable' protocol
 96 |
 97 |
 98 | public enum GPIOName: String {
    |             `- note: consider making enum 'GPIOName' conform to the 'Sendable' protocol
 99 |     case pin0
100 |     case pin1
/Users/admin/builder/spi-builder-workspace/Sources/SwiftyGPIO/Generic/GPIO.swift:35:14: note: class 'SysFSGPIO' does not conform to the 'Sendable' protocol
 33 |
 34 | /// GPIOs via Linux SysFS
 35 | public class SysFSGPIO : GPIOInterface {
    |              `- note: class 'SysFSGPIO' does not conform to the 'Sendable' protocol
 36 |     public var bounceTime: TimeInterval?
 37 |
/Users/admin/builder/spi-builder-workspace/Sources/SwiftyGPIO/Presets.swift:142:16: warning: static property 'GPIOCHIP' is not concurrency-safe because non-'Sendable' type '[GPIOName : SysFSGPIO]' may have shared mutable state; this is an error in the Swift 6 language mode
140 |     //
141 |     // See: https://docs.getchip.com/chip.html#kernel-4-3-vs-4-4-gpio-how-to-tell-the-difference
142 |     static let GPIOCHIP: [GPIOName:SysFSGPIO] = [
    |                |- warning: static property 'GPIOCHIP' is not concurrency-safe because non-'Sendable' type '[GPIOName : SysFSGPIO]' may have shared mutable state; this is an error in the Swift 6 language mode
    |                |- note: add '@MainActor' to make static property 'GPIOCHIP' part of global actor 'MainActor'
    |                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
143 |         .pin0: SysFSGPIO(name:"XIO-P0", id:1013),
144 |         .pin1: SysFSGPIO(name:"XIO-P1", id:1014),
/Users/admin/builder/spi-builder-workspace/Sources/SwiftyGPIO/SwiftyGPIO.swift:98:13: note: consider making enum 'GPIOName' conform to the 'Sendable' protocol
 96 |
 97 |
 98 | public enum GPIOName: String {
    |             `- note: consider making enum 'GPIOName' conform to the 'Sendable' protocol
 99 |     case pin0
100 |     case pin1
/Users/admin/builder/spi-builder-workspace/Sources/SwiftyGPIO/Generic/GPIO.swift:35:14: note: class 'SysFSGPIO' does not conform to the 'Sendable' protocol
 33 |
 34 | /// GPIOs via Linux SysFS
 35 | public class SysFSGPIO : GPIOInterface {
    |              `- note: class 'SysFSGPIO' does not conform to the 'Sendable' protocol
 36 |     public var bounceTime: TimeInterval?
 37 |
/Users/admin/builder/spi-builder-workspace/Sources/SwiftyGPIO/Presets.swift:191:16: warning: static property 'GPIOBEAGLEBONE' is not concurrency-safe because non-'Sendable' type '[GPIOName : SysFSGPIO]' may have shared mutable state; this is an error in the Swift 6 language mode
189 |     //Clearly this does not support mode change.
190 |     //
191 |     static let GPIOBEAGLEBONE: [GPIOName:SysFSGPIO] = [
    |                |- warning: static property 'GPIOBEAGLEBONE' is not concurrency-safe because non-'Sendable' type '[GPIOName : SysFSGPIO]' may have shared mutable state; this is an error in the Swift 6 language mode
    |                |- note: add '@MainActor' to make static property 'GPIOBEAGLEBONE' part of global actor 'MainActor'
    |                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
192 |         .pin0: SysFSGPIO(name:"P8_PIN03_GPIO1_6", id:38),  //P8
193 |         .pin1: SysFSGPIO(name:"P8_PIN04_GPIO1_7", id:39),
/Users/admin/builder/spi-builder-workspace/Sources/SwiftyGPIO/SwiftyGPIO.swift:98:13: note: consider making enum 'GPIOName' conform to the 'Sendable' protocol
 96 |
 97 |
 98 | public enum GPIOName: String {
    |             `- note: consider making enum 'GPIOName' conform to the 'Sendable' protocol
 99 |     case pin0
100 |     case pin1
/Users/admin/builder/spi-builder-workspace/Sources/SwiftyGPIO/Generic/GPIO.swift:35:14: note: class 'SysFSGPIO' does not conform to the 'Sendable' protocol
 33 |
 34 | /// GPIOs via Linux SysFS
 35 | public class SysFSGPIO : GPIOInterface {
    |              `- note: class 'SysFSGPIO' does not conform to the 'Sendable' protocol
 36 |     public var bounceTime: TimeInterval?
 37 |
/Users/admin/builder/spi-builder-workspace/Sources/SwiftyGPIO/Presets.swift:231:16: warning: static property 'GPIOORANGEPI' is not concurrency-safe because non-'Sendable' type '[GPIOName : SysFSGPIO]' may have shared mutable state; this is an error in the Swift 6 language mode
229 |     // - SeeAlso: [SunXi Wiki](http://linux-sunxi.org/GPIO)
230 |     // The pins are ordered by name: A0-A21(P0-P16), C0-C7(P17-P22), D14(P23), G6-G9(P24-P27)
231 |     static let GPIOORANGEPI: [GPIOName:SysFSGPIO] = [
    |                |- warning: static property 'GPIOORANGEPI' is not concurrency-safe because non-'Sendable' type '[GPIOName : SysFSGPIO]' may have shared mutable state; this is an error in the Swift 6 language mode
    |                |- note: add '@MainActor' to make static property 'GPIOORANGEPI' part of global actor 'MainActor'
    |                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
232 |         .pin0: SysFSGPIO(sunXi:SunXiGPIO(letter: .A, pin:0)),
233 |         .pin1: SysFSGPIO(sunXi:SunXiGPIO(letter:.A, pin:1)),
/Users/admin/builder/spi-builder-workspace/Sources/SwiftyGPIO/SwiftyGPIO.swift:98:13: note: consider making enum 'GPIOName' conform to the 'Sendable' protocol
 96 |
 97 |
 98 | public enum GPIOName: String {
    |             `- note: consider making enum 'GPIOName' conform to the 'Sendable' protocol
 99 |     case pin0
100 |     case pin1
/Users/admin/builder/spi-builder-workspace/Sources/SwiftyGPIO/Generic/GPIO.swift:35:14: note: class 'SysFSGPIO' does not conform to the 'Sendable' protocol
 33 |
 34 | /// GPIOs via Linux SysFS
 35 | public class SysFSGPIO : GPIOInterface {
    |              `- note: class 'SysFSGPIO' does not conform to the 'Sendable' protocol
 36 |     public var bounceTime: TimeInterval?
 37 |
/Users/admin/builder/spi-builder-workspace/Sources/SwiftyGPIO/Presets.swift:263:16: warning: static property 'GPIOORANGEPIZERO' is not concurrency-safe because non-'Sendable' type '[GPIOName : SysFSGPIO]' may have shared mutable state; this is an error in the Swift 6 language mode
261 |
262 |     // OrangePiZero
263 |     static let GPIOORANGEPIZERO: [GPIOName:SysFSGPIO] = [
    |                |- warning: static property 'GPIOORANGEPIZERO' is not concurrency-safe because non-'Sendable' type '[GPIOName : SysFSGPIO]' may have shared mutable state; this is an error in the Swift 6 language mode
    |                |- note: add '@MainActor' to make static property 'GPIOORANGEPIZERO' part of global actor 'MainActor'
    |                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
264 |         .pin2: SysFSGPIO(sunXi:SunXiGPIO(letter:.A, pin:12)),
265 |         .pin3: SysFSGPIO(sunXi:SunXiGPIO(letter:.A, pin:11)),
/Users/admin/builder/spi-builder-workspace/Sources/SwiftyGPIO/SwiftyGPIO.swift:98:13: note: consider making enum 'GPIOName' conform to the 'Sendable' protocol
 96 |
 97 |
 98 | public enum GPIOName: String {
    |             `- note: consider making enum 'GPIOName' conform to the 'Sendable' protocol
 99 |     case pin0
100 |     case pin1
/Users/admin/builder/spi-builder-workspace/Sources/SwiftyGPIO/Generic/GPIO.swift:35:14: note: class 'SysFSGPIO' does not conform to the 'Sendable' protocol
 33 |
 34 | /// GPIOs via Linux SysFS
 35 | public class SysFSGPIO : GPIOInterface {
    |              `- note: class 'SysFSGPIO' does not conform to the 'Sendable' protocol
 36 |     public var bounceTime: TimeInterval?
 37 |
/Users/admin/builder/spi-builder-workspace/Sources/SwiftyGPIO/SwiftyGPIO.swift:241:16: warning: static property 'ADCBBB' is not concurrency-safe because non-'Sendable' type '[Int : any ADCInterface]' may have shared mutable state; this is an error in the Swift 6 language mode
239 |
240 |     // Beaglebone Black ADCs
241 |     static let ADCBBB: [Int: ADCInterface] = [
    |                |- warning: static property 'ADCBBB' is not concurrency-safe because non-'Sendable' type '[Int : any ADCInterface]' may have shared mutable state; this is an error in the Swift 6 language mode
    |                |- note: add '@MainActor' to make static property 'ADCBBB' part of global actor 'MainActor'
    |                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
242 |         0: SysFSADC(adcPath: "/sys/devices/platform/ocp/44e0d000.tscadc/TI-am335x-adc/iio:device1/in_voltage0_raw", id: 0),
243 |         1: SysFSADC(adcPath: "/sys/devices/platform/ocp/44e0d000.tscadc/TI-am335x-adc/iio:device1/in_voltage1_raw", id: 1),
    :
249 | // MARK: ADC Types
250 |
251 | public protocol ADCInterface {
    |                 `- note: protocol 'ADCInterface' does not conform to the 'Sendable' protocol
252 |     var id: Int { get }
253 |     func getSample() throws -> Int
/Users/admin/builder/spi-builder-workspace/Sources/SwiftyGPIO/SwiftyGPIO.swift:286:16: warning: static property 'I2CRPI' is not concurrency-safe because non-'Sendable' type '[Int : any I2CInterface]' may have shared mutable state; this is an error in the Swift 6 language mode
284 |
285 |     // RaspberryPis I2Cs
286 |     static let I2CRPI: [Int:I2CInterface] = [
    |                |- warning: static property 'I2CRPI' is not concurrency-safe because non-'Sendable' type '[Int : any I2CInterface]' may have shared mutable state; this is an error in the Swift 6 language mode
    |                |- note: add '@MainActor' to make static property 'I2CRPI' part of global actor 'MainActor'
    |                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
287 |         0: SysFSI2C(i2cId: 0),
288 |         1: SysFSI2C(i2cId: 1)
    :
306 | }
307 |
308 | public protocol I2CInterface {
    |                 `- note: protocol 'I2CInterface' does not conform to the 'Sendable' protocol
309 |     func isReachable(_ address: Int) throws -> Bool
310 |     func setPEC(_ address: Int, enabled: Bool) throws
/Users/admin/builder/spi-builder-workspace/Sources/SwiftyGPIO/SwiftyGPIO.swift:295:16: warning: static property 'I2CCHIP' is not concurrency-safe because non-'Sendable' type '[Int : any I2CInterface]' may have shared mutable state; this is an error in the Swift 6 language mode
293 |     // i2c.1: after 4.4.13-ntc-mlc connected to the U13 header I2C interface
294 |     // i2c.2: connected to the U14 header I2C interface, XIO gpios are connected on this bus
295 |     static let I2CCHIP: [Int:I2CInterface] = [
    |                |- warning: static property 'I2CCHIP' is not concurrency-safe because non-'Sendable' type '[Int : any I2CInterface]' may have shared mutable state; this is an error in the Swift 6 language mode
    |                |- note: add '@MainActor' to make static property 'I2CCHIP' part of global actor 'MainActor'
    |                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
296 |         1: SysFSI2C(i2cId: 1),
297 |         2: SysFSI2C(i2cId: 2),
    :
306 | }
307 |
308 | public protocol I2CInterface {
    |                 `- note: protocol 'I2CInterface' does not conform to the 'Sendable' protocol
309 |     func isReachable(_ address: Int) throws -> Bool
310 |     func setPEC(_ address: Int, enabled: Bool) throws
/Users/admin/builder/spi-builder-workspace/Sources/SwiftyGPIO/SwiftyGPIO.swift:347:16: warning: static property 'PWMRPI1' is not concurrency-safe because non-'Sendable' type '[Int : [GPIOName : any PWMInterface]]' may have shared mutable state; this is an error in the Swift 6 language mode
 96 |
 97 |
 98 | public enum GPIOName: String {
    |             `- note: consider making enum 'GPIOName' conform to the 'Sendable' protocol
 99 |     case pin0
100 |     case pin1
    :
345 |
346 |     // RaspberryPis ARMv6 (all 1, Zero, Zero W) PWMs, only accessible ones, divided in channels (can use only one for each channel)
347 |     static let PWMRPI1: [Int:[GPIOName:PWMInterface]] = [
    |                |- warning: static property 'PWMRPI1' is not concurrency-safe because non-'Sendable' type '[Int : [GPIOName : any PWMInterface]]' may have shared mutable state; this is an error in the Swift 6 language mode
    |                |- note: add '@MainActor' to make static property 'PWMRPI1' part of global actor 'MainActor'
    |                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
348 |         0: [.pin12: RaspberryPWM(gpioId: 12, alt: 0, channel:0, baseAddr: 0x20000000), .pin18: RaspberryPWM(gpioId: 18, alt: 5, channel:0, baseAddr: 0x20000000)],
349 |         1: [.pin13: RaspberryPWM(gpioId: 13, alt: 0, channel:1, baseAddr: 0x20000000), .pin19: RaspberryPWM(gpioId: 19, alt: 5, channel:1, baseAddr: 0x20000000)]
    :
364 | }
365 |
366 | public protocol PWMInterface {
    |                 `- note: protocol 'PWMInterface' does not conform to the 'Sendable' protocol
367 |     func enable() throws
368 |     func start(period ns: Int, duty percent: Float)
/Users/admin/builder/spi-builder-workspace/Sources/SwiftyGPIO/SwiftyGPIO.swift:353:16: warning: static property 'PWMRPI23' is not concurrency-safe because non-'Sendable' type '[Int : [GPIOName : any PWMInterface]]' may have shared mutable state; this is an error in the Swift 6 language mode
 96 |
 97 |
 98 | public enum GPIOName: String {
    |             `- note: consider making enum 'GPIOName' conform to the 'Sendable' protocol
 99 |     case pin0
100 |     case pin1
    :
351 |
352 |     // RaspberryPis ARMv7 (2-3) PWMs, only accessible ones, divided in channels (can use only one for each channel)
353 |     static let PWMRPI23: [Int:[GPIOName:PWMInterface]] = [
    |                |- warning: static property 'PWMRPI23' is not concurrency-safe because non-'Sendable' type '[Int : [GPIOName : any PWMInterface]]' may have shared mutable state; this is an error in the Swift 6 language mode
    |                |- note: add '@MainActor' to make static property 'PWMRPI23' part of global actor 'MainActor'
    |                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
354 |         0: [.pin12: RaspberryPWM(gpioId: 12, alt: 0, channel:0, baseAddr: 0x3F000000), .pin18: RaspberryPWM(gpioId: 18, alt: 5, channel:0, baseAddr: 0x3F000000)],
355 |         1: [.pin13: RaspberryPWM(gpioId: 13, alt: 0, channel:1, baseAddr: 0x3F000000), .pin19: RaspberryPWM(gpioId: 19, alt: 5, channel:1, baseAddr: 0x3F000000)]
    :
364 | }
365 |
366 | public protocol PWMInterface {
    |                 `- note: protocol 'PWMInterface' does not conform to the 'Sendable' protocol
367 |     func enable() throws
368 |     func start(period ns: Int, duty percent: Float)
/Users/admin/builder/spi-builder-workspace/Sources/SwiftyGPIO/SwiftyGPIO.swift:401:16: warning: static property 'SPIRPI' is not concurrency-safe because non-'Sendable' type '[Int : any SPIInterface]' may have shared mutable state; this is an error in the Swift 6 language mode
399 |
400 |     // RaspberryPis SPIs
401 |     static let SPIRPI: [Int:SPIInterface] = [
    |                |- warning: static property 'SPIRPI' is not concurrency-safe because non-'Sendable' type '[Int : any SPIInterface]' may have shared mutable state; this is an error in the Swift 6 language mode
    |                |- note: add '@MainActor' to make static property 'SPIRPI' part of global actor 'MainActor'
    |                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
402 |         0: SysFSSPI(spiId:"0.0"),
403 |         1: SysFSSPI(spiId:"0.1")
    :
420 | }
421 |
422 | public protocol SPIInterface {
    |                 `- note: protocol 'SPIInterface' does not conform to the 'Sendable' protocol
423 |     // Send data at the requested frequency (from 500Khz to 20 Mhz)
424 |     func sendData(_ values: [UInt8], frequencyHz: UInt) throws
/Users/admin/builder/spi-builder-workspace/Sources/SwiftyGPIO/SwiftyGPIO.swift:410:16: warning: static property 'SPICHIP' is not concurrency-safe because non-'Sendable' type '[Int : any SPIInterface]' may have shared mutable state; this is an error in the Swift 6 language mode
408 |     // See: https://bbs.nextthing.co/t/can-interface-spi-and-can-utils/18042/3
409 |     //      https://bbs.nextthing.co/t/can-bus-mcp2515-via-spi-anyone/11388/2
410 |     static let SPICHIP: [Int:SPIInterface] = [
    |                |- warning: static property 'SPICHIP' is not concurrency-safe because non-'Sendable' type '[Int : any SPIInterface]' may have shared mutable state; this is an error in the Swift 6 language mode
    |                |- note: add '@MainActor' to make static property 'SPICHIP' part of global actor 'MainActor'
    |                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
411 |         0: SysFSSPI(spiId:"2.0")
412 |     ]
    :
420 | }
421 |
422 | public protocol SPIInterface {
    |                 `- note: protocol 'SPIInterface' does not conform to the 'Sendable' protocol
423 |     // Send data at the requested frequency (from 500Khz to 20 Mhz)
424 |     func sendData(_ values: [UInt8], frequencyHz: UInt) throws
/Users/admin/builder/spi-builder-workspace/Sources/SwiftyGPIO/Vendor/RaspberryGPIO.swift:221:27: warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'RaspberryGPIO.Architecture' may have shared mutable state; this is an error in the Swift 6 language mode
217 |     }
218 |
219 |     class Architecture {
    |           `- note: class 'Architecture' does not conform to the 'Sendable' protocol
220 |         private var current: String = ""
221 |         public static let shared = Architecture()
    |                           |- warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'RaspberryGPIO.Architecture' may have shared mutable state; this is an error in the Swift 6 language mode
    |                           |- note: add '@MainActor' to make static property 'shared' part of global actor 'MainActor'
    |                           `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
222 |
223 |         private init() { }
[14/16] Compiling SwiftyGPIO GPIO.swift
/Users/admin/builder/spi-builder-workspace/Sources/SwiftyGPIO/Generic/GPIO.swift:238:52: warning: capture of 'self' with non-sendable type 'SysFSGPIO' in a '@Sendable' closure
 33 |
 34 | /// GPIOs via Linux SysFS
 35 | public class SysFSGPIO : GPIOInterface {
    |              `- note: class 'SysFSGPIO' does not conform to the 'Sendable' protocol
 36 |     public var bounceTime: TimeInterval?
 37 |
    :
236 |         let thread = Thread {
237 |
238 |             let gpath = GPIOBASEPATH+"gpio"+String(self.id)+"/value"
    |                                                    `- warning: capture of 'self' with non-sendable type 'SysFSGPIO' in a '@Sendable' closure
239 |             self.direction = .input
240 |             self.edge = .both
[15/16] Compiling SwiftyGPIO I2C.swift
/Users/admin/builder/spi-builder-workspace/Sources/SwiftyGPIO/Generic/GPIO.swift:238:52: warning: capture of 'self' with non-sendable type 'SysFSGPIO' in a '@Sendable' closure
 33 |
 34 | /// GPIOs via Linux SysFS
 35 | public class SysFSGPIO : GPIOInterface {
    |              `- note: class 'SysFSGPIO' does not conform to the 'Sendable' protocol
 36 |     public var bounceTime: TimeInterval?
 37 |
    :
236 |         let thread = Thread {
237 |
238 |             let gpath = GPIOBASEPATH+"gpio"+String(self.id)+"/value"
    |                                                    `- warning: capture of 'self' with non-sendable type 'SysFSGPIO' in a '@Sendable' closure
239 |             self.direction = .input
240 |             self.edge = .both
[16/16] Compiling SwiftyGPIO RaspberrySPI.swift
Build complete! (4.87s)
Build complete.
{
  "dependencies" : [
  ],
  "manifest_display_name" : "SwiftyGPIO",
  "name" : "SwiftyGPIO",
  "path" : "/Users/admin/builder/spi-builder-workspace",
  "platforms" : [
  ],
  "products" : [
    {
      "name" : "SwiftyGPIO",
      "targets" : [
        "SwiftyGPIO"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    }
  ],
  "targets" : [
    {
      "c99name" : "SwiftyGPIOTests",
      "module_type" : "SwiftTarget",
      "name" : "SwiftyGPIOTests",
      "path" : "Tests/SwiftyGPIOTests",
      "sources" : [
        "SwiftyGPIOTests.swift",
        "XCTestManifests.swift"
      ],
      "target_dependencies" : [
        "SwiftyGPIO"
      ],
      "type" : "test"
    },
    {
      "c99name" : "SwiftyGPIO",
      "module_type" : "SwiftTarget",
      "name" : "SwiftyGPIO",
      "path" : "Sources/SwiftyGPIO",
      "product_memberships" : [
        "SwiftyGPIO"
      ],
      "sources" : [
        "Generic/1Wire.swift",
        "Generic/ADC.swift",
        "Generic/GPIO.swift",
        "Generic/I2C.swift",
        "Generic/SPI.swift",
        "Generic/UART.swift",
        "Presets.swift",
        "SunXi.swift",
        "SwiftyGPIO.swift",
        "Vendor/Mailbox.swift",
        "Vendor/RaspberryGPIO.swift",
        "Vendor/RaspberryPWM.swift",
        "Vendor/RaspberrySPI.swift"
      ],
      "type" : "library"
    }
  ],
  "tools_version" : "4.0"
}
Done.