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.