Build Information
Successful build of SwiftBluetooth, reference master (82395b
), with Swift 6.0 for macOS (SPM) on 4 Nov 2024 18:31:55 UTC.
Swift 6 data race errors: 0
Build Command
env DEVELOPER_DIR=/Applications/Xcode-16.1.0.app xcrun swift build --arch arm64 -Xswiftc -Xfrontend -Xswiftc -stats-output-dir -Xswiftc -Xfrontend -Xswiftc .stats -Xswiftc -strict-concurrency=complete
Build Log
116 | eventQueue.async { [self] in
117 | guard connectedPeripherals.contains(peripheral) else {
118 | completionHandler(.success(Void()))
| |- warning: capture of 'completionHandler' with non-sendable type '(Result<Void, any Error>) -> Void' in a `@Sendable` closure; this is an error in the Swift 6 language mode
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
119 | return
120 | }
/Users/admin/builder/spi-builder-workspace/Sources/SwiftBluetoothMock/SwiftBluetooth/CentralManager/CentralManager+callback.swift:124:39: warning: capture of 'peripheral' with non-sendable type 'Peripheral' in an isolated closure; this is an error in the Swift 6 language mode
122 | eventSubscriptions.queue { event, done in
123 | guard case .disconnected(let disconnected, let error) = event,
124 | disconnected == peripheral else { return }
| `- warning: capture of 'peripheral' with non-sendable type 'Peripheral' in an isolated closure; this is an error in the Swift 6 language mode
125 |
126 | if let error = error {
/Users/admin/builder/spi-builder-workspace/Sources/SwiftBluetoothMock/SwiftBluetooth/Peripheral/Peripheral.swift:4:14: note: class 'Peripheral' does not conform to the 'Sendable' protocol
2 | import CoreBluetooth
3 |
4 | public class Peripheral: NSObject {
| `- note: class 'Peripheral' does not conform to the 'Sendable' protocol
5 | private(set) var cbPeripheral: CBPeripheral
6 | private lazy var wrappedDelegate: PeripheralDelegateWrapper = .init(parent: self)
/Users/admin/builder/spi-builder-workspace/Sources/SwiftBluetoothMock/SwiftBluetooth/CentralManager/CentralManager+callback.swift:127:21: warning: capture of 'completionHandler' with non-sendable type '(Result<Void, any Error>) -> Void' in an isolated closure; this is an error in the Swift 6 language mode
125 |
126 | if let error = error {
127 | completionHandler(.failure(error))
| |- warning: capture of 'completionHandler' with non-sendable type '(Result<Void, any Error>) -> Void' in an isolated closure; this is an error in the Swift 6 language mode
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
128 | } else {
129 | completionHandler(.success(Void()))
[61/72] Compiling SwiftBluetoothMock CentralManager.swift
/Users/admin/builder/spi-builder-workspace/Sources/SwiftBluetoothMock/SwiftBluetooth/CentralManager/CentralManager+callback.swift:7:19: warning: capture of 'self' with non-sendable type 'CentralManager' in a `@Sendable` closure; this is an error in the Swift 6 language mode
5 | func waitUntilReady(completionHandler: @escaping (Result<Void, Error>) -> Void) {
6 | eventQueue.async { [self] in
7 | guard state != .poweredOn else {
| `- warning: capture of 'self' with non-sendable type 'CentralManager' in a `@Sendable` closure; this is an error in the Swift 6 language mode
8 | completionHandler(.success(Void()))
9 | return
/Users/admin/builder/spi-builder-workspace/Sources/SwiftBluetoothMock/SwiftBluetooth/CentralManager/CentralManager.swift:4:14: note: class 'CentralManager' does not conform to the 'Sendable' protocol
2 | import CoreBluetooth
3 |
4 | public class CentralManager: NSObject {
| `- note: class 'CentralManager' does not conform to the 'Sendable' protocol
5 | private(set) var centralManager: CBCentralManager
6 | private lazy var wrappedDelegate: CentralManagerDelegateWrapper = .init(parent: self)
/Users/admin/builder/spi-builder-workspace/Sources/SwiftBluetoothMock/SwiftBluetooth/CentralManager/CentralManager+callback.swift:8:17: warning: capture of 'completionHandler' with non-sendable type '(Result<Void, any Error>) -> Void' in a `@Sendable` closure; this is an error in the Swift 6 language mode
6 | eventQueue.async { [self] in
7 | guard state != .poweredOn else {
8 | completionHandler(.success(Void()))
| |- warning: capture of 'completionHandler' with non-sendable type '(Result<Void, any Error>) -> Void' in a `@Sendable` closure; this is an error in the Swift 6 language mode
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
9 | return
10 | }
/Users/admin/builder/spi-builder-workspace/Sources/SwiftBluetoothMock/SwiftBluetooth/CentralManager/CentralManager+callback.swift:27:21: warning: capture of 'completionHandler' with non-sendable type '(Result<Void, any Error>) -> Void' in an isolated closure; this is an error in the Swift 6 language mode
25 | switch state {
26 | case .poweredOn:
27 | completionHandler(.success(Void()))
| |- warning: capture of 'completionHandler' with non-sendable type '(Result<Void, any Error>) -> Void' in an isolated closure; this is an error in the Swift 6 language mode
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
28 | case .unauthorized:
29 | completionHandler(.failure(CentralError.unauthorized))
/Users/admin/builder/spi-builder-workspace/Sources/SwiftBluetoothMock/SwiftBluetooth/CentralManager/CentralManager+callback.swift:43:19: warning: capture of 'peripheral' with non-sendable type 'Peripheral' in a `@Sendable` closure; this is an error in the Swift 6 language mode
41 | func connect(_ peripheral: Peripheral, timeout: TimeInterval, options: [String: Any]? = nil, completionHandler: @escaping (Result<Peripheral, Error>) -> Void) {
42 | eventQueue.async { [self] in
43 | guard peripheral.state != .connected else {
| `- warning: capture of 'peripheral' with non-sendable type 'Peripheral' in a `@Sendable` closure; this is an error in the Swift 6 language mode
44 | completionHandler(.success(peripheral))
45 | return
/Users/admin/builder/spi-builder-workspace/Sources/SwiftBluetoothMock/SwiftBluetooth/Peripheral/Peripheral.swift:4:14: note: class 'Peripheral' does not conform to the 'Sendable' protocol
2 | import CoreBluetooth
3 |
4 | public class Peripheral: NSObject {
| `- note: class 'Peripheral' does not conform to the 'Sendable' protocol
5 | private(set) var cbPeripheral: CBPeripheral
6 | private lazy var wrappedDelegate: PeripheralDelegateWrapper = .init(parent: self)
/Users/admin/builder/spi-builder-workspace/Sources/SwiftBluetoothMock/SwiftBluetooth/CentralManager/CentralManager+callback.swift:44:17: warning: capture of 'completionHandler' with non-sendable type '(Result<Peripheral, any Error>) -> Void' in a `@Sendable` closure; this is an error in the Swift 6 language mode
42 | eventQueue.async { [self] in
43 | guard peripheral.state != .connected else {
44 | completionHandler(.success(peripheral))
| |- warning: capture of 'completionHandler' with non-sendable type '(Result<Peripheral, any Error>) -> Void' in a `@Sendable` closure; this is an error in the Swift 6 language mode
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
45 | return
46 | }
/Users/admin/builder/spi-builder-workspace/Sources/SwiftBluetoothMock/SwiftBluetooth/CentralManager/CentralManager+callback.swift:49:24: warning: capture of 'self' with non-sendable type 'CentralManager' in a `@Sendable` closure; this is an error in the Swift 6 language mode
47 |
48 | var timer: Timer?
49 | let task = eventSubscriptions.queue { event, done in
| `- warning: capture of 'self' with non-sendable type 'CentralManager' in a `@Sendable` closure; this is an error in the Swift 6 language mode
50 | switch event {
51 | case .connected(let connected):
/Users/admin/builder/spi-builder-workspace/Sources/SwiftBluetoothMock/SwiftBluetooth/CentralManager/CentralManager.swift:4:14: note: class 'CentralManager' does not conform to the 'Sendable' protocol
2 | import CoreBluetooth
3 |
4 | public class CentralManager: NSObject {
| `- note: class 'CentralManager' does not conform to the 'Sendable' protocol
5 | private(set) var centralManager: CBCentralManager
6 | private lazy var wrappedDelegate: CentralManagerDelegateWrapper = .init(parent: self)
/Users/admin/builder/spi-builder-workspace/Sources/SwiftBluetoothMock/SwiftBluetooth/CentralManager/CentralManager+callback.swift:77:42: warning: capture of 'options' with non-sendable type '[String : Any]?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
75 | }
76 |
77 | connect(peripheral, options: options)
| `- warning: capture of 'options' with non-sendable type '[String : Any]?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
78 | }
79 | }
/Users/admin/builder/spi-builder-workspace/Sources/SwiftBluetoothMock/SwiftBluetooth/CentralManager/CentralManager+callback.swift:52:40: warning: capture of 'peripheral' with non-sendable type 'Peripheral' in an isolated closure; this is an error in the Swift 6 language mode
50 | switch event {
51 | case .connected(let connected):
52 | guard connected == peripheral else { return }
| `- warning: capture of 'peripheral' with non-sendable type 'Peripheral' in an isolated closure; this is an error in the Swift 6 language mode
53 | completionHandler(.success(peripheral))
54 | case .disconnected(let disconnected, let error):
/Users/admin/builder/spi-builder-workspace/Sources/SwiftBluetoothMock/SwiftBluetooth/Peripheral/Peripheral.swift:4:14: note: class 'Peripheral' does not conform to the 'Sendable' protocol
2 | import CoreBluetooth
3 |
4 | public class Peripheral: NSObject {
| `- note: class 'Peripheral' does not conform to the 'Sendable' protocol
5 | private(set) var cbPeripheral: CBPeripheral
6 | private lazy var wrappedDelegate: PeripheralDelegateWrapper = .init(parent: self)
/Users/admin/builder/spi-builder-workspace/Sources/SwiftBluetoothMock/SwiftBluetooth/CentralManager/CentralManager+callback.swift:53:21: warning: capture of 'completionHandler' with non-sendable type '(Result<Peripheral, any Error>) -> Void' in an isolated closure; this is an error in the Swift 6 language mode
51 | case .connected(let connected):
52 | guard connected == peripheral else { return }
53 | completionHandler(.success(peripheral))
| |- warning: capture of 'completionHandler' with non-sendable type '(Result<Peripheral, any Error>) -> Void' in an isolated closure; this is an error in the Swift 6 language mode
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
54 | case .disconnected(let disconnected, let error):
55 | guard disconnected == peripheral else { return }
/Users/admin/builder/spi-builder-workspace/Sources/SwiftBluetoothMock/SwiftBluetooth/CentralManager/CentralManager+callback.swift:70:21: warning: capture of 'task' with non-sendable type 'AsyncSubscription<CentralManagerEvent>' in a `@Sendable` closure; this is an error in the Swift 6 language mode
68 | if timeout != .infinity {
69 | let timeoutTimer = Timer(fire: Date() + timeout, interval: 0, repeats: false) { _ in
70 | task.cancel()
| `- warning: capture of 'task' with non-sendable type 'AsyncSubscription<CentralManagerEvent>' in a `@Sendable` closure; this is an error in the Swift 6 language mode
71 | completionHandler(.failure(CBError(.connectionTimeout)))
72 | }
/Users/admin/builder/spi-builder-workspace/Sources/SwiftBluetoothMock/SwiftBluetooth/Async/AsyncSubscription.swift:3:17: note: consider making generic struct 'AsyncSubscription' conform to the 'Sendable' protocol
1 | import Foundation
2 |
3 | internal struct AsyncSubscription<Value>: Identifiable, Equatable, CancellableTask {
| `- note: consider making generic struct 'AsyncSubscription' conform to the 'Sendable' protocol
4 | public let id = UUID()
5 | weak var parent: AsyncSubscriptionQueue<Value>?
/Users/admin/builder/spi-builder-workspace/Sources/SwiftBluetoothMock/SwiftBluetooth/CentralManager/CentralManager+callback.swift:71:21: warning: capture of 'completionHandler' with non-sendable type '(Result<Peripheral, any Error>) -> Void' in a `@Sendable` closure; this is an error in the Swift 6 language mode
69 | let timeoutTimer = Timer(fire: Date() + timeout, interval: 0, repeats: false) { _ in
70 | task.cancel()
71 | completionHandler(.failure(CBError(.connectionTimeout)))
| |- warning: capture of 'completionHandler' with non-sendable type '(Result<Peripheral, any Error>) -> Void' in a `@Sendable` closure; this is an error in the Swift 6 language mode
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
72 | }
73 | timer = timeoutTimer
/Users/admin/builder/spi-builder-workspace/Sources/SwiftBluetoothMock/SwiftBluetooth/CentralManager/CentralManager+callback.swift:102:25: warning: capture of 'subscription' with non-sendable type 'AsyncSubscription<CentralManagerEvent>' in a `@Sendable` closure; this is an error in the Swift 6 language mode
100 | if let timeout = timeout {
101 | let timeoutTimer = Timer(fire: Date() + timeout, interval: 0, repeats: false) { _ in
102 | subscription.cancel()
| `- warning: capture of 'subscription' with non-sendable type 'AsyncSubscription<CentralManagerEvent>' in a `@Sendable` closure; this is an error in the Swift 6 language mode
103 | }
104 | timer = timeoutTimer
/Users/admin/builder/spi-builder-workspace/Sources/SwiftBluetoothMock/SwiftBluetooth/Async/AsyncSubscription.swift:3:17: note: consider making generic struct 'AsyncSubscription' conform to the 'Sendable' protocol
1 | import Foundation
2 |
3 | internal struct AsyncSubscription<Value>: Identifiable, Equatable, CancellableTask {
| `- note: consider making generic struct 'AsyncSubscription' conform to the 'Sendable' protocol
4 | public let id = UUID()
5 | weak var parent: AsyncSubscriptionQueue<Value>?
/Users/admin/builder/spi-builder-workspace/Sources/SwiftBluetoothMock/SwiftBluetooth/CentralManager/CentralManager+callback.swift:117:19: warning: capture of 'self' with non-sendable type 'CentralManager' in a `@Sendable` closure; this is an error in the Swift 6 language mode
115 | func cancelPeripheralConnection(_ peripheral: Peripheral, completionHandler: @escaping (Result<Void, Error>) -> Void) {
116 | eventQueue.async { [self] in
117 | guard connectedPeripherals.contains(peripheral) else {
| `- warning: capture of 'self' with non-sendable type 'CentralManager' in a `@Sendable` closure; this is an error in the Swift 6 language mode
118 | completionHandler(.success(Void()))
119 | return
/Users/admin/builder/spi-builder-workspace/Sources/SwiftBluetoothMock/SwiftBluetooth/CentralManager/CentralManager.swift:4:14: note: class 'CentralManager' does not conform to the 'Sendable' protocol
2 | import CoreBluetooth
3 |
4 | public class CentralManager: NSObject {
| `- note: class 'CentralManager' does not conform to the 'Sendable' protocol
5 | private(set) var centralManager: CBCentralManager
6 | private lazy var wrappedDelegate: CentralManagerDelegateWrapper = .init(parent: self)
/Users/admin/builder/spi-builder-workspace/Sources/SwiftBluetoothMock/SwiftBluetooth/CentralManager/CentralManager+callback.swift:117:49: warning: capture of 'peripheral' with non-sendable type 'Peripheral' in a `@Sendable` closure; this is an error in the Swift 6 language mode
115 | func cancelPeripheralConnection(_ peripheral: Peripheral, completionHandler: @escaping (Result<Void, Error>) -> Void) {
116 | eventQueue.async { [self] in
117 | guard connectedPeripherals.contains(peripheral) else {
| `- warning: capture of 'peripheral' with non-sendable type 'Peripheral' in a `@Sendable` closure; this is an error in the Swift 6 language mode
118 | completionHandler(.success(Void()))
119 | return
/Users/admin/builder/spi-builder-workspace/Sources/SwiftBluetoothMock/SwiftBluetooth/Peripheral/Peripheral.swift:4:14: note: class 'Peripheral' does not conform to the 'Sendable' protocol
2 | import CoreBluetooth
3 |
4 | public class Peripheral: NSObject {
| `- note: class 'Peripheral' does not conform to the 'Sendable' protocol
5 | private(set) var cbPeripheral: CBPeripheral
6 | private lazy var wrappedDelegate: PeripheralDelegateWrapper = .init(parent: self)
/Users/admin/builder/spi-builder-workspace/Sources/SwiftBluetoothMock/SwiftBluetooth/CentralManager/CentralManager+callback.swift:118:17: warning: capture of 'completionHandler' with non-sendable type '(Result<Void, any Error>) -> Void' in a `@Sendable` closure; this is an error in the Swift 6 language mode
116 | eventQueue.async { [self] in
117 | guard connectedPeripherals.contains(peripheral) else {
118 | completionHandler(.success(Void()))
| |- warning: capture of 'completionHandler' with non-sendable type '(Result<Void, any Error>) -> Void' in a `@Sendable` closure; this is an error in the Swift 6 language mode
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
119 | return
120 | }
/Users/admin/builder/spi-builder-workspace/Sources/SwiftBluetoothMock/SwiftBluetooth/CentralManager/CentralManager+callback.swift:124:39: warning: capture of 'peripheral' with non-sendable type 'Peripheral' in an isolated closure; this is an error in the Swift 6 language mode
122 | eventSubscriptions.queue { event, done in
123 | guard case .disconnected(let disconnected, let error) = event,
124 | disconnected == peripheral else { return }
| `- warning: capture of 'peripheral' with non-sendable type 'Peripheral' in an isolated closure; this is an error in the Swift 6 language mode
125 |
126 | if let error = error {
/Users/admin/builder/spi-builder-workspace/Sources/SwiftBluetoothMock/SwiftBluetooth/Peripheral/Peripheral.swift:4:14: note: class 'Peripheral' does not conform to the 'Sendable' protocol
2 | import CoreBluetooth
3 |
4 | public class Peripheral: NSObject {
| `- note: class 'Peripheral' does not conform to the 'Sendable' protocol
5 | private(set) var cbPeripheral: CBPeripheral
6 | private lazy var wrappedDelegate: PeripheralDelegateWrapper = .init(parent: self)
/Users/admin/builder/spi-builder-workspace/Sources/SwiftBluetoothMock/SwiftBluetooth/CentralManager/CentralManager+callback.swift:127:21: warning: capture of 'completionHandler' with non-sendable type '(Result<Void, any Error>) -> Void' in an isolated closure; this is an error in the Swift 6 language mode
125 |
126 | if let error = error {
127 | completionHandler(.failure(error))
| |- warning: capture of 'completionHandler' with non-sendable type '(Result<Void, any Error>) -> Void' in an isolated closure; this is an error in the Swift 6 language mode
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
128 | } else {
129 | completionHandler(.success(Void()))
[62/72] Compiling SwiftBluetoothMock CentralManagerDelegate.swift
/Users/admin/builder/spi-builder-workspace/Sources/SwiftBluetoothMock/SwiftBluetooth/CentralManager/CentralManager+callback.swift:7:19: warning: capture of 'self' with non-sendable type 'CentralManager' in a `@Sendable` closure; this is an error in the Swift 6 language mode
5 | func waitUntilReady(completionHandler: @escaping (Result<Void, Error>) -> Void) {
6 | eventQueue.async { [self] in
7 | guard state != .poweredOn else {
| `- warning: capture of 'self' with non-sendable type 'CentralManager' in a `@Sendable` closure; this is an error in the Swift 6 language mode
8 | completionHandler(.success(Void()))
9 | return
/Users/admin/builder/spi-builder-workspace/Sources/SwiftBluetoothMock/SwiftBluetooth/CentralManager/CentralManager.swift:4:14: note: class 'CentralManager' does not conform to the 'Sendable' protocol
2 | import CoreBluetooth
3 |
4 | public class CentralManager: NSObject {
| `- note: class 'CentralManager' does not conform to the 'Sendable' protocol
5 | private(set) var centralManager: CBCentralManager
6 | private lazy var wrappedDelegate: CentralManagerDelegateWrapper = .init(parent: self)
/Users/admin/builder/spi-builder-workspace/Sources/SwiftBluetoothMock/SwiftBluetooth/CentralManager/CentralManager+callback.swift:8:17: warning: capture of 'completionHandler' with non-sendable type '(Result<Void, any Error>) -> Void' in a `@Sendable` closure; this is an error in the Swift 6 language mode
6 | eventQueue.async { [self] in
7 | guard state != .poweredOn else {
8 | completionHandler(.success(Void()))
| |- warning: capture of 'completionHandler' with non-sendable type '(Result<Void, any Error>) -> Void' in a `@Sendable` closure; this is an error in the Swift 6 language mode
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
9 | return
10 | }
/Users/admin/builder/spi-builder-workspace/Sources/SwiftBluetoothMock/SwiftBluetooth/CentralManager/CentralManager+callback.swift:27:21: warning: capture of 'completionHandler' with non-sendable type '(Result<Void, any Error>) -> Void' in an isolated closure; this is an error in the Swift 6 language mode
25 | switch state {
26 | case .poweredOn:
27 | completionHandler(.success(Void()))
| |- warning: capture of 'completionHandler' with non-sendable type '(Result<Void, any Error>) -> Void' in an isolated closure; this is an error in the Swift 6 language mode
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
28 | case .unauthorized:
29 | completionHandler(.failure(CentralError.unauthorized))
/Users/admin/builder/spi-builder-workspace/Sources/SwiftBluetoothMock/SwiftBluetooth/CentralManager/CentralManager+callback.swift:43:19: warning: capture of 'peripheral' with non-sendable type 'Peripheral' in a `@Sendable` closure; this is an error in the Swift 6 language mode
41 | func connect(_ peripheral: Peripheral, timeout: TimeInterval, options: [String: Any]? = nil, completionHandler: @escaping (Result<Peripheral, Error>) -> Void) {
42 | eventQueue.async { [self] in
43 | guard peripheral.state != .connected else {
| `- warning: capture of 'peripheral' with non-sendable type 'Peripheral' in a `@Sendable` closure; this is an error in the Swift 6 language mode
44 | completionHandler(.success(peripheral))
45 | return
/Users/admin/builder/spi-builder-workspace/Sources/SwiftBluetoothMock/SwiftBluetooth/Peripheral/Peripheral.swift:4:14: note: class 'Peripheral' does not conform to the 'Sendable' protocol
2 | import CoreBluetooth
3 |
4 | public class Peripheral: NSObject {
| `- note: class 'Peripheral' does not conform to the 'Sendable' protocol
5 | private(set) var cbPeripheral: CBPeripheral
6 | private lazy var wrappedDelegate: PeripheralDelegateWrapper = .init(parent: self)
/Users/admin/builder/spi-builder-workspace/Sources/SwiftBluetoothMock/SwiftBluetooth/CentralManager/CentralManager+callback.swift:44:17: warning: capture of 'completionHandler' with non-sendable type '(Result<Peripheral, any Error>) -> Void' in a `@Sendable` closure; this is an error in the Swift 6 language mode
42 | eventQueue.async { [self] in
43 | guard peripheral.state != .connected else {
44 | completionHandler(.success(peripheral))
| |- warning: capture of 'completionHandler' with non-sendable type '(Result<Peripheral, any Error>) -> Void' in a `@Sendable` closure; this is an error in the Swift 6 language mode
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
45 | return
46 | }
/Users/admin/builder/spi-builder-workspace/Sources/SwiftBluetoothMock/SwiftBluetooth/CentralManager/CentralManager+callback.swift:49:24: warning: capture of 'self' with non-sendable type 'CentralManager' in a `@Sendable` closure; this is an error in the Swift 6 language mode
47 |
48 | var timer: Timer?
49 | let task = eventSubscriptions.queue { event, done in
| `- warning: capture of 'self' with non-sendable type 'CentralManager' in a `@Sendable` closure; this is an error in the Swift 6 language mode
50 | switch event {
51 | case .connected(let connected):
/Users/admin/builder/spi-builder-workspace/Sources/SwiftBluetoothMock/SwiftBluetooth/CentralManager/CentralManager.swift:4:14: note: class 'CentralManager' does not conform to the 'Sendable' protocol
2 | import CoreBluetooth
3 |
4 | public class CentralManager: NSObject {
| `- note: class 'CentralManager' does not conform to the 'Sendable' protocol
5 | private(set) var centralManager: CBCentralManager
6 | private lazy var wrappedDelegate: CentralManagerDelegateWrapper = .init(parent: self)
/Users/admin/builder/spi-builder-workspace/Sources/SwiftBluetoothMock/SwiftBluetooth/CentralManager/CentralManager+callback.swift:77:42: warning: capture of 'options' with non-sendable type '[String : Any]?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
75 | }
76 |
77 | connect(peripheral, options: options)
| `- warning: capture of 'options' with non-sendable type '[String : Any]?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
78 | }
79 | }
/Users/admin/builder/spi-builder-workspace/Sources/SwiftBluetoothMock/SwiftBluetooth/CentralManager/CentralManager+callback.swift:52:40: warning: capture of 'peripheral' with non-sendable type 'Peripheral' in an isolated closure; this is an error in the Swift 6 language mode
50 | switch event {
51 | case .connected(let connected):
52 | guard connected == peripheral else { return }
| `- warning: capture of 'peripheral' with non-sendable type 'Peripheral' in an isolated closure; this is an error in the Swift 6 language mode
53 | completionHandler(.success(peripheral))
54 | case .disconnected(let disconnected, let error):
/Users/admin/builder/spi-builder-workspace/Sources/SwiftBluetoothMock/SwiftBluetooth/Peripheral/Peripheral.swift:4:14: note: class 'Peripheral' does not conform to the 'Sendable' protocol
2 | import CoreBluetooth
3 |
4 | public class Peripheral: NSObject {
| `- note: class 'Peripheral' does not conform to the 'Sendable' protocol
5 | private(set) var cbPeripheral: CBPeripheral
6 | private lazy var wrappedDelegate: PeripheralDelegateWrapper = .init(parent: self)
/Users/admin/builder/spi-builder-workspace/Sources/SwiftBluetoothMock/SwiftBluetooth/CentralManager/CentralManager+callback.swift:53:21: warning: capture of 'completionHandler' with non-sendable type '(Result<Peripheral, any Error>) -> Void' in an isolated closure; this is an error in the Swift 6 language mode
51 | case .connected(let connected):
52 | guard connected == peripheral else { return }
53 | completionHandler(.success(peripheral))
| |- warning: capture of 'completionHandler' with non-sendable type '(Result<Peripheral, any Error>) -> Void' in an isolated closure; this is an error in the Swift 6 language mode
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
54 | case .disconnected(let disconnected, let error):
55 | guard disconnected == peripheral else { return }
/Users/admin/builder/spi-builder-workspace/Sources/SwiftBluetoothMock/SwiftBluetooth/CentralManager/CentralManager+callback.swift:70:21: warning: capture of 'task' with non-sendable type 'AsyncSubscription<CentralManagerEvent>' in a `@Sendable` closure; this is an error in the Swift 6 language mode
68 | if timeout != .infinity {
69 | let timeoutTimer = Timer(fire: Date() + timeout, interval: 0, repeats: false) { _ in
70 | task.cancel()
| `- warning: capture of 'task' with non-sendable type 'AsyncSubscription<CentralManagerEvent>' in a `@Sendable` closure; this is an error in the Swift 6 language mode
71 | completionHandler(.failure(CBError(.connectionTimeout)))
72 | }
/Users/admin/builder/spi-builder-workspace/Sources/SwiftBluetoothMock/SwiftBluetooth/Async/AsyncSubscription.swift:3:17: note: consider making generic struct 'AsyncSubscription' conform to the 'Sendable' protocol
1 | import Foundation
2 |
3 | internal struct AsyncSubscription<Value>: Identifiable, Equatable, CancellableTask {
| `- note: consider making generic struct 'AsyncSubscription' conform to the 'Sendable' protocol
4 | public let id = UUID()
5 | weak var parent: AsyncSubscriptionQueue<Value>?
/Users/admin/builder/spi-builder-workspace/Sources/SwiftBluetoothMock/SwiftBluetooth/CentralManager/CentralManager+callback.swift:71:21: warning: capture of 'completionHandler' with non-sendable type '(Result<Peripheral, any Error>) -> Void' in a `@Sendable` closure; this is an error in the Swift 6 language mode
69 | let timeoutTimer = Timer(fire: Date() + timeout, interval: 0, repeats: false) { _ in
70 | task.cancel()
71 | completionHandler(.failure(CBError(.connectionTimeout)))
| |- warning: capture of 'completionHandler' with non-sendable type '(Result<Peripheral, any Error>) -> Void' in a `@Sendable` closure; this is an error in the Swift 6 language mode
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
72 | }
73 | timer = timeoutTimer
/Users/admin/builder/spi-builder-workspace/Sources/SwiftBluetoothMock/SwiftBluetooth/CentralManager/CentralManager+callback.swift:102:25: warning: capture of 'subscription' with non-sendable type 'AsyncSubscription<CentralManagerEvent>' in a `@Sendable` closure; this is an error in the Swift 6 language mode
100 | if let timeout = timeout {
101 | let timeoutTimer = Timer(fire: Date() + timeout, interval: 0, repeats: false) { _ in
102 | subscription.cancel()
| `- warning: capture of 'subscription' with non-sendable type 'AsyncSubscription<CentralManagerEvent>' in a `@Sendable` closure; this is an error in the Swift 6 language mode
103 | }
104 | timer = timeoutTimer
/Users/admin/builder/spi-builder-workspace/Sources/SwiftBluetoothMock/SwiftBluetooth/Async/AsyncSubscription.swift:3:17: note: consider making generic struct 'AsyncSubscription' conform to the 'Sendable' protocol
1 | import Foundation
2 |
3 | internal struct AsyncSubscription<Value>: Identifiable, Equatable, CancellableTask {
| `- note: consider making generic struct 'AsyncSubscription' conform to the 'Sendable' protocol
4 | public let id = UUID()
5 | weak var parent: AsyncSubscriptionQueue<Value>?
/Users/admin/builder/spi-builder-workspace/Sources/SwiftBluetoothMock/SwiftBluetooth/CentralManager/CentralManager+callback.swift:117:19: warning: capture of 'self' with non-sendable type 'CentralManager' in a `@Sendable` closure; this is an error in the Swift 6 language mode
115 | func cancelPeripheralConnection(_ peripheral: Peripheral, completionHandler: @escaping (Result<Void, Error>) -> Void) {
116 | eventQueue.async { [self] in
117 | guard connectedPeripherals.contains(peripheral) else {
| `- warning: capture of 'self' with non-sendable type 'CentralManager' in a `@Sendable` closure; this is an error in the Swift 6 language mode
118 | completionHandler(.success(Void()))
119 | return
/Users/admin/builder/spi-builder-workspace/Sources/SwiftBluetoothMock/SwiftBluetooth/CentralManager/CentralManager.swift:4:14: note: class 'CentralManager' does not conform to the 'Sendable' protocol
2 | import CoreBluetooth
3 |
4 | public class CentralManager: NSObject {
| `- note: class 'CentralManager' does not conform to the 'Sendable' protocol
5 | private(set) var centralManager: CBCentralManager
6 | private lazy var wrappedDelegate: CentralManagerDelegateWrapper = .init(parent: self)
/Users/admin/builder/spi-builder-workspace/Sources/SwiftBluetoothMock/SwiftBluetooth/CentralManager/CentralManager+callback.swift:117:49: warning: capture of 'peripheral' with non-sendable type 'Peripheral' in a `@Sendable` closure; this is an error in the Swift 6 language mode
115 | func cancelPeripheralConnection(_ peripheral: Peripheral, completionHandler: @escaping (Result<Void, Error>) -> Void) {
116 | eventQueue.async { [self] in
117 | guard connectedPeripherals.contains(peripheral) else {
| `- warning: capture of 'peripheral' with non-sendable type 'Peripheral' in a `@Sendable` closure; this is an error in the Swift 6 language mode
118 | completionHandler(.success(Void()))
119 | return
/Users/admin/builder/spi-builder-workspace/Sources/SwiftBluetoothMock/SwiftBluetooth/Peripheral/Peripheral.swift:4:14: note: class 'Peripheral' does not conform to the 'Sendable' protocol
2 | import CoreBluetooth
3 |
4 | public class Peripheral: NSObject {
| `- note: class 'Peripheral' does not conform to the 'Sendable' protocol
5 | private(set) var cbPeripheral: CBPeripheral
6 | private lazy var wrappedDelegate: PeripheralDelegateWrapper = .init(parent: self)
/Users/admin/builder/spi-builder-workspace/Sources/SwiftBluetoothMock/SwiftBluetooth/CentralManager/CentralManager+callback.swift:118:17: warning: capture of 'completionHandler' with non-sendable type '(Result<Void, any Error>) -> Void' in a `@Sendable` closure; this is an error in the Swift 6 language mode
116 | eventQueue.async { [self] in
117 | guard connectedPeripherals.contains(peripheral) else {
118 | completionHandler(.success(Void()))
| |- warning: capture of 'completionHandler' with non-sendable type '(Result<Void, any Error>) -> Void' in a `@Sendable` closure; this is an error in the Swift 6 language mode
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
119 | return
120 | }
/Users/admin/builder/spi-builder-workspace/Sources/SwiftBluetoothMock/SwiftBluetooth/CentralManager/CentralManager+callback.swift:124:39: warning: capture of 'peripheral' with non-sendable type 'Peripheral' in an isolated closure; this is an error in the Swift 6 language mode
122 | eventSubscriptions.queue { event, done in
123 | guard case .disconnected(let disconnected, let error) = event,
124 | disconnected == peripheral else { return }
| `- warning: capture of 'peripheral' with non-sendable type 'Peripheral' in an isolated closure; this is an error in the Swift 6 language mode
125 |
126 | if let error = error {
/Users/admin/builder/spi-builder-workspace/Sources/SwiftBluetoothMock/SwiftBluetooth/Peripheral/Peripheral.swift:4:14: note: class 'Peripheral' does not conform to the 'Sendable' protocol
2 | import CoreBluetooth
3 |
4 | public class Peripheral: NSObject {
| `- note: class 'Peripheral' does not conform to the 'Sendable' protocol
5 | private(set) var cbPeripheral: CBPeripheral
6 | private lazy var wrappedDelegate: PeripheralDelegateWrapper = .init(parent: self)
/Users/admin/builder/spi-builder-workspace/Sources/SwiftBluetoothMock/SwiftBluetooth/CentralManager/CentralManager+callback.swift:127:21: warning: capture of 'completionHandler' with non-sendable type '(Result<Void, any Error>) -> Void' in an isolated closure; this is an error in the Swift 6 language mode
125 |
126 | if let error = error {
127 | completionHandler(.failure(error))
| |- warning: capture of 'completionHandler' with non-sendable type '(Result<Void, any Error>) -> Void' in an isolated closure; this is an error in the Swift 6 language mode
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
128 | } else {
129 | completionHandler(.success(Void()))
[63/72] Compiling SwiftBluetoothMock CoreBluetoothMock.swift
/Users/admin/builder/spi-builder-workspace/Sources/SwiftBluetoothMock/SwiftBluetooth/Async/AsyncSubscriptionQueue.swift:22:13: warning: capture of 'self' with non-sendable type 'AsyncSubscriptionQueue<Value>' in a `@Sendable` closure; this is an error in the Swift 6 language mode
1 | import Foundation
2 |
3 | internal final class AsyncSubscriptionQueue<Value> {
| `- note: generic class 'AsyncSubscriptionQueue' does not conform to the 'Sendable' protocol
4 | private var items: [AsyncSubscription<Value>] = []
5 |
:
20 |
21 | dispatchQueue.async {
22 | self.items.append(item)
| `- warning: capture of 'self' with non-sendable type 'AsyncSubscriptionQueue<Value>' in a `@Sendable` closure; this is an error in the Swift 6 language mode
23 | }
24 |
/Users/admin/builder/spi-builder-workspace/Sources/SwiftBluetoothMock/SwiftBluetooth/Async/AsyncSubscriptionQueue.swift:22:31: warning: capture of 'item' with non-sendable type 'AsyncSubscription<Value>' in a `@Sendable` closure; this is an error in the Swift 6 language mode
20 |
21 | dispatchQueue.async {
22 | self.items.append(item)
| `- warning: capture of 'item' with non-sendable type 'AsyncSubscription<Value>' in a `@Sendable` closure; this is an error in the Swift 6 language mode
23 | }
24 |
/Users/admin/builder/spi-builder-workspace/Sources/SwiftBluetoothMock/SwiftBluetooth/Async/AsyncSubscription.swift:3:17: note: consider making generic struct 'AsyncSubscription' conform to the 'Sendable' protocol
1 | import Foundation
2 |
3 | internal struct AsyncSubscription<Value>: Identifiable, Equatable, CancellableTask {
| `- note: consider making generic struct 'AsyncSubscription' conform to the 'Sendable' protocol
4 | public let id = UUID()
5 | weak var parent: AsyncSubscriptionQueue<Value>?
/Users/admin/builder/spi-builder-workspace/Sources/SwiftBluetoothMock/SwiftBluetooth/Async/AsyncSubscriptionQueue.swift:30:25: warning: capture of 'self' with non-sendable type 'AsyncSubscriptionQueue<Value>' in a `@Sendable` closure; this is an error in the Swift 6 language mode
1 | import Foundation
2 |
3 | internal final class AsyncSubscriptionQueue<Value> {
| `- note: generic class 'AsyncSubscriptionQueue' does not conform to the 'Sendable' protocol
4 | private var items: [AsyncSubscription<Value>] = []
5 |
:
28 | func recieve(_ value: Value) {
29 | dispatchQueue.async {
30 | for item in self.items.reversed() {
| `- warning: capture of 'self' with non-sendable type 'AsyncSubscriptionQueue<Value>' in a `@Sendable` closure; this is an error in the Swift 6 language mode
31 | item.block(value, item.cancel)
32 | }
/Users/admin/builder/spi-builder-workspace/Sources/SwiftBluetoothMock/SwiftBluetooth/Async/AsyncSubscriptionQueue.swift:31:28: warning: capture of 'value' with non-sendable type 'Value' in a `@Sendable` closure; this is an error in the Swift 6 language mode
1 | import Foundation
2 |
3 | internal final class AsyncSubscriptionQueue<Value> {
| `- note: consider making generic parameter 'Value' conform to the 'Sendable' protocol
4 | private var items: [AsyncSubscription<Value>] = []
5 |
:
29 | dispatchQueue.async {
30 | for item in self.items.reversed() {
31 | item.block(value, item.cancel)
| `- warning: capture of 'value' with non-sendable type 'Value' in a `@Sendable` closure; this is an error in the Swift 6 language mode
32 | }
33 | }
[64/72] Compiling SwiftBluetoothMock AsyncSubscription.swift
/Users/admin/builder/spi-builder-workspace/Sources/SwiftBluetoothMock/SwiftBluetooth/Async/AsyncSubscriptionQueue.swift:22:13: warning: capture of 'self' with non-sendable type 'AsyncSubscriptionQueue<Value>' in a `@Sendable` closure; this is an error in the Swift 6 language mode
1 | import Foundation
2 |
3 | internal final class AsyncSubscriptionQueue<Value> {
| `- note: generic class 'AsyncSubscriptionQueue' does not conform to the 'Sendable' protocol
4 | private var items: [AsyncSubscription<Value>] = []
5 |
:
20 |
21 | dispatchQueue.async {
22 | self.items.append(item)
| `- warning: capture of 'self' with non-sendable type 'AsyncSubscriptionQueue<Value>' in a `@Sendable` closure; this is an error in the Swift 6 language mode
23 | }
24 |
/Users/admin/builder/spi-builder-workspace/Sources/SwiftBluetoothMock/SwiftBluetooth/Async/AsyncSubscriptionQueue.swift:22:31: warning: capture of 'item' with non-sendable type 'AsyncSubscription<Value>' in a `@Sendable` closure; this is an error in the Swift 6 language mode
20 |
21 | dispatchQueue.async {
22 | self.items.append(item)
| `- warning: capture of 'item' with non-sendable type 'AsyncSubscription<Value>' in a `@Sendable` closure; this is an error in the Swift 6 language mode
23 | }
24 |
/Users/admin/builder/spi-builder-workspace/Sources/SwiftBluetoothMock/SwiftBluetooth/Async/AsyncSubscription.swift:3:17: note: consider making generic struct 'AsyncSubscription' conform to the 'Sendable' protocol
1 | import Foundation
2 |
3 | internal struct AsyncSubscription<Value>: Identifiable, Equatable, CancellableTask {
| `- note: consider making generic struct 'AsyncSubscription' conform to the 'Sendable' protocol
4 | public let id = UUID()
5 | weak var parent: AsyncSubscriptionQueue<Value>?
/Users/admin/builder/spi-builder-workspace/Sources/SwiftBluetoothMock/SwiftBluetooth/Async/AsyncSubscriptionQueue.swift:30:25: warning: capture of 'self' with non-sendable type 'AsyncSubscriptionQueue<Value>' in a `@Sendable` closure; this is an error in the Swift 6 language mode
1 | import Foundation
2 |
3 | internal final class AsyncSubscriptionQueue<Value> {
| `- note: generic class 'AsyncSubscriptionQueue' does not conform to the 'Sendable' protocol
4 | private var items: [AsyncSubscription<Value>] = []
5 |
:
28 | func recieve(_ value: Value) {
29 | dispatchQueue.async {
30 | for item in self.items.reversed() {
| `- warning: capture of 'self' with non-sendable type 'AsyncSubscriptionQueue<Value>' in a `@Sendable` closure; this is an error in the Swift 6 language mode
31 | item.block(value, item.cancel)
32 | }
/Users/admin/builder/spi-builder-workspace/Sources/SwiftBluetoothMock/SwiftBluetooth/Async/AsyncSubscriptionQueue.swift:31:28: warning: capture of 'value' with non-sendable type 'Value' in a `@Sendable` closure; this is an error in the Swift 6 language mode
1 | import Foundation
2 |
3 | internal final class AsyncSubscriptionQueue<Value> {
| `- note: consider making generic parameter 'Value' conform to the 'Sendable' protocol
4 | private var items: [AsyncSubscription<Value>] = []
5 |
:
29 | dispatchQueue.async {
30 | for item in self.items.reversed() {
31 | item.block(value, item.cancel)
| `- warning: capture of 'value' with non-sendable type 'Value' in a `@Sendable` closure; this is an error in the Swift 6 language mode
32 | }
33 | }
[65/72] Compiling SwiftBluetoothMock AsyncSubscriptionQueue.swift
/Users/admin/builder/spi-builder-workspace/Sources/SwiftBluetoothMock/SwiftBluetooth/Async/AsyncSubscriptionQueue.swift:22:13: warning: capture of 'self' with non-sendable type 'AsyncSubscriptionQueue<Value>' in a `@Sendable` closure; this is an error in the Swift 6 language mode
1 | import Foundation
2 |
3 | internal final class AsyncSubscriptionQueue<Value> {
| `- note: generic class 'AsyncSubscriptionQueue' does not conform to the 'Sendable' protocol
4 | private var items: [AsyncSubscription<Value>] = []
5 |
:
20 |
21 | dispatchQueue.async {
22 | self.items.append(item)
| `- warning: capture of 'self' with non-sendable type 'AsyncSubscriptionQueue<Value>' in a `@Sendable` closure; this is an error in the Swift 6 language mode
23 | }
24 |
/Users/admin/builder/spi-builder-workspace/Sources/SwiftBluetoothMock/SwiftBluetooth/Async/AsyncSubscriptionQueue.swift:22:31: warning: capture of 'item' with non-sendable type 'AsyncSubscription<Value>' in a `@Sendable` closure; this is an error in the Swift 6 language mode
20 |
21 | dispatchQueue.async {
22 | self.items.append(item)
| `- warning: capture of 'item' with non-sendable type 'AsyncSubscription<Value>' in a `@Sendable` closure; this is an error in the Swift 6 language mode
23 | }
24 |
/Users/admin/builder/spi-builder-workspace/Sources/SwiftBluetoothMock/SwiftBluetooth/Async/AsyncSubscription.swift:3:17: note: consider making generic struct 'AsyncSubscription' conform to the 'Sendable' protocol
1 | import Foundation
2 |
3 | internal struct AsyncSubscription<Value>: Identifiable, Equatable, CancellableTask {
| `- note: consider making generic struct 'AsyncSubscription' conform to the 'Sendable' protocol
4 | public let id = UUID()
5 | weak var parent: AsyncSubscriptionQueue<Value>?
/Users/admin/builder/spi-builder-workspace/Sources/SwiftBluetoothMock/SwiftBluetooth/Async/AsyncSubscriptionQueue.swift:30:25: warning: capture of 'self' with non-sendable type 'AsyncSubscriptionQueue<Value>' in a `@Sendable` closure; this is an error in the Swift 6 language mode
1 | import Foundation
2 |
3 | internal final class AsyncSubscriptionQueue<Value> {
| `- note: generic class 'AsyncSubscriptionQueue' does not conform to the 'Sendable' protocol
4 | private var items: [AsyncSubscription<Value>] = []
5 |
:
28 | func recieve(_ value: Value) {
29 | dispatchQueue.async {
30 | for item in self.items.reversed() {
| `- warning: capture of 'self' with non-sendable type 'AsyncSubscriptionQueue<Value>' in a `@Sendable` closure; this is an error in the Swift 6 language mode
31 | item.block(value, item.cancel)
32 | }
/Users/admin/builder/spi-builder-workspace/Sources/SwiftBluetoothMock/SwiftBluetooth/Async/AsyncSubscriptionQueue.swift:31:28: warning: capture of 'value' with non-sendable type 'Value' in a `@Sendable` closure; this is an error in the Swift 6 language mode
1 | import Foundation
2 |
3 | internal final class AsyncSubscriptionQueue<Value> {
| `- note: consider making generic parameter 'Value' conform to the 'Sendable' protocol
4 | private var items: [AsyncSubscription<Value>] = []
5 |
:
29 | dispatchQueue.async {
30 | for item in self.items.reversed() {
31 | item.block(value, item.cancel)
| `- warning: capture of 'value' with non-sendable type 'Value' in a `@Sendable` closure; this is an error in the Swift 6 language mode
32 | }
33 | }
[66/72] Compiling SwiftBluetoothMock CentralManagerDelegateWrapper.swift
/Users/admin/builder/spi-builder-workspace/Sources/SwiftBluetoothMock/SwiftBluetooth/CentralManager/CentralManagerDelegateWrapper.swift:18:13: warning: capture of 'parent' with non-sendable type 'CentralManager' in a `@Sendable` closure; this is an error in the Swift 6 language mode
16 |
17 | parent.eventQueue.async {
18 | parent.eventSubscriptions.recieve(.stateUpdated(parent.state))
| `- warning: capture of 'parent' with non-sendable type 'CentralManager' in a `@Sendable` closure; this is an error in the Swift 6 language mode
19 | }
20 | }
/Users/admin/builder/spi-builder-workspace/Sources/SwiftBluetoothMock/SwiftBluetooth/CentralManager/CentralManager.swift:4:14: note: class 'CentralManager' does not conform to the 'Sendable' protocol
2 | import CoreBluetooth
3 |
4 | public class CentralManager: NSObject {
| `- note: class 'CentralManager' does not conform to the 'Sendable' protocol
5 | private(set) var centralManager: CBCentralManager
6 | private lazy var wrappedDelegate: CentralManagerDelegateWrapper = .init(parent: self)
/Users/admin/builder/spi-builder-workspace/Sources/SwiftBluetoothMock/SwiftBluetooth/CentralManager/CentralManagerDelegateWrapper.swift:30:13: warning: capture of 'parent' with non-sendable type 'CentralManager' in a `@Sendable` closure; this is an error in the Swift 6 language mode
28 |
29 | parent.eventQueue.async {
30 | parent.eventSubscriptions.recieve(.connected(peripheral))
| `- warning: capture of 'parent' with non-sendable type 'CentralManager' in a `@Sendable` closure; this is an error in the Swift 6 language mode
31 | }
32 | }
/Users/admin/builder/spi-builder-workspace/Sources/SwiftBluetoothMock/SwiftBluetooth/CentralManager/CentralManager.swift:4:14: note: class 'CentralManager' does not conform to the 'Sendable' protocol
2 | import CoreBluetooth
3 |
4 | public class CentralManager: NSObject {
| `- note: class 'CentralManager' does not conform to the 'Sendable' protocol
5 | private(set) var centralManager: CBCentralManager
6 | private lazy var wrappedDelegate: CentralManagerDelegateWrapper = .init(parent: self)
/Users/admin/builder/spi-builder-workspace/Sources/SwiftBluetoothMock/SwiftBluetooth/CentralManager/CentralManagerDelegateWrapper.swift:30:58: warning: capture of 'peripheral' with non-sendable type 'Peripheral' in a `@Sendable` closure; this is an error in the Swift 6 language mode
28 |
29 | parent.eventQueue.async {
30 | parent.eventSubscriptions.recieve(.connected(peripheral))
| `- warning: capture of 'peripheral' with non-sendable type 'Peripheral' in a `@Sendable` closure; this is an error in the Swift 6 language mode
31 | }
32 | }
/Users/admin/builder/spi-builder-workspace/Sources/SwiftBluetoothMock/SwiftBluetooth/Peripheral/Peripheral.swift:4:14: note: class 'Peripheral' does not conform to the 'Sendable' protocol
2 | import CoreBluetooth
3 |
4 | public class Peripheral: NSObject {
| `- note: class 'Peripheral' does not conform to the 'Sendable' protocol
5 | private(set) var cbPeripheral: CBPeripheral
6 | private lazy var wrappedDelegate: PeripheralDelegateWrapper = .init(parent: self)
/Users/admin/builder/spi-builder-workspace/Sources/SwiftBluetoothMock/SwiftBluetooth/CentralManager/CentralManagerDelegateWrapper.swift:48:13: warning: capture of 'parent' with non-sendable type 'CentralManager' in a `@Sendable` closure; this is an error in the Swift 6 language mode
46 |
47 | parent.eventQueue.async {
48 | parent.eventSubscriptions.recieve(.disconnected(peripheral, error))
| `- warning: capture of 'parent' with non-sendable type 'CentralManager' in a `@Sendable` closure; this is an error in the Swift 6 language mode
49 | peripheral.eventSubscriptions.recieve(.didDisconnect(error))
50 | }
/Users/admin/builder/spi-builder-workspace/Sources/SwiftBluetoothMock/SwiftBluetooth/CentralManager/CentralManager.swift:4:14: note: class 'CentralManager' does not conform to the 'Sendable' protocol
2 | import CoreBluetooth
3 |
4 | public class CentralManager: NSObject {
| `- note: class 'CentralManager' does not conform to the 'Sendable' protocol
5 | private(set) var centralManager: CBCentralManager
6 | private lazy var wrappedDelegate: CentralManagerDelegateWrapper = .init(parent: self)
/Users/admin/builder/spi-builder-workspace/Sources/SwiftBluetoothMock/SwiftBluetooth/CentralManager/CentralManagerDelegateWrapper.swift:48:61: warning: capture of 'peripheral' with non-sendable type 'Peripheral' in a `@Sendable` closure; this is an error in the Swift 6 language mode
46 |
47 | parent.eventQueue.async {
48 | parent.eventSubscriptions.recieve(.disconnected(peripheral, error))
| `- warning: capture of 'peripheral' with non-sendable type 'Peripheral' in a `@Sendable` closure; this is an error in the Swift 6 language mode
49 | peripheral.eventSubscriptions.recieve(.didDisconnect(error))
50 | }
/Users/admin/builder/spi-builder-workspace/Sources/SwiftBluetoothMock/SwiftBluetooth/Peripheral/Peripheral.swift:4:14: note: class 'Peripheral' does not conform to the 'Sendable' protocol
2 | import CoreBluetooth
3 |
4 | public class Peripheral: NSObject {
| `- note: class 'Peripheral' does not conform to the 'Sendable' protocol
5 | private(set) var cbPeripheral: CBPeripheral
6 | private lazy var wrappedDelegate: PeripheralDelegateWrapper = .init(parent: self)
/Users/admin/builder/spi-builder-workspace/Sources/SwiftBluetoothMock/SwiftBluetooth/CentralManager/CentralManagerDelegateWrapper.swift:60:13: warning: capture of 'parent' with non-sendable type 'CentralManager' in a `@Sendable` closure; this is an error in the Swift 6 language mode
58 |
59 | parent.eventQueue.async {
60 | parent.eventSubscriptions.recieve(.failToConnect(peripheral, error))
| `- warning: capture of 'parent' with non-sendable type 'CentralManager' in a `@Sendable` closure; this is an error in the Swift 6 language mode
61 | }
62 | }
/Users/admin/builder/spi-builder-workspace/Sources/SwiftBluetoothMock/SwiftBluetooth/CentralManager/CentralManager.swift:4:14: note: class 'CentralManager' does not conform to the 'Sendable' protocol
2 | import CoreBluetooth
3 |
4 | public class CentralManager: NSObject {
| `- note: class 'CentralManager' does not conform to the 'Sendable' protocol
5 | private(set) var centralManager: CBCentralManager
6 | private lazy var wrappedDelegate: CentralManagerDelegateWrapper = .init(parent: self)
/Users/admin/builder/spi-builder-workspace/Sources/SwiftBluetoothMock/SwiftBluetooth/CentralManager/CentralManagerDelegateWrapper.swift:60:62: warning: capture of 'peripheral' with non-sendable type 'Peripheral' in a `@Sendable` closure; this is an error in the Swift 6 language mode
58 |
59 | parent.eventQueue.async {
60 | parent.eventSubscriptions.recieve(.failToConnect(peripheral, error))
| `- warning: capture of 'peripheral' with non-sendable type 'Peripheral' in a `@Sendable` closure; this is an error in the Swift 6 language mode
61 | }
62 | }
/Users/admin/builder/spi-builder-workspace/Sources/SwiftBluetoothMock/SwiftBluetooth/Peripheral/Peripheral.swift:4:14: note: class 'Peripheral' does not conform to the 'Sendable' protocol
2 | import CoreBluetooth
3 |
4 | public class Peripheral: NSObject {
| `- note: class 'Peripheral' does not conform to the 'Sendable' protocol
5 | private(set) var cbPeripheral: CBPeripheral
6 | private lazy var wrappedDelegate: PeripheralDelegateWrapper = .init(parent: self)
/Users/admin/builder/spi-builder-workspace/Sources/SwiftBluetoothMock/SwiftBluetooth/CentralManager/CentralManagerDelegateWrapper.swift:72:13: warning: capture of 'parent' with non-sendable type 'CentralManager' in a `@Sendable` closure; this is an error in the Swift 6 language mode
70 |
71 | parent.eventQueue.async {
72 | parent.eventSubscriptions.recieve(.discovered(peripheral, advertisementData, RSSI))
| `- warning: capture of 'parent' with non-sendable type 'CentralManager' in a `@Sendable` closure; this is an error in the Swift 6 language mode
73 | }
74 | }
/Users/admin/builder/spi-builder-workspace/Sources/SwiftBluetoothMock/SwiftBluetooth/CentralManager/CentralManager.swift:4:14: note: class 'CentralManager' does not conform to the 'Sendable' protocol
2 | import CoreBluetooth
3 |
4 | public class CentralManager: NSObject {
| `- note: class 'CentralManager' does not conform to the 'Sendable' protocol
5 | private(set) var centralManager: CBCentralManager
6 | private lazy var wrappedDelegate: CentralManagerDelegateWrapper = .init(parent: self)
/Users/admin/builder/spi-builder-workspace/Sources/SwiftBluetoothMock/SwiftBluetooth/CentralManager/CentralManagerDelegateWrapper.swift:72:59: warning: capture of 'peripheral' with non-sendable type 'Peripheral' in a `@Sendable` closure; this is an error in the Swift 6 language mode
70 |
71 | parent.eventQueue.async {
72 | parent.eventSubscriptions.recieve(.discovered(peripheral, advertisementData, RSSI))
| `- warning: capture of 'peripheral' with non-sendable type 'Peripheral' in a `@Sendable` closure; this is an error in the Swift 6 language mode
73 | }
74 | }
/Users/admin/builder/spi-builder-workspace/Sources/SwiftBluetoothMock/SwiftBluetooth/Peripheral/Peripheral.swift:4:14: note: class 'Peripheral' does not conform to the 'Sendable' protocol
2 | import CoreBluetooth
3 |
4 | public class Peripheral: NSObject {
| `- note: class 'Peripheral' does not conform to the 'Sendable' protocol
5 | private(set) var cbPeripheral: CBPeripheral
6 | private lazy var wrappedDelegate: PeripheralDelegateWrapper = .init(parent: self)
/Users/admin/builder/spi-builder-workspace/Sources/SwiftBluetoothMock/SwiftBluetooth/CentralManager/CentralManagerDelegateWrapper.swift:72:71: warning: capture of 'advertisementData' with non-sendable type '[String : Any]' in a `@Sendable` closure; this is an error in the Swift 6 language mode
70 |
71 | parent.eventQueue.async {
72 | parent.eventSubscriptions.recieve(.discovered(peripheral, advertisementData, RSSI))
| `- warning: capture of 'advertisementData' with non-sendable type '[String : Any]' in a `@Sendable` closure; this is an error in the Swift 6 language mode
73 | }
74 | }
/Users/admin/builder/spi-builder-workspace/Sources/SwiftBluetoothMock/SwiftBluetooth/CentralManager/CentralManagerDelegateWrapper.swift:82:13: warning: capture of 'parent' with non-sendable type 'CentralManager' in a `@Sendable` closure; this is an error in the Swift 6 language mode
80 |
81 | parent.eventQueue.async {
82 | parent.eventSubscriptions.recieve(.restoreState(dict))
| `- warning: capture of 'parent' with non-sendable type 'CentralManager' in a `@Sendable` closure; this is an error in the Swift 6 language mode
83 | }
84 | }
/Users/admin/builder/spi-builder-workspace/Sources/SwiftBluetoothMock/SwiftBluetooth/CentralManager/CentralManager.swift:4:14: note: class 'CentralManager' does not conform to the 'Sendable' protocol
2 | import CoreBluetooth
3 |
4 | public class CentralManager: NSObject {
| `- note: class 'CentralManager' does not conform to the 'Sendable' protocol
5 | private(set) var centralManager: CBCentralManager
6 | private lazy var wrappedDelegate: CentralManagerDelegateWrapper = .init(parent: self)
/Users/admin/builder/spi-builder-workspace/Sources/SwiftBluetoothMock/SwiftBluetooth/CentralManager/CentralManagerDelegateWrapper.swift:82:61: warning: capture of 'dict' with non-sendable type '[String : Any]' in a `@Sendable` closure; this is an error in the Swift 6 language mode
80 |
81 | parent.eventQueue.async {
82 | parent.eventSubscriptions.recieve(.restoreState(dict))
| `- warning: capture of 'dict' with non-sendable type '[String : Any]' in a `@Sendable` closure; this is an error in the Swift 6 language mode
83 | }
84 | }
[67/72] Compiling SwiftBluetoothMock CentralManagerError.swift
/Users/admin/builder/spi-builder-workspace/Sources/SwiftBluetoothMock/SwiftBluetooth/CentralManager/CentralManagerDelegateWrapper.swift:18:13: warning: capture of 'parent' with non-sendable type 'CentralManager' in a `@Sendable` closure; this is an error in the Swift 6 language mode
16 |
17 | parent.eventQueue.async {
18 | parent.eventSubscriptions.recieve(.stateUpdated(parent.state))
| `- warning: capture of 'parent' with non-sendable type 'CentralManager' in a `@Sendable` closure; this is an error in the Swift 6 language mode
19 | }
20 | }
/Users/admin/builder/spi-builder-workspace/Sources/SwiftBluetoothMock/SwiftBluetooth/CentralManager/CentralManager.swift:4:14: note: class 'CentralManager' does not conform to the 'Sendable' protocol
2 | import CoreBluetooth
3 |
4 | public class CentralManager: NSObject {
| `- note: class 'CentralManager' does not conform to the 'Sendable' protocol
5 | private(set) var centralManager: CBCentralManager
6 | private lazy var wrappedDelegate: CentralManagerDelegateWrapper = .init(parent: self)
/Users/admin/builder/spi-builder-workspace/Sources/SwiftBluetoothMock/SwiftBluetooth/CentralManager/CentralManagerDelegateWrapper.swift:30:13: warning: capture of 'parent' with non-sendable type 'CentralManager' in a `@Sendable` closure; this is an error in the Swift 6 language mode
28 |
29 | parent.eventQueue.async {
30 | parent.eventSubscriptions.recieve(.connected(peripheral))
| `- warning: capture of 'parent' with non-sendable type 'CentralManager' in a `@Sendable` closure; this is an error in the Swift 6 language mode
31 | }
32 | }
/Users/admin/builder/spi-builder-workspace/Sources/SwiftBluetoothMock/SwiftBluetooth/CentralManager/CentralManager.swift:4:14: note: class 'CentralManager' does not conform to the 'Sendable' protocol
2 | import CoreBluetooth
3 |
4 | public class CentralManager: NSObject {
| `- note: class 'CentralManager' does not conform to the 'Sendable' protocol
5 | private(set) var centralManager: CBCentralManager
6 | private lazy var wrappedDelegate: CentralManagerDelegateWrapper = .init(parent: self)
/Users/admin/builder/spi-builder-workspace/Sources/SwiftBluetoothMock/SwiftBluetooth/CentralManager/CentralManagerDelegateWrapper.swift:30:58: warning: capture of 'peripheral' with non-sendable type 'Peripheral' in a `@Sendable` closure; this is an error in the Swift 6 language mode
28 |
29 | parent.eventQueue.async {
30 | parent.eventSubscriptions.recieve(.connected(peripheral))
| `- warning: capture of 'peripheral' with non-sendable type 'Peripheral' in a `@Sendable` closure; this is an error in the Swift 6 language mode
31 | }
32 | }
/Users/admin/builder/spi-builder-workspace/Sources/SwiftBluetoothMock/SwiftBluetooth/Peripheral/Peripheral.swift:4:14: note: class 'Peripheral' does not conform to the 'Sendable' protocol
2 | import CoreBluetooth
3 |
4 | public class Peripheral: NSObject {
| `- note: class 'Peripheral' does not conform to the 'Sendable' protocol
5 | private(set) var cbPeripheral: CBPeripheral
6 | private lazy var wrappedDelegate: PeripheralDelegateWrapper = .init(parent: self)
/Users/admin/builder/spi-builder-workspace/Sources/SwiftBluetoothMock/SwiftBluetooth/CentralManager/CentralManagerDelegateWrapper.swift:48:13: warning: capture of 'parent' with non-sendable type 'CentralManager' in a `@Sendable` closure; this is an error in the Swift 6 language mode
46 |
47 | parent.eventQueue.async {
48 | parent.eventSubscriptions.recieve(.disconnected(peripheral, error))
| `- warning: capture of 'parent' with non-sendable type 'CentralManager' in a `@Sendable` closure; this is an error in the Swift 6 language mode
49 | peripheral.eventSubscriptions.recieve(.didDisconnect(error))
50 | }
/Users/admin/builder/spi-builder-workspace/Sources/SwiftBluetoothMock/SwiftBluetooth/CentralManager/CentralManager.swift:4:14: note: class 'CentralManager' does not conform to the 'Sendable' protocol
2 | import CoreBluetooth
3 |
4 | public class CentralManager: NSObject {
| `- note: class 'CentralManager' does not conform to the 'Sendable' protocol
5 | private(set) var centralManager: CBCentralManager
6 | private lazy var wrappedDelegate: CentralManagerDelegateWrapper = .init(parent: self)
/Users/admin/builder/spi-builder-workspace/Sources/SwiftBluetoothMock/SwiftBluetooth/CentralManager/CentralManagerDelegateWrapper.swift:48:61: warning: capture of 'peripheral' with non-sendable type 'Peripheral' in a `@Sendable` closure; this is an error in the Swift 6 language mode
46 |
47 | parent.eventQueue.async {
48 | parent.eventSubscriptions.recieve(.disconnected(peripheral, error))
| `- warning: capture of 'peripheral' with non-sendable type 'Peripheral' in a `@Sendable` closure; this is an error in the Swift 6 language mode
49 | peripheral.eventSubscriptions.recieve(.didDisconnect(error))
50 | }
/Users/admin/builder/spi-builder-workspace/Sources/SwiftBluetoothMock/SwiftBluetooth/Peripheral/Peripheral.swift:4:14: note: class 'Peripheral' does not conform to the 'Sendable' protocol
2 | import CoreBluetooth
3 |
4 | public class Peripheral: NSObject {
| `- note: class 'Peripheral' does not conform to the 'Sendable' protocol
5 | private(set) var cbPeripheral: CBPeripheral
6 | private lazy var wrappedDelegate: PeripheralDelegateWrapper = .init(parent: self)
/Users/admin/builder/spi-builder-workspace/Sources/SwiftBluetoothMock/SwiftBluetooth/CentralManager/CentralManagerDelegateWrapper.swift:60:13: warning: capture of 'parent' with non-sendable type 'CentralManager' in a `@Sendable` closure; this is an error in the Swift 6 language mode
58 |
59 | parent.eventQueue.async {
60 | parent.eventSubscriptions.recieve(.failToConnect(peripheral, error))
| `- warning: capture of 'parent' with non-sendable type 'CentralManager' in a `@Sendable` closure; this is an error in the Swift 6 language mode
61 | }
62 | }
/Users/admin/builder/spi-builder-workspace/Sources/SwiftBluetoothMock/SwiftBluetooth/CentralManager/CentralManager.swift:4:14: note: class 'CentralManager' does not conform to the 'Sendable' protocol
2 | import CoreBluetooth
3 |
4 | public class CentralManager: NSObject {
| `- note: class 'CentralManager' does not conform to the 'Sendable' protocol
5 | private(set) var centralManager: CBCentralManager
6 | private lazy var wrappedDelegate: CentralManagerDelegateWrapper = .init(parent: self)
/Users/admin/builder/spi-builder-workspace/Sources/SwiftBluetoothMock/SwiftBluetooth/CentralManager/CentralManagerDelegateWrapper.swift:60:62: warning: capture of 'peripheral' with non-sendable type 'Peripheral' in a `@Sendable` closure; this is an error in the Swift 6 language mode
58 |
59 | parent.eventQueue.async {
60 | parent.eventSubscriptions.recieve(.failToConnect(peripheral, error))
| `- warning: capture of 'peripheral' with non-sendable type 'Peripheral' in a `@Sendable` closure; this is an error in the Swift 6 language mode
61 | }
62 | }
/Users/admin/builder/spi-builder-workspace/Sources/SwiftBluetoothMock/SwiftBluetooth/Peripheral/Peripheral.swift:4:14: note: class 'Peripheral' does not conform to the 'Sendable' protocol
2 | import CoreBluetooth
3 |
4 | public class Peripheral: NSObject {
| `- note: class 'Peripheral' does not conform to the 'Sendable' protocol
5 | private(set) var cbPeripheral: CBPeripheral
6 | private lazy var wrappedDelegate: PeripheralDelegateWrapper = .init(parent: self)
/Users/admin/builder/spi-builder-workspace/Sources/SwiftBluetoothMock/SwiftBluetooth/CentralManager/CentralManagerDelegateWrapper.swift:72:13: warning: capture of 'parent' with non-sendable type 'CentralManager' in a `@Sendable` closure; this is an error in the Swift 6 language mode
70 |
71 | parent.eventQueue.async {
72 | parent.eventSubscriptions.recieve(.discovered(peripheral, advertisementData, RSSI))
| `- warning: capture of 'parent' with non-sendable type 'CentralManager' in a `@Sendable` closure; this is an error in the Swift 6 language mode
73 | }
74 | }
/Users/admin/builder/spi-builder-workspace/Sources/SwiftBluetoothMock/SwiftBluetooth/CentralManager/CentralManager.swift:4:14: note: class 'CentralManager' does not conform to the 'Sendable' protocol
2 | import CoreBluetooth
3 |
4 | public class CentralManager: NSObject {
| `- note: class 'CentralManager' does not conform to the 'Sendable' protocol
5 | private(set) var centralManager: CBCentralManager
6 | private lazy var wrappedDelegate: CentralManagerDelegateWrapper = .init(parent: self)
/Users/admin/builder/spi-builder-workspace/Sources/SwiftBluetoothMock/SwiftBluetooth/CentralManager/CentralManagerDelegateWrapper.swift:72:59: warning: capture of 'peripheral' with non-sendable type 'Peripheral' in a `@Sendable` closure; this is an error in the Swift 6 language mode
70 |
71 | parent.eventQueue.async {
72 | parent.eventSubscriptions.recieve(.discovered(peripheral, advertisementData, RSSI))
| `- warning: capture of 'peripheral' with non-sendable type 'Peripheral' in a `@Sendable` closure; this is an error in the Swift 6 language mode
73 | }
74 | }
/Users/admin/builder/spi-builder-workspace/Sources/SwiftBluetoothMock/SwiftBluetooth/Peripheral/Peripheral.swift:4:14: note: class 'Peripheral' does not conform to the 'Sendable' protocol
2 | import CoreBluetooth
3 |
4 | public class Peripheral: NSObject {
| `- note: class 'Peripheral' does not conform to the 'Sendable' protocol
5 | private(set) var cbPeripheral: CBPeripheral
6 | private lazy var wrappedDelegate: PeripheralDelegateWrapper = .init(parent: self)
/Users/admin/builder/spi-builder-workspace/Sources/SwiftBluetoothMock/SwiftBluetooth/CentralManager/CentralManagerDelegateWrapper.swift:72:71: warning: capture of 'advertisementData' with non-sendable type '[String : Any]' in a `@Sendable` closure; this is an error in the Swift 6 language mode
70 |
71 | parent.eventQueue.async {
72 | parent.eventSubscriptions.recieve(.discovered(peripheral, advertisementData, RSSI))
| `- warning: capture of 'advertisementData' with non-sendable type '[String : Any]' in a `@Sendable` closure; this is an error in the Swift 6 language mode
73 | }
74 | }
/Users/admin/builder/spi-builder-workspace/Sources/SwiftBluetoothMock/SwiftBluetooth/CentralManager/CentralManagerDelegateWrapper.swift:82:13: warning: capture of 'parent' with non-sendable type 'CentralManager' in a `@Sendable` closure; this is an error in the Swift 6 language mode
80 |
81 | parent.eventQueue.async {
82 | parent.eventSubscriptions.recieve(.restoreState(dict))
| `- warning: capture of 'parent' with non-sendable type 'CentralManager' in a `@Sendable` closure; this is an error in the Swift 6 language mode
83 | }
84 | }
/Users/admin/builder/spi-builder-workspace/Sources/SwiftBluetoothMock/SwiftBluetooth/CentralManager/CentralManager.swift:4:14: note: class 'CentralManager' does not conform to the 'Sendable' protocol
2 | import CoreBluetooth
3 |
4 | public class CentralManager: NSObject {
| `- note: class 'CentralManager' does not conform to the 'Sendable' protocol
5 | private(set) var centralManager: CBCentralManager
6 | private lazy var wrappedDelegate: CentralManagerDelegateWrapper = .init(parent: self)
/Users/admin/builder/spi-builder-workspace/Sources/SwiftBluetoothMock/SwiftBluetooth/CentralManager/CentralManagerDelegateWrapper.swift:82:61: warning: capture of 'dict' with non-sendable type '[String : Any]' in a `@Sendable` closure; this is an error in the Swift 6 language mode
80 |
81 | parent.eventQueue.async {
82 | parent.eventSubscriptions.recieve(.restoreState(dict))
| `- warning: capture of 'dict' with non-sendable type '[String : Any]' in a `@Sendable` closure; this is an error in the Swift 6 language mode
83 | }
84 | }
[68/72] Compiling SwiftBluetoothMock CentralManagerEvent.swift
/Users/admin/builder/spi-builder-workspace/Sources/SwiftBluetoothMock/SwiftBluetooth/CentralManager/CentralManagerDelegateWrapper.swift:18:13: warning: capture of 'parent' with non-sendable type 'CentralManager' in a `@Sendable` closure; this is an error in the Swift 6 language mode
16 |
17 | parent.eventQueue.async {
18 | parent.eventSubscriptions.recieve(.stateUpdated(parent.state))
| `- warning: capture of 'parent' with non-sendable type 'CentralManager' in a `@Sendable` closure; this is an error in the Swift 6 language mode
19 | }
20 | }
/Users/admin/builder/spi-builder-workspace/Sources/SwiftBluetoothMock/SwiftBluetooth/CentralManager/CentralManager.swift:4:14: note: class 'CentralManager' does not conform to the 'Sendable' protocol
2 | import CoreBluetooth
3 |
4 | public class CentralManager: NSObject {
| `- note: class 'CentralManager' does not conform to the 'Sendable' protocol
5 | private(set) var centralManager: CBCentralManager
6 | private lazy var wrappedDelegate: CentralManagerDelegateWrapper = .init(parent: self)
/Users/admin/builder/spi-builder-workspace/Sources/SwiftBluetoothMock/SwiftBluetooth/CentralManager/CentralManagerDelegateWrapper.swift:30:13: warning: capture of 'parent' with non-sendable type 'CentralManager' in a `@Sendable` closure; this is an error in the Swift 6 language mode
28 |
29 | parent.eventQueue.async {
30 | parent.eventSubscriptions.recieve(.connected(peripheral))
| `- warning: capture of 'parent' with non-sendable type 'CentralManager' in a `@Sendable` closure; this is an error in the Swift 6 language mode
31 | }
32 | }
/Users/admin/builder/spi-builder-workspace/Sources/SwiftBluetoothMock/SwiftBluetooth/CentralManager/CentralManager.swift:4:14: note: class 'CentralManager' does not conform to the 'Sendable' protocol
2 | import CoreBluetooth
3 |
4 | public class CentralManager: NSObject {
| `- note: class 'CentralManager' does not conform to the 'Sendable' protocol
5 | private(set) var centralManager: CBCentralManager
6 | private lazy var wrappedDelegate: CentralManagerDelegateWrapper = .init(parent: self)
/Users/admin/builder/spi-builder-workspace/Sources/SwiftBluetoothMock/SwiftBluetooth/CentralManager/CentralManagerDelegateWrapper.swift:30:58: warning: capture of 'peripheral' with non-sendable type 'Peripheral' in a `@Sendable` closure; this is an error in the Swift 6 language mode
28 |
29 | parent.eventQueue.async {
30 | parent.eventSubscriptions.recieve(.connected(peripheral))
| `- warning: capture of 'peripheral' with non-sendable type 'Peripheral' in a `@Sendable` closure; this is an error in the Swift 6 language mode
31 | }
32 | }
/Users/admin/builder/spi-builder-workspace/Sources/SwiftBluetoothMock/SwiftBluetooth/Peripheral/Peripheral.swift:4:14: note: class 'Peripheral' does not conform to the 'Sendable' protocol
2 | import CoreBluetooth
3 |
4 | public class Peripheral: NSObject {
| `- note: class 'Peripheral' does not conform to the 'Sendable' protocol
5 | private(set) var cbPeripheral: CBPeripheral
6 | private lazy var wrappedDelegate: PeripheralDelegateWrapper = .init(parent: self)
/Users/admin/builder/spi-builder-workspace/Sources/SwiftBluetoothMock/SwiftBluetooth/CentralManager/CentralManagerDelegateWrapper.swift:48:13: warning: capture of 'parent' with non-sendable type 'CentralManager' in a `@Sendable` closure; this is an error in the Swift 6 language mode
46 |
47 | parent.eventQueue.async {
48 | parent.eventSubscriptions.recieve(.disconnected(peripheral, error))
| `- warning: capture of 'parent' with non-sendable type 'CentralManager' in a `@Sendable` closure; this is an error in the Swift 6 language mode
49 | peripheral.eventSubscriptions.recieve(.didDisconnect(error))
50 | }
/Users/admin/builder/spi-builder-workspace/Sources/SwiftBluetoothMock/SwiftBluetooth/CentralManager/CentralManager.swift:4:14: note: class 'CentralManager' does not conform to the 'Sendable' protocol
2 | import CoreBluetooth
3 |
4 | public class CentralManager: NSObject {
| `- note: class 'CentralManager' does not conform to the 'Sendable' protocol
5 | private(set) var centralManager: CBCentralManager
6 | private lazy var wrappedDelegate: CentralManagerDelegateWrapper = .init(parent: self)
/Users/admin/builder/spi-builder-workspace/Sources/SwiftBluetoothMock/SwiftBluetooth/CentralManager/CentralManagerDelegateWrapper.swift:48:61: warning: capture of 'peripheral' with non-sendable type 'Peripheral' in a `@Sendable` closure; this is an error in the Swift 6 language mode
46 |
47 | parent.eventQueue.async {
48 | parent.eventSubscriptions.recieve(.disconnected(peripheral, error))
| `- warning: capture of 'peripheral' with non-sendable type 'Peripheral' in a `@Sendable` closure; this is an error in the Swift 6 language mode
49 | peripheral.eventSubscriptions.recieve(.didDisconnect(error))
50 | }
/Users/admin/builder/spi-builder-workspace/Sources/SwiftBluetoothMock/SwiftBluetooth/Peripheral/Peripheral.swift:4:14: note: class 'Peripheral' does not conform to the 'Sendable' protocol
2 | import CoreBluetooth
3 |
4 | public class Peripheral: NSObject {
| `- note: class 'Peripheral' does not conform to the 'Sendable' protocol
5 | private(set) var cbPeripheral: CBPeripheral
6 | private lazy var wrappedDelegate: PeripheralDelegateWrapper = .init(parent: self)
/Users/admin/builder/spi-builder-workspace/Sources/SwiftBluetoothMock/SwiftBluetooth/CentralManager/CentralManagerDelegateWrapper.swift:60:13: warning: capture of 'parent' with non-sendable type 'CentralManager' in a `@Sendable` closure; this is an error in the Swift 6 language mode
58 |
59 | parent.eventQueue.async {
60 | parent.eventSubscriptions.recieve(.failToConnect(peripheral, error))
| `- warning: capture of 'parent' with non-sendable type 'CentralManager' in a `@Sendable` closure; this is an error in the Swift 6 language mode
61 | }
62 | }
/Users/admin/builder/spi-builder-workspace/Sources/SwiftBluetoothMock/SwiftBluetooth/CentralManager/CentralManager.swift:4:14: note: class 'CentralManager' does not conform to the 'Sendable' protocol
2 | import CoreBluetooth
3 |
4 | public class CentralManager: NSObject {
| `- note: class 'CentralManager' does not conform to the 'Sendable' protocol
5 | private(set) var centralManager: CBCentralManager
6 | private lazy var wrappedDelegate: CentralManagerDelegateWrapper = .init(parent: self)
/Users/admin/builder/spi-builder-workspace/Sources/SwiftBluetoothMock/SwiftBluetooth/CentralManager/CentralManagerDelegateWrapper.swift:60:62: warning: capture of 'peripheral' with non-sendable type 'Peripheral' in a `@Sendable` closure; this is an error in the Swift 6 language mode
58 |
59 | parent.eventQueue.async {
60 | parent.eventSubscriptions.recieve(.failToConnect(peripheral, error))
| `- warning: capture of 'peripheral' with non-sendable type 'Peripheral' in a `@Sendable` closure; this is an error in the Swift 6 language mode
61 | }
62 | }
/Users/admin/builder/spi-builder-workspace/Sources/SwiftBluetoothMock/SwiftBluetooth/Peripheral/Peripheral.swift:4:14: note: class 'Peripheral' does not conform to the 'Sendable' protocol
2 | import CoreBluetooth
3 |
4 | public class Peripheral: NSObject {
| `- note: class 'Peripheral' does not conform to the 'Sendable' protocol
5 | private(set) var cbPeripheral: CBPeripheral
6 | private lazy var wrappedDelegate: PeripheralDelegateWrapper = .init(parent: self)
/Users/admin/builder/spi-builder-workspace/Sources/SwiftBluetoothMock/SwiftBluetooth/CentralManager/CentralManagerDelegateWrapper.swift:72:13: warning: capture of 'parent' with non-sendable type 'CentralManager' in a `@Sendable` closure; this is an error in the Swift 6 language mode
70 |
71 | parent.eventQueue.async {
72 | parent.eventSubscriptions.recieve(.discovered(peripheral, advertisementData, RSSI))
| `- warning: capture of 'parent' with non-sendable type 'CentralManager' in a `@Sendable` closure; this is an error in the Swift 6 language mode
73 | }
74 | }
/Users/admin/builder/spi-builder-workspace/Sources/SwiftBluetoothMock/SwiftBluetooth/CentralManager/CentralManager.swift:4:14: note: class 'CentralManager' does not conform to the 'Sendable' protocol
2 | import CoreBluetooth
3 |
4 | public class CentralManager: NSObject {
| `- note: class 'CentralManager' does not conform to the 'Sendable' protocol
5 | private(set) var centralManager: CBCentralManager
6 | private lazy var wrappedDelegate: CentralManagerDelegateWrapper = .init(parent: self)
/Users/admin/builder/spi-builder-workspace/Sources/SwiftBluetoothMock/SwiftBluetooth/CentralManager/CentralManagerDelegateWrapper.swift:72:59: warning: capture of 'peripheral' with non-sendable type 'Peripheral' in a `@Sendable` closure; this is an error in the Swift 6 language mode
70 |
71 | parent.eventQueue.async {
72 | parent.eventSubscriptions.recieve(.discovered(peripheral, advertisementData, RSSI))
| `- warning: capture of 'peripheral' with non-sendable type 'Peripheral' in a `@Sendable` closure; this is an error in the Swift 6 language mode
73 | }
74 | }
/Users/admin/builder/spi-builder-workspace/Sources/SwiftBluetoothMock/SwiftBluetooth/Peripheral/Peripheral.swift:4:14: note: class 'Peripheral' does not conform to the 'Sendable' protocol
2 | import CoreBluetooth
3 |
4 | public class Peripheral: NSObject {
| `- note: class 'Peripheral' does not conform to the 'Sendable' protocol
5 | private(set) var cbPeripheral: CBPeripheral
6 | private lazy var wrappedDelegate: PeripheralDelegateWrapper = .init(parent: self)
/Users/admin/builder/spi-builder-workspace/Sources/SwiftBluetoothMock/SwiftBluetooth/CentralManager/CentralManagerDelegateWrapper.swift:72:71: warning: capture of 'advertisementData' with non-sendable type '[String : Any]' in a `@Sendable` closure; this is an error in the Swift 6 language mode
70 |
71 | parent.eventQueue.async {
72 | parent.eventSubscriptions.recieve(.discovered(peripheral, advertisementData, RSSI))
| `- warning: capture of 'advertisementData' with non-sendable type '[String : Any]' in a `@Sendable` closure; this is an error in the Swift 6 language mode
73 | }
74 | }
/Users/admin/builder/spi-builder-workspace/Sources/SwiftBluetoothMock/SwiftBluetooth/CentralManager/CentralManagerDelegateWrapper.swift:82:13: warning: capture of 'parent' with non-sendable type 'CentralManager' in a `@Sendable` closure; this is an error in the Swift 6 language mode
80 |
81 | parent.eventQueue.async {
82 | parent.eventSubscriptions.recieve(.restoreState(dict))
| `- warning: capture of 'parent' with non-sendable type 'CentralManager' in a `@Sendable` closure; this is an error in the Swift 6 language mode
83 | }
84 | }
/Users/admin/builder/spi-builder-workspace/Sources/SwiftBluetoothMock/SwiftBluetooth/CentralManager/CentralManager.swift:4:14: note: class 'CentralManager' does not conform to the 'Sendable' protocol
2 | import CoreBluetooth
3 |
4 | public class CentralManager: NSObject {
| `- note: class 'CentralManager' does not conform to the 'Sendable' protocol
5 | private(set) var centralManager: CBCentralManager
6 | private lazy var wrappedDelegate: CentralManagerDelegateWrapper = .init(parent: self)
/Users/admin/builder/spi-builder-workspace/Sources/SwiftBluetoothMock/SwiftBluetooth/CentralManager/CentralManagerDelegateWrapper.swift:82:61: warning: capture of 'dict' with non-sendable type '[String : Any]' in a `@Sendable` closure; this is an error in the Swift 6 language mode
80 |
81 | parent.eventQueue.async {
82 | parent.eventSubscriptions.recieve(.restoreState(dict))
| `- warning: capture of 'dict' with non-sendable type '[String : Any]' in a `@Sendable` closure; this is an error in the Swift 6 language mode
83 | }
84 | }
[69/72] Compiling SwiftBluetoothMock Peripheral+DiscoveryInfo.swift
/Users/admin/builder/spi-builder-workspace/Sources/SwiftBluetoothMock/SwiftBluetooth/Peripheral/Peripheral+async.swift:79:17: warning: capture of 'cancelBoth' with non-sendable type '() -> ()' in a `@Sendable` closure; this is an error in the Swift 6 language mode
77 |
78 | cont.onTermination = { _ in
79 | cancelBoth()
| |- warning: capture of 'cancelBoth' with non-sendable type '() -> ()' in a `@Sendable` closure; this is an error in the Swift 6 language mode
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
80 | }
81 |
/Users/admin/builder/spi-builder-workspace/Sources/SwiftBluetoothMock/SwiftBluetooth/Peripheral/Peripheral+async.swift:25:22: warning: sending 'result' risks causing data races; this is an error in the Swift 6 language mode
23 | try await withCheckedThrowingContinuation { cont in
24 | self.readValue(for: descriptor) { result in
25 | cont.resume(with: result)
| |- warning: sending 'result' risks causing data races; this is an error in the Swift 6 language mode
| `- note: task-isolated 'result' is passed as a 'sending' parameter; Uses in callee may race with later task-isolated uses
26 | }
27 | }
/Users/admin/builder/spi-builder-workspace/Sources/SwiftBluetoothMock/SwiftBluetooth/Peripheral/Peripheral+async.swift:133:22: warning: sending 'result' risks causing data races; this is an error in the Swift 6 language mode
131 | try await withCheckedThrowingContinuation { cont in
132 | self.discoverServices(serviceUUIDs) { result in
133 | cont.resume(with: result)
| |- warning: sending 'result' risks causing data races; this is an error in the Swift 6 language mode
| `- note: task-isolated 'result' is passed as a 'sending' parameter; Uses in callee may race with later task-isolated uses
134 | }
135 | }
/Users/admin/builder/spi-builder-workspace/Sources/SwiftBluetoothMock/SwiftBluetooth/Peripheral/Peripheral+async.swift:142:22: warning: sending 'result' risks causing data races; this is an error in the Swift 6 language mode
140 | try await withCheckedThrowingContinuation { cont in
141 | self.discoverCharacteristics(characteristicUUIDs, for: service) { result in
142 | cont.resume(with: result)
| |- warning: sending 'result' risks causing data races; this is an error in the Swift 6 language mode
| `- note: task-isolated 'result' is passed as a 'sending' parameter; Uses in callee may race with later task-isolated uses
143 | }
144 | }
/Users/admin/builder/spi-builder-workspace/Sources/SwiftBluetoothMock/SwiftBluetooth/Peripheral/Peripheral+async.swift:151:22: warning: sending 'result' risks causing data races; this is an error in the Swift 6 language mode
149 | try await withCheckedThrowingContinuation { cont in
150 | self.discoverCharacteristics(characteristics, for: service) { result in
151 | cont.resume(with: result)
| |- warning: sending 'result' risks causing data races; this is an error in the Swift 6 language mode
| `- note: task-isolated 'result' is passed as a 'sending' parameter; Uses in callee may race with later task-isolated uses
152 | }
153 | }
/Users/admin/builder/spi-builder-workspace/Sources/SwiftBluetoothMock/SwiftBluetooth/Peripheral/Peripheral+async.swift:160:22: warning: sending 'result' risks causing data races; this is an error in the Swift 6 language mode
158 | try await withCheckedThrowingContinuation { cont in
159 | self.discoverDescriptors(for: characteristic) { result in
160 | cont.resume(with: result)
| |- warning: sending 'result' risks causing data races; this is an error in the Swift 6 language mode
| `- note: task-isolated 'result' is passed as a 'sending' parameter; Uses in callee may race with later task-isolated uses
161 | }
162 | }
[70/72] Compiling SwiftBluetoothMock Peripheral+async.swift
/Users/admin/builder/spi-builder-workspace/Sources/SwiftBluetoothMock/SwiftBluetooth/Peripheral/Peripheral+async.swift:79:17: warning: capture of 'cancelBoth' with non-sendable type '() -> ()' in a `@Sendable` closure; this is an error in the Swift 6 language mode
77 |
78 | cont.onTermination = { _ in
79 | cancelBoth()
| |- warning: capture of 'cancelBoth' with non-sendable type '() -> ()' in a `@Sendable` closure; this is an error in the Swift 6 language mode
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
80 | }
81 |
/Users/admin/builder/spi-builder-workspace/Sources/SwiftBluetoothMock/SwiftBluetooth/Peripheral/Peripheral+async.swift:25:22: warning: sending 'result' risks causing data races; this is an error in the Swift 6 language mode
23 | try await withCheckedThrowingContinuation { cont in
24 | self.readValue(for: descriptor) { result in
25 | cont.resume(with: result)
| |- warning: sending 'result' risks causing data races; this is an error in the Swift 6 language mode
| `- note: task-isolated 'result' is passed as a 'sending' parameter; Uses in callee may race with later task-isolated uses
26 | }
27 | }
/Users/admin/builder/spi-builder-workspace/Sources/SwiftBluetoothMock/SwiftBluetooth/Peripheral/Peripheral+async.swift:133:22: warning: sending 'result' risks causing data races; this is an error in the Swift 6 language mode
131 | try await withCheckedThrowingContinuation { cont in
132 | self.discoverServices(serviceUUIDs) { result in
133 | cont.resume(with: result)
| |- warning: sending 'result' risks causing data races; this is an error in the Swift 6 language mode
| `- note: task-isolated 'result' is passed as a 'sending' parameter; Uses in callee may race with later task-isolated uses
134 | }
135 | }
/Users/admin/builder/spi-builder-workspace/Sources/SwiftBluetoothMock/SwiftBluetooth/Peripheral/Peripheral+async.swift:142:22: warning: sending 'result' risks causing data races; this is an error in the Swift 6 language mode
140 | try await withCheckedThrowingContinuation { cont in
141 | self.discoverCharacteristics(characteristicUUIDs, for: service) { result in
142 | cont.resume(with: result)
| |- warning: sending 'result' risks causing data races; this is an error in the Swift 6 language mode
| `- note: task-isolated 'result' is passed as a 'sending' parameter; Uses in callee may race with later task-isolated uses
143 | }
144 | }
/Users/admin/builder/spi-builder-workspace/Sources/SwiftBluetoothMock/SwiftBluetooth/Peripheral/Peripheral+async.swift:151:22: warning: sending 'result' risks causing data races; this is an error in the Swift 6 language mode
149 | try await withCheckedThrowingContinuation { cont in
150 | self.discoverCharacteristics(characteristics, for: service) { result in
151 | cont.resume(with: result)
| |- warning: sending 'result' risks causing data races; this is an error in the Swift 6 language mode
| `- note: task-isolated 'result' is passed as a 'sending' parameter; Uses in callee may race with later task-isolated uses
152 | }
153 | }
/Users/admin/builder/spi-builder-workspace/Sources/SwiftBluetoothMock/SwiftBluetooth/Peripheral/Peripheral+async.swift:160:22: warning: sending 'result' risks causing data races; this is an error in the Swift 6 language mode
158 | try await withCheckedThrowingContinuation { cont in
159 | self.discoverDescriptors(for: characteristic) { result in
160 | cont.resume(with: result)
| |- warning: sending 'result' risks causing data races; this is an error in the Swift 6 language mode
| `- note: task-isolated 'result' is passed as a 'sending' parameter; Uses in callee may race with later task-isolated uses
161 | }
162 | }
[71/72] Compiling SwiftBluetoothMock Peripheral+callback.swift
/Users/admin/builder/spi-builder-workspace/Sources/SwiftBluetoothMock/SwiftBluetooth/Peripheral/Peripheral+callback.swift:7:19: warning: capture of 'self' with non-sendable type 'Peripheral' in a `@Sendable` closure; this is an error in the Swift 6 language mode
5 | func readValue(for characteristic: CBCharacteristic, completionHandler: @escaping (Result<Data, Error>) -> Void) {
6 | eventQueue.async { [self] in
7 | guard state == .connected else {
| `- warning: capture of 'self' with non-sendable type 'Peripheral' in a `@Sendable` closure; this is an error in the Swift 6 language mode
8 | completionHandler(.failure(CBError(.peripheralDisconnected)))
9 | return
/Users/admin/builder/spi-builder-workspace/Sources/SwiftBluetoothMock/SwiftBluetooth/Peripheral/Peripheral.swift:4:14: note: class 'Peripheral' does not conform to the 'Sendable' protocol
2 | import CoreBluetooth
3 |
4 | public class Peripheral: NSObject {
| `- note: class 'Peripheral' does not conform to the 'Sendable' protocol
5 | private(set) var cbPeripheral: CBPeripheral
6 | private lazy var wrappedDelegate: PeripheralDelegateWrapper = .init(parent: self)
/Users/admin/builder/spi-builder-workspace/Sources/SwiftBluetoothMock/SwiftBluetooth/Peripheral/Peripheral+callback.swift:8:17: warning: capture of 'completionHandler' with non-sendable type '(Result<Data, any Error>) -> Void' in a `@Sendable` closure; this is an error in the Swift 6 language mode
6 | eventQueue.async { [self] in
7 | guard state == .connected else {
8 | completionHandler(.failure(CBError(.peripheralDisconnected)))
| |- warning: capture of 'completionHandler' with non-sendable type '(Result<Data, any Error>) -> Void' in a `@Sendable` closure; this is an error in the Swift 6 language mode
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
9 | return
10 | }
/Users/admin/builder/spi-builder-workspace/Sources/SwiftBluetoothMock/SwiftBluetooth/Peripheral/Peripheral+callback.swift:15:44: warning: capture of 'characteristic' with non-sendable type 'CBCharacteristic' (aka 'CBMCharacteristic') in a `@Sendable` closure; this is an error in the Swift 6 language mode
13 | var task2: AsyncSubscription<PeripheralEvent>?
14 |
15 | task1 = responseMap.queue(key: characteristic.uuid) { result, done in
| `- warning: capture of 'characteristic' with non-sendable type 'CBCharacteristic' (aka 'CBMCharacteristic') in a `@Sendable` closure; this is an error in the Swift 6 language mode
16 | completionHandler(result)
17 | task2?.cancel()
/Users/admin/builder/spi-builder-workspace/.build/checkouts/IOS-CoreBluetooth-Mock/CoreBluetoothMock/CBMAttributes.swift:193:12: note: class 'CBMCharacteristic' does not conform to the 'Sendable' protocol
191 | /// of descriptors describing that value. The properties of a characteristic determine how you can use a characteristic’s value,
192 | /// and how you access the descriptors.
193 | open class CBMCharacteristic: CBMAttribute {
| `- note: class 'CBMCharacteristic' does not conform to the 'Sendable' protocol
194 | internal let identifier: UUID
195 | private let _uuid: CBMUUID
/Users/admin/builder/spi-builder-workspace/Sources/SwiftBluetoothMock/SwiftBluetooth/Peripheral/Peripheral+callback.swift:16:17: warning: capture of 'completionHandler' with non-sendable type '(Result<Data, any Error>) -> Void' in an isolated closure; this is an error in the Swift 6 language mode
14 |
15 | task1 = responseMap.queue(key: characteristic.uuid) { result, done in
16 | completionHandler(result)
| |- warning: capture of 'completionHandler' with non-sendable type '(Result<Data, any Error>) -> Void' in an isolated closure; this is an error in the Swift 6 language mode
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
17 | task2?.cancel()
18 | done()
/Users/admin/builder/spi-builder-workspace/Sources/SwiftBluetoothMock/SwiftBluetooth/Peripheral/Peripheral+callback.swift:24:17: warning: capture of 'completionHandler' with non-sendable type '(Result<Data, any Error>) -> Void' in an isolated closure; this is an error in the Swift 6 language mode
22 | guard case .didDisconnect(let error) = event else { return }
23 |
24 | completionHandler(.failure(error ?? CBError(.peripheralDisconnected)))
| |- warning: capture of 'completionHandler' with non-sendable type '(Result<Data, any Error>) -> Void' in an isolated closure; this is an error in the Swift 6 language mode
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
25 | task1?.cancel()
26 | done()
/Users/admin/builder/spi-builder-workspace/Sources/SwiftBluetoothMock/SwiftBluetooth/Peripheral/Peripheral+callback.swift:41:19: warning: capture of 'self' with non-sendable type 'Peripheral' in a `@Sendable` closure; this is an error in the Swift 6 language mode
39 | func readValue(for descriptor: CBDescriptor, completionHandler: @escaping (Result<Any?, Error>) -> Void) {
40 | eventQueue.async { [self] in
41 | guard state == .connected else {
| `- warning: capture of 'self' with non-sendable type 'Peripheral' in a `@Sendable` closure; this is an error in the Swift 6 language mode
42 | completionHandler(.failure(CBError(.peripheralDisconnected)))
43 | return
/Users/admin/builder/spi-builder-workspace/Sources/SwiftBluetoothMock/SwiftBluetooth/Peripheral/Peripheral.swift:4:14: note: class 'Peripheral' does not conform to the 'Sendable' protocol
2 | import CoreBluetooth
3 |
4 | public class Peripheral: NSObject {
| `- note: class 'Peripheral' does not conform to the 'Sendable' protocol
5 | private(set) var cbPeripheral: CBPeripheral
6 | private lazy var wrappedDelegate: PeripheralDelegateWrapper = .init(parent: self)
/Users/admin/builder/spi-builder-workspace/Sources/SwiftBluetoothMock/SwiftBluetooth/Peripheral/Peripheral+callback.swift:42:17: warning: capture of 'completionHandler' with non-sendable type '(Result<Any?, any Error>) -> Void' in a `@Sendable` closure; this is an error in the Swift 6 language mode
40 | eventQueue.async { [self] in
41 | guard state == .connected else {
42 | completionHandler(.failure(CBError(.peripheralDisconnected)))
| |- warning: capture of 'completionHandler' with non-sendable type '(Result<Any?, any Error>) -> Void' in a `@Sendable` closure; this is an error in the Swift 6 language mode
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
43 | return
44 | }
/Users/admin/builder/spi-builder-workspace/Sources/SwiftBluetoothMock/SwiftBluetooth/Peripheral/Peripheral+callback.swift:49:46: warning: capture of 'descriptor' with non-sendable type 'CBDescriptor' (aka 'CBMDescriptor') in a `@Sendable` closure; this is an error in the Swift 6 language mode
47 | var task2: AsyncSubscription<PeripheralEvent>?
48 |
49 | task1 = descriptorMap.queue(key: descriptor.uuid) { result, done in
| `- warning: capture of 'descriptor' with non-sendable type 'CBDescriptor' (aka 'CBMDescriptor') in a `@Sendable` closure; this is an error in the Swift 6 language mode
50 | completionHandler(result)
51 | task2?.cancel()
/Users/admin/builder/spi-builder-workspace/.build/checkouts/IOS-CoreBluetooth-Mock/CoreBluetoothMock/CBMAttributes.swift:323:12: note: class 'CBMDescriptor' does not conform to the 'Sendable' protocol
321 | /// ``CBMUUID`` details six predefined descriptors and their corresponding value types. `CBMDescriptor` lists the
322 | /// predefined descriptors and the ``CBMUUID`` constants that represent them.
323 | open class CBMDescriptor: CBMAttribute {
| `- note: class 'CBMDescriptor' does not conform to the 'Sendable' protocol
324 | internal let identifier: UUID
325 | private let _uuid: CBMUUID
/Users/admin/builder/spi-builder-workspace/Sources/SwiftBluetoothMock/SwiftBluetooth/Peripheral/Peripheral+callback.swift:50:17: warning: capture of 'completionHandler' with non-sendable type '(Result<Any?, any Error>) -> Void' in an isolated closure; this is an error in the Swift 6 language mode
48 |
49 | task1 = descriptorMap.queue(key: descriptor.uuid) { result, done in
50 | completionHandler(result)
| |- warning: capture of 'completionHandler' with non-sendable type '(Result<Any?, any Error>) -> Void' in an isolated closure; this is an error in the Swift 6 language mode
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
51 | task2?.cancel()
52 | done()
/Users/admin/builder/spi-builder-workspace/Sources/SwiftBluetoothMock/SwiftBluetooth/Peripheral/Peripheral+callback.swift:58:17: warning: capture of 'completionHandler' with non-sendable type '(Result<Any?, any Error>) -> Void' in an isolated closure; this is an error in the Swift 6 language mode
56 | guard case .didDisconnect(let error) = event else { return }
57 |
58 | completionHandler(.failure(error ?? CBError(.peripheralDisconnected)))
| |- warning: capture of 'completionHandler' with non-sendable type '(Result<Any?, any Error>) -> Void' in an isolated closure; this is an error in the Swift 6 language mode
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
59 | task1?.cancel()
60 | done()
/Users/admin/builder/spi-builder-workspace/Sources/SwiftBluetoothMock/SwiftBluetooth/Peripheral/Peripheral+callback.swift:114:19: warning: capture of 'self' with non-sendable type 'Peripheral' in a `@Sendable` closure; this is an error in the Swift 6 language mode
112 | func writeValue(_ data: Data, for characteristic: CBCharacteristic, type: CBCharacteristicWriteType, completionHandler: @escaping (Error?) -> Void) {
113 | eventQueue.async { [self] in
114 | guard state == .connected else {
| `- warning: capture of 'self' with non-sendable type 'Peripheral' in a `@Sendable` closure; this is an error in the Swift 6 language mode
115 | completionHandler(CBError(.peripheralDisconnected))
116 | return
/Users/admin/builder/spi-builder-workspace/Sources/SwiftBluetoothMock/SwiftBluetooth/Peripheral/Peripheral.swift:4:14: note: class 'Peripheral' does not conform to the 'Sendable' protocol
2 | import CoreBluetooth
3 |
4 | public class Peripheral: NSObject {
| `- note: class 'Peripheral' does not conform to the 'Sendable' protocol
5 | private(set) var cbPeripheral: CBPeripheral
6 | private lazy var wrappedDelegate: PeripheralDelegateWrapper = .init(parent: self)
/Users/admin/builder/spi-builder-workspace/Sources/SwiftBluetoothMock/SwiftBluetooth/Peripheral/Peripheral+callback.swift:115:17: warning: capture of 'completionHandler' with non-sendable type '((any Error)?) -> Void' in a `@Sendable` closure; this is an error in the Swift 6 language mode
113 | eventQueue.async { [self] in
114 | guard state == .connected else {
115 | completionHandler(CBError(.peripheralDisconnected))
| |- warning: capture of 'completionHandler' with non-sendable type '((any Error)?) -> Void' in a `@Sendable` closure; this is an error in the Swift 6 language mode
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
116 | return
117 | }
/Users/admin/builder/spi-builder-workspace/Sources/SwiftBluetoothMock/SwiftBluetooth/Peripheral/Peripheral+callback.swift:123:45: warning: capture of 'characteristic' with non-sendable type 'CBCharacteristic' (aka 'CBMCharacteristic') in a `@Sendable` closure; this is an error in the Swift 6 language mode
121 | var task2: AsyncSubscription<PeripheralEvent>?
122 |
123 | task1 = writeMap.queue(key: characteristic.uuid) { error, done in
| `- warning: capture of 'characteristic' with non-sendable type 'CBCharacteristic' (aka 'CBMCharacteristic') in a `@Sendable` closure; this is an error in the Swift 6 language mode
124 | completionHandler(error)
125 | task2?.cancel()
/Users/admin/builder/spi-builder-workspace/.build/checkouts/IOS-CoreBluetooth-Mock/CoreBluetoothMock/CBMAttributes.swift:193:12: note: class 'CBMCharacteristic' does not conform to the 'Sendable' protocol
191 | /// of descriptors describing that value. The properties of a characteristic determine how you can use a characteristic’s value,
192 | /// and how you access the descriptors.
193 | open class CBMCharacteristic: CBMAttribute {
| `- note: class 'CBMCharacteristic' does not conform to the 'Sendable' protocol
194 | internal let identifier: UUID
195 | private let _uuid: CBMUUID
/Users/admin/builder/spi-builder-workspace/Sources/SwiftBluetoothMock/SwiftBluetooth/Peripheral/Peripheral+callback.swift:124:21: warning: capture of 'completionHandler' with non-sendable type '((any Error)?) -> Void' in an isolated closure; this is an error in the Swift 6 language mode
122 |
123 | task1 = writeMap.queue(key: characteristic.uuid) { error, done in
124 | completionHandler(error)
| |- warning: capture of 'completionHandler' with non-sendable type '((any Error)?) -> Void' in an isolated closure; this is an error in the Swift 6 language mode
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
125 | task2?.cancel()
126 | done()
/Users/admin/builder/spi-builder-workspace/Sources/SwiftBluetoothMock/SwiftBluetooth/Peripheral/Peripheral+callback.swift:132:21: warning: capture of 'completionHandler' with non-sendable type '((any Error)?) -> Void' in an isolated closure; this is an error in the Swift 6 language mode
130 | guard case .didDisconnect(let error) = event else { return }
131 |
132 | completionHandler(error ?? CBError(.peripheralDisconnected))
| |- warning: capture of 'completionHandler' with non-sendable type '((any Error)?) -> Void' in an isolated closure; this is an error in the Swift 6 language mode
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
133 | task1?.cancel()
134 | done()
/Users/admin/builder/spi-builder-workspace/Sources/SwiftBluetoothMock/SwiftBluetooth/Peripheral/Peripheral+callback.swift:148:13: warning: capture of 'self' with non-sendable type 'Peripheral' in a `@Sendable` closure; this is an error in the Swift 6 language mode
146 | func writeValue(_ data: Data, for descriptor: CBDescriptor, completionHandler: @escaping (Error?) -> Void) {
147 | eventQueue.async { [self] in
148 | writeMap.queue(key: descriptor.uuid) { error, done in
| `- warning: capture of 'self' with non-sendable type 'Peripheral' in a `@Sendable` closure; this is an error in the Swift 6 language mode
149 | completionHandler(error)
150 | done()
/Users/admin/builder/spi-builder-workspace/Sources/SwiftBluetoothMock/SwiftBluetooth/Peripheral/Peripheral.swift:4:14: note: class 'Peripheral' does not conform to the 'Sendable' protocol
2 | import CoreBluetooth
3 |
4 | public class Peripheral: NSObject {
| `- note: class 'Peripheral' does not conform to the 'Sendable' protocol
5 | private(set) var cbPeripheral: CBPeripheral
6 | private lazy var wrappedDelegate: PeripheralDelegateWrapper = .init(parent: self)
/Users/admin/builder/spi-builder-workspace/Sources/SwiftBluetoothMock/SwiftBluetooth/Peripheral/Peripheral+callback.swift:148:33: warning: capture of 'descriptor' with non-sendable type 'CBDescriptor' (aka 'CBMDescriptor') in a `@Sendable` closure; this is an error in the Swift 6 language mode
146 | func writeValue(_ data: Data, for descriptor: CBDescriptor, completionHandler: @escaping (Error?) -> Void) {
147 | eventQueue.async { [self] in
148 | writeMap.queue(key: descriptor.uuid) { error, done in
| `- warning: capture of 'descriptor' with non-sendable type 'CBDescriptor' (aka 'CBMDescriptor') in a `@Sendable` closure; this is an error in the Swift 6 language mode
149 | completionHandler(error)
150 | done()
/Users/admin/builder/spi-builder-workspace/.build/checkouts/IOS-CoreBluetooth-Mock/CoreBluetoothMock/CBMAttributes.swift:323:12: note: class 'CBMDescriptor' does not conform to the 'Sendable' protocol
321 | /// ``CBMUUID`` details six predefined descriptors and their corresponding value types. `CBMDescriptor` lists the
322 | /// predefined descriptors and the ``CBMUUID`` constants that represent them.
323 | open class CBMDescriptor: CBMAttribute {
| `- note: class 'CBMDescriptor' does not conform to the 'Sendable' protocol
324 | internal let identifier: UUID
325 | private let _uuid: CBMUUID
/Users/admin/builder/spi-builder-workspace/Sources/SwiftBluetoothMock/SwiftBluetooth/Peripheral/Peripheral+callback.swift:149:17: warning: capture of 'completionHandler' with non-sendable type '((any Error)?) -> Void' in a `@Sendable` closure; this is an error in the Swift 6 language mode
147 | eventQueue.async { [self] in
148 | writeMap.queue(key: descriptor.uuid) { error, done in
149 | completionHandler(error)
| |- warning: capture of 'completionHandler' with non-sendable type '((any Error)?) -> Void' in a `@Sendable` closure; this is an error in the Swift 6 language mode
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
150 | done()
151 | }
/Users/admin/builder/spi-builder-workspace/Sources/SwiftBluetoothMock/SwiftBluetooth/Peripheral/Peripheral+callback.swift:149:17: warning: capture of 'completionHandler' with non-sendable type '((any Error)?) -> Void' in an isolated closure; this is an error in the Swift 6 language mode
147 | eventQueue.async { [self] in
148 | writeMap.queue(key: descriptor.uuid) { error, done in
149 | completionHandler(error)
| |- warning: capture of 'completionHandler' with non-sendable type '((any Error)?) -> Void' in an isolated closure; this is an error in the Swift 6 language mode
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
150 | done()
151 | }
/Users/admin/builder/spi-builder-workspace/Sources/SwiftBluetoothMock/SwiftBluetooth/Peripheral/Peripheral+callback.swift:159:19: warning: capture of 'self' with non-sendable type 'Peripheral' in a `@Sendable` closure; this is an error in the Swift 6 language mode
157 | func discoverServices(_ serviceUUIDs: [CBUUID]? = nil, completionHandler: @escaping (Result<[CBService], Error>) -> Void) {
158 | eventQueue.async { [self] in
159 | guard state == .connected else {
| `- warning: capture of 'self' with non-sendable type 'Peripheral' in a `@Sendable` closure; this is an error in the Swift 6 language mode
160 | completionHandler(.failure(CBError(.peripheralDisconnected)))
161 | return
/Users/admin/builder/spi-builder-workspace/Sources/SwiftBluetoothMock/SwiftBluetooth/Peripheral/Peripheral.swift:4:14: note: class 'Peripheral' does not conform to the 'Sendable' protocol
2 | import CoreBluetooth
3 |
4 | public class Peripheral: NSObject {
| `- note: class 'Peripheral' does not conform to the 'Sendable' protocol
5 | private(set) var cbPeripheral: CBPeripheral
6 | private lazy var wrappedDelegate: PeripheralDelegateWrapper = .init(parent: self)
/Users/admin/builder/spi-builder-workspace/Sources/SwiftBluetoothMock/SwiftBluetooth/Peripheral/Peripheral+callback.swift:160:17: warning: capture of 'completionHandler' with non-sendable type '(Result<[CBService], any Error>) -> Void' (aka '(Result<Array<CBMService>, any Error>) -> ()') in a `@Sendable` closure; this is an error in the Swift 6 language mode
158 | eventQueue.async { [self] in
159 | guard state == .connected else {
160 | completionHandler(.failure(CBError(.peripheralDisconnected)))
| |- warning: capture of 'completionHandler' with non-sendable type '(Result<[CBService], any Error>) -> Void' (aka '(Result<Array<CBMService>, any Error>) -> ()') in a `@Sendable` closure; this is an error in the Swift 6 language mode
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
161 | return
162 | }
/Users/admin/builder/spi-builder-workspace/Sources/SwiftBluetoothMock/SwiftBluetooth/Peripheral/Peripheral+callback.swift:166:21: warning: capture of 'completionHandler' with non-sendable type '(Result<[CBService], any Error>) -> Void' (aka '(Result<Array<CBMService>, any Error>) -> ()') in an isolated closure; this is an error in the Swift 6 language mode
164 | eventSubscriptions.queue { event, done in
165 | if case .didDisconnect(let error) = event {
166 | completionHandler(.failure(error ?? CBError(.peripheralDisconnected)))
| |- warning: capture of 'completionHandler' with non-sendable type '(Result<[CBService], any Error>) -> Void' (aka '(Result<Array<CBMService>, any Error>) -> ()') in an isolated closure; this is an error in the Swift 6 language mode
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
167 | done()
168 | return
/Users/admin/builder/spi-builder-workspace/Sources/SwiftBluetoothMock/SwiftBluetooth/Peripheral/Peripheral+callback.swift:188:19: warning: capture of 'self' with non-sendable type 'Peripheral' in a `@Sendable` closure; this is an error in the Swift 6 language mode
186 | func discoverCharacteristics(_ characteristicUUIDs: [CBUUID]? = nil, for service: CBService, completionHandler: @escaping (Result<[CBCharacteristic], Error>) -> Void) {
187 | eventQueue.async { [self] in
188 | guard state == .connected else {
| `- warning: capture of 'self' with non-sendable type 'Peripheral' in a `@Sendable` closure; this is an error in the Swift 6 language mode
189 | completionHandler(.failure(CBError(.peripheralDisconnected)))
190 | return
/Users/admin/builder/spi-builder-workspace/Sources/SwiftBluetoothMock/SwiftBluetooth/Peripheral/Peripheral.swift:4:14: note: class 'Peripheral' does not conform to the 'Sendable' protocol
2 | import CoreBluetooth
3 |
4 | public class Peripheral: NSObject {
| `- note: class 'Peripheral' does not conform to the 'Sendable' protocol
5 | private(set) var cbPeripheral: CBPeripheral
6 | private lazy var wrappedDelegate: PeripheralDelegateWrapper = .init(parent: self)
/Users/admin/builder/spi-builder-workspace/Sources/SwiftBluetoothMock/SwiftBluetooth/Peripheral/Peripheral+callback.swift:189:17: warning: capture of 'completionHandler' with non-sendable type '(Result<[CBCharacteristic], any Error>) -> Void' (aka '(Result<Array<CBMCharacteristic>, any Error>) -> ()') in a `@Sendable` closure; this is an error in the Swift 6 language mode
187 | eventQueue.async { [self] in
188 | guard state == .connected else {
189 | completionHandler(.failure(CBError(.peripheralDisconnected)))
| |- warning: capture of 'completionHandler' with non-sendable type '(Result<[CBCharacteristic], any Error>) -> Void' (aka '(Result<Array<CBMCharacteristic>, any Error>) -> ()') in a `@Sendable` closure; this is an error in the Swift 6 language mode
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
190 | return
191 | }
/Users/admin/builder/spi-builder-workspace/Sources/SwiftBluetoothMock/SwiftBluetooth/Peripheral/Peripheral+callback.swift:201:42: warning: capture of 'service' with non-sendable type 'CBService' (aka 'CBMService') in a `@Sendable` closure; this is an error in the Swift 6 language mode
199 |
200 | guard case .discoveredCharacteristics(let forService, let characteristics, let error) = event,
201 | forService.uuid == service.uuid else { return }
| `- warning: capture of 'service' with non-sendable type 'CBService' (aka 'CBMService') in a `@Sendable` closure; this is an error in the Swift 6 language mode
202 | defer { done() }
203 |
/Users/admin/builder/spi-builder-workspace/.build/checkouts/IOS-CoreBluetooth-Mock/CoreBluetoothMock/CBMAttributes.swift:53:12: note: class 'CBMService' does not conform to the 'Sendable' protocol
51 | /// `CBMService` objects represent services of a remote peripheral. Services are either primary or secondary and
52 | /// may contain multiple characteristics or included services (references to other services).
53 | open class CBMService: CBMAttribute {
| `- note: class 'CBMService' does not conform to the 'Sendable' protocol
54 | internal let identifier: UUID
55 | private let _uuid: CBMUUID
/Users/admin/builder/spi-builder-workspace/Sources/SwiftBluetoothMock/SwiftBluetooth/Peripheral/Peripheral+callback.swift:195:21: warning: capture of 'completionHandler' with non-sendable type '(Result<[CBCharacteristic], any Error>) -> Void' (aka '(Result<Array<CBMCharacteristic>, any Error>) -> ()') in an isolated closure; this is an error in the Swift 6 language mode
193 | eventSubscriptions.queue { event, done in
194 | if case .didDisconnect(let error) = event {
195 | completionHandler(.failure(error ?? CBError(.peripheralDisconnected)))
| |- warning: capture of 'completionHandler' with non-sendable type '(Result<[CBCharacteristic], any Error>) -> Void' (aka '(Result<Array<CBMCharacteristic>, any Error>) -> ()') in an isolated closure; this is an error in the Swift 6 language mode
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
196 | done()
197 | return
/Users/admin/builder/spi-builder-workspace/Sources/SwiftBluetoothMock/SwiftBluetooth/Peripheral/Peripheral+callback.swift:201:42: warning: capture of 'service' with non-sendable type 'CBService' (aka 'CBMService') in an isolated closure; this is an error in the Swift 6 language mode
199 |
200 | guard case .discoveredCharacteristics(let forService, let characteristics, let error) = event,
201 | forService.uuid == service.uuid else { return }
| `- warning: capture of 'service' with non-sendable type 'CBService' (aka 'CBMService') in an isolated closure; this is an error in the Swift 6 language mode
202 | defer { done() }
203 |
/Users/admin/builder/spi-builder-workspace/.build/checkouts/IOS-CoreBluetooth-Mock/CoreBluetoothMock/CBMAttributes.swift:53:12: note: class 'CBMService' does not conform to the 'Sendable' protocol
51 | /// `CBMService` objects represent services of a remote peripheral. Services are either primary or secondary and
52 | /// may contain multiple characteristics or included services (references to other services).
53 | open class CBMService: CBMAttribute {
| `- note: class 'CBMService' does not conform to the 'Sendable' protocol
54 | internal let identifier: UUID
55 | private let _uuid: CBMUUID
/Users/admin/builder/spi-builder-workspace/Sources/SwiftBluetoothMock/SwiftBluetooth/Peripheral/Peripheral+callback.swift:218:19: warning: capture of 'self' with non-sendable type 'Peripheral' in a `@Sendable` closure; this is an error in the Swift 6 language mode
216 | func discoverDescriptors(for characteristic: CBCharacteristic, completionHandler: @escaping (Result<[CBDescriptor], Error>) -> Void) {
217 | eventQueue.async { [self] in
218 | guard state == .connected else {
| `- warning: capture of 'self' with non-sendable type 'Peripheral' in a `@Sendable` closure; this is an error in the Swift 6 language mode
219 | completionHandler(.failure(CBError(.peripheralDisconnected)))
220 | return
/Users/admin/builder/spi-builder-workspace/Sources/SwiftBluetoothMock/SwiftBluetooth/Peripheral/Peripheral.swift:4:14: note: class 'Peripheral' does not conform to the 'Sendable' protocol
2 | import CoreBluetooth
3 |
4 | public class Peripheral: NSObject {
| `- note: class 'Peripheral' does not conform to the 'Sendable' protocol
5 | private(set) var cbPeripheral: CBPeripheral
6 | private lazy var wrappedDelegate: PeripheralDelegateWrapper = .init(parent: self)
/Users/admin/builder/spi-builder-workspace/Sources/SwiftBluetoothMock/SwiftBluetooth/Peripheral/Peripheral+callback.swift:219:17: warning: capture of 'completionHandler' with non-sendable type '(Result<[CBDescriptor], any Error>) -> Void' (aka '(Result<Array<CBMDescriptor>, any Error>) -> ()') in a `@Sendable` closure; this is an error in the Swift 6 language mode
217 | eventQueue.async { [self] in
218 | guard state == .connected else {
219 | completionHandler(.failure(CBError(.peripheralDisconnected)))
| |- warning: capture of 'completionHandler' with non-sendable type '(Result<[CBDescriptor], any Error>) -> Void' (aka '(Result<Array<CBMDescriptor>, any Error>) -> ()') in a `@Sendable` closure; this is an error in the Swift 6 language mode
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
220 | return
221 | }
/Users/admin/builder/spi-builder-workspace/Sources/SwiftBluetoothMock/SwiftBluetooth/Peripheral/Peripheral+callback.swift:231:49: warning: capture of 'characteristic' with non-sendable type 'CBCharacteristic' (aka 'CBMCharacteristic') in a `@Sendable` closure; this is an error in the Swift 6 language mode
229 |
230 | guard case .discoveredDescriptors(let forCharacteristic, let descriptors, let error) = event,
231 | forCharacteristic.uuid == characteristic.uuid else { return }
| `- warning: capture of 'characteristic' with non-sendable type 'CBCharacteristic' (aka 'CBMCharacteristic') in a `@Sendable` closure; this is an error in the Swift 6 language mode
232 | defer { done() }
233 |
/Users/admin/builder/spi-builder-workspace/.build/checkouts/IOS-CoreBluetooth-Mock/CoreBluetoothMock/CBMAttributes.swift:193:12: note: class 'CBMCharacteristic' does not conform to the 'Sendable' protocol
191 | /// of descriptors describing that value. The properties of a characteristic determine how you can use a characteristic’s value,
192 | /// and how you access the descriptors.
193 | open class CBMCharacteristic: CBMAttribute {
| `- note: class 'CBMCharacteristic' does not conform to the 'Sendable' protocol
194 | internal let identifier: UUID
195 | private let _uuid: CBMUUID
/Users/admin/builder/spi-builder-workspace/Sources/SwiftBluetoothMock/SwiftBluetooth/Peripheral/Peripheral+callback.swift:225:21: warning: capture of 'completionHandler' with non-sendable type '(Result<[CBDescriptor], any Error>) -> Void' (aka '(Result<Array<CBMDescriptor>, any Error>) -> ()') in an isolated closure; this is an error in the Swift 6 language mode
223 | eventSubscriptions.queue { event, done in
224 | if case .didDisconnect(let error) = event {
225 | completionHandler(.failure(error ?? CBError(.peripheralDisconnected)))
| |- warning: capture of 'completionHandler' with non-sendable type '(Result<[CBDescriptor], any Error>) -> Void' (aka '(Result<Array<CBMDescriptor>, any Error>) -> ()') in an isolated closure; this is an error in the Swift 6 language mode
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
226 | done()
227 | return
/Users/admin/builder/spi-builder-workspace/Sources/SwiftBluetoothMock/SwiftBluetooth/Peripheral/Peripheral+callback.swift:231:49: warning: capture of 'characteristic' with non-sendable type 'CBCharacteristic' (aka 'CBMCharacteristic') in an isolated closure; this is an error in the Swift 6 language mode
229 |
230 | guard case .discoveredDescriptors(let forCharacteristic, let descriptors, let error) = event,
231 | forCharacteristic.uuid == characteristic.uuid else { return }
| `- warning: capture of 'characteristic' with non-sendable type 'CBCharacteristic' (aka 'CBMCharacteristic') in an isolated closure; this is an error in the Swift 6 language mode
232 | defer { done() }
233 |
/Users/admin/builder/spi-builder-workspace/.build/checkouts/IOS-CoreBluetooth-Mock/CoreBluetoothMock/CBMAttributes.swift:193:12: note: class 'CBMCharacteristic' does not conform to the 'Sendable' protocol
191 | /// of descriptors describing that value. The properties of a characteristic determine how you can use a characteristic’s value,
192 | /// and how you access the descriptors.
193 | open class CBMCharacteristic: CBMAttribute {
| `- note: class 'CBMCharacteristic' does not conform to the 'Sendable' protocol
194 | internal let identifier: UUID
195 | private let _uuid: CBMUUID
/Users/admin/builder/spi-builder-workspace/Sources/SwiftBluetoothMock/SwiftBluetooth/Peripheral/Peripheral+callback.swift:258:32: warning: capture of 'self' with non-sendable type 'Peripheral' in a `@Sendable` closure; this is an error in the Swift 6 language mode
256 | func setNotifyValue(_ value: Bool, for characteristic: CBCharacteristic, completionHandler: @escaping (Result<Bool, Error>) -> Void) {
257 | eventQueue.async { [self] in
258 | let shouldNotify = notifyingState.setExternal(value, forKey: characteristic.uuid)
| `- warning: capture of 'self' with non-sendable type 'Peripheral' in a `@Sendable` closure; this is an error in the Swift 6 language mode
259 |
260 | guard state == .connected else {
/Users/admin/builder/spi-builder-workspace/Sources/SwiftBluetoothMock/SwiftBluetooth/Peripheral/Peripheral.swift:4:14: note: class 'Peripheral' does not conform to the 'Sendable' protocol
2 | import CoreBluetooth
3 |
4 | public class Peripheral: NSObject {
| `- note: class 'Peripheral' does not conform to the 'Sendable' protocol
5 | private(set) var cbPeripheral: CBPeripheral
6 | private lazy var wrappedDelegate: PeripheralDelegateWrapper = .init(parent: self)
/Users/admin/builder/spi-builder-workspace/Sources/SwiftBluetoothMock/SwiftBluetooth/Peripheral/Peripheral+callback.swift:258:74: warning: capture of 'characteristic' with non-sendable type 'CBCharacteristic' (aka 'CBMCharacteristic') in a `@Sendable` closure; this is an error in the Swift 6 language mode
256 | func setNotifyValue(_ value: Bool, for characteristic: CBCharacteristic, completionHandler: @escaping (Result<Bool, Error>) -> Void) {
257 | eventQueue.async { [self] in
258 | let shouldNotify = notifyingState.setExternal(value, forKey: characteristic.uuid)
| `- warning: capture of 'characteristic' with non-sendable type 'CBCharacteristic' (aka 'CBMCharacteristic') in a `@Sendable` closure; this is an error in the Swift 6 language mode
259 |
260 | guard state == .connected else {
/Users/admin/builder/spi-builder-workspace/.build/checkouts/IOS-CoreBluetooth-Mock/CoreBluetoothMock/CBMAttributes.swift:193:12: note: class 'CBMCharacteristic' does not conform to the 'Sendable' protocol
191 | /// of descriptors describing that value. The properties of a characteristic determine how you can use a characteristic’s value,
192 | /// and how you access the descriptors.
193 | open class CBMCharacteristic: CBMAttribute {
| `- note: class 'CBMCharacteristic' does not conform to the 'Sendable' protocol
194 | internal let identifier: UUID
195 | private let _uuid: CBMUUID
/Users/admin/builder/spi-builder-workspace/Sources/SwiftBluetoothMock/SwiftBluetooth/Peripheral/Peripheral+callback.swift:261:17: warning: capture of 'completionHandler' with non-sendable type '(Result<Bool, any Error>) -> Void' in a `@Sendable` closure; this is an error in the Swift 6 language mode
259 |
260 | guard state == .connected else {
261 | completionHandler(.failure(CBError(.peripheralDisconnected)))
| |- warning: capture of 'completionHandler' with non-sendable type '(Result<Bool, any Error>) -> Void' in a `@Sendable` closure; this is an error in the Swift 6 language mode
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
262 | return
263 | }
/Users/admin/builder/spi-builder-workspace/Sources/SwiftBluetoothMock/SwiftBluetooth/Peripheral/Peripheral+callback.swift:272:21: warning: capture of 'completionHandler' with non-sendable type '(Result<Bool, any Error>) -> Void' in an isolated closure; this is an error in the Swift 6 language mode
270 | eventSubscriptions.queue { event, done in
271 | if case .didDisconnect(let error) = event {
272 | completionHandler(.failure(error ?? CBError(.peripheralDisconnected)))
| |- warning: capture of 'completionHandler' with non-sendable type '(Result<Bool, any Error>) -> Void' in an isolated closure; this is an error in the Swift 6 language mode
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
273 | done()
274 | return
/Users/admin/builder/spi-builder-workspace/Sources/SwiftBluetoothMock/SwiftBluetooth/Peripheral/Peripheral+callback.swift:278:49: warning: capture of 'characteristic' with non-sendable type 'CBCharacteristic' (aka 'CBMCharacteristic') in an isolated closure; this is an error in the Swift 6 language mode
276 |
277 | guard case .updateNotificationState(let forCharacteristic, let error) = event,
278 | forCharacteristic.uuid == characteristic.uuid else { return }
| `- warning: capture of 'characteristic' with non-sendable type 'CBCharacteristic' (aka 'CBMCharacteristic') in an isolated closure; this is an error in the Swift 6 language mode
279 | defer { done() }
280 |
/Users/admin/builder/spi-builder-workspace/.build/checkouts/IOS-CoreBluetooth-Mock/CoreBluetoothMock/CBMAttributes.swift:193:12: note: class 'CBMCharacteristic' does not conform to the 'Sendable' protocol
191 | /// of descriptors describing that value. The properties of a characteristic determine how you can use a characteristic’s value,
192 | /// and how you access the descriptors.
193 | open class CBMCharacteristic: CBMAttribute {
| `- note: class 'CBMCharacteristic' does not conform to the 'Sendable' protocol
194 | internal let identifier: UUID
195 | private let _uuid: CBMUUID
/Users/admin/builder/spi-builder-workspace/Sources/SwiftBluetoothMock/SwiftBluetooth/Peripheral/Peripheral+callback.swift:313:13: warning: capture of 'self' with non-sendable type 'Peripheral' in a `@Sendable` closure; this is an error in the Swift 6 language mode
311 | func readRSSI(completionHandler: @escaping (Result<NSNumber, Error>) -> Void) {
312 | eventQueue.async { [self] in
313 | eventSubscriptions.queue { event, done in
| `- warning: capture of 'self' with non-sendable type 'Peripheral' in a `@Sendable` closure; this is an error in the Swift 6 language mode
314 | guard case .readRSSI(let RSSI, let error) = event else { return }
315 | defer { done() }
/Users/admin/builder/spi-builder-workspace/Sources/SwiftBluetoothMock/SwiftBluetooth/Peripheral/Peripheral.swift:4:14: note: class 'Peripheral' does not conform to the 'Sendable' protocol
2 | import CoreBluetooth
3 |
4 | public class Peripheral: NSObject {
| `- note: class 'Peripheral' does not conform to the 'Sendable' protocol
5 | private(set) var cbPeripheral: CBPeripheral
6 | private lazy var wrappedDelegate: PeripheralDelegateWrapper = .init(parent: self)
/Users/admin/builder/spi-builder-workspace/Sources/SwiftBluetoothMock/SwiftBluetooth/Peripheral/Peripheral+callback.swift:318:21: warning: capture of 'completionHandler' with non-sendable type '(Result<NSNumber, any Error>) -> Void' in a `@Sendable` closure; this is an error in the Swift 6 language mode
316 |
317 | if let error = error {
318 | completionHandler(.failure(error))
| |- warning: capture of 'completionHandler' with non-sendable type '(Result<NSNumber, any Error>) -> Void' in a `@Sendable` closure; this is an error in the Swift 6 language mode
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
319 | } else {
320 | completionHandler(.success(RSSI))
/Users/admin/builder/spi-builder-workspace/Sources/SwiftBluetoothMock/SwiftBluetooth/Peripheral/Peripheral+callback.swift:318:21: warning: capture of 'completionHandler' with non-sendable type '(Result<NSNumber, any Error>) -> Void' in an isolated closure; this is an error in the Swift 6 language mode
316 |
317 | if let error = error {
318 | completionHandler(.failure(error))
| |- warning: capture of 'completionHandler' with non-sendable type '(Result<NSNumber, any Error>) -> Void' in an isolated closure; this is an error in the Swift 6 language mode
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
319 | } else {
320 | completionHandler(.success(RSSI))
[72/72] Compiling SwiftBluetoothMock Peripheral.swift
/Users/admin/builder/spi-builder-workspace/Sources/SwiftBluetoothMock/SwiftBluetooth/Peripheral/Peripheral+callback.swift:7:19: warning: capture of 'self' with non-sendable type 'Peripheral' in a `@Sendable` closure; this is an error in the Swift 6 language mode
5 | func readValue(for characteristic: CBCharacteristic, completionHandler: @escaping (Result<Data, Error>) -> Void) {
6 | eventQueue.async { [self] in
7 | guard state == .connected else {
| `- warning: capture of 'self' with non-sendable type 'Peripheral' in a `@Sendable` closure; this is an error in the Swift 6 language mode
8 | completionHandler(.failure(CBError(.peripheralDisconnected)))
9 | return
/Users/admin/builder/spi-builder-workspace/Sources/SwiftBluetoothMock/SwiftBluetooth/Peripheral/Peripheral.swift:4:14: note: class 'Peripheral' does not conform to the 'Sendable' protocol
2 | import CoreBluetooth
3 |
4 | public class Peripheral: NSObject {
| `- note: class 'Peripheral' does not conform to the 'Sendable' protocol
5 | private(set) var cbPeripheral: CBPeripheral
6 | private lazy var wrappedDelegate: PeripheralDelegateWrapper = .init(parent: self)
/Users/admin/builder/spi-builder-workspace/Sources/SwiftBluetoothMock/SwiftBluetooth/Peripheral/Peripheral+callback.swift:8:17: warning: capture of 'completionHandler' with non-sendable type '(Result<Data, any Error>) -> Void' in a `@Sendable` closure; this is an error in the Swift 6 language mode
6 | eventQueue.async { [self] in
7 | guard state == .connected else {
8 | completionHandler(.failure(CBError(.peripheralDisconnected)))
| |- warning: capture of 'completionHandler' with non-sendable type '(Result<Data, any Error>) -> Void' in a `@Sendable` closure; this is an error in the Swift 6 language mode
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
9 | return
10 | }
/Users/admin/builder/spi-builder-workspace/Sources/SwiftBluetoothMock/SwiftBluetooth/Peripheral/Peripheral+callback.swift:15:44: warning: capture of 'characteristic' with non-sendable type 'CBCharacteristic' (aka 'CBMCharacteristic') in a `@Sendable` closure; this is an error in the Swift 6 language mode
13 | var task2: AsyncSubscription<PeripheralEvent>?
14 |
15 | task1 = responseMap.queue(key: characteristic.uuid) { result, done in
| `- warning: capture of 'characteristic' with non-sendable type 'CBCharacteristic' (aka 'CBMCharacteristic') in a `@Sendable` closure; this is an error in the Swift 6 language mode
16 | completionHandler(result)
17 | task2?.cancel()
/Users/admin/builder/spi-builder-workspace/.build/checkouts/IOS-CoreBluetooth-Mock/CoreBluetoothMock/CBMAttributes.swift:193:12: note: class 'CBMCharacteristic' does not conform to the 'Sendable' protocol
191 | /// of descriptors describing that value. The properties of a characteristic determine how you can use a characteristic’s value,
192 | /// and how you access the descriptors.
193 | open class CBMCharacteristic: CBMAttribute {
| `- note: class 'CBMCharacteristic' does not conform to the 'Sendable' protocol
194 | internal let identifier: UUID
195 | private let _uuid: CBMUUID
/Users/admin/builder/spi-builder-workspace/Sources/SwiftBluetoothMock/SwiftBluetooth/Peripheral/Peripheral+callback.swift:16:17: warning: capture of 'completionHandler' with non-sendable type '(Result<Data, any Error>) -> Void' in an isolated closure; this is an error in the Swift 6 language mode
14 |
15 | task1 = responseMap.queue(key: characteristic.uuid) { result, done in
16 | completionHandler(result)
| |- warning: capture of 'completionHandler' with non-sendable type '(Result<Data, any Error>) -> Void' in an isolated closure; this is an error in the Swift 6 language mode
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
17 | task2?.cancel()
18 | done()
/Users/admin/builder/spi-builder-workspace/Sources/SwiftBluetoothMock/SwiftBluetooth/Peripheral/Peripheral+callback.swift:24:17: warning: capture of 'completionHandler' with non-sendable type '(Result<Data, any Error>) -> Void' in an isolated closure; this is an error in the Swift 6 language mode
22 | guard case .didDisconnect(let error) = event else { return }
23 |
24 | completionHandler(.failure(error ?? CBError(.peripheralDisconnected)))
| |- warning: capture of 'completionHandler' with non-sendable type '(Result<Data, any Error>) -> Void' in an isolated closure; this is an error in the Swift 6 language mode
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
25 | task1?.cancel()
26 | done()
/Users/admin/builder/spi-builder-workspace/Sources/SwiftBluetoothMock/SwiftBluetooth/Peripheral/Peripheral+callback.swift:41:19: warning: capture of 'self' with non-sendable type 'Peripheral' in a `@Sendable` closure; this is an error in the Swift 6 language mode
39 | func readValue(for descriptor: CBDescriptor, completionHandler: @escaping (Result<Any?, Error>) -> Void) {
40 | eventQueue.async { [self] in
41 | guard state == .connected else {
| `- warning: capture of 'self' with non-sendable type 'Peripheral' in a `@Sendable` closure; this is an error in the Swift 6 language mode
42 | completionHandler(.failure(CBError(.peripheralDisconnected)))
43 | return
/Users/admin/builder/spi-builder-workspace/Sources/SwiftBluetoothMock/SwiftBluetooth/Peripheral/Peripheral.swift:4:14: note: class 'Peripheral' does not conform to the 'Sendable' protocol
2 | import CoreBluetooth
3 |
4 | public class Peripheral: NSObject {
| `- note: class 'Peripheral' does not conform to the 'Sendable' protocol
5 | private(set) var cbPeripheral: CBPeripheral
6 | private lazy var wrappedDelegate: PeripheralDelegateWrapper = .init(parent: self)
/Users/admin/builder/spi-builder-workspace/Sources/SwiftBluetoothMock/SwiftBluetooth/Peripheral/Peripheral+callback.swift:42:17: warning: capture of 'completionHandler' with non-sendable type '(Result<Any?, any Error>) -> Void' in a `@Sendable` closure; this is an error in the Swift 6 language mode
40 | eventQueue.async { [self] in
41 | guard state == .connected else {
42 | completionHandler(.failure(CBError(.peripheralDisconnected)))
| |- warning: capture of 'completionHandler' with non-sendable type '(Result<Any?, any Error>) -> Void' in a `@Sendable` closure; this is an error in the Swift 6 language mode
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
43 | return
44 | }
/Users/admin/builder/spi-builder-workspace/Sources/SwiftBluetoothMock/SwiftBluetooth/Peripheral/Peripheral+callback.swift:49:46: warning: capture of 'descriptor' with non-sendable type 'CBDescriptor' (aka 'CBMDescriptor') in a `@Sendable` closure; this is an error in the Swift 6 language mode
47 | var task2: AsyncSubscription<PeripheralEvent>?
48 |
49 | task1 = descriptorMap.queue(key: descriptor.uuid) { result, done in
| `- warning: capture of 'descriptor' with non-sendable type 'CBDescriptor' (aka 'CBMDescriptor') in a `@Sendable` closure; this is an error in the Swift 6 language mode
50 | completionHandler(result)
51 | task2?.cancel()
/Users/admin/builder/spi-builder-workspace/.build/checkouts/IOS-CoreBluetooth-Mock/CoreBluetoothMock/CBMAttributes.swift:323:12: note: class 'CBMDescriptor' does not conform to the 'Sendable' protocol
321 | /// ``CBMUUID`` details six predefined descriptors and their corresponding value types. `CBMDescriptor` lists the
322 | /// predefined descriptors and the ``CBMUUID`` constants that represent them.
323 | open class CBMDescriptor: CBMAttribute {
| `- note: class 'CBMDescriptor' does not conform to the 'Sendable' protocol
324 | internal let identifier: UUID
325 | private let _uuid: CBMUUID
/Users/admin/builder/spi-builder-workspace/Sources/SwiftBluetoothMock/SwiftBluetooth/Peripheral/Peripheral+callback.swift:50:17: warning: capture of 'completionHandler' with non-sendable type '(Result<Any?, any Error>) -> Void' in an isolated closure; this is an error in the Swift 6 language mode
48 |
49 | task1 = descriptorMap.queue(key: descriptor.uuid) { result, done in
50 | completionHandler(result)
| |- warning: capture of 'completionHandler' with non-sendable type '(Result<Any?, any Error>) -> Void' in an isolated closure; this is an error in the Swift 6 language mode
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
51 | task2?.cancel()
52 | done()
/Users/admin/builder/spi-builder-workspace/Sources/SwiftBluetoothMock/SwiftBluetooth/Peripheral/Peripheral+callback.swift:58:17: warning: capture of 'completionHandler' with non-sendable type '(Result<Any?, any Error>) -> Void' in an isolated closure; this is an error in the Swift 6 language mode
56 | guard case .didDisconnect(let error) = event else { return }
57 |
58 | completionHandler(.failure(error ?? CBError(.peripheralDisconnected)))
| |- warning: capture of 'completionHandler' with non-sendable type '(Result<Any?, any Error>) -> Void' in an isolated closure; this is an error in the Swift 6 language mode
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
59 | task1?.cancel()
60 | done()
/Users/admin/builder/spi-builder-workspace/Sources/SwiftBluetoothMock/SwiftBluetooth/Peripheral/Peripheral+callback.swift:114:19: warning: capture of 'self' with non-sendable type 'Peripheral' in a `@Sendable` closure; this is an error in the Swift 6 language mode
112 | func writeValue(_ data: Data, for characteristic: CBCharacteristic, type: CBCharacteristicWriteType, completionHandler: @escaping (Error?) -> Void) {
113 | eventQueue.async { [self] in
114 | guard state == .connected else {
| `- warning: capture of 'self' with non-sendable type 'Peripheral' in a `@Sendable` closure; this is an error in the Swift 6 language mode
115 | completionHandler(CBError(.peripheralDisconnected))
116 | return
/Users/admin/builder/spi-builder-workspace/Sources/SwiftBluetoothMock/SwiftBluetooth/Peripheral/Peripheral.swift:4:14: note: class 'Peripheral' does not conform to the 'Sendable' protocol
2 | import CoreBluetooth
3 |
4 | public class Peripheral: NSObject {
| `- note: class 'Peripheral' does not conform to the 'Sendable' protocol
5 | private(set) var cbPeripheral: CBPeripheral
6 | private lazy var wrappedDelegate: PeripheralDelegateWrapper = .init(parent: self)
/Users/admin/builder/spi-builder-workspace/Sources/SwiftBluetoothMock/SwiftBluetooth/Peripheral/Peripheral+callback.swift:115:17: warning: capture of 'completionHandler' with non-sendable type '((any Error)?) -> Void' in a `@Sendable` closure; this is an error in the Swift 6 language mode
113 | eventQueue.async { [self] in
114 | guard state == .connected else {
115 | completionHandler(CBError(.peripheralDisconnected))
| |- warning: capture of 'completionHandler' with non-sendable type '((any Error)?) -> Void' in a `@Sendable` closure; this is an error in the Swift 6 language mode
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
116 | return
117 | }
/Users/admin/builder/spi-builder-workspace/Sources/SwiftBluetoothMock/SwiftBluetooth/Peripheral/Peripheral+callback.swift:123:45: warning: capture of 'characteristic' with non-sendable type 'CBCharacteristic' (aka 'CBMCharacteristic') in a `@Sendable` closure; this is an error in the Swift 6 language mode
121 | var task2: AsyncSubscription<PeripheralEvent>?
122 |
123 | task1 = writeMap.queue(key: characteristic.uuid) { error, done in
| `- warning: capture of 'characteristic' with non-sendable type 'CBCharacteristic' (aka 'CBMCharacteristic') in a `@Sendable` closure; this is an error in the Swift 6 language mode
124 | completionHandler(error)
125 | task2?.cancel()
/Users/admin/builder/spi-builder-workspace/.build/checkouts/IOS-CoreBluetooth-Mock/CoreBluetoothMock/CBMAttributes.swift:193:12: note: class 'CBMCharacteristic' does not conform to the 'Sendable' protocol
191 | /// of descriptors describing that value. The properties of a characteristic determine how you can use a characteristic’s value,
192 | /// and how you access the descriptors.
193 | open class CBMCharacteristic: CBMAttribute {
| `- note: class 'CBMCharacteristic' does not conform to the 'Sendable' protocol
194 | internal let identifier: UUID
195 | private let _uuid: CBMUUID
/Users/admin/builder/spi-builder-workspace/Sources/SwiftBluetoothMock/SwiftBluetooth/Peripheral/Peripheral+callback.swift:124:21: warning: capture of 'completionHandler' with non-sendable type '((any Error)?) -> Void' in an isolated closure; this is an error in the Swift 6 language mode
122 |
123 | task1 = writeMap.queue(key: characteristic.uuid) { error, done in
124 | completionHandler(error)
| |- warning: capture of 'completionHandler' with non-sendable type '((any Error)?) -> Void' in an isolated closure; this is an error in the Swift 6 language mode
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
125 | task2?.cancel()
126 | done()
/Users/admin/builder/spi-builder-workspace/Sources/SwiftBluetoothMock/SwiftBluetooth/Peripheral/Peripheral+callback.swift:132:21: warning: capture of 'completionHandler' with non-sendable type '((any Error)?) -> Void' in an isolated closure; this is an error in the Swift 6 language mode
130 | guard case .didDisconnect(let error) = event else { return }
131 |
132 | completionHandler(error ?? CBError(.peripheralDisconnected))
| |- warning: capture of 'completionHandler' with non-sendable type '((any Error)?) -> Void' in an isolated closure; this is an error in the Swift 6 language mode
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
133 | task1?.cancel()
134 | done()
/Users/admin/builder/spi-builder-workspace/Sources/SwiftBluetoothMock/SwiftBluetooth/Peripheral/Peripheral+callback.swift:148:13: warning: capture of 'self' with non-sendable type 'Peripheral' in a `@Sendable` closure; this is an error in the Swift 6 language mode
146 | func writeValue(_ data: Data, for descriptor: CBDescriptor, completionHandler: @escaping (Error?) -> Void) {
147 | eventQueue.async { [self] in
148 | writeMap.queue(key: descriptor.uuid) { error, done in
| `- warning: capture of 'self' with non-sendable type 'Peripheral' in a `@Sendable` closure; this is an error in the Swift 6 language mode
149 | completionHandler(error)
150 | done()
/Users/admin/builder/spi-builder-workspace/Sources/SwiftBluetoothMock/SwiftBluetooth/Peripheral/Peripheral.swift:4:14: note: class 'Peripheral' does not conform to the 'Sendable' protocol
2 | import CoreBluetooth
3 |
4 | public class Peripheral: NSObject {
| `- note: class 'Peripheral' does not conform to the 'Sendable' protocol
5 | private(set) var cbPeripheral: CBPeripheral
6 | private lazy var wrappedDelegate: PeripheralDelegateWrapper = .init(parent: self)
/Users/admin/builder/spi-builder-workspace/Sources/SwiftBluetoothMock/SwiftBluetooth/Peripheral/Peripheral+callback.swift:148:33: warning: capture of 'descriptor' with non-sendable type 'CBDescriptor' (aka 'CBMDescriptor') in a `@Sendable` closure; this is an error in the Swift 6 language mode
146 | func writeValue(_ data: Data, for descriptor: CBDescriptor, completionHandler: @escaping (Error?) -> Void) {
147 | eventQueue.async { [self] in
148 | writeMap.queue(key: descriptor.uuid) { error, done in
| `- warning: capture of 'descriptor' with non-sendable type 'CBDescriptor' (aka 'CBMDescriptor') in a `@Sendable` closure; this is an error in the Swift 6 language mode
149 | completionHandler(error)
150 | done()
/Users/admin/builder/spi-builder-workspace/.build/checkouts/IOS-CoreBluetooth-Mock/CoreBluetoothMock/CBMAttributes.swift:323:12: note: class 'CBMDescriptor' does not conform to the 'Sendable' protocol
321 | /// ``CBMUUID`` details six predefined descriptors and their corresponding value types. `CBMDescriptor` lists the
322 | /// predefined descriptors and the ``CBMUUID`` constants that represent them.
323 | open class CBMDescriptor: CBMAttribute {
| `- note: class 'CBMDescriptor' does not conform to the 'Sendable' protocol
324 | internal let identifier: UUID
325 | private let _uuid: CBMUUID
/Users/admin/builder/spi-builder-workspace/Sources/SwiftBluetoothMock/SwiftBluetooth/Peripheral/Peripheral+callback.swift:149:17: warning: capture of 'completionHandler' with non-sendable type '((any Error)?) -> Void' in a `@Sendable` closure; this is an error in the Swift 6 language mode
147 | eventQueue.async { [self] in
148 | writeMap.queue(key: descriptor.uuid) { error, done in
149 | completionHandler(error)
| |- warning: capture of 'completionHandler' with non-sendable type '((any Error)?) -> Void' in a `@Sendable` closure; this is an error in the Swift 6 language mode
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
150 | done()
151 | }
/Users/admin/builder/spi-builder-workspace/Sources/SwiftBluetoothMock/SwiftBluetooth/Peripheral/Peripheral+callback.swift:149:17: warning: capture of 'completionHandler' with non-sendable type '((any Error)?) -> Void' in an isolated closure; this is an error in the Swift 6 language mode
147 | eventQueue.async { [self] in
148 | writeMap.queue(key: descriptor.uuid) { error, done in
149 | completionHandler(error)
| |- warning: capture of 'completionHandler' with non-sendable type '((any Error)?) -> Void' in an isolated closure; this is an error in the Swift 6 language mode
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
150 | done()
151 | }
/Users/admin/builder/spi-builder-workspace/Sources/SwiftBluetoothMock/SwiftBluetooth/Peripheral/Peripheral+callback.swift:159:19: warning: capture of 'self' with non-sendable type 'Peripheral' in a `@Sendable` closure; this is an error in the Swift 6 language mode
157 | func discoverServices(_ serviceUUIDs: [CBUUID]? = nil, completionHandler: @escaping (Result<[CBService], Error>) -> Void) {
158 | eventQueue.async { [self] in
159 | guard state == .connected else {
| `- warning: capture of 'self' with non-sendable type 'Peripheral' in a `@Sendable` closure; this is an error in the Swift 6 language mode
160 | completionHandler(.failure(CBError(.peripheralDisconnected)))
161 | return
/Users/admin/builder/spi-builder-workspace/Sources/SwiftBluetoothMock/SwiftBluetooth/Peripheral/Peripheral.swift:4:14: note: class 'Peripheral' does not conform to the 'Sendable' protocol
2 | import CoreBluetooth
3 |
4 | public class Peripheral: NSObject {
| `- note: class 'Peripheral' does not conform to the 'Sendable' protocol
5 | private(set) var cbPeripheral: CBPeripheral
6 | private lazy var wrappedDelegate: PeripheralDelegateWrapper = .init(parent: self)
/Users/admin/builder/spi-builder-workspace/Sources/SwiftBluetoothMock/SwiftBluetooth/Peripheral/Peripheral+callback.swift:160:17: warning: capture of 'completionHandler' with non-sendable type '(Result<[CBService], any Error>) -> Void' (aka '(Result<Array<CBMService>, any Error>) -> ()') in a `@Sendable` closure; this is an error in the Swift 6 language mode
158 | eventQueue.async { [self] in
159 | guard state == .connected else {
160 | completionHandler(.failure(CBError(.peripheralDisconnected)))
| |- warning: capture of 'completionHandler' with non-sendable type '(Result<[CBService], any Error>) -> Void' (aka '(Result<Array<CBMService>, any Error>) -> ()') in a `@Sendable` closure; this is an error in the Swift 6 language mode
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
161 | return
162 | }
/Users/admin/builder/spi-builder-workspace/Sources/SwiftBluetoothMock/SwiftBluetooth/Peripheral/Peripheral+callback.swift:166:21: warning: capture of 'completionHandler' with non-sendable type '(Result<[CBService], any Error>) -> Void' (aka '(Result<Array<CBMService>, any Error>) -> ()') in an isolated closure; this is an error in the Swift 6 language mode
164 | eventSubscriptions.queue { event, done in
165 | if case .didDisconnect(let error) = event {
166 | completionHandler(.failure(error ?? CBError(.peripheralDisconnected)))
| |- warning: capture of 'completionHandler' with non-sendable type '(Result<[CBService], any Error>) -> Void' (aka '(Result<Array<CBMService>, any Error>) -> ()') in an isolated closure; this is an error in the Swift 6 language mode
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
167 | done()
168 | return
/Users/admin/builder/spi-builder-workspace/Sources/SwiftBluetoothMock/SwiftBluetooth/Peripheral/Peripheral+callback.swift:188:19: warning: capture of 'self' with non-sendable type 'Peripheral' in a `@Sendable` closure; this is an error in the Swift 6 language mode
186 | func discoverCharacteristics(_ characteristicUUIDs: [CBUUID]? = nil, for service: CBService, completionHandler: @escaping (Result<[CBCharacteristic], Error>) -> Void) {
187 | eventQueue.async { [self] in
188 | guard state == .connected else {
| `- warning: capture of 'self' with non-sendable type 'Peripheral' in a `@Sendable` closure; this is an error in the Swift 6 language mode
189 | completionHandler(.failure(CBError(.peripheralDisconnected)))
190 | return
/Users/admin/builder/spi-builder-workspace/Sources/SwiftBluetoothMock/SwiftBluetooth/Peripheral/Peripheral.swift:4:14: note: class 'Peripheral' does not conform to the 'Sendable' protocol
2 | import CoreBluetooth
3 |
4 | public class Peripheral: NSObject {
| `- note: class 'Peripheral' does not conform to the 'Sendable' protocol
5 | private(set) var cbPeripheral: CBPeripheral
6 | private lazy var wrappedDelegate: PeripheralDelegateWrapper = .init(parent: self)
/Users/admin/builder/spi-builder-workspace/Sources/SwiftBluetoothMock/SwiftBluetooth/Peripheral/Peripheral+callback.swift:189:17: warning: capture of 'completionHandler' with non-sendable type '(Result<[CBCharacteristic], any Error>) -> Void' (aka '(Result<Array<CBMCharacteristic>, any Error>) -> ()') in a `@Sendable` closure; this is an error in the Swift 6 language mode
187 | eventQueue.async { [self] in
188 | guard state == .connected else {
189 | completionHandler(.failure(CBError(.peripheralDisconnected)))
| |- warning: capture of 'completionHandler' with non-sendable type '(Result<[CBCharacteristic], any Error>) -> Void' (aka '(Result<Array<CBMCharacteristic>, any Error>) -> ()') in a `@Sendable` closure; this is an error in the Swift 6 language mode
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
190 | return
191 | }
/Users/admin/builder/spi-builder-workspace/Sources/SwiftBluetoothMock/SwiftBluetooth/Peripheral/Peripheral+callback.swift:201:42: warning: capture of 'service' with non-sendable type 'CBService' (aka 'CBMService') in a `@Sendable` closure; this is an error in the Swift 6 language mode
199 |
200 | guard case .discoveredCharacteristics(let forService, let characteristics, let error) = event,
201 | forService.uuid == service.uuid else { return }
| `- warning: capture of 'service' with non-sendable type 'CBService' (aka 'CBMService') in a `@Sendable` closure; this is an error in the Swift 6 language mode
202 | defer { done() }
203 |
/Users/admin/builder/spi-builder-workspace/.build/checkouts/IOS-CoreBluetooth-Mock/CoreBluetoothMock/CBMAttributes.swift:53:12: note: class 'CBMService' does not conform to the 'Sendable' protocol
51 | /// `CBMService` objects represent services of a remote peripheral. Services are either primary or secondary and
52 | /// may contain multiple characteristics or included services (references to other services).
53 | open class CBMService: CBMAttribute {
| `- note: class 'CBMService' does not conform to the 'Sendable' protocol
54 | internal let identifier: UUID
55 | private let _uuid: CBMUUID
/Users/admin/builder/spi-builder-workspace/Sources/SwiftBluetoothMock/SwiftBluetooth/Peripheral/Peripheral+callback.swift:195:21: warning: capture of 'completionHandler' with non-sendable type '(Result<[CBCharacteristic], any Error>) -> Void' (aka '(Result<Array<CBMCharacteristic>, any Error>) -> ()') in an isolated closure; this is an error in the Swift 6 language mode
193 | eventSubscriptions.queue { event, done in
194 | if case .didDisconnect(let error) = event {
195 | completionHandler(.failure(error ?? CBError(.peripheralDisconnected)))
| |- warning: capture of 'completionHandler' with non-sendable type '(Result<[CBCharacteristic], any Error>) -> Void' (aka '(Result<Array<CBMCharacteristic>, any Error>) -> ()') in an isolated closure; this is an error in the Swift 6 language mode
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
196 | done()
197 | return
/Users/admin/builder/spi-builder-workspace/Sources/SwiftBluetoothMock/SwiftBluetooth/Peripheral/Peripheral+callback.swift:201:42: warning: capture of 'service' with non-sendable type 'CBService' (aka 'CBMService') in an isolated closure; this is an error in the Swift 6 language mode
199 |
200 | guard case .discoveredCharacteristics(let forService, let characteristics, let error) = event,
201 | forService.uuid == service.uuid else { return }
| `- warning: capture of 'service' with non-sendable type 'CBService' (aka 'CBMService') in an isolated closure; this is an error in the Swift 6 language mode
202 | defer { done() }
203 |
/Users/admin/builder/spi-builder-workspace/.build/checkouts/IOS-CoreBluetooth-Mock/CoreBluetoothMock/CBMAttributes.swift:53:12: note: class 'CBMService' does not conform to the 'Sendable' protocol
51 | /// `CBMService` objects represent services of a remote peripheral. Services are either primary or secondary and
52 | /// may contain multiple characteristics or included services (references to other services).
53 | open class CBMService: CBMAttribute {
| `- note: class 'CBMService' does not conform to the 'Sendable' protocol
54 | internal let identifier: UUID
55 | private let _uuid: CBMUUID
/Users/admin/builder/spi-builder-workspace/Sources/SwiftBluetoothMock/SwiftBluetooth/Peripheral/Peripheral+callback.swift:218:19: warning: capture of 'self' with non-sendable type 'Peripheral' in a `@Sendable` closure; this is an error in the Swift 6 language mode
216 | func discoverDescriptors(for characteristic: CBCharacteristic, completionHandler: @escaping (Result<[CBDescriptor], Error>) -> Void) {
217 | eventQueue.async { [self] in
218 | guard state == .connected else {
| `- warning: capture of 'self' with non-sendable type 'Peripheral' in a `@Sendable` closure; this is an error in the Swift 6 language mode
219 | completionHandler(.failure(CBError(.peripheralDisconnected)))
220 | return
/Users/admin/builder/spi-builder-workspace/Sources/SwiftBluetoothMock/SwiftBluetooth/Peripheral/Peripheral.swift:4:14: note: class 'Peripheral' does not conform to the 'Sendable' protocol
2 | import CoreBluetooth
3 |
4 | public class Peripheral: NSObject {
| `- note: class 'Peripheral' does not conform to the 'Sendable' protocol
5 | private(set) var cbPeripheral: CBPeripheral
6 | private lazy var wrappedDelegate: PeripheralDelegateWrapper = .init(parent: self)
/Users/admin/builder/spi-builder-workspace/Sources/SwiftBluetoothMock/SwiftBluetooth/Peripheral/Peripheral+callback.swift:219:17: warning: capture of 'completionHandler' with non-sendable type '(Result<[CBDescriptor], any Error>) -> Void' (aka '(Result<Array<CBMDescriptor>, any Error>) -> ()') in a `@Sendable` closure; this is an error in the Swift 6 language mode
217 | eventQueue.async { [self] in
218 | guard state == .connected else {
219 | completionHandler(.failure(CBError(.peripheralDisconnected)))
| |- warning: capture of 'completionHandler' with non-sendable type '(Result<[CBDescriptor], any Error>) -> Void' (aka '(Result<Array<CBMDescriptor>, any Error>) -> ()') in a `@Sendable` closure; this is an error in the Swift 6 language mode
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
220 | return
221 | }
/Users/admin/builder/spi-builder-workspace/Sources/SwiftBluetoothMock/SwiftBluetooth/Peripheral/Peripheral+callback.swift:231:49: warning: capture of 'characteristic' with non-sendable type 'CBCharacteristic' (aka 'CBMCharacteristic') in a `@Sendable` closure; this is an error in the Swift 6 language mode
229 |
230 | guard case .discoveredDescriptors(let forCharacteristic, let descriptors, let error) = event,
231 | forCharacteristic.uuid == characteristic.uuid else { return }
| `- warning: capture of 'characteristic' with non-sendable type 'CBCharacteristic' (aka 'CBMCharacteristic') in a `@Sendable` closure; this is an error in the Swift 6 language mode
232 | defer { done() }
233 |
/Users/admin/builder/spi-builder-workspace/.build/checkouts/IOS-CoreBluetooth-Mock/CoreBluetoothMock/CBMAttributes.swift:193:12: note: class 'CBMCharacteristic' does not conform to the 'Sendable' protocol
191 | /// of descriptors describing that value. The properties of a characteristic determine how you can use a characteristic’s value,
192 | /// and how you access the descriptors.
193 | open class CBMCharacteristic: CBMAttribute {
| `- note: class 'CBMCharacteristic' does not conform to the 'Sendable' protocol
194 | internal let identifier: UUID
195 | private let _uuid: CBMUUID
/Users/admin/builder/spi-builder-workspace/Sources/SwiftBluetoothMock/SwiftBluetooth/Peripheral/Peripheral+callback.swift:225:21: warning: capture of 'completionHandler' with non-sendable type '(Result<[CBDescriptor], any Error>) -> Void' (aka '(Result<Array<CBMDescriptor>, any Error>) -> ()') in an isolated closure; this is an error in the Swift 6 language mode
223 | eventSubscriptions.queue { event, done in
224 | if case .didDisconnect(let error) = event {
225 | completionHandler(.failure(error ?? CBError(.peripheralDisconnected)))
| |- warning: capture of 'completionHandler' with non-sendable type '(Result<[CBDescriptor], any Error>) -> Void' (aka '(Result<Array<CBMDescriptor>, any Error>) -> ()') in an isolated closure; this is an error in the Swift 6 language mode
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
226 | done()
227 | return
/Users/admin/builder/spi-builder-workspace/Sources/SwiftBluetoothMock/SwiftBluetooth/Peripheral/Peripheral+callback.swift:231:49: warning: capture of 'characteristic' with non-sendable type 'CBCharacteristic' (aka 'CBMCharacteristic') in an isolated closure; this is an error in the Swift 6 language mode
229 |
230 | guard case .discoveredDescriptors(let forCharacteristic, let descriptors, let error) = event,
231 | forCharacteristic.uuid == characteristic.uuid else { return }
| `- warning: capture of 'characteristic' with non-sendable type 'CBCharacteristic' (aka 'CBMCharacteristic') in an isolated closure; this is an error in the Swift 6 language mode
232 | defer { done() }
233 |
/Users/admin/builder/spi-builder-workspace/.build/checkouts/IOS-CoreBluetooth-Mock/CoreBluetoothMock/CBMAttributes.swift:193:12: note: class 'CBMCharacteristic' does not conform to the 'Sendable' protocol
191 | /// of descriptors describing that value. The properties of a characteristic determine how you can use a characteristic’s value,
192 | /// and how you access the descriptors.
193 | open class CBMCharacteristic: CBMAttribute {
| `- note: class 'CBMCharacteristic' does not conform to the 'Sendable' protocol
194 | internal let identifier: UUID
195 | private let _uuid: CBMUUID
/Users/admin/builder/spi-builder-workspace/Sources/SwiftBluetoothMock/SwiftBluetooth/Peripheral/Peripheral+callback.swift:258:32: warning: capture of 'self' with non-sendable type 'Peripheral' in a `@Sendable` closure; this is an error in the Swift 6 language mode
256 | func setNotifyValue(_ value: Bool, for characteristic: CBCharacteristic, completionHandler: @escaping (Result<Bool, Error>) -> Void) {
257 | eventQueue.async { [self] in
258 | let shouldNotify = notifyingState.setExternal(value, forKey: characteristic.uuid)
| `- warning: capture of 'self' with non-sendable type 'Peripheral' in a `@Sendable` closure; this is an error in the Swift 6 language mode
259 |
260 | guard state == .connected else {
/Users/admin/builder/spi-builder-workspace/Sources/SwiftBluetoothMock/SwiftBluetooth/Peripheral/Peripheral.swift:4:14: note: class 'Peripheral' does not conform to the 'Sendable' protocol
2 | import CoreBluetooth
3 |
4 | public class Peripheral: NSObject {
| `- note: class 'Peripheral' does not conform to the 'Sendable' protocol
5 | private(set) var cbPeripheral: CBPeripheral
6 | private lazy var wrappedDelegate: PeripheralDelegateWrapper = .init(parent: self)
/Users/admin/builder/spi-builder-workspace/Sources/SwiftBluetoothMock/SwiftBluetooth/Peripheral/Peripheral+callback.swift:258:74: warning: capture of 'characteristic' with non-sendable type 'CBCharacteristic' (aka 'CBMCharacteristic') in a `@Sendable` closure; this is an error in the Swift 6 language mode
256 | func setNotifyValue(_ value: Bool, for characteristic: CBCharacteristic, completionHandler: @escaping (Result<Bool, Error>) -> Void) {
257 | eventQueue.async { [self] in
258 | let shouldNotify = notifyingState.setExternal(value, forKey: characteristic.uuid)
| `- warning: capture of 'characteristic' with non-sendable type 'CBCharacteristic' (aka 'CBMCharacteristic') in a `@Sendable` closure; this is an error in the Swift 6 language mode
259 |
260 | guard state == .connected else {
/Users/admin/builder/spi-builder-workspace/.build/checkouts/IOS-CoreBluetooth-Mock/CoreBluetoothMock/CBMAttributes.swift:193:12: note: class 'CBMCharacteristic' does not conform to the 'Sendable' protocol
191 | /// of descriptors describing that value. The properties of a characteristic determine how you can use a characteristic’s value,
192 | /// and how you access the descriptors.
193 | open class CBMCharacteristic: CBMAttribute {
| `- note: class 'CBMCharacteristic' does not conform to the 'Sendable' protocol
194 | internal let identifier: UUID
195 | private let _uuid: CBMUUID
/Users/admin/builder/spi-builder-workspace/Sources/SwiftBluetoothMock/SwiftBluetooth/Peripheral/Peripheral+callback.swift:261:17: warning: capture of 'completionHandler' with non-sendable type '(Result<Bool, any Error>) -> Void' in a `@Sendable` closure; this is an error in the Swift 6 language mode
259 |
260 | guard state == .connected else {
261 | completionHandler(.failure(CBError(.peripheralDisconnected)))
| |- warning: capture of 'completionHandler' with non-sendable type '(Result<Bool, any Error>) -> Void' in a `@Sendable` closure; this is an error in the Swift 6 language mode
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
262 | return
263 | }
/Users/admin/builder/spi-builder-workspace/Sources/SwiftBluetoothMock/SwiftBluetooth/Peripheral/Peripheral+callback.swift:272:21: warning: capture of 'completionHandler' with non-sendable type '(Result<Bool, any Error>) -> Void' in an isolated closure; this is an error in the Swift 6 language mode
270 | eventSubscriptions.queue { event, done in
271 | if case .didDisconnect(let error) = event {
272 | completionHandler(.failure(error ?? CBError(.peripheralDisconnected)))
| |- warning: capture of 'completionHandler' with non-sendable type '(Result<Bool, any Error>) -> Void' in an isolated closure; this is an error in the Swift 6 language mode
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
273 | done()
274 | return
/Users/admin/builder/spi-builder-workspace/Sources/SwiftBluetoothMock/SwiftBluetooth/Peripheral/Peripheral+callback.swift:278:49: warning: capture of 'characteristic' with non-sendable type 'CBCharacteristic' (aka 'CBMCharacteristic') in an isolated closure; this is an error in the Swift 6 language mode
276 |
277 | guard case .updateNotificationState(let forCharacteristic, let error) = event,
278 | forCharacteristic.uuid == characteristic.uuid else { return }
| `- warning: capture of 'characteristic' with non-sendable type 'CBCharacteristic' (aka 'CBMCharacteristic') in an isolated closure; this is an error in the Swift 6 language mode
279 | defer { done() }
280 |
/Users/admin/builder/spi-builder-workspace/.build/checkouts/IOS-CoreBluetooth-Mock/CoreBluetoothMock/CBMAttributes.swift:193:12: note: class 'CBMCharacteristic' does not conform to the 'Sendable' protocol
191 | /// of descriptors describing that value. The properties of a characteristic determine how you can use a characteristic’s value,
192 | /// and how you access the descriptors.
193 | open class CBMCharacteristic: CBMAttribute {
| `- note: class 'CBMCharacteristic' does not conform to the 'Sendable' protocol
194 | internal let identifier: UUID
195 | private let _uuid: CBMUUID
/Users/admin/builder/spi-builder-workspace/Sources/SwiftBluetoothMock/SwiftBluetooth/Peripheral/Peripheral+callback.swift:313:13: warning: capture of 'self' with non-sendable type 'Peripheral' in a `@Sendable` closure; this is an error in the Swift 6 language mode
311 | func readRSSI(completionHandler: @escaping (Result<NSNumber, Error>) -> Void) {
312 | eventQueue.async { [self] in
313 | eventSubscriptions.queue { event, done in
| `- warning: capture of 'self' with non-sendable type 'Peripheral' in a `@Sendable` closure; this is an error in the Swift 6 language mode
314 | guard case .readRSSI(let RSSI, let error) = event else { return }
315 | defer { done() }
/Users/admin/builder/spi-builder-workspace/Sources/SwiftBluetoothMock/SwiftBluetooth/Peripheral/Peripheral.swift:4:14: note: class 'Peripheral' does not conform to the 'Sendable' protocol
2 | import CoreBluetooth
3 |
4 | public class Peripheral: NSObject {
| `- note: class 'Peripheral' does not conform to the 'Sendable' protocol
5 | private(set) var cbPeripheral: CBPeripheral
6 | private lazy var wrappedDelegate: PeripheralDelegateWrapper = .init(parent: self)
/Users/admin/builder/spi-builder-workspace/Sources/SwiftBluetoothMock/SwiftBluetooth/Peripheral/Peripheral+callback.swift:318:21: warning: capture of 'completionHandler' with non-sendable type '(Result<NSNumber, any Error>) -> Void' in a `@Sendable` closure; this is an error in the Swift 6 language mode
316 |
317 | if let error = error {
318 | completionHandler(.failure(error))
| |- warning: capture of 'completionHandler' with non-sendable type '(Result<NSNumber, any Error>) -> Void' in a `@Sendable` closure; this is an error in the Swift 6 language mode
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
319 | } else {
320 | completionHandler(.success(RSSI))
/Users/admin/builder/spi-builder-workspace/Sources/SwiftBluetoothMock/SwiftBluetooth/Peripheral/Peripheral+callback.swift:318:21: warning: capture of 'completionHandler' with non-sendable type '(Result<NSNumber, any Error>) -> Void' in an isolated closure; this is an error in the Swift 6 language mode
316 |
317 | if let error = error {
318 | completionHandler(.failure(error))
| |- warning: capture of 'completionHandler' with non-sendable type '(Result<NSNumber, any Error>) -> Void' in an isolated closure; this is an error in the Swift 6 language mode
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
319 | } else {
320 | completionHandler(.success(RSSI))
Build complete! (27.24s)
Build complete.
{
"dependencies" : [
{
"identity" : "ios-corebluetooth-mock",
"requirement" : {
"range" : [
{
"lower_bound" : "0.17.0",
"upper_bound" : "0.18.0"
}
]
},
"type" : "sourceControl",
"url" : "https://github.com/NordicSemiconductor/IOS-CoreBluetooth-Mock.git"
}
],
"manifest_display_name" : "SwiftBluetooth",
"name" : "SwiftBluetooth",
"path" : "/Users/admin/builder/spi-builder-workspace",
"platforms" : [
{
"name" : "ios",
"version" : "14.0"
},
{
"name" : "macos",
"version" : "10.15"
},
{
"name" : "tvos",
"version" : "15.0"
},
{
"name" : "watchos",
"version" : "7.0"
}
],
"products" : [
{
"name" : "SwiftBluetooth",
"targets" : [
"SwiftBluetooth"
],
"type" : {
"library" : [
"automatic"
]
}
}
],
"targets" : [
{
"c99name" : "SwiftBluetoothTests",
"module_type" : "SwiftTarget",
"name" : "SwiftBluetoothTests",
"path" : "Tests/SwiftBluetoothTests",
"sources" : [
"CentralPeripheralTestCase.swift",
"DisconnectedPeripheralTests.swift",
"Extensions/XCTestCase+withTimeout.swift",
"LostConnectionPeripheralTests.swift",
"MockPeripheral.swift",
"SwiftBluetoothTests.swift"
],
"target_dependencies" : [
"SwiftBluetoothMock"
],
"type" : "test"
},
{
"c99name" : "SwiftBluetoothMock",
"module_type" : "SwiftTarget",
"name" : "SwiftBluetoothMock",
"path" : "Sources/SwiftBluetoothMock",
"product_dependencies" : [
"CoreBluetoothMock"
],
"sources" : [
"CoreBluetoothMock.swift",
"SwiftBluetooth/Async/AsyncSubscription.swift",
"SwiftBluetooth/Async/AsyncSubscriptionQueue.swift",
"SwiftBluetooth/Async/AsyncSubscriptionQueueMap.swift",
"SwiftBluetooth/Async/CancellableTask.swift",
"SwiftBluetooth/CentralManager/CentralManager+async.swift",
"SwiftBluetooth/CentralManager/CentralManager+callback.swift",
"SwiftBluetooth/CentralManager/CentralManager.swift",
"SwiftBluetooth/CentralManager/CentralManagerDelegate.swift",
"SwiftBluetooth/CentralManager/CentralManagerDelegateWrapper.swift",
"SwiftBluetooth/CentralManager/CentralManagerError.swift",
"SwiftBluetooth/CentralManager/CentralManagerEvent.swift",
"SwiftBluetooth/Extensions/AsyncStream+first.swift",
"SwiftBluetooth/Extensions/CBUUID+Sendable.swift",
"SwiftBluetooth/Extensions/DispatchQueue+safeSync.swift",
"SwiftBluetooth/Peripheral/Characteristic.swift",
"SwiftBluetooth/Peripheral/NotifyingTracker.swift",
"SwiftBluetooth/Peripheral/Peripheral+DiscoveryInfo.swift",
"SwiftBluetooth/Peripheral/Peripheral+async.swift",
"SwiftBluetooth/Peripheral/Peripheral+callback.swift",
"SwiftBluetooth/Peripheral/Peripheral.swift",
"SwiftBluetooth/Peripheral/PeripheralDelegate.swift",
"SwiftBluetooth/Peripheral/PeripheralDelegateWrapper.swift",
"SwiftBluetooth/Peripheral/PeripheralError.swift",
"SwiftBluetooth/Peripheral/PeripheralEvent.swift"
],
"type" : "library"
},
{
"c99name" : "SwiftBluetooth",
"module_type" : "SwiftTarget",
"name" : "SwiftBluetooth",
"path" : "Sources/SwiftBluetooth",
"product_memberships" : [
"SwiftBluetooth"
],
"sources" : [
"Async/AsyncSubscription.swift",
"Async/AsyncSubscriptionQueue.swift",
"Async/AsyncSubscriptionQueueMap.swift",
"Async/CancellableTask.swift",
"CentralManager/CBCentralManagerFactory.swift",
"CentralManager/CentralManager+async.swift",
"CentralManager/CentralManager+callback.swift",
"CentralManager/CentralManager.swift",
"CentralManager/CentralManagerDelegate.swift",
"CentralManager/CentralManagerDelegateWrapper.swift",
"CentralManager/CentralManagerError.swift",
"CentralManager/CentralManagerEvent.swift",
"Extensions/AsyncStream+first.swift",
"Extensions/CBUUID+Sendable.swift",
"Extensions/DispatchQueue+safeSync.swift",
"Peripheral/Characteristic.swift",
"Peripheral/NotifyingTracker.swift",
"Peripheral/Peripheral+DiscoveryInfo.swift",
"Peripheral/Peripheral+async.swift",
"Peripheral/Peripheral+callback.swift",
"Peripheral/Peripheral.swift",
"Peripheral/PeripheralDelegate.swift",
"Peripheral/PeripheralDelegateWrapper.swift",
"Peripheral/PeripheralError.swift",
"Peripheral/PeripheralEvent.swift"
],
"type" : "library"
}
],
"tools_version" : "5.5"
}
✅ Doc result (pending) reported
========================================
GenerateDocs
========================================
Generating docs at path: $PWD/.docs/exphat/swiftbluetooth/master
Repository: exPHAT/SwiftBluetooth
Swift version used: 6.0
Target: SwiftBluetooth
Extracting symbol information for 'SwiftBluetooth'...
Finished extracting symbol information for 'SwiftBluetooth'. (3.29s)
Building documentation for 'SwiftBluetooth'...
Finished building documentation for 'SwiftBluetooth' (0.24s)
Generated documentation archive at:
/Users/admin/builder/spi-builder-workspace/.docs/exphat/swiftbluetooth/master
Fetching https://github.com/swiftlang/swift-docc-plugin
Updating https://github.com/NordicSemiconductor/IOS-CoreBluetooth-Mock.git
Updated https://github.com/NordicSemiconductor/IOS-CoreBluetooth-Mock.git (0.46s)
[1/2038] Fetching swift-docc-plugin
Fetched https://github.com/swiftlang/swift-docc-plugin from cache (1.25s)
Computing version for https://github.com/NordicSemiconductor/IOS-CoreBluetooth-Mock.git
Computed https://github.com/NordicSemiconductor/IOS-CoreBluetooth-Mock.git at 0.17.0 (0.64s)
Computing version for https://github.com/swiftlang/swift-docc-plugin
Computed https://github.com/swiftlang/swift-docc-plugin at 1.4.3 (0.64s)
Fetching https://github.com/swiftlang/swift-docc-symbolkit
[1/3153] Fetching swift-docc-symbolkit
Fetched https://github.com/swiftlang/swift-docc-symbolkit from cache (1.93s)
Computing version for https://github.com/swiftlang/swift-docc-symbolkit
Computed https://github.com/swiftlang/swift-docc-symbolkit at 1.0.0 (0.64s)
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
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
Building for debugging...
[0/8] Write sources
[2/8] Write snippet-extract-tool-entitlement.plist
[3/8] Write sources
[4/8] Write swift-version--7754E27361AE5C74.txt
[6/53] Compiling SymbolKit GenericConstraint.swift
[7/53] Compiling SymbolKit GenericParameter.swift
[8/53] Compiling SymbolKit Generics.swift
[9/53] Compiling SymbolKit Namespace.swift
[10/57] Compiling SymbolKit DeclarationFragments.swift
[11/57] Compiling SymbolKit Fragment.swift
[12/57] Compiling SymbolKit FragmentKind.swift
[13/57] Compiling SymbolKit FunctionParameter.swift
[14/57] Compiling SymbolKit FunctionSignature.swift
[15/57] Emitting module SymbolKit
[16/57] Compiling SymbolKit Names.swift
[17/57] Compiling SymbolKit SPI.swift
[18/57] Compiling SymbolKit Snippet.swift
[19/57] Compiling SymbolKit Extension.swift
[20/57] Compiling SymbolKit Mixin+Equals.swift
[21/57] Compiling SymbolKit Mixin+Hash.swift
[22/57] Compiling SymbolKit Mixin.swift
[23/57] Compiling SymbolKit LineList.swift
[24/57] Compiling SymbolKit Position.swift
[25/57] Compiling SymbolKit Identifier.swift
[26/57] Compiling SymbolKit KindIdentifier.swift
[27/57] Compiling SymbolKit Location.swift
[28/57] Compiling SymbolKit Mutability.swift
[29/57] Compiling SymbolKit SourceRange.swift
[30/57] Compiling SymbolKit Metadata.swift
[31/57] Compiling SymbolKit Module.swift
[32/57] Compiling SymbolKit OperatingSystem.swift
[33/57] Compiling SymbolKit Platform.swift
[34/57] Compiling SymbolKit SemanticVersion.swift
[35/57] Compiling SymbolKit AccessControl.swift
[36/57] Compiling SymbolKit Availability.swift
[37/57] Compiling SymbolKit AvailabilityItem.swift
[38/57] Compiling SymbolKit Domain.swift
[39/57] Compiling SymbolKit Relationship.swift
[40/57] Compiling SymbolKit RelationshipKind.swift
[41/57] Compiling SymbolKit SourceOrigin.swift
[42/57] Compiling SymbolKit GenericConstraints.swift
[43/57] Compiling SymbolKit Swift.swift
[44/57] Compiling SymbolKit Symbol.swift
[45/57] Compiling SymbolKit SymbolKind.swift
[46/57] Compiling SymbolKit SymbolGraph.swift
[47/57] Compiling SymbolKit GraphCollector.swift
[48/57] Compiling SymbolKit UnifiedSymbol+Encodable.swift
[49/57] Compiling SymbolKit UnifiedSymbol.swift
[50/57] Compiling SymbolKit UnifiedSymbolGraph+Encodable.swift
[51/57] Compiling SymbolKit UnifiedSymbolGraph.swift
[52/57] Emitting module Snippets
[53/57] Compiling Snippets Snippet.swift
[54/57] Compiling Snippets SnippetParser.swift
[55/61] Compiling snippet_extract URL+Status.swift
[56/61] Compiling snippet_extract SymbolGraph+Snippet.swift
[57/61] Compiling snippet_extract SnippetBuildCommand.swift
[58/61] Emitting module snippet_extract
[58/61] Write Objects.LinkFileList
[59/61] Linking snippet-extract-tool
[60/61] Applying snippet-extract-tool
Build of product 'snippet-extract' complete! (4.17s)
Building for debugging...
[0/1] Write swift-version--7754E27361AE5C74.txt
[2/25] Emitting module SwiftBluetooth
/Users/admin/builder/spi-builder-workspace/Sources/SwiftBluetooth/Extensions/CBUUID+Sendable.swift:4:1: warning: extension declares a conformance of imported type 'CBUUID' to imported protocol 'Sendable'; this will not behave correctly if the owners of 'CoreBluetooth' introduce this conformance in the future
2 | import CoreBluetooth
3 |
4 | extension CBUUID: @unchecked Sendable { }
| |- warning: extension declares a conformance of imported type 'CBUUID' to imported protocol 'Sendable'; this will not behave correctly if the owners of 'CoreBluetooth' introduce this conformance in the future
| `- note: add '@retroactive' to silence this warning
5 |
[3/27] Compiling SwiftBluetooth Characteristic.swift
[4/27] Compiling SwiftBluetooth NotifyingTracker.swift
[5/27] Compiling SwiftBluetooth CancellableTask.swift
[6/27] Compiling SwiftBluetooth CBCentralManagerFactory.swift
[7/27] Compiling SwiftBluetooth CentralManager+async.swift
[8/27] Compiling SwiftBluetooth AsyncStream+first.swift
/Users/admin/builder/spi-builder-workspace/Sources/SwiftBluetooth/Extensions/CBUUID+Sendable.swift:4:1: warning: extension declares a conformance of imported type 'CBUUID' to imported protocol 'Sendable'; this will not behave correctly if the owners of 'CoreBluetooth' introduce this conformance in the future
2 | import CoreBluetooth
3 |
4 | extension CBUUID: @unchecked Sendable { }
| |- warning: extension declares a conformance of imported type 'CBUUID' to imported protocol 'Sendable'; this will not behave correctly if the owners of 'CoreBluetooth' introduce this conformance in the future
| `- note: add '@retroactive' to silence this warning
5 |
[9/27] Compiling SwiftBluetooth CBUUID+Sendable.swift
/Users/admin/builder/spi-builder-workspace/Sources/SwiftBluetooth/Extensions/CBUUID+Sendable.swift:4:1: warning: extension declares a conformance of imported type 'CBUUID' to imported protocol 'Sendable'; this will not behave correctly if the owners of 'CoreBluetooth' introduce this conformance in the future
2 | import CoreBluetooth
3 |
4 | extension CBUUID: @unchecked Sendable { }
| |- warning: extension declares a conformance of imported type 'CBUUID' to imported protocol 'Sendable'; this will not behave correctly if the owners of 'CoreBluetooth' introduce this conformance in the future
| `- note: add '@retroactive' to silence this warning
5 |
[10/27] Compiling SwiftBluetooth DispatchQueue+safeSync.swift
/Users/admin/builder/spi-builder-workspace/Sources/SwiftBluetooth/Extensions/CBUUID+Sendable.swift:4:1: warning: extension declares a conformance of imported type 'CBUUID' to imported protocol 'Sendable'; this will not behave correctly if the owners of 'CoreBluetooth' introduce this conformance in the future
2 | import CoreBluetooth
3 |
4 | extension CBUUID: @unchecked Sendable { }
| |- warning: extension declares a conformance of imported type 'CBUUID' to imported protocol 'Sendable'; this will not behave correctly if the owners of 'CoreBluetooth' introduce this conformance in the future
| `- note: add '@retroactive' to silence this warning
5 |
[11/27] Compiling SwiftBluetooth AsyncSubscription.swift
[12/27] Compiling SwiftBluetooth AsyncSubscriptionQueue.swift
[13/27] Compiling SwiftBluetooth AsyncSubscriptionQueueMap.swift
[14/27] Compiling SwiftBluetooth CentralManager+callback.swift
[15/27] Compiling SwiftBluetooth CentralManager.swift
[16/27] Compiling SwiftBluetooth CentralManagerDelegate.swift
[17/27] Compiling SwiftBluetooth PeripheralError.swift
[18/27] Compiling SwiftBluetooth PeripheralEvent.swift
[19/27] Compiling SwiftBluetooth Peripheral+DiscoveryInfo.swift
[20/27] Compiling SwiftBluetooth Peripheral+async.swift
[21/27] Compiling SwiftBluetooth CentralManagerDelegateWrapper.swift
[22/27] Compiling SwiftBluetooth CentralManagerError.swift
[23/27] Compiling SwiftBluetooth CentralManagerEvent.swift
[24/27] Compiling SwiftBluetooth PeripheralDelegate.swift
[25/27] Compiling SwiftBluetooth PeripheralDelegateWrapper.swift
[26/27] Compiling SwiftBluetooth Peripheral+callback.swift
[27/27] Compiling SwiftBluetooth Peripheral.swift
Build of target: 'SwiftBluetooth' complete! (0.97s)
370
3 /Users/admin/builder/spi-builder-workspace/.docs/exphat/swiftbluetooth/master
✅ Doc result (uploading) reported
========================================
SyncDocs
========================================
Doc archive source directory: $PWD/.docs/exphat/swiftbluetooth/master
File count: 370
Doc size: 3.0MB
Preparing doc bundle ...
Uploading prod-exphat-swiftbluetooth-master-65bb7afe.zip to s3://spi-docs-inbox/prod-exphat-swiftbluetooth-master-65bb7afe.zip
Copying... [19%]
Copying... [28%]
Copying... [37%]
Copying... [47%]
Copying... [56%]
Copying... [65%]
Copying... [75%]
Copying... [84%]
Copying... [93%]
Copying... [100%]
Done.