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 main (b67f7a), with Swift 6.0 for macOS (SPM) on 13 Dec 2024 13:02:23 UTC.

Swift 6 data race errors: 0

Build Command

env DEVELOPER_DIR=/Applications/Xcode-16.2.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.59.0
Interrupt handler set up.
========================================
Checkout
========================================
Clone URL: https://github.com/swiftuiux/bluetooth-law-energy-swift.git
Reference: main
Initialized empty Git repository in /Users/admin/builder/spi-builder-workspace/.git/
From https://github.com/swiftuiux/bluetooth-law-energy-swift
 * branch            main       -> FETCH_HEAD
 * [new branch]      main       -> origin/main
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 main
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.63s)
Computing version for https://github.com/swiftuiux/retry-policy-service.git
Computed https://github.com/swiftuiux/retry-policy-service.git at 1.0.1 (0.58s)
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
========================================
ResolveProductDependencies
========================================
Resolving dependencies ...
{
  "identity": ".resolve-product-dependencies",
  "name": "resolve-dependencies",
  "url": "/Users/admin/builder/spi-builder-workspace/.resolve-product-dependencies",
  "version": "unspecified",
  "path": "/Users/admin/builder/spi-builder-workspace/.resolve-product-dependencies",
  "dependencies": [
    {
      "identity": "bluetooth-law-energy-swift",
      "name": "bluetooth-law-energy-swift",
      "url": "https://github.com/swiftuiux/bluetooth-law-energy-swift.git",
      "version": "unspecified",
      "path": "/Users/admin/builder/spi-builder-workspace/.resolve-product-dependencies/.build/checkouts/bluetooth-law-energy-swift",
      "dependencies": [
        {
          "identity": "retry-policy-service",
          "name": "retry-policy-service",
          "url": "https://github.com/swiftuiux/retry-policy-service.git",
          "version": "1.0.1",
          "path": "/Users/admin/builder/spi-builder-workspace/.resolve-product-dependencies/.build/checkouts/retry-policy-service",
          "dependencies": [
          ]
        }
      ]
    }
  ]
}
Fetching https://github.com/swiftuiux/bluetooth-law-energy-swift.git
[1/1006] Fetching bluetooth-law-energy-swift
Fetched https://github.com/swiftuiux/bluetooth-law-energy-swift.git from cache (1.34s)
Fetching https://github.com/swiftuiux/retry-policy-service.git from cache
Fetched https://github.com/swiftuiux/retry-policy-service.git from cache (0.48s)
Computing version for https://github.com/swiftuiux/retry-policy-service.git
Computed https://github.com/swiftuiux/retry-policy-service.git at 1.0.1 (0.02s)
Creating working copy for https://github.com/swiftuiux/bluetooth-law-energy-swift.git
Working copy of https://github.com/swiftuiux/bluetooth-law-energy-swift.git resolved at main (b67f7ad)
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
warning: '.resolve-product-dependencies': dependency 'bluetooth-law-energy-swift' is not used by any target
Found 1 product dependencies
  - retry-policy-service
========================================
Build
========================================
Selected platform:         macosSpm
Swift version:             6.0
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.2.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-5BDAB9E9C0126B9D.txt
[4/7] Compiling retry_policy_service Strategy.swift
[5/7] Compiling retry_policy_service RetryService.swift
[6/7] Emitting module retry_policy_service
[7/7] Compiling retry_policy_service DispatchTimeInterval.swift
[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]>' in asynchronous access to actor-isolated property 'stream' cannot cross actor boundary; 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]>' in asynchronous access to actor-isolated property 'stream' cannot cross actor boundary; this is an error in the Swift 6 language mode
62 |         }
63 |
CoreBluetooth.CBPeripheral:2:12: note: class 'CBPeripheral' does not conform to the 'Sendable' protocol
 1 | @available(macOS 10.7, *)
 2 | open class CBPeripheral : CBPeer {
   |            `- note: class 'CBPeripheral' does not conform to the 'Sendable' protocol
 3 |     weak open var delegate: (any CBPeripheralDelegate)? { get set }
 4 |     open var name: String? { get }
/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>' in implicitly asynchronous access to actor-isolated property 'subscriberCountPublisher' cannot cross actor boundary; 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>' in implicitly asynchronous access to actor-isolated property 'subscriberCountPublisher' cannot cross actor boundary; 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 BLEState.swift
[11/25] Compiling bluetooth_law_energy_swift IBluetoothLEManager.swift
[12/25] Compiling bluetooth_law_energy_swift ILogger.swift
[13/25] Compiling bluetooth_law_energy_swift AppleLogger.swift
[14/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 |
CoreBluetooth.CBService:2:12: note: class 'CBService' does not conform to the 'Sendable' protocol
1 | @available(macOS 10.7, *)
2 | open class CBService : CBAttribute {
  |            `- note: class 'CBService' does not conform to the 'Sendable' protocol
3 |     weak open var peripheral: CBPeripheral? { get }
4 |     open var isPrimary: Bool { get }
/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)
[15/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 |
CoreBluetooth.CBService:2:12: note: class 'CBService' does not conform to the 'Sendable' protocol
1 | @available(macOS 10.7, *)
2 | open class CBService : CBAttribute {
  |            `- note: class 'CBService' does not conform to the 'Sendable' protocol
3 |     weak open var peripheral: CBPeripheral? { get }
4 |     open var isPrimary: Bool { get }
/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)
[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 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 |             }
[19/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 |             }
[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] 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.
CoreBluetooth.CBPeripheral:2:12: note: class 'CBPeripheral' does not conform to the 'Sendable' protocol
 1 | @available(macOS 10.7, *)
 2 | open class CBPeripheral : CBPeer {
   |            `- note: class 'CBPeripheral' does not conform to the 'Sendable' protocol
 3 |     weak open var delegate: (any CBPeripheralDelegate)? { get set }
 4 |     open var name: String? { get }
/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.
CoreBluetooth.CBPeripheral:2:12: note: class 'CBPeripheral' does not conform to the 'Sendable' protocol
 1 | @available(macOS 10.7, *)
 2 | open class CBPeripheral : CBPeer {
   |            `- note: class 'CBPeripheral' does not conform to the 'Sendable' protocol
 3 |     weak open var delegate: (any CBPeripheralDelegate)? { get set }
 4 |     open var name: String? { get }
/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
CoreBluetooth.CBPeripheral:2:12: note: class 'CBPeripheral' does not conform to the 'Sendable' protocol
 1 | @available(macOS 10.7, *)
 2 | open class CBPeripheral : CBPeer {
   |            `- note: class 'CBPeripheral' does not conform to the 'Sendable' protocol
 3 |     weak open var delegate: (any CBPeripheralDelegate)? { get set }
 4 |     open var name: String? { get }
[23/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.
CoreBluetooth.CBPeripheral:2:12: note: class 'CBPeripheral' does not conform to the 'Sendable' protocol
 1 | @available(macOS 10.7, *)
 2 | open class CBPeripheral : CBPeer {
   |            `- note: class 'CBPeripheral' does not conform to the 'Sendable' protocol
 3 |     weak open var delegate: (any CBPeripheralDelegate)? { get set }
 4 |     open var name: String? { get }
/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.
CoreBluetooth.CBPeripheral:2:12: note: class 'CBPeripheral' does not conform to the 'Sendable' protocol
 1 | @available(macOS 10.7, *)
 2 | open class CBPeripheral : CBPeer {
   |            `- note: class 'CBPeripheral' does not conform to the 'Sendable' protocol
 3 |     weak open var delegate: (any CBPeripheralDelegate)? { get set }
 4 |     open var name: String? { get }
/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
CoreBluetooth.CBPeripheral:2:12: note: class 'CBPeripheral' does not conform to the 'Sendable' protocol
 1 | @available(macOS 10.7, *)
 2 | open class CBPeripheral : CBPeer {
   |            `- note: class 'CBPeripheral' does not conform to the 'Sendable' protocol
 3 |     weak open var delegate: (any CBPeripheralDelegate)? { get set }
 4 |     open var name: String? { get }
[24/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.
CoreBluetooth.CBPeripheral:2:12: note: class 'CBPeripheral' does not conform to the 'Sendable' protocol
 1 | @available(macOS 10.7, *)
 2 | open class CBPeripheral : CBPeer {
   |            `- note: class 'CBPeripheral' does not conform to the 'Sendable' protocol
 3 |     weak open var delegate: (any CBPeripheralDelegate)? { get set }
 4 |     open var name: String? { get }
/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.
CoreBluetooth.CBPeripheral:2:12: note: class 'CBPeripheral' does not conform to the 'Sendable' protocol
 1 | @available(macOS 10.7, *)
 2 | open class CBPeripheral : CBPeer {
   |            `- note: class 'CBPeripheral' does not conform to the 'Sendable' protocol
 3 |     weak open var delegate: (any CBPeripheralDelegate)? { get set }
 4 |     open var name: String? { get }
/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
CoreBluetooth.CBPeripheral:2:12: note: class 'CBPeripheral' does not conform to the 'Sendable' protocol
 1 | @available(macOS 10.7, *)
 2 | open class CBPeripheral : CBPeer {
   |            `- note: class 'CBPeripheral' does not conform to the 'Sendable' protocol
 3 |     weak open var delegate: (any CBPeripheralDelegate)? { get set }
 4 |     open var name: String? { get }
[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]' in implicitly asynchronous access to main actor-isolated property 'discoveredPeripherals' cannot cross actor boundary; 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]' in implicitly asynchronous access to main actor-isolated property 'discoveredPeripherals' cannot cross actor boundary; this is an error in the Swift 6 language mode
 71 |             subscriberCountSubject.send(count)
 72 |             return id
CoreBluetooth.CBPeripheral:2:12: note: class 'CBPeripheral' does not conform to the 'Sendable' protocol
 1 | @available(macOS 10.7, *)
 2 | open class CBPeripheral : CBPeer {
   |            `- note: class 'CBPeripheral' does not conform to the 'Sendable' protocol
 3 |     weak open var delegate: (any CBPeripheralDelegate)? { get set }
 4 |     open var name: String? { get }
/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 |
CoreBluetooth.CBPeripheral:2:12: note: class 'CBPeripheral' does not conform to the 'Sendable' protocol
 1 | @available(macOS 10.7, *)
 2 | open class CBPeripheral : CBPeer {
   |            `- note: class 'CBPeripheral' does not conform to the 'Sendable' protocol
 3 |     weak open var delegate: (any CBPeripheralDelegate)? { get set }
 4 |     open var name: String? { get }
/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)
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"
}
✅  Doc result (pending) reported
========================================
GenerateDocs
========================================
Generating docs at path:  $PWD/.docs/swiftuiux/bluetooth-law-energy-swift/main
Repository:               swiftuiux/bluetooth-law-energy-swift
Swift version used:       6.0
Target:                   bluetooth-law-energy-swift
Extracting symbol information for 'bluetooth-law-energy-swift'...
Finished extracting symbol information for 'bluetooth-law-energy-swift'. (3.55s)
Building documentation for 'bluetooth-law-energy-swift'...
Finished building documentation for 'bluetooth-law-energy-swift' (0.35s)
Generated documentation archive at:
  /Users/admin/builder/spi-builder-workspace/.docs/swiftuiux/bluetooth-law-energy-swift/main
Fetching https://github.com/swiftlang/swift-docc-plugin
Updating https://github.com/swiftuiux/retry-policy-service.git
Updated https://github.com/swiftuiux/retry-policy-service.git (0.52s)
[1/2044] Fetching swift-docc-plugin
Fetched https://github.com/swiftlang/swift-docc-plugin from cache (1.41s)
Computing version for https://github.com/swiftuiux/retry-policy-service.git
Computed https://github.com/swiftuiux/retry-policy-service.git at 1.0.1 (0.52s)
Computing version for https://github.com/swiftlang/swift-docc-plugin
Computed https://github.com/swiftlang/swift-docc-plugin at 1.4.3 (0.53s)
Fetching https://github.com/swiftlang/swift-docc-symbolkit
[1/3207] Fetching swift-docc-symbolkit
Fetched https://github.com/swiftlang/swift-docc-symbolkit from cache (1.32s)
Computing version for https://github.com/swiftlang/swift-docc-symbolkit
Computed https://github.com/swiftlang/swift-docc-symbolkit at 1.0.0 (0.54s)
Creating working copy for https://github.com/swiftlang/swift-docc-symbolkit
Working copy of https://github.com/swiftlang/swift-docc-symbolkit resolved at 1.0.0
Creating working copy for https://github.com/swiftlang/swift-docc-plugin
Working copy of https://github.com/swiftlang/swift-docc-plugin resolved at 1.4.3
Building for debugging...
[0/8] Write sources
[3/8] Write snippet-extract-tool-entitlement.plist
[4/8] Write swift-version-5BDAB9E9C0126B9D.txt
[6/53] Compiling Snippets SnippetParser.swift
[7/53] Emitting module SymbolKit
[8/57] Compiling SymbolKit Mixin+Equals.swift
[9/57] Compiling SymbolKit Mixin+Hash.swift
[10/57] Compiling SymbolKit Mixin.swift
[11/57] Compiling SymbolKit LineList.swift
[12/57] Compiling SymbolKit Position.swift
[13/57] Compiling SymbolKit GenericConstraint.swift
[14/57] Compiling SymbolKit GenericParameter.swift
[15/57] Compiling SymbolKit Generics.swift
[16/57] Compiling SymbolKit Namespace.swift
[17/57] Compiling SymbolKit SemanticVersion.swift
[18/57] Compiling SymbolKit AccessControl.swift
[19/57] Compiling SymbolKit Availability.swift
[20/57] Compiling SymbolKit AvailabilityItem.swift
[21/57] Compiling SymbolKit Domain.swift
[22/57] Emitting module Snippets
[23/57] Compiling Snippets Snippet.swift
[24/57] Compiling SymbolKit Symbol.swift
[25/57] Compiling SymbolKit SymbolKind.swift
[26/57] Compiling SymbolKit SymbolGraph.swift
[27/57] Compiling SymbolKit GraphCollector.swift
[28/57] Compiling SymbolKit Identifier.swift
[29/57] Compiling SymbolKit KindIdentifier.swift
[30/57] Compiling SymbolKit Location.swift
[31/57] Compiling SymbolKit Mutability.swift
[32/57] Compiling SymbolKit Names.swift
[33/57] Compiling SymbolKit SPI.swift
[34/57] Compiling SymbolKit Snippet.swift
[35/57] Compiling SymbolKit Extension.swift
[36/57] Compiling SymbolKit SourceRange.swift
[37/57] Compiling SymbolKit Metadata.swift
[38/57] Compiling SymbolKit Module.swift
[39/57] Compiling SymbolKit OperatingSystem.swift
[40/57] Compiling SymbolKit Platform.swift
[41/57] Compiling SymbolKit Relationship.swift
[42/57] Compiling SymbolKit RelationshipKind.swift
[43/57] Compiling SymbolKit SourceOrigin.swift
[44/57] Compiling SymbolKit GenericConstraints.swift
[45/57] Compiling SymbolKit Swift.swift
[46/57] Compiling SymbolKit DeclarationFragments.swift
[47/57] Compiling SymbolKit Fragment.swift
[48/57] Compiling SymbolKit FragmentKind.swift
[49/57] Compiling SymbolKit FunctionParameter.swift
[50/57] Compiling SymbolKit FunctionSignature.swift
[51/57] Compiling SymbolKit UnifiedSymbol+Encodable.swift
[52/57] Compiling SymbolKit UnifiedSymbol.swift
[53/57] Compiling SymbolKit UnifiedSymbolGraph+Encodable.swift
[54/57] Compiling SymbolKit UnifiedSymbolGraph.swift
[55/61] Compiling snippet_extract URL+Status.swift
[56/61] Compiling snippet_extract SymbolGraph+Snippet.swift
[57/61] Emitting module snippet_extract
[58/61] Compiling snippet_extract SnippetBuildCommand.swift
[58/61] Write Objects.LinkFileList
[59/61] Linking snippet-extract-tool
[60/61] Applying snippet-extract-tool
Build of product 'snippet-extract' complete! (4.65s)
Building for debugging...
[0/1] Write swift-version-5BDAB9E9C0126B9D.txt
[2/5] Compiling retry_policy_service DispatchTimeInterval.swift
[3/5] Emitting module retry_policy_service
[4/5] Compiling retry_policy_service RetryService.swift
[5/5] Compiling retry_policy_service Strategy.swift
[6/22] Compiling bluetooth_law_energy_swift ILogger.swift
[7/22] Compiling bluetooth_law_energy_swift AppleLogger.swift
[8/23] Compiling bluetooth_law_energy_swift StreamFactory.swift
[9/23] Compiling bluetooth_law_energy_swift State.swift
[10/23] Compiling bluetooth_law_energy_swift CacheServices.swift
[11/23] Compiling bluetooth_law_energy_swift ServiceRegistration.swift
[12/23] Compiling bluetooth_law_energy_swift BLEState.swift
[13/23] Compiling bluetooth_law_energy_swift IBluetoothLEManager.swift
[14/23] Compiling bluetooth_law_energy_swift CBPeripheral+.swift
[15/23] Compiling bluetooth_law_energy_swift Task+.swift
[16/23] Compiling bluetooth_law_energy_swift Errors.swift
[17/23] Compiling bluetooth_law_energy_swift ServiceType.swift
[18/23] Emitting module bluetooth_law_energy_swift
[19/23] 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)
[20/23] 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)
[21/23] Compiling bluetooth_law_energy_swift BluetoothDelegate.swift
[22/23] Compiling bluetooth_law_energy_swift PeripheralDelegate.swift
[23/23] Compiling bluetooth_law_energy_swift StreamRegistration.swift
Build of target: 'bluetooth-law-energy-swift' complete! (1.67s)
     150
2	/Users/admin/builder/spi-builder-workspace/.docs/swiftuiux/bluetooth-law-energy-swift/main
✅  Doc result (uploading) reported
========================================
SyncDocs
========================================
Doc archive source directory: $PWD/.docs/swiftuiux/bluetooth-law-energy-swift/main
File count: 150
Doc size:   2.0MB
Preparing doc bundle ...
Uploading prod-swiftuiux-bluetooth-law-energy-swift-main-78d2124d.zip to s3://spi-docs-inbox/prod-swiftuiux-bluetooth-law-energy-swift-main-78d2124d.zip
Copying... [15%]
Copying... [30%]
Copying... [45%]
Copying... [59%]
Copying... [74%]
Copying... [89%]
Copying... [100%]
Done.