The Swift Package Index logo.Swift Package Index

Track the adoption of Swift 6 strict concurrency checks for data race safety. How many packages are Ready for Swift 6?

Build Information

Successful build of 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.