Build Information
Successful build of bluetooth-law-energy-swift, reference 1.1.2 (b67f7a
), with Swift 6.1 for macOS (SPM) on 30 Apr 2025 03:22:05 UTC.
Swift 6 data race errors: 0
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.1
Interrupt handler set up.
========================================
Checkout
========================================
Clone URL: https://github.com/swiftuiux/bluetooth-law-energy-swift.git
Reference: 1.1.2
Initialized empty Git repository in /Users/admin/builder/spi-builder-workspace/.git/
From https://github.com/swiftuiux/bluetooth-law-energy-swift
* tag 1.1.2 -> FETCH_HEAD
HEAD is now at b67f7ad Update README.md
Cloned https://github.com/swiftuiux/bluetooth-law-energy-swift.git
Revision (git rev-parse @):
b67f7ad04f85efcb5d2ede70c30dd57c9e02736c
SPI manifest file found: $PWD/.spi.yml
SUCCESS checkout https://github.com/swiftuiux/bluetooth-law-energy-swift.git at 1.1.2
========================================
Build
========================================
Selected platform: macosSpm
Swift version: 6.1
Building package at path: $PWD
https://github.com/swiftuiux/bluetooth-law-energy-swift.git
https://github.com/swiftuiux/bluetooth-law-energy-swift.git
{
"dependencies" : [
{
"identity" : "retry-policy-service",
"requirement" : {
"range" : [
{
"lower_bound" : "1.0.1",
"upper_bound" : "2.0.0"
}
]
},
"type" : "sourceControl",
"url" : "https://github.com/swiftuiux/retry-policy-service.git"
}
],
"manifest_display_name" : "bluetooth-law-energy-swift",
"name" : "bluetooth-law-energy-swift",
"path" : "/Users/admin/builder/spi-builder-workspace",
"platforms" : [
{
"name" : "macos",
"version" : "12.0"
},
{
"name" : "ios",
"version" : "15.0"
},
{
"name" : "watchos",
"version" : "8.0"
},
{
"name" : "tvos",
"version" : "15.0"
}
],
"products" : [
{
"name" : "bluetooth-law-energy-swift",
"targets" : [
"bluetooth-law-energy-swift"
],
"type" : {
"library" : [
"automatic"
]
}
}
],
"targets" : [
{
"c99name" : "bluetooth_law_energy_swiftTests",
"module_type" : "SwiftTarget",
"name" : "bluetooth-law-energy-swiftTests",
"path" : "Tests/bluetooth-law-energy-swiftTests",
"sources" : [
"BluetoothLEManagerTests.swift"
],
"target_dependencies" : [
"bluetooth-law-energy-swift"
],
"type" : "test"
},
{
"c99name" : "bluetooth_law_energy_swift",
"module_type" : "SwiftTarget",
"name" : "bluetooth-law-energy-swift",
"path" : "Sources/bluetooth-law-energy-swift",
"product_dependencies" : [
"retry-policy-service"
],
"product_memberships" : [
"bluetooth-law-energy-swift"
],
"sources" : [
"BluetoothLEManager.swift",
"Combine+/Publisher+.swift",
"delegate/BluetoothDelegate.swift",
"delegate/PeripheralDelegate.swift",
"enum/Errors.swift",
"enum/ServiceType.swift",
"ext/CBPeripheral+.swift",
"ext/Task+.swift",
"model/BLEState.swift",
"protocol/IBluetoothLEManager.swift",
"protocol/ILogger.swift",
"service/AppleLogger.swift",
"service/CacheServices.swift",
"service/ServiceRegistration.swift",
"service/State.swift",
"service/StreamFactory.swift",
"service/StreamRegistration.swift"
],
"type" : "library"
}
],
"tools_version" : "5.7"
}
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/3] Write sources
[2/3] Write swift-version-2F0A5646E1D333AE.txt
[4/7] Compiling retry_policy_service RetryService.swift
[5/7] Compiling retry_policy_service Strategy.swift
[6/7] Compiling retry_policy_service DispatchTimeInterval.swift
[7/7] Emitting module retry_policy_service
[8/24] Compiling bluetooth_law_energy_swift StreamFactory.swift
/Users/admin/builder/spi-builder-workspace/Sources/bluetooth-law-energy-swift/service/StreamFactory.swift:61:27: warning: non-sendable type 'AsyncStream<[CBPeripheral]>' of property 'stream' cannot exit actor-isolated context; this is an error in the Swift 6 language mode
59 | /// - Returns: An `AsyncStream` emitting arrays of `CBPeripheral` objects.
60 | public func peripheralsStream() async -> AsyncStream<[CBPeripheral]> {
61 | await service.stream
| `- warning: non-sendable type 'AsyncStream<[CBPeripheral]>' of property 'stream' cannot exit actor-isolated context; this is an error in the Swift 6 language mode
62 | }
63 |
/Applications/Xcode-16.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.4.sdk/System/Library/Frameworks/CoreBluetooth.framework/Headers/CBPeripheral.h:55:28: note: class 'CBPeripheral' does not conform to the 'Sendable' protocol
53 | */
54 | NS_CLASS_AVAILABLE(10_7, 5_0)
55 | CB_EXTERN_CLASS @interface CBPeripheral : CBPeer
| `- note: class 'CBPeripheral' does not conform to the 'Sendable' protocol
56 |
57 | /*!
/Users/admin/builder/spi-builder-workspace/Sources/bluetooth-law-energy-swift/service/StreamFactory.swift:10:1: warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'CoreBluetooth'
8 |
9 | import Combine
10 | import CoreBluetooth
| `- warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'CoreBluetooth'
11 |
12 | extension BluetoothLEManager {
/Users/admin/builder/spi-builder-workspace/Sources/bluetooth-law-energy-swift/service/StreamFactory.swift:77:27: warning: non-sendable type 'AnyPublisher<Int, Never>' of property 'subscriberCountPublisher' cannot exit actor-isolated context; this is an error in the Swift 6 language mode
75 | private func setupSubscriptions() async{
76 | // TODO: Refactor this code
77 | await service.subscriberCountPublisher
| `- warning: non-sendable type 'AnyPublisher<Int, Never>' of property 'subscriberCountPublisher' cannot exit actor-isolated context; this is an error in the Swift 6 language mode
78 | .sink { [weak self] count in
79 | guard let self = self else { return }
Combine.AnyPublisher:2:23: note: generic struct 'AnyPublisher' does not conform to the 'Sendable' protocol
1 | @available(macOS 10.15, iOS 13.0, tvOS 13.0, watchOS 6.0, *)
2 | @frozen public struct AnyPublisher<Output, Failure> : CustomStringConvertible, CustomPlaygroundDisplayConvertible where Failure : Error {
| `- note: generic struct 'AnyPublisher' does not conform to the 'Sendable' protocol
3 | public var description: String { get }
4 | public var playgroundDescription: Any { get }
/Users/admin/builder/spi-builder-workspace/Sources/bluetooth-law-energy-swift/service/StreamFactory.swift:9:1: warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'Combine'
7 | //
8 |
9 | import Combine
| `- warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'Combine'
10 | import CoreBluetooth
11 |
/Users/admin/builder/spi-builder-workspace/Sources/bluetooth-law-energy-swift/service/StreamFactory.swift:46:23: warning: sending 'logger' risks causing data races; this is an error in the Swift 6 language mode
44 | init(logger: ILogger) {
45 | self.logger = logger
46 | service = StreamRegistration(logger: logger)
| |- warning: sending 'logger' risks causing data races; this is an error in the Swift 6 language mode
| `- note: sending task-isolated 'logger' to actor-isolated callee risks causing data races between actor-isolated and task-isolated uses
47 | Task { await setupSubscriptions() }
48 | }
/Users/admin/builder/spi-builder-workspace/Sources/bluetooth-law-energy-swift/service/StreamFactory.swift:47:18: warning: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure; this is an error in the Swift 6 language mode
45 | self.logger = logger
46 | service = StreamRegistration(logger: logger)
47 | Task { await setupSubscriptions() }
| | `- note: closure captures 'self' which is accessible to code in the current task
| `- warning: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure; this is an error in the Swift 6 language mode
48 | }
49 |
[9/25] Compiling bluetooth_law_energy_swift State.swift
[10/25] Compiling bluetooth_law_energy_swift ILogger.swift
[11/25] Compiling bluetooth_law_energy_swift AppleLogger.swift
[12/25] Compiling bluetooth_law_energy_swift CacheServices.swift
/Users/admin/builder/spi-builder-workspace/Sources/bluetooth-law-energy-swift/service/CacheServices.swift:21:18: warning: cannot access property 'data' with a non-sendable type '[UUID : [CBService]]' from nonisolated deinit; this is an error in the Swift 6 language mode
19 |
20 | deinit{
21 | data = [:]
| `- warning: cannot access property 'data' with a non-sendable type '[UUID : [CBService]]' from nonisolated deinit; this is an error in the Swift 6 language mode
22 | }
23 |
/Applications/Xcode-16.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.4.sdk/System/Library/Frameworks/CoreBluetooth.framework/Headers/CBService.h:27:28: note: class 'CBService' does not conform to the 'Sendable' protocol
25 | */
26 | NS_CLASS_AVAILABLE(10_7, 5_0)
27 | CB_EXTERN_CLASS @interface CBService : CBAttribute
| `- note: class 'CBService' does not conform to the 'Sendable' protocol
28 |
29 | /*!
/Users/admin/builder/spi-builder-workspace/Sources/bluetooth-law-energy-swift/service/CacheServices.swift:8:1: warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'CoreBluetooth'
6 | //
7 |
8 | import CoreBluetooth
| `- warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'CoreBluetooth'
9 |
10 | extension BluetoothLEManager {
/Users/admin/builder/spi-builder-workspace/Sources/bluetooth-law-energy-swift/service/ServiceRegistration.swift:73:30: warning: sending 'value' risks causing data races; this is an error in the Swift 6 language mode
71 | switch result {
72 | case .success(let value):
73 | continuation.resume(returning: value)
| |- warning: sending 'value' risks causing data races; this is an error in the Swift 6 language mode
| `- note: 'self'-isolated 'value' is passed as a 'sending' parameter; Uses in callee may race with later 'self'-isolated uses
74 | case .failure(let error):
75 | continuation.resume(throwing: error)
[13/25] Compiling bluetooth_law_energy_swift ServiceRegistration.swift
/Users/admin/builder/spi-builder-workspace/Sources/bluetooth-law-energy-swift/service/CacheServices.swift:21:18: warning: cannot access property 'data' with a non-sendable type '[UUID : [CBService]]' from nonisolated deinit; this is an error in the Swift 6 language mode
19 |
20 | deinit{
21 | data = [:]
| `- warning: cannot access property 'data' with a non-sendable type '[UUID : [CBService]]' from nonisolated deinit; this is an error in the Swift 6 language mode
22 | }
23 |
/Applications/Xcode-16.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.4.sdk/System/Library/Frameworks/CoreBluetooth.framework/Headers/CBService.h:27:28: note: class 'CBService' does not conform to the 'Sendable' protocol
25 | */
26 | NS_CLASS_AVAILABLE(10_7, 5_0)
27 | CB_EXTERN_CLASS @interface CBService : CBAttribute
| `- note: class 'CBService' does not conform to the 'Sendable' protocol
28 |
29 | /*!
/Users/admin/builder/spi-builder-workspace/Sources/bluetooth-law-energy-swift/service/CacheServices.swift:8:1: warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'CoreBluetooth'
6 | //
7 |
8 | import CoreBluetooth
| `- warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'CoreBluetooth'
9 |
10 | extension BluetoothLEManager {
/Users/admin/builder/spi-builder-workspace/Sources/bluetooth-law-energy-swift/service/ServiceRegistration.swift:73:30: warning: sending 'value' risks causing data races; this is an error in the Swift 6 language mode
71 | switch result {
72 | case .success(let value):
73 | continuation.resume(returning: value)
| |- warning: sending 'value' risks causing data races; this is an error in the Swift 6 language mode
| `- note: 'self'-isolated 'value' is passed as a 'sending' parameter; Uses in callee may race with later 'self'-isolated uses
74 | case .failure(let error):
75 | continuation.resume(throwing: error)
[14/25] Compiling bluetooth_law_energy_swift BLEState.swift
[15/25] Compiling bluetooth_law_energy_swift IBluetoothLEManager.swift
[16/25] Compiling bluetooth_law_energy_swift CBPeripheral+.swift
[17/25] Compiling bluetooth_law_energy_swift Task+.swift
[18/25] Compiling bluetooth_law_energy_swift Errors.swift
/Users/admin/builder/spi-builder-workspace/Sources/bluetooth-law-energy-swift/enum/Errors.swift:22:14: warning: associated value 'connection' of 'Sendable'-conforming enum 'Errors' has non-sendable type 'CBPeripheral'; this is an error in the Swift 6 language mode
20 |
21 | /// Error encountered while connecting.
22 | case connection(CBPeripheral, Error?)
| `- warning: associated value 'connection' of 'Sendable'-conforming enum 'Errors' has non-sendable type 'CBPeripheral'; this is an error in the Swift 6 language mode
23 |
24 | /// Error when peripheral is already connected.
/Applications/Xcode-16.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.4.sdk/System/Library/Frameworks/CoreBluetooth.framework/Headers/CBPeripheral.h:55:28: note: class 'CBPeripheral' does not conform to the 'Sendable' protocol
53 | */
54 | NS_CLASS_AVAILABLE(10_7, 5_0)
55 | CB_EXTERN_CLASS @interface CBPeripheral : CBPeer
| `- note: class 'CBPeripheral' does not conform to the 'Sendable' protocol
56 |
57 | /*!
/Users/admin/builder/spi-builder-workspace/Sources/bluetooth-law-energy-swift/enum/Errors.swift:8:1: warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'CoreBluetooth'
6 | //
7 |
8 | import CoreBluetooth
| `- warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'CoreBluetooth'
9 |
10 | public extension BluetoothLEManager {
/Users/admin/builder/spi-builder-workspace/Sources/bluetooth-law-energy-swift/enum/Errors.swift:25:14: warning: associated value 'connected' of 'Sendable'-conforming enum 'Errors' has non-sendable type 'CBPeripheral'; this is an error in the Swift 6 language mode
23 |
24 | /// Error when peripheral is already connected.
25 | case connected(CBPeripheral)
| `- warning: associated value 'connected' of 'Sendable'-conforming enum 'Errors' has non-sendable type 'CBPeripheral'; this is an error in the Swift 6 language mode
26 |
27 | /// Error when peripheral is not connected.
/Applications/Xcode-16.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.4.sdk/System/Library/Frameworks/CoreBluetooth.framework/Headers/CBPeripheral.h:55:28: note: class 'CBPeripheral' does not conform to the 'Sendable' protocol
53 | */
54 | NS_CLASS_AVAILABLE(10_7, 5_0)
55 | CB_EXTERN_CLASS @interface CBPeripheral : CBPeer
| `- note: class 'CBPeripheral' does not conform to the 'Sendable' protocol
56 |
57 | /*!
/Users/admin/builder/spi-builder-workspace/Sources/bluetooth-law-energy-swift/enum/Errors.swift:40:14: warning: associated value 'disconnection' of 'Sendable'-conforming enum 'Errors' has non-sendable type 'CBPeripheral'; this is an error in the Swift 6 language mode
38 |
39 | /// Error encountered while disconnecting.
40 | case disconnection(CBPeripheral, Error?)
| `- warning: associated value 'disconnection' of 'Sendable'-conforming enum 'Errors' has non-sendable type 'CBPeripheral'; this is an error in the Swift 6 language mode
41 |
42 | /// Text description
/Applications/Xcode-16.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.4.sdk/System/Library/Frameworks/CoreBluetooth.framework/Headers/CBPeripheral.h:55:28: note: class 'CBPeripheral' does not conform to the 'Sendable' protocol
53 | */
54 | NS_CLASS_AVAILABLE(10_7, 5_0)
55 | CB_EXTERN_CLASS @interface CBPeripheral : CBPeer
| `- note: class 'CBPeripheral' does not conform to the 'Sendable' protocol
56 |
57 | /*!
[19/25] Compiling bluetooth_law_energy_swift ServiceType.swift
/Users/admin/builder/spi-builder-workspace/Sources/bluetooth-law-energy-swift/enum/Errors.swift:22:14: warning: associated value 'connection' of 'Sendable'-conforming enum 'Errors' has non-sendable type 'CBPeripheral'; this is an error in the Swift 6 language mode
20 |
21 | /// Error encountered while connecting.
22 | case connection(CBPeripheral, Error?)
| `- warning: associated value 'connection' of 'Sendable'-conforming enum 'Errors' has non-sendable type 'CBPeripheral'; this is an error in the Swift 6 language mode
23 |
24 | /// Error when peripheral is already connected.
/Applications/Xcode-16.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.4.sdk/System/Library/Frameworks/CoreBluetooth.framework/Headers/CBPeripheral.h:55:28: note: class 'CBPeripheral' does not conform to the 'Sendable' protocol
53 | */
54 | NS_CLASS_AVAILABLE(10_7, 5_0)
55 | CB_EXTERN_CLASS @interface CBPeripheral : CBPeer
| `- note: class 'CBPeripheral' does not conform to the 'Sendable' protocol
56 |
57 | /*!
/Users/admin/builder/spi-builder-workspace/Sources/bluetooth-law-energy-swift/enum/Errors.swift:8:1: warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'CoreBluetooth'
6 | //
7 |
8 | import CoreBluetooth
| `- warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'CoreBluetooth'
9 |
10 | public extension BluetoothLEManager {
/Users/admin/builder/spi-builder-workspace/Sources/bluetooth-law-energy-swift/enum/Errors.swift:25:14: warning: associated value 'connected' of 'Sendable'-conforming enum 'Errors' has non-sendable type 'CBPeripheral'; this is an error in the Swift 6 language mode
23 |
24 | /// Error when peripheral is already connected.
25 | case connected(CBPeripheral)
| `- warning: associated value 'connected' of 'Sendable'-conforming enum 'Errors' has non-sendable type 'CBPeripheral'; this is an error in the Swift 6 language mode
26 |
27 | /// Error when peripheral is not connected.
/Applications/Xcode-16.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.4.sdk/System/Library/Frameworks/CoreBluetooth.framework/Headers/CBPeripheral.h:55:28: note: class 'CBPeripheral' does not conform to the 'Sendable' protocol
53 | */
54 | NS_CLASS_AVAILABLE(10_7, 5_0)
55 | CB_EXTERN_CLASS @interface CBPeripheral : CBPeer
| `- note: class 'CBPeripheral' does not conform to the 'Sendable' protocol
56 |
57 | /*!
/Users/admin/builder/spi-builder-workspace/Sources/bluetooth-law-energy-swift/enum/Errors.swift:40:14: warning: associated value 'disconnection' of 'Sendable'-conforming enum 'Errors' has non-sendable type 'CBPeripheral'; this is an error in the Swift 6 language mode
38 |
39 | /// Error encountered while disconnecting.
40 | case disconnection(CBPeripheral, Error?)
| `- warning: associated value 'disconnection' of 'Sendable'-conforming enum 'Errors' has non-sendable type 'CBPeripheral'; this is an error in the Swift 6 language mode
41 |
42 | /// Text description
/Applications/Xcode-16.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.4.sdk/System/Library/Frameworks/CoreBluetooth.framework/Headers/CBPeripheral.h:55:28: note: class 'CBPeripheral' does not conform to the 'Sendable' protocol
53 | */
54 | NS_CLASS_AVAILABLE(10_7, 5_0)
55 | CB_EXTERN_CLASS @interface CBPeripheral : CBPeer
| `- note: class 'CBPeripheral' does not conform to the 'Sendable' protocol
56 |
57 | /*!
[20/25] Compiling bluetooth_law_energy_swift BluetoothLEManager.swift
/Users/admin/builder/spi-builder-workspace/Sources/bluetooth-law-energy-swift/BluetoothLEManager.swift:215:26: warning: main actor-isolated property 'bleState' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
16 | /// A subject that publishes the BLE state changes to the main actor.
17 | @MainActor
18 | public let bleState: CurrentValueSubject<BLEState, Never> = .init(.init())
| `- note: property declared here
19 |
20 | /// Internal state variables
:
213 | guard let self = self else { return }
214 | let state = self.checkForScan(state, subscriberCount)
215 | self.bleState.send(state)
| `- warning: main actor-isolated property 'bleState' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
216 | }
217 | .store(in: &cancellables)
/Users/admin/builder/spi-builder-workspace/Sources/bluetooth-law-energy-swift/BluetoothLEManager.swift:204:22: warning: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure; this is an error in the Swift 6 language mode
202 | .sink { [weak self] peripherals in
203 | guard let self = self else { return }
204 | Task {
| `- warning: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure; this is an error in the Swift 6 language mode
205 | await self.handlePeripheralChange(peripherals)
| | `- note: closure captures non-Sendable 'peripherals'
| `- note: closure captures non-Sendable 'self'
206 | }
207 | }
/Users/admin/builder/spi-builder-workspace/Sources/bluetooth-law-energy-swift/BluetoothLEManager.swift:224:21: warning: sending 'peripherals' risks causing data races; this is an error in the Swift 6 language mode
222 | /// - Parameter peripherals: An array of discovered `CBPeripheral` instances.
223 | private func handlePeripheralChange(_ peripherals: [CBPeripheral]) async {
224 | await stream.updatePeripherals(peripherals)
| |- warning: sending 'peripherals' risks causing data races; this is an error in the Swift 6 language mode
| `- note: sending task-isolated 'peripherals' to main actor-isolated callee risks causing data races between main actor-isolated and task-isolated uses
225 | }
226 |
/Users/admin/builder/spi-builder-workspace/Sources/bluetooth-law-energy-swift/BluetoothLEManager.swift:224:21: warning: sending 'self.stream' risks causing data races; this is an error in the Swift 6 language mode
222 | /// - Parameter peripherals: An array of discovered `CBPeripheral` instances.
223 | private func handlePeripheralChange(_ peripherals: [CBPeripheral]) async {
224 | await stream.updatePeripherals(peripherals)
| |- warning: sending 'self.stream' risks causing data races; this is an error in the Swift 6 language mode
| `- note: sending task-isolated 'self.stream' to main actor-isolated callee risks causing data races between main actor-isolated and task-isolated uses
225 | }
226 |
[21/25] Compiling bluetooth_law_energy_swift Publisher+.swift
/Users/admin/builder/spi-builder-workspace/Sources/bluetooth-law-energy-swift/BluetoothLEManager.swift:215:26: warning: main actor-isolated property 'bleState' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
16 | /// A subject that publishes the BLE state changes to the main actor.
17 | @MainActor
18 | public let bleState: CurrentValueSubject<BLEState, Never> = .init(.init())
| `- note: property declared here
19 |
20 | /// Internal state variables
:
213 | guard let self = self else { return }
214 | let state = self.checkForScan(state, subscriberCount)
215 | self.bleState.send(state)
| `- warning: main actor-isolated property 'bleState' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
216 | }
217 | .store(in: &cancellables)
/Users/admin/builder/spi-builder-workspace/Sources/bluetooth-law-energy-swift/BluetoothLEManager.swift:204:22: warning: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure; this is an error in the Swift 6 language mode
202 | .sink { [weak self] peripherals in
203 | guard let self = self else { return }
204 | Task {
| `- warning: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure; this is an error in the Swift 6 language mode
205 | await self.handlePeripheralChange(peripherals)
| | `- note: closure captures non-Sendable 'peripherals'
| `- note: closure captures non-Sendable 'self'
206 | }
207 | }
/Users/admin/builder/spi-builder-workspace/Sources/bluetooth-law-energy-swift/BluetoothLEManager.swift:224:21: warning: sending 'peripherals' risks causing data races; this is an error in the Swift 6 language mode
222 | /// - Parameter peripherals: An array of discovered `CBPeripheral` instances.
223 | private func handlePeripheralChange(_ peripherals: [CBPeripheral]) async {
224 | await stream.updatePeripherals(peripherals)
| |- warning: sending 'peripherals' risks causing data races; this is an error in the Swift 6 language mode
| `- note: sending task-isolated 'peripherals' to main actor-isolated callee risks causing data races between main actor-isolated and task-isolated uses
225 | }
226 |
/Users/admin/builder/spi-builder-workspace/Sources/bluetooth-law-energy-swift/BluetoothLEManager.swift:224:21: warning: sending 'self.stream' risks causing data races; this is an error in the Swift 6 language mode
222 | /// - Parameter peripherals: An array of discovered `CBPeripheral` instances.
223 | private func handlePeripheralChange(_ peripherals: [CBPeripheral]) async {
224 | await stream.updatePeripherals(peripherals)
| |- warning: sending 'self.stream' risks causing data races; this is an error in the Swift 6 language mode
| `- note: sending task-isolated 'self.stream' to main actor-isolated callee risks causing data races between main actor-isolated and task-isolated uses
225 | }
226 |
[22/25] Compiling bluetooth_law_energy_swift BluetoothDelegate.swift
/Users/admin/builder/spi-builder-workspace/Sources/bluetooth-law-energy-swift/delegate/BluetoothDelegate.swift:36:27: warning: sending 'logger' risks causing data races; this is an error in the Swift 6 language mode
34 | public init(logger: ILogger) {
35 | self.logger = logger
36 | connection = .init(type: .connection, logger: logger)
| |- warning: sending 'logger' risks causing data races; this is an error in the Swift 6 language mode
| `- note: sending task-isolated 'logger' to actor-isolated callee risks causing data races between actor-isolated and task-isolated uses
37 | disconnection = .init(type: .disconnection, logger: logger)
38 | }
/Users/admin/builder/spi-builder-workspace/Sources/bluetooth-law-energy-swift/delegate/BluetoothDelegate.swift:37:30: warning: sending 'logger' risks causing data races; this is an error in the Swift 6 language mode
35 | self.logger = logger
36 | connection = .init(type: .connection, logger: logger)
37 | disconnection = .init(type: .disconnection, logger: logger)
| |- warning: sending 'logger' risks causing data races; this is an error in the Swift 6 language mode
| `- note: sending task-isolated 'logger' to actor-isolated callee risks causing data races between actor-isolated and task-isolated uses
38 | }
39 |
/Users/admin/builder/spi-builder-workspace/Sources/bluetooth-law-energy-swift/delegate/BluetoothDelegate.swift:114:17: warning: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure; this is an error in the Swift 6 language mode
112 | /// - peripheral: The peripheral that has successfully connected.
113 | public func centralManager(_ central: CBCentralManager, didConnect peripheral: CBPeripheral) {
114 | Task{
| `- warning: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure; this is an error in the Swift 6 language mode
115 | await connection.handleResult(
| `- note: closure captures 'self' which is accessible to code in the current task
116 | for: peripheral,
117 | result: .success(Void())
/Users/admin/builder/spi-builder-workspace/Sources/bluetooth-law-energy-swift/delegate/BluetoothDelegate.swift:115:34: warning: sending 'peripheral' risks causing data races; this is an error in the Swift 6 language mode
113 | public func centralManager(_ central: CBCentralManager, didConnect peripheral: CBPeripheral) {
114 | Task{
115 | await connection.handleResult(
| |- warning: sending 'peripheral' risks causing data races; this is an error in the Swift 6 language mode
| `- note: sending task-isolated 'peripheral' to actor-isolated instance method 'handleResult(for:result:)' risks causing data races between actor-isolated and task-isolated uses
116 | for: peripheral,
117 | result: .success(Void())
/Users/admin/builder/spi-builder-workspace/Sources/bluetooth-law-energy-swift/delegate/BluetoothDelegate.swift:129:17: warning: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure; this is an error in the Swift 6 language mode
127 | /// - error: The error that occurred during the connection attempt.
128 | public func centralManager(_ central: CBCentralManager, didFailToConnect peripheral: CBPeripheral, error: Error?) {
129 | Task{
| `- warning: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure; this is an error in the Swift 6 language mode
130 | let e = Errors.connection(peripheral, error)
131 | await connection.handleResult(
| `- note: closure captures 'self' which is accessible to code in the current task
132 | for: peripheral,
133 | result: .failure(e)
/Users/admin/builder/spi-builder-workspace/Sources/bluetooth-law-energy-swift/delegate/BluetoothDelegate.swift:131:34: warning: sending 'peripheral' risks causing data races; this is an error in the Swift 6 language mode
129 | Task{
130 | let e = Errors.connection(peripheral, error)
131 | await connection.handleResult(
| |- warning: sending 'peripheral' risks causing data races; this is an error in the Swift 6 language mode
| `- note: sending task-isolated 'peripheral' to actor-isolated instance method 'handleResult(for:result:)' risks causing data races between actor-isolated and task-isolated uses
132 | for: peripheral,
133 | result: .failure(e)
/Users/admin/builder/spi-builder-workspace/Sources/bluetooth-law-energy-swift/delegate/BluetoothDelegate.swift:145:17: warning: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure; this is an error in the Swift 6 language mode
143 | /// - error: The error that occurred during the disconnection, if any.
144 | public func centralManager(_ central: CBCentralManager, didDisconnectPeripheral peripheral: CBPeripheral, error: Error?) {
145 | Task{
| `- warning: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure; this is an error in the Swift 6 language mode
146 | guard let error else{
147 | await disconnection.handleResult(
| `- note: closure captures 'self' which is accessible to code in the current task
148 | for: peripheral,
149 | result: .success(Void())
/Users/admin/builder/spi-builder-workspace/Sources/bluetooth-law-energy-swift/delegate/BluetoothDelegate.swift:155:37: warning: sending 'peripheral' risks causing data races; this is an error in the Swift 6 language mode
153 |
154 | let e = Errors.disconnection(peripheral, error)
155 | await disconnection.handleResult(
| |- warning: sending 'peripheral' risks causing data races; this is an error in the Swift 6 language mode
| `- note: sending task-isolated 'peripheral' to actor-isolated instance method 'handleResult(for:result:)' risks causing data races between actor-isolated and task-isolated uses
156 | for: peripheral,
157 | result: .failure(e)
/Users/admin/builder/spi-builder-workspace/Sources/bluetooth-law-energy-swift/delegate/BluetoothDelegate.swift:147:41: warning: sending 'peripheral' risks causing data races; this is an error in the Swift 6 language mode
145 | Task{
146 | guard let error else{
147 | await disconnection.handleResult(
| |- warning: sending 'peripheral' risks causing data races; this is an error in the Swift 6 language mode
| `- note: sending task-isolated 'peripheral' to actor-isolated instance method 'handleResult(for:result:)' risks causing data races between actor-isolated and task-isolated uses
148 | for: peripheral,
149 | result: .success(Void())
/Users/admin/builder/spi-builder-workspace/Sources/bluetooth-law-energy-swift/delegate/PeripheralDelegate.swift:23:24: warning: sending 'logger' risks causing data races; this is an error in the Swift 6 language mode
21 | /// - Parameter logger: The logger instance to be used for logging.
22 | init(logger: ILogger) {
23 | service = .init(type: .discovering, logger: logger)
| |- warning: sending 'logger' risks causing data races; this is an error in the Swift 6 language mode
| `- note: sending task-isolated 'logger' to actor-isolated callee risks causing data races between actor-isolated and task-isolated uses
24 | }
25 |
/Users/admin/builder/spi-builder-workspace/Sources/bluetooth-law-energy-swift/delegate/PeripheralDelegate.swift:32:17: warning: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure; this is an error in the Swift 6 language mode
30 | /// - error: An optional error if the discovery failed
31 | public func peripheral(_ peripheral: CBPeripheral, didDiscoverServices error: Error?) {
32 | Task{
| `- warning: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure; this is an error in the Swift 6 language mode
33 | if let error = error {
34 | await service.handleResult(for: peripheral, result: .failure(BluetoothLEManager.Errors.discoveringServices(peripheral.getName, error)))
| `- note: closure captures 'self' which is accessible to code in the current task
35 |
36 | } else{
/Users/admin/builder/spi-builder-workspace/Sources/bluetooth-law-energy-swift/delegate/PeripheralDelegate.swift:34:35: warning: sending 'peripheral' risks causing data races; this is an error in the Swift 6 language mode
32 | Task{
33 | if let error = error {
34 | await service.handleResult(for: peripheral, result: .failure(BluetoothLEManager.Errors.discoveringServices(peripheral.getName, error)))
| |- warning: sending 'peripheral' risks causing data races; this is an error in the Swift 6 language mode
| `- note: sending task-isolated 'peripheral' to actor-isolated instance method 'handleResult(for:result:)' risks causing data races between actor-isolated and task-isolated uses
35 |
36 | } else{
/Users/admin/builder/spi-builder-workspace/Sources/bluetooth-law-energy-swift/delegate/PeripheralDelegate.swift:37:39: warning: sending 'peripheral' risks causing data races; this is an error in the Swift 6 language mode
35 |
36 | } else{
37 | await service.handleResult(for: peripheral, result: .success(Void()))
| |- warning: sending 'peripheral' risks causing data races; this is an error in the Swift 6 language mode
| `- note: sending task-isolated 'peripheral' to actor-isolated instance method 'handleResult(for:result:)' risks causing data races between actor-isolated and task-isolated uses
38 | }
39 | }
[23/25] Compiling bluetooth_law_energy_swift PeripheralDelegate.swift
/Users/admin/builder/spi-builder-workspace/Sources/bluetooth-law-energy-swift/delegate/BluetoothDelegate.swift:36:27: warning: sending 'logger' risks causing data races; this is an error in the Swift 6 language mode
34 | public init(logger: ILogger) {
35 | self.logger = logger
36 | connection = .init(type: .connection, logger: logger)
| |- warning: sending 'logger' risks causing data races; this is an error in the Swift 6 language mode
| `- note: sending task-isolated 'logger' to actor-isolated callee risks causing data races between actor-isolated and task-isolated uses
37 | disconnection = .init(type: .disconnection, logger: logger)
38 | }
/Users/admin/builder/spi-builder-workspace/Sources/bluetooth-law-energy-swift/delegate/BluetoothDelegate.swift:37:30: warning: sending 'logger' risks causing data races; this is an error in the Swift 6 language mode
35 | self.logger = logger
36 | connection = .init(type: .connection, logger: logger)
37 | disconnection = .init(type: .disconnection, logger: logger)
| |- warning: sending 'logger' risks causing data races; this is an error in the Swift 6 language mode
| `- note: sending task-isolated 'logger' to actor-isolated callee risks causing data races between actor-isolated and task-isolated uses
38 | }
39 |
/Users/admin/builder/spi-builder-workspace/Sources/bluetooth-law-energy-swift/delegate/BluetoothDelegate.swift:114:17: warning: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure; this is an error in the Swift 6 language mode
112 | /// - peripheral: The peripheral that has successfully connected.
113 | public func centralManager(_ central: CBCentralManager, didConnect peripheral: CBPeripheral) {
114 | Task{
| `- warning: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure; this is an error in the Swift 6 language mode
115 | await connection.handleResult(
| `- note: closure captures 'self' which is accessible to code in the current task
116 | for: peripheral,
117 | result: .success(Void())
/Users/admin/builder/spi-builder-workspace/Sources/bluetooth-law-energy-swift/delegate/BluetoothDelegate.swift:115:34: warning: sending 'peripheral' risks causing data races; this is an error in the Swift 6 language mode
113 | public func centralManager(_ central: CBCentralManager, didConnect peripheral: CBPeripheral) {
114 | Task{
115 | await connection.handleResult(
| |- warning: sending 'peripheral' risks causing data races; this is an error in the Swift 6 language mode
| `- note: sending task-isolated 'peripheral' to actor-isolated instance method 'handleResult(for:result:)' risks causing data races between actor-isolated and task-isolated uses
116 | for: peripheral,
117 | result: .success(Void())
/Users/admin/builder/spi-builder-workspace/Sources/bluetooth-law-energy-swift/delegate/BluetoothDelegate.swift:129:17: warning: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure; this is an error in the Swift 6 language mode
127 | /// - error: The error that occurred during the connection attempt.
128 | public func centralManager(_ central: CBCentralManager, didFailToConnect peripheral: CBPeripheral, error: Error?) {
129 | Task{
| `- warning: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure; this is an error in the Swift 6 language mode
130 | let e = Errors.connection(peripheral, error)
131 | await connection.handleResult(
| `- note: closure captures 'self' which is accessible to code in the current task
132 | for: peripheral,
133 | result: .failure(e)
/Users/admin/builder/spi-builder-workspace/Sources/bluetooth-law-energy-swift/delegate/BluetoothDelegate.swift:131:34: warning: sending 'peripheral' risks causing data races; this is an error in the Swift 6 language mode
129 | Task{
130 | let e = Errors.connection(peripheral, error)
131 | await connection.handleResult(
| |- warning: sending 'peripheral' risks causing data races; this is an error in the Swift 6 language mode
| `- note: sending task-isolated 'peripheral' to actor-isolated instance method 'handleResult(for:result:)' risks causing data races between actor-isolated and task-isolated uses
132 | for: peripheral,
133 | result: .failure(e)
/Users/admin/builder/spi-builder-workspace/Sources/bluetooth-law-energy-swift/delegate/BluetoothDelegate.swift:145:17: warning: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure; this is an error in the Swift 6 language mode
143 | /// - error: The error that occurred during the disconnection, if any.
144 | public func centralManager(_ central: CBCentralManager, didDisconnectPeripheral peripheral: CBPeripheral, error: Error?) {
145 | Task{
| `- warning: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure; this is an error in the Swift 6 language mode
146 | guard let error else{
147 | await disconnection.handleResult(
| `- note: closure captures 'self' which is accessible to code in the current task
148 | for: peripheral,
149 | result: .success(Void())
/Users/admin/builder/spi-builder-workspace/Sources/bluetooth-law-energy-swift/delegate/BluetoothDelegate.swift:155:37: warning: sending 'peripheral' risks causing data races; this is an error in the Swift 6 language mode
153 |
154 | let e = Errors.disconnection(peripheral, error)
155 | await disconnection.handleResult(
| |- warning: sending 'peripheral' risks causing data races; this is an error in the Swift 6 language mode
| `- note: sending task-isolated 'peripheral' to actor-isolated instance method 'handleResult(for:result:)' risks causing data races between actor-isolated and task-isolated uses
156 | for: peripheral,
157 | result: .failure(e)
/Users/admin/builder/spi-builder-workspace/Sources/bluetooth-law-energy-swift/delegate/BluetoothDelegate.swift:147:41: warning: sending 'peripheral' risks causing data races; this is an error in the Swift 6 language mode
145 | Task{
146 | guard let error else{
147 | await disconnection.handleResult(
| |- warning: sending 'peripheral' risks causing data races; this is an error in the Swift 6 language mode
| `- note: sending task-isolated 'peripheral' to actor-isolated instance method 'handleResult(for:result:)' risks causing data races between actor-isolated and task-isolated uses
148 | for: peripheral,
149 | result: .success(Void())
/Users/admin/builder/spi-builder-workspace/Sources/bluetooth-law-energy-swift/delegate/PeripheralDelegate.swift:23:24: warning: sending 'logger' risks causing data races; this is an error in the Swift 6 language mode
21 | /// - Parameter logger: The logger instance to be used for logging.
22 | init(logger: ILogger) {
23 | service = .init(type: .discovering, logger: logger)
| |- warning: sending 'logger' risks causing data races; this is an error in the Swift 6 language mode
| `- note: sending task-isolated 'logger' to actor-isolated callee risks causing data races between actor-isolated and task-isolated uses
24 | }
25 |
/Users/admin/builder/spi-builder-workspace/Sources/bluetooth-law-energy-swift/delegate/PeripheralDelegate.swift:32:17: warning: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure; this is an error in the Swift 6 language mode
30 | /// - error: An optional error if the discovery failed
31 | public func peripheral(_ peripheral: CBPeripheral, didDiscoverServices error: Error?) {
32 | Task{
| `- warning: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure; this is an error in the Swift 6 language mode
33 | if let error = error {
34 | await service.handleResult(for: peripheral, result: .failure(BluetoothLEManager.Errors.discoveringServices(peripheral.getName, error)))
| `- note: closure captures 'self' which is accessible to code in the current task
35 |
36 | } else{
/Users/admin/builder/spi-builder-workspace/Sources/bluetooth-law-energy-swift/delegate/PeripheralDelegate.swift:34:35: warning: sending 'peripheral' risks causing data races; this is an error in the Swift 6 language mode
32 | Task{
33 | if let error = error {
34 | await service.handleResult(for: peripheral, result: .failure(BluetoothLEManager.Errors.discoveringServices(peripheral.getName, error)))
| |- warning: sending 'peripheral' risks causing data races; this is an error in the Swift 6 language mode
| `- note: sending task-isolated 'peripheral' to actor-isolated instance method 'handleResult(for:result:)' risks causing data races between actor-isolated and task-isolated uses
35 |
36 | } else{
/Users/admin/builder/spi-builder-workspace/Sources/bluetooth-law-energy-swift/delegate/PeripheralDelegate.swift:37:39: warning: sending 'peripheral' risks causing data races; this is an error in the Swift 6 language mode
35 |
36 | } else{
37 | await service.handleResult(for: peripheral, result: .success(Void()))
| |- warning: sending 'peripheral' risks causing data races; this is an error in the Swift 6 language mode
| `- note: sending task-isolated 'peripheral' to actor-isolated instance method 'handleResult(for:result:)' risks causing data races between actor-isolated and task-isolated uses
38 | }
39 | }
[24/25] Emitting module bluetooth_law_energy_swift
/Users/admin/builder/spi-builder-workspace/Sources/bluetooth-law-energy-swift/enum/Errors.swift:22:14: warning: associated value 'connection' of 'Sendable'-conforming enum 'Errors' has non-sendable type 'CBPeripheral'; this is an error in the Swift 6 language mode
20 |
21 | /// Error encountered while connecting.
22 | case connection(CBPeripheral, Error?)
| `- warning: associated value 'connection' of 'Sendable'-conforming enum 'Errors' has non-sendable type 'CBPeripheral'; this is an error in the Swift 6 language mode
23 |
24 | /// Error when peripheral is already connected.
/Applications/Xcode-16.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.4.sdk/System/Library/Frameworks/CoreBluetooth.framework/Headers/CBPeripheral.h:55:28: note: class 'CBPeripheral' does not conform to the 'Sendable' protocol
53 | */
54 | NS_CLASS_AVAILABLE(10_7, 5_0)
55 | CB_EXTERN_CLASS @interface CBPeripheral : CBPeer
| `- note: class 'CBPeripheral' does not conform to the 'Sendable' protocol
56 |
57 | /*!
/Users/admin/builder/spi-builder-workspace/Sources/bluetooth-law-energy-swift/enum/Errors.swift:8:1: warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'CoreBluetooth'
6 | //
7 |
8 | import CoreBluetooth
| `- warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'CoreBluetooth'
9 |
10 | public extension BluetoothLEManager {
/Users/admin/builder/spi-builder-workspace/Sources/bluetooth-law-energy-swift/enum/Errors.swift:25:14: warning: associated value 'connected' of 'Sendable'-conforming enum 'Errors' has non-sendable type 'CBPeripheral'; this is an error in the Swift 6 language mode
23 |
24 | /// Error when peripheral is already connected.
25 | case connected(CBPeripheral)
| `- warning: associated value 'connected' of 'Sendable'-conforming enum 'Errors' has non-sendable type 'CBPeripheral'; this is an error in the Swift 6 language mode
26 |
27 | /// Error when peripheral is not connected.
/Applications/Xcode-16.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.4.sdk/System/Library/Frameworks/CoreBluetooth.framework/Headers/CBPeripheral.h:55:28: note: class 'CBPeripheral' does not conform to the 'Sendable' protocol
53 | */
54 | NS_CLASS_AVAILABLE(10_7, 5_0)
55 | CB_EXTERN_CLASS @interface CBPeripheral : CBPeer
| `- note: class 'CBPeripheral' does not conform to the 'Sendable' protocol
56 |
57 | /*!
/Users/admin/builder/spi-builder-workspace/Sources/bluetooth-law-energy-swift/enum/Errors.swift:40:14: warning: associated value 'disconnection' of 'Sendable'-conforming enum 'Errors' has non-sendable type 'CBPeripheral'; this is an error in the Swift 6 language mode
38 |
39 | /// Error encountered while disconnecting.
40 | case disconnection(CBPeripheral, Error?)
| `- warning: associated value 'disconnection' of 'Sendable'-conforming enum 'Errors' has non-sendable type 'CBPeripheral'; this is an error in the Swift 6 language mode
41 |
42 | /// Text description
/Applications/Xcode-16.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.4.sdk/System/Library/Frameworks/CoreBluetooth.framework/Headers/CBPeripheral.h:55:28: note: class 'CBPeripheral' does not conform to the 'Sendable' protocol
53 | */
54 | NS_CLASS_AVAILABLE(10_7, 5_0)
55 | CB_EXTERN_CLASS @interface CBPeripheral : CBPeer
| `- note: class 'CBPeripheral' does not conform to the 'Sendable' protocol
56 |
57 | /*!
[25/25] Compiling bluetooth_law_energy_swift StreamRegistration.swift
/Users/admin/builder/spi-builder-workspace/Sources/bluetooth-law-energy-swift/service/StreamRegistration.swift:70:38: warning: non-sendable type '[CBPeripheral]' of property 'discoveredPeripherals' cannot exit main actor-isolated context; this is an error in the Swift 6 language mode
68 | let id = UUID()
69 | subscribers[id] = continuation
70 | continuation.yield(await discoveredPeripherals)
| `- warning: non-sendable type '[CBPeripheral]' of property 'discoveredPeripherals' cannot exit main actor-isolated context; this is an error in the Swift 6 language mode
71 | subscriberCountSubject.send(count)
72 | return id
/Applications/Xcode-16.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.4.sdk/System/Library/Frameworks/CoreBluetooth.framework/Headers/CBPeripheral.h:55:28: note: class 'CBPeripheral' does not conform to the 'Sendable' protocol
53 | */
54 | NS_CLASS_AVAILABLE(10_7, 5_0)
55 | CB_EXTERN_CLASS @interface CBPeripheral : CBPeer
| `- note: class 'CBPeripheral' does not conform to the 'Sendable' protocol
56 |
57 | /*!
/Users/admin/builder/spi-builder-workspace/Sources/bluetooth-law-energy-swift/service/StreamRegistration.swift:10:1: warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'CoreBluetooth'
8 |
9 | import Combine
10 | import CoreBluetooth
| `- warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'CoreBluetooth'
11 |
12 | extension BluetoothLEManager {
/Users/admin/builder/spi-builder-workspace/Sources/bluetooth-law-energy-swift/service/StreamRegistration.swift:60:35: warning: cannot access property 'discoveredPeripherals' with a non-sendable type '[CBPeripheral]' from nonisolated deinit; this is an error in the Swift 6 language mode
58 | value.finish()
59 | }
60 | discoveredPeripherals = []
| `- warning: cannot access property 'discoveredPeripherals' with a non-sendable type '[CBPeripheral]' from nonisolated deinit; this is an error in the Swift 6 language mode
61 | }
62 |
/Applications/Xcode-16.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.4.sdk/System/Library/Frameworks/CoreBluetooth.framework/Headers/CBPeripheral.h:55:28: note: class 'CBPeripheral' does not conform to the 'Sendable' protocol
53 | */
54 | NS_CLASS_AVAILABLE(10_7, 5_0)
55 | CB_EXTERN_CLASS @interface CBPeripheral : CBPeer
| `- note: class 'CBPeripheral' does not conform to the 'Sendable' protocol
56 |
57 | /*!
/Users/admin/builder/spi-builder-workspace/Sources/bluetooth-law-energy-swift/service/StreamRegistration.swift:90:30: warning: sending 'peripherals' risks causing data races; this is an error in the Swift 6 language mode
88 | discoveredPeripherals = peripherals
89 | for continuation in await subscribers.values {
90 | continuation.yield(peripherals)
| |- warning: sending 'peripherals' risks causing data races; this is an error in the Swift 6 language mode
| `- note: main actor-isolated 'peripherals' is passed as a 'sending' parameter; Uses in callee may race with later main actor-isolated uses
91 | }
92 | }
Build complete! (9.60s)
Fetching https://github.com/swiftuiux/retry-policy-service.git
[1/101] Fetching retry-policy-service
Fetched https://github.com/swiftuiux/retry-policy-service.git from cache (0.62s)
Computing version for https://github.com/swiftuiux/retry-policy-service.git
Computed https://github.com/swiftuiux/retry-policy-service.git at 1.0.1 (1.24s)
Creating working copy for https://github.com/swiftuiux/retry-policy-service.git
Working copy of https://github.com/swiftuiux/retry-policy-service.git resolved at 1.0.1
Build complete.
{
"dependencies" : [
{
"identity" : "retry-policy-service",
"requirement" : {
"range" : [
{
"lower_bound" : "1.0.1",
"upper_bound" : "2.0.0"
}
]
},
"type" : "sourceControl",
"url" : "https://github.com/swiftuiux/retry-policy-service.git"
}
],
"manifest_display_name" : "bluetooth-law-energy-swift",
"name" : "bluetooth-law-energy-swift",
"path" : "/Users/admin/builder/spi-builder-workspace",
"platforms" : [
{
"name" : "macos",
"version" : "12.0"
},
{
"name" : "ios",
"version" : "15.0"
},
{
"name" : "watchos",
"version" : "8.0"
},
{
"name" : "tvos",
"version" : "15.0"
}
],
"products" : [
{
"name" : "bluetooth-law-energy-swift",
"targets" : [
"bluetooth-law-energy-swift"
],
"type" : {
"library" : [
"automatic"
]
}
}
],
"targets" : [
{
"c99name" : "bluetooth_law_energy_swiftTests",
"module_type" : "SwiftTarget",
"name" : "bluetooth-law-energy-swiftTests",
"path" : "Tests/bluetooth-law-energy-swiftTests",
"sources" : [
"BluetoothLEManagerTests.swift"
],
"target_dependencies" : [
"bluetooth-law-energy-swift"
],
"type" : "test"
},
{
"c99name" : "bluetooth_law_energy_swift",
"module_type" : "SwiftTarget",
"name" : "bluetooth-law-energy-swift",
"path" : "Sources/bluetooth-law-energy-swift",
"product_dependencies" : [
"retry-policy-service"
],
"product_memberships" : [
"bluetooth-law-energy-swift"
],
"sources" : [
"BluetoothLEManager.swift",
"Combine+/Publisher+.swift",
"delegate/BluetoothDelegate.swift",
"delegate/PeripheralDelegate.swift",
"enum/Errors.swift",
"enum/ServiceType.swift",
"ext/CBPeripheral+.swift",
"ext/Task+.swift",
"model/BLEState.swift",
"protocol/IBluetoothLEManager.swift",
"protocol/ILogger.swift",
"service/AppleLogger.swift",
"service/CacheServices.swift",
"service/ServiceRegistration.swift",
"service/State.swift",
"service/StreamFactory.swift",
"service/StreamRegistration.swift"
],
"type" : "library"
}
],
"tools_version" : "5.7"
}
Done.