Build Information
Successful build of CoreBluetoothMock, reference main (b522df
), with Swift 6.0 for macOS (SPM) on 4 Nov 2024 08:40:58 UTC.
Swift 6 data race errors: 10
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
========================================
RunAll
========================================
Builder version: 4.56.0
Interrupt handler set up.
========================================
Checkout
========================================
Clone URL: https://github.com/NordicSemiconductor/IOS-CoreBluetooth-Mock.git
Reference: main
Initialized empty Git repository in /Users/admin/builder/spi-builder-workspace/.git/
From https://github.com/NordicSemiconductor/IOS-CoreBluetooth-Mock
* branch main -> FETCH_HEAD
* [new branch] main -> origin/main
HEAD is now at b522df5 Merge pull request #109 from NordicSemiconductor/readme
Cloned https://github.com/NordicSemiconductor/IOS-CoreBluetooth-Mock.git
Revision (git rev-parse @):
b522df5fc0eae2a4ccea1bd8dc732265003a48a3
SUCCESS checkout https://github.com/NordicSemiconductor/IOS-CoreBluetooth-Mock.git at main
Fetching https://github.com/apple/swift-docc-symbolkit
Fetching https://github.com/apple/swift-docc-plugin
[1/2038] Fetching swift-docc-plugin
[226/5191] Fetching swift-docc-plugin, swift-docc-symbolkit
Fetched https://github.com/apple/swift-docc-plugin from cache (1.36s)
Computing version for https://github.com/apple/swift-docc-plugin
Fetched https://github.com/apple/swift-docc-symbolkit from cache (1.38s)
Computed https://github.com/apple/swift-docc-plugin at 1.1.0 (0.66s)
Computing version for https://github.com/apple/swift-docc-symbolkit
Computed https://github.com/apple/swift-docc-symbolkit at 1.0.0 (0.70s)
Creating working copy for https://github.com/apple/swift-docc-plugin
Working copy of https://github.com/apple/swift-docc-plugin resolved at 1.1.0
Creating working copy for https://github.com/apple/swift-docc-symbolkit
Working copy of https://github.com/apple/swift-docc-symbolkit resolved at 1.0.0
========================================
ResolveProductDependencies
========================================
Resolving dependencies ...
{
"identity": ".resolve-product-dependencies",
"name": "resolve-dependencies",
"url": "/Users/admin/builder/spi-builder-workspace/.resolve-product-dependencies",
"version": "unspecified",
"path": "/Users/admin/builder/spi-builder-workspace/.resolve-product-dependencies",
"dependencies": [
{
"identity": "ios-corebluetooth-mock",
"name": "CoreBluetoothMock",
"url": "https://github.com/NordicSemiconductor/IOS-CoreBluetooth-Mock.git",
"version": "unspecified",
"path": "/Users/admin/builder/spi-builder-workspace/.resolve-product-dependencies/.build/checkouts/IOS-CoreBluetooth-Mock",
"dependencies": [
]
}
]
}
Fetching https://github.com/NordicSemiconductor/IOS-CoreBluetooth-Mock.git
[1/5079] Fetching ios-corebluetooth-mock
Fetched https://github.com/NordicSemiconductor/IOS-CoreBluetooth-Mock.git from cache (1.32s)
Creating working copy for https://github.com/NordicSemiconductor/IOS-CoreBluetooth-Mock.git
Working copy of https://github.com/NordicSemiconductor/IOS-CoreBluetooth-Mock.git resolved at main (b522df5)
warning: '.resolve-product-dependencies': dependency 'ios-corebluetooth-mock' is not used by any target
Found 0 product dependencies
========================================
Build
========================================
Selected platform: macosSpm
Swift version: 6.0
Building package at path: $PWD
https://github.com/NordicSemiconductor/IOS-CoreBluetooth-Mock.git
Running build ...
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
[1/1] Compiling plugin Swift-DocC
[2/2] Compiling plugin Swift-DocC Preview
Building for debugging...
[2/4] Write sources
[3/4] Write swift-version--7754E27361AE5C74.txt
[5/19] Compiling CoreBluetoothMock CBMPeripheralDelegate.swift
[6/20] Compiling CoreBluetoothMock CBMCentralManagerDelegate.swift
[7/20] Compiling CoreBluetoothMock CBMCentralManagerDelegateProxy.swift
[8/20] Compiling CoreBluetoothMock CBMCentralManagerNative.swift
/Users/admin/builder/spi-builder-workspace/CoreBluetoothMock/CBMCentralManagerNative.swift:270:46: warning: capture of 'self' with non-sendable type 'CBMCentralManagerNative' in a `@Sendable` closure; this is an error in the Swift 6 language mode
35 | ///
36 | /// This manager can only interact with physical Bluetooth LE devices.
37 | public class CBMCentralManagerNative: CBMCentralManager {
| `- note: class 'CBMCentralManagerNative' does not conform to the 'Sendable' protocol
38 | var observation: NSKeyValueObservation?
39 | @objc dynamic private var manager: CBCentralManager!
:
268 | private func addManagerObserver() {
269 | observation = observe(\.manager?.isScanning, options: [.old, .new]) { _, change in
270 | change.newValue?.flatMap { [weak self] new in
| `- warning: capture of 'self' with non-sendable type 'CBMCentralManagerNative' in a `@Sendable` closure; this is an error in the Swift 6 language mode
271 | self?.isScanning = new
272 | }
[9/20] Compiling CoreBluetoothMock CBMManagerTypes.swift
/Users/admin/builder/spi-builder-workspace/CoreBluetoothMock/CBMCentralManagerNative.swift:270:46: warning: capture of 'self' with non-sendable type 'CBMCentralManagerNative' in a `@Sendable` closure; this is an error in the Swift 6 language mode
35 | ///
36 | /// This manager can only interact with physical Bluetooth LE devices.
37 | public class CBMCentralManagerNative: CBMCentralManager {
| `- note: class 'CBMCentralManagerNative' does not conform to the 'Sendable' protocol
38 | var observation: NSKeyValueObservation?
39 | @objc dynamic private var manager: CBCentralManager!
:
268 | private func addManagerObserver() {
269 | observation = observe(\.manager?.isScanning, options: [.old, .new]) { _, change in
270 | change.newValue?.flatMap { [weak self] new in
| `- warning: capture of 'self' with non-sendable type 'CBMCentralManagerNative' in a `@Sendable` closure; this is an error in the Swift 6 language mode
271 | self?.isScanning = new
272 | }
[10/20] Emitting module CoreBluetoothMock
/Users/admin/builder/spi-builder-workspace/CoreBluetoothMock/CBMAttributes.swift:454:17: warning: let 'uninitializedPeripheral' is not concurrency-safe because non-'Sendable' type 'CBMPeripheralUninitialized' may have shared mutable state; this is an error in the Swift 6 language mode
452 | // MARK: - Mocking uninitialized objects
453 |
454 | fileprivate let uninitializedPeripheral = CBMPeripheralUninitialized()
| |- warning: let 'uninitializedPeripheral' is not concurrency-safe because non-'Sendable' type 'CBMPeripheralUninitialized' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: annotate 'uninitializedPeripheral' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
455 | fileprivate let uninitializedService = CBMServiceUninitialized()
456 | fileprivate let uninitializedCharacteristic = CBMCharacteristicUninitialized()
457 |
458 | fileprivate class CBMPeripheralUninitialized: CBMPeripheral, CustomDebugStringConvertible {
| `- note: class 'CBMPeripheralUninitialized' does not conform to the 'Sendable' protocol
459 | let debugDescription: String = "<uninitialized>"
460 |
/Users/admin/builder/spi-builder-workspace/CoreBluetoothMock/CBMAttributes.swift:455:17: warning: let 'uninitializedService' is not concurrency-safe because non-'Sendable' type 'CBMServiceUninitialized' may have shared mutable state; this is an error in the Swift 6 language mode
453 |
454 | fileprivate let uninitializedPeripheral = CBMPeripheralUninitialized()
455 | fileprivate let uninitializedService = CBMServiceUninitialized()
| |- warning: let 'uninitializedService' is not concurrency-safe because non-'Sendable' type 'CBMServiceUninitialized' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: annotate 'uninitializedService' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
456 | fileprivate let uninitializedCharacteristic = CBMCharacteristicUninitialized()
457 |
:
527 | }
528 |
529 | fileprivate class CBMServiceUninitialized: CBMService {
| `- note: class 'CBMServiceUninitialized' does not conform to the 'Sendable' protocol
530 | override var debugDescription: String { return "<uninitialized>" }
531 | override var uuid: CBMUUID { uninitialized() }
/Users/admin/builder/spi-builder-workspace/CoreBluetoothMock/CBMAttributes.swift:456:17: warning: let 'uninitializedCharacteristic' is not concurrency-safe because non-'Sendable' type 'CBMCharacteristicUninitialized' may have shared mutable state; this is an error in the Swift 6 language mode
454 | fileprivate let uninitializedPeripheral = CBMPeripheralUninitialized()
455 | fileprivate let uninitializedService = CBMServiceUninitialized()
456 | fileprivate let uninitializedCharacteristic = CBMCharacteristicUninitialized()
| |- warning: let 'uninitializedCharacteristic' is not concurrency-safe because non-'Sendable' type 'CBMCharacteristicUninitialized' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: annotate 'uninitializedCharacteristic' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
457 |
458 | fileprivate class CBMPeripheralUninitialized: CBMPeripheral, CustomDebugStringConvertible {
:
545 | }
546 |
547 | fileprivate class CBMCharacteristicUninitialized: CBMCharacteristic {
| `- note: class 'CBMCharacteristicUninitialized' does not conform to the 'Sendable' protocol
548 | override var debugDescription: String { return "<uninitialized>" }
549 | override var uuid: CBMUUID { uninitialized() }
/Users/admin/builder/spi-builder-workspace/CoreBluetoothMock/CBMCentralManagerMock.swift:45:24: warning: static property 'managers' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
43 |
44 | /// A list of all mock managers instantiated by user.
45 | private static var managers: [WeakRef<CBMCentralManagerMock>] = []
| |- warning: static property 'managers' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'managers' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: annotate 'managers' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
46 | /// A list of peripherals known to the system.
47 | private static var peripherals: [CBMPeripheralSpec] = [] {
/Users/admin/builder/spi-builder-workspace/CoreBluetoothMock/CBMCentralManagerMock.swift:47:24: warning: static property 'peripherals' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
45 | private static var managers: [WeakRef<CBMCentralManagerMock>] = []
46 | /// A list of peripherals known to the system.
47 | private static var peripherals: [CBMPeripheralSpec] = [] {
| |- warning: static property 'peripherals' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'peripherals' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: annotate 'peripherals' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
48 | didSet {
49 | stopAdvertising()
/Users/admin/builder/spi-builder-workspace/CoreBluetoothMock/CBMCentralManagerMock.swift:56:24: warning: static property 'previewPeripherals' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
54 | ///
55 | /// Registered items can be accessed using any ``CBMCentralManagerMock``.
56 | private static var previewPeripherals: Set<CBMPeripheralPreview> = Set()
| |- warning: static property 'previewPeripherals' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'previewPeripherals' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: annotate 'previewPeripherals' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
57 | /// A map of all current advertisements of all simulated peripherals.
58 | private static var advertisementTimers: [CBMAdvertisementConfig : Timer] = [:]
/Users/admin/builder/spi-builder-workspace/CoreBluetoothMock/CBMCentralManagerMock.swift:58:24: warning: static property 'advertisementTimers' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
56 | private static var previewPeripherals: Set<CBMPeripheralPreview> = Set()
57 | /// A map of all current advertisements of all simulated peripherals.
58 | private static var advertisementTimers: [CBMAdvertisementConfig : Timer] = [:]
| |- warning: static property 'advertisementTimers' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'advertisementTimers' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: annotate 'advertisementTimers' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
59 | /// A mutex queue for managing managers.
60 | private static let mutex: DispatchQueue = DispatchQueue(label: "Mutex")
/Users/admin/builder/spi-builder-workspace/CoreBluetoothMock/CBMCentralManagerMock.swift:64:38: warning: static property 'bluetoothAuthorization' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
62 | ///
63 | /// As `CBManagerAuthorization` was added in iOS 13, the raw value is kept.
64 | internal private(set) static var bluetoothAuthorization: Int? {
| |- warning: static property 'bluetoothAuthorization' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'bluetoothAuthorization' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: annotate 'bluetoothAuthorization' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
65 | didSet {
66 | notifyManagers()
/Users/admin/builder/spi-builder-workspace/CoreBluetoothMock/CBMCentralManagerMock.swift:70:41: warning: static property 'managerState' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
68 | }
69 | /// The global state of the Bluetooth adapter on the device.
70 | fileprivate private(set) static var managerState: CBMManagerState = .poweredOff {
| |- warning: static property 'managerState' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'managerState' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: annotate 'managerState' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
71 | didSet {
72 | notifyManagers()
/Users/admin/builder/spi-builder-workspace/CoreBluetoothMock/CBMCentralManagerMock.swift:395:23: warning: static property 'simulateStateRestoration' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
393 | /// - SeeAlso: ``CBMCentralManagerRestoredStateScanServicesKey``
394 | /// - SeeAlso: ``CBMCentralManagerRestoredStateScanOptionsKey``
395 | public static var simulateStateRestoration: ((_ identifierKey: String) -> [String : Any]?)?
| |- warning: static property 'simulateStateRestoration' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'simulateStateRestoration' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: annotate 'simulateStateRestoration' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
396 |
397 | #if !os(macOS)
[11/20] Compiling CoreBluetoothMock CBMCentralManagerFactory.swift
/Users/admin/builder/spi-builder-workspace/CoreBluetoothMock/CBMCentralManagerMock.swift:45:24: warning: static property 'managers' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
43 |
44 | /// A list of all mock managers instantiated by user.
45 | private static var managers: [WeakRef<CBMCentralManagerMock>] = []
| |- warning: static property 'managers' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'managers' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: annotate 'managers' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
46 | /// A list of peripherals known to the system.
47 | private static var peripherals: [CBMPeripheralSpec] = [] {
/Users/admin/builder/spi-builder-workspace/CoreBluetoothMock/CBMCentralManagerMock.swift:47:24: warning: static property 'peripherals' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
45 | private static var managers: [WeakRef<CBMCentralManagerMock>] = []
46 | /// A list of peripherals known to the system.
47 | private static var peripherals: [CBMPeripheralSpec] = [] {
| |- warning: static property 'peripherals' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'peripherals' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: annotate 'peripherals' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
48 | didSet {
49 | stopAdvertising()
/Users/admin/builder/spi-builder-workspace/CoreBluetoothMock/CBMCentralManagerMock.swift:56:24: warning: static property 'previewPeripherals' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
54 | ///
55 | /// Registered items can be accessed using any ``CBMCentralManagerMock``.
56 | private static var previewPeripherals: Set<CBMPeripheralPreview> = Set()
| |- warning: static property 'previewPeripherals' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'previewPeripherals' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: annotate 'previewPeripherals' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
57 | /// A map of all current advertisements of all simulated peripherals.
58 | private static var advertisementTimers: [CBMAdvertisementConfig : Timer] = [:]
/Users/admin/builder/spi-builder-workspace/CoreBluetoothMock/CBMCentralManagerMock.swift:58:24: warning: static property 'advertisementTimers' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
56 | private static var previewPeripherals: Set<CBMPeripheralPreview> = Set()
57 | /// A map of all current advertisements of all simulated peripherals.
58 | private static var advertisementTimers: [CBMAdvertisementConfig : Timer] = [:]
| |- warning: static property 'advertisementTimers' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'advertisementTimers' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: annotate 'advertisementTimers' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
59 | /// A mutex queue for managing managers.
60 | private static let mutex: DispatchQueue = DispatchQueue(label: "Mutex")
/Users/admin/builder/spi-builder-workspace/CoreBluetoothMock/CBMCentralManagerMock.swift:64:38: warning: static property 'bluetoothAuthorization' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
62 | ///
63 | /// As `CBManagerAuthorization` was added in iOS 13, the raw value is kept.
64 | internal private(set) static var bluetoothAuthorization: Int? {
| |- warning: static property 'bluetoothAuthorization' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'bluetoothAuthorization' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: annotate 'bluetoothAuthorization' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
65 | didSet {
66 | notifyManagers()
/Users/admin/builder/spi-builder-workspace/CoreBluetoothMock/CBMCentralManagerMock.swift:70:41: warning: static property 'managerState' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
68 | }
69 | /// The global state of the Bluetooth adapter on the device.
70 | fileprivate private(set) static var managerState: CBMManagerState = .poweredOff {
| |- warning: static property 'managerState' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'managerState' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: annotate 'managerState' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
71 | didSet {
72 | notifyManagers()
/Users/admin/builder/spi-builder-workspace/CoreBluetoothMock/CBMCentralManagerMock.swift:395:23: warning: static property 'simulateStateRestoration' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
393 | /// - SeeAlso: ``CBMCentralManagerRestoredStateScanServicesKey``
394 | /// - SeeAlso: ``CBMCentralManagerRestoredStateScanOptionsKey``
395 | public static var simulateStateRestoration: ((_ identifierKey: String) -> [String : Any]?)?
| |- warning: static property 'simulateStateRestoration' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'simulateStateRestoration' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: annotate 'simulateStateRestoration' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
396 |
397 | #if !os(macOS)
/Users/admin/builder/spi-builder-workspace/CoreBluetoothMock/CBMCentralManagerMock.swift:92:17: warning: capture of 'manager' with non-sendable type 'CBMCentralManagerMock' in a `@Sendable` closure; this is an error in the Swift 6 language mode
35 | /// This implementation will interact only with mock peripherals created using
36 | /// ``CBMPeripheralSpec/simulatePeripheral(identifier:proximity:)``.
37 | open class CBMCentralManagerMock: CBMCentralManager {
| `- note: class 'CBMCentralManagerMock' does not conform to the 'Sendable' protocol
38 | /// Mock RSSI deviation.
39 | ///
:
90 | // ...and notify delegate.
91 | manager.queue.async {
92 | manager.delegate?.centralManagerDidUpdateState(manager)
| `- warning: capture of 'manager' with non-sendable type 'CBMCentralManagerMock' in a `@Sendable` closure; this is an error in the Swift 6 language mode
93 | }
94 | }
/Users/admin/builder/spi-builder-workspace/CoreBluetoothMock/CBMCentralManagerMock.swift:137:16: warning: capture of 'config' with non-sendable type 'CBMAdvertisementConfig' in a `@Sendable` closure; this is an error in the Swift 6 language mode
135 | // If the first advertising is to be delayed, create a
136 | // temporary timer that will call the initial data.
137 | if config.delay > 0 {
| `- warning: capture of 'config' with non-sendable type 'CBMAdvertisementConfig' in a `@Sendable` closure; this is an error in the Swift 6 language mode
138 | advertisementTimers[config] = Timer.scheduledTimer(
139 | timeInterval: config.delay,
/Users/admin/builder/spi-builder-workspace/CoreBluetoothMock/CBMPeripheralSpec.swift:63:15: note: consider making struct 'CBMAdvertisementConfig' conform to the 'Sendable' protocol
61 | /// and can be changed during simulation using
62 | /// ``CBMPeripheralSpec/simulateAdvertisementChange(_:)``.
63 | public struct CBMAdvertisementConfig {
| `- note: consider making struct 'CBMAdvertisementConfig' conform to the 'Sendable' protocol
64 | /// ID used for hash.
65 | internal let id: UUID = UUID()
/Users/admin/builder/spi-builder-workspace/CoreBluetoothMock/CBMCentralManagerMock.swift:142:32: warning: capture of 'mock' with non-sendable type 'CBMPeripheralSpec' in a `@Sendable` closure; this is an error in the Swift 6 language mode
140 | target: self,
141 | selector: #selector(self.schedule(timer:)),
142 | userInfo: (mock, config),
| `- warning: capture of 'mock' with non-sendable type 'CBMPeripheralSpec' in a `@Sendable` closure; this is an error in the Swift 6 language mode
143 | repeats: false)
144 | } else {
/Users/admin/builder/spi-builder-workspace/CoreBluetoothMock/CBMPeripheralSpec.swift:110:14: note: class 'CBMPeripheralSpec' does not conform to the 'Sendable' protocol
108 | /// Use ``CBMPeripheralSpec/simulatePeripheral(identifier:proximity:)`` to
109 | /// create a new instance builder.
110 | public class CBMPeripheralSpec {
| `- note: class 'CBMPeripheralSpec' does not conform to the 'Sendable' protocol
111 | /// The peripheral identifier.
112 | public internal(set) var identifier: UUID
/Users/admin/builder/spi-builder-workspace/CoreBluetoothMock/CBMCentralManagerMock.swift:340:27: warning: capture of 'self' with non-sendable type 'CBMCentralManagerMock?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
35 | /// This implementation will interact only with mock peripherals created using
36 | /// ``CBMPeripheralSpec/simulatePeripheral(identifier:proximity:)``.
37 | open class CBMCentralManagerMock: CBMCentralManager {
| `- note: class 'CBMCentralManagerMock' does not conform to the 'Sendable' protocol
38 | /// Mock RSSI deviation.
39 | ///
:
338 | }
339 | queue.async { [weak self] in
340 | if let self = self {
| `- warning: capture of 'self' with non-sendable type 'CBMCentralManagerMock?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
341 | CBMCentralManagerMock.mutex.sync {
342 | CBMCentralManagerMock.managers.append(WeakRef(self))
/Users/admin/builder/spi-builder-workspace/CoreBluetoothMock/CBMCentralManagerMock.swift:959:31: warning: capture of 'self' with non-sendable type 'CBMPeripheralMock?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
874 | ///
875 | /// Unless required, this class should not be accessed directly, but rather by the common protocol ``CBMPeripheral``.
876 | @objc open class CBMPeripheralMock: CBMPeer, CBMPeripheral {
| `- note: class 'CBMPeripheralMock' does not conform to the 'Sendable' protocol
877 | /// The parent central manager.
878 | private let manager: CBMCentralManagerMock
:
957 | if isAlreadyConnected {
958 | queue.async { [weak self] in
959 | if let self = self, self.state == .connecting {
| `- warning: capture of 'self' with non-sendable type 'CBMPeripheralMock?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
960 | self.state = .connected
961 | self._canSendWriteWithoutResponse = true
/Users/admin/builder/spi-builder-workspace/CoreBluetoothMock/CBMCentralManagerMock.swift:964:21: warning: capture of 'completion' with non-sendable type '(Result<Void, any Error>) -> ()' in a `@Sendable` closure; this is an error in the Swift 6 language mode
962 | self.mock.wasConnected = true
963 | self.mock.virtualConnections += 1
964 | completion(.success(()))
| |- warning: capture of 'completion' with non-sendable type '(Result<Void, 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'
965 | }
966 | }
/Users/admin/builder/spi-builder-workspace/CoreBluetoothMock/CBMCentralManagerMock.swift:972:27: warning: capture of 'self' with non-sendable type 'CBMPeripheralMock?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
874 | ///
875 | /// Unless required, this class should not be accessed directly, but rather by the common protocol ``CBMPeripheral``.
876 | @objc open class CBMPeripheralMock: CBMPeer, CBMPeripheral {
| `- note: class 'CBMPeripheralMock' does not conform to the 'Sendable' protocol
877 | /// The parent central manager.
878 | private let manager: CBMCentralManagerMock
:
970 | let result = delegate.peripheralDidReceiveConnectionRequest(mock)
971 | queue.asyncAfter(deadline: .now() + interval) { [weak self] in
972 | if let self = self, self.state == .connecting {
| `- warning: capture of 'self' with non-sendable type 'CBMPeripheralMock?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
973 | if case .success = result {
974 | self.state = .connected
/Users/admin/builder/spi-builder-workspace/CoreBluetoothMock/CBMCentralManagerMock.swift:981:17: warning: capture of 'completion' with non-sendable type '(Result<Void, any Error>) -> ()' in a `@Sendable` closure; this is an error in the Swift 6 language mode
979 | self.state = .disconnected
980 | }
981 | completion(result)
| |- warning: capture of 'completion' with non-sendable type '(Result<Void, 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'
982 | }
983 | }
/Users/admin/builder/spi-builder-workspace/CoreBluetoothMock/CBMCentralManagerMock.swift:991:17: warning: capture of 'completion' with non-sendable type '() -> ()' in a `@Sendable` closure; this is an error in the Swift 6 language mode
989 | state = .disconnected
990 | queue.async {
991 | completion()
| |- warning: capture of 'completion' 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'
992 | }
993 | return
/Users/admin/builder/spi-builder-workspace/CoreBluetoothMock/CBMCentralManagerMock.swift:1006:27: warning: capture of 'self' with non-sendable type 'CBMPeripheralMock?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
874 | ///
875 | /// Unless required, this class should not be accessed directly, but rather by the common protocol ``CBMPeripheral``.
876 | @objc open class CBMPeripheralMock: CBMPeer, CBMPeripheral {
| `- note: class 'CBMPeripheralMock' does not conform to the 'Sendable' protocol
877 | /// The parent central manager.
878 | private let manager: CBMCentralManagerMock
:
1004 | // `tearDownSimulation()` could have been called before this is called.
1005 | // See https://github.com/NordicSemiconductor/IOS-CoreBluetooth-Mock/issues/25
1006 | if let self = self, self.state == .disconnecting,
| `- warning: capture of 'self' with non-sendable type 'CBMPeripheralMock?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
1007 | CBMCentralManagerMock.managerState == .poweredOn {
1008 | self.state = .disconnected
/Users/admin/builder/spi-builder-workspace/CoreBluetoothMock/CBMCentralManagerMock.swift:1014:17: warning: capture of 'completion' with non-sendable type '() -> ()' in a `@Sendable` closure; this is an error in the Swift 6 language mode
1012 | self.mock.connectionDelegate?.peripheral(self.mock,
1013 | didDisconnect: nil)
1014 | completion()
| |- warning: capture of 'completion' 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'
1015 | }
1016 | }
/Users/admin/builder/spi-builder-workspace/CoreBluetoothMock/CBMCentralManagerMock.swift:1033:27: warning: capture of 'self' with non-sendable type 'CBMPeripheralMock?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
874 | ///
875 | /// Unless required, this class should not be accessed directly, but rather by the common protocol ``CBMPeripheral``.
876 | @objc open class CBMPeripheralMock: CBMPeer, CBMPeripheral {
| `- note: class 'CBMPeripheralMock' does not conform to the 'Sendable' protocol
877 | /// The parent central manager.
878 | private let manager: CBMCentralManagerMock
:
1031 | }
1032 | queue.asyncAfter(deadline: .now() + interval) { [weak self] in
1033 | if let self = self, CBMCentralManagerMock.managerState == .poweredOn {
| `- warning: capture of 'self' with non-sendable type 'CBMPeripheralMock?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
1034 | self.state = .disconnected
1035 | self.services = nil
/Users/admin/builder/spi-builder-workspace/CoreBluetoothMock/CBMCentralManagerMock.swift:1043:17: warning: capture of 'completion' with non-sendable type '((any Error)?) -> ()' in a `@Sendable` closure; this is an error in the Swift 6 language mode
1041 | self.mock.connectionDelegate?.peripheral(self.mock,
1042 | didDisconnect: error)
1043 | completion(error)
| |- warning: capture of 'completion' with non-sendable type '((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'
1044 | }
1045 | }
/Users/admin/builder/spi-builder-workspace/CoreBluetoothMock/CBMCentralManagerMock.swift:1056:27: warning: capture of 'self' with non-sendable type 'CBMPeripheralMock?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
874 | ///
875 | /// Unless required, this class should not be accessed directly, but rather by the common protocol ``CBMPeripheral``.
876 | @objc open class CBMPeripheralMock: CBMPeer, CBMPeripheral {
| `- note: class 'CBMPeripheralMock' does not conform to the 'Sendable' protocol
877 | /// The parent central manager.
878 | private let manager: CBMCentralManagerMock
:
1054 | }
1055 | queue.asyncAfter(deadline: .now() + interval) { [weak self] in
1056 | if let self = self, self.state == .connected {
| `- warning: capture of 'self' with non-sendable type 'CBMPeripheralMock?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
1057 | self.delegate?.peripheralDidUpdateName(self)
1058 | }
/Users/admin/builder/spi-builder-workspace/CoreBluetoothMock/CBMCentralManagerMock.swift:1078:27: warning: capture of 'self' with non-sendable type 'CBMPeripheralMock?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
874 | ///
875 | /// Unless required, this class should not be accessed directly, but rather by the common protocol ``CBMPeripheral``.
876 | @objc open class CBMPeripheralMock: CBMPeer, CBMPeripheral {
| `- note: class 'CBMPeripheralMock' does not conform to the 'Sendable' protocol
877 | /// The parent central manager.
878 | private let manager: CBMCentralManagerMock
:
1076 | let invalidatedServices = oldServices.filter({ !services!.contains($0) })
1077 | queue.asyncAfter(deadline: .now() + interval) { [weak self] in
1078 | if let self = self, self.state == .connected {
| `- warning: capture of 'self' with non-sendable type 'CBMPeripheralMock?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
1079 | self.delegate?.peripheral(self, didModifyServices: invalidatedServices)
1080 | }
/Users/admin/builder/spi-builder-workspace/CoreBluetoothMock/CBMCentralManagerMock.swift:1079:68: warning: capture of 'invalidatedServices' with non-sendable type '[CBMService]' in a `@Sendable` closure; this is an error in the Swift 6 language mode
1077 | queue.asyncAfter(deadline: .now() + interval) { [weak self] in
1078 | if let self = self, self.state == .connected {
1079 | self.delegate?.peripheral(self, didModifyServices: invalidatedServices)
| `- warning: capture of 'invalidatedServices' with non-sendable type '[CBMService]' in a `@Sendable` closure; this is an error in the Swift 6 language mode
1080 | }
1081 | }
/Users/admin/builder/spi-builder-workspace/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/CoreBluetoothMock/CBMCentralManagerMock.swift:1101:27: warning: capture of 'self' with non-sendable type 'CBMPeripheralMock?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
874 | ///
875 | /// Unless required, this class should not be accessed directly, but rather by the common protocol ``CBMPeripheral``.
876 | @objc open class CBMPeripheralMock: CBMPeer, CBMPeripheral {
| `- note: class 'CBMPeripheralMock' does not conform to the 'Sendable' protocol
877 | /// The parent central manager.
878 | private let manager: CBMCentralManagerMock
:
1099 | let value = originalCharacteristic.value
1100 | queue.asyncAfter(deadline: .now() + interval) { [weak self] in
1101 | if let self = self, self.state == .connected {
| `- warning: capture of 'self' with non-sendable type 'CBMPeripheralMock?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
1102 | characteristic.value = value
1103 | self.delegate?.peripheral(self,
/Users/admin/builder/spi-builder-workspace/CoreBluetoothMock/CBMCentralManagerMock.swift:1102:17: warning: capture of 'characteristic' with non-sendable type 'CBMCharacteristic' in a `@Sendable` closure; this is an error in the Swift 6 language mode
1100 | queue.asyncAfter(deadline: .now() + interval) { [weak self] in
1101 | if let self = self, self.state == .connected {
1102 | characteristic.value = value
| `- warning: capture of 'characteristic' with non-sendable type 'CBMCharacteristic' in a `@Sendable` closure; this is an error in the Swift 6 language mode
1103 | self.delegate?.peripheral(self,
1104 | didUpdateValueFor: characteristic,
/Users/admin/builder/spi-builder-workspace/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/CoreBluetoothMock/CBMCentralManagerMock.swift:1148:31: warning: capture of 'self' with non-sendable type 'CBMPeripheralMock?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
874 | ///
875 | /// Unless required, this class should not be accessed directly, but rather by the common protocol ``CBMPeripheral``.
876 | @objc open class CBMPeripheralMock: CBMPeer, CBMPeripheral {
| `- note: class 'CBMPeripheralMock' does not conform to the 'Sendable' protocol
877 | /// The parent central manager.
878 | private let manager: CBMCentralManagerMock
:
1146 | let delay = interval * Double(newServicesCount)
1147 | queue.asyncAfter(deadline: .now() + delay) { [weak self] in
1148 | if let self = self, self.state == .connected {
| `- warning: capture of 'self' with non-sendable type 'CBMPeripheralMock?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
1149 | self.delegate?.peripheral(self, didDiscoverServices: nil)
1150 | }
/Users/admin/builder/spi-builder-workspace/CoreBluetoothMock/CBMCentralManagerMock.swift:1154:31: warning: capture of 'self' with non-sendable type 'CBMPeripheralMock?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
874 | ///
875 | /// Unless required, this class should not be accessed directly, but rather by the common protocol ``CBMPeripheral``.
876 | @objc open class CBMPeripheralMock: CBMPeer, CBMPeripheral {
| `- note: class 'CBMPeripheralMock' does not conform to the 'Sendable' protocol
877 | /// The parent central manager.
878 | private let manager: CBMCentralManagerMock
:
1152 | case .failure(let error):
1153 | queue.asyncAfter(deadline: .now() + interval) { [weak self] in
1154 | if let self = self, self.state == .connected {
| `- warning: capture of 'self' with non-sendable type 'CBMPeripheralMock?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
1155 | self.delegate?.peripheral(self, didDiscoverServices: error)
1156 | }
/Users/admin/builder/spi-builder-workspace/CoreBluetoothMock/CBMCentralManagerMock.swift:1196:31: warning: capture of 'self' with non-sendable type 'CBMPeripheralMock?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
874 | ///
875 | /// Unless required, this class should not be accessed directly, but rather by the common protocol ``CBMPeripheral``.
876 | @objc open class CBMPeripheralMock: CBMPeer, CBMPeripheral {
| `- note: class 'CBMPeripheralMock' does not conform to the 'Sendable' protocol
877 | /// The parent central manager.
878 | private let manager: CBMCentralManagerMock
:
1194 | let delay = interval * Double(newServicesCount)
1195 | queue.asyncAfter(deadline: .now() + delay) { [weak self] in
1196 | if let self = self, self.state == .connected {
| `- warning: capture of 'self' with non-sendable type 'CBMPeripheralMock?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
1197 | self.delegate?.peripheral(self,
1198 | didDiscoverIncludedServicesFor: service,
/Users/admin/builder/spi-builder-workspace/CoreBluetoothMock/CBMCentralManagerMock.swift:1198:79: warning: capture of 'service' with non-sendable type 'CBMService' in a `@Sendable` closure; this is an error in the Swift 6 language mode
1196 | if let self = self, self.state == .connected {
1197 | self.delegate?.peripheral(self,
1198 | didDiscoverIncludedServicesFor: service,
| `- warning: capture of 'service' with non-sendable type 'CBMService' in a `@Sendable` closure; this is an error in the Swift 6 language mode
1199 | error: nil)
1200 | }
/Users/admin/builder/spi-builder-workspace/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/CoreBluetoothMock/CBMCentralManagerMock.swift:1204:31: warning: capture of 'self' with non-sendable type 'CBMPeripheralMock?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
874 | ///
875 | /// Unless required, this class should not be accessed directly, but rather by the common protocol ``CBMPeripheral``.
876 | @objc open class CBMPeripheralMock: CBMPeer, CBMPeripheral {
| `- note: class 'CBMPeripheralMock' does not conform to the 'Sendable' protocol
877 | /// The parent central manager.
878 | private let manager: CBMCentralManagerMock
:
1202 | case .failure(let error):
1203 | queue.asyncAfter(deadline: .now() + interval) { [weak self] in
1204 | if let self = self, self.state == .connected {
| `- warning: capture of 'self' with non-sendable type 'CBMPeripheralMock?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
1205 | self.delegate?.peripheral(self,
1206 | didDiscoverIncludedServicesFor: service,
/Users/admin/builder/spi-builder-workspace/CoreBluetoothMock/CBMCentralManagerMock.swift:1206:79: warning: capture of 'service' with non-sendable type 'CBMService' in a `@Sendable` closure; this is an error in the Swift 6 language mode
1204 | if let self = self, self.state == .connected {
1205 | self.delegate?.peripheral(self,
1206 | didDiscoverIncludedServicesFor: service,
| `- warning: capture of 'service' with non-sendable type 'CBMService' in a `@Sendable` closure; this is an error in the Swift 6 language mode
1207 | error: error)
1208 | }
/Users/admin/builder/spi-builder-workspace/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/CoreBluetoothMock/CBMCentralManagerMock.swift:1249:31: warning: capture of 'self' with non-sendable type 'CBMPeripheralMock?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
874 | ///
875 | /// Unless required, this class should not be accessed directly, but rather by the common protocol ``CBMPeripheral``.
876 | @objc open class CBMPeripheralMock: CBMPeer, CBMPeripheral {
| `- note: class 'CBMPeripheralMock' does not conform to the 'Sendable' protocol
877 | /// The parent central manager.
878 | private let manager: CBMCentralManagerMock
:
1247 | let delay = interval * Double(newCharacteristicsCount)
1248 | queue.asyncAfter(deadline: .now() + delay) { [weak self] in
1249 | if let self = self, self.state == .connected {
| `- warning: capture of 'self' with non-sendable type 'CBMPeripheralMock?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
1250 | self.delegate?.peripheral(self,
1251 | didDiscoverCharacteristicsFor: service,
/Users/admin/builder/spi-builder-workspace/CoreBluetoothMock/CBMCentralManagerMock.swift:1251:78: warning: capture of 'service' with non-sendable type 'CBMService' in a `@Sendable` closure; this is an error in the Swift 6 language mode
1249 | if let self = self, self.state == .connected {
1250 | self.delegate?.peripheral(self,
1251 | didDiscoverCharacteristicsFor: service,
| `- warning: capture of 'service' with non-sendable type 'CBMService' in a `@Sendable` closure; this is an error in the Swift 6 language mode
1252 | error: nil)
1253 | }
/Users/admin/builder/spi-builder-workspace/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/CoreBluetoothMock/CBMCentralManagerMock.swift:1257:31: warning: capture of 'self' with non-sendable type 'CBMPeripheralMock?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
874 | ///
875 | /// Unless required, this class should not be accessed directly, but rather by the common protocol ``CBMPeripheral``.
876 | @objc open class CBMPeripheralMock: CBMPeer, CBMPeripheral {
| `- note: class 'CBMPeripheralMock' does not conform to the 'Sendable' protocol
877 | /// The parent central manager.
878 | private let manager: CBMCentralManagerMock
:
1255 | case .failure(let error):
1256 | queue.asyncAfter(deadline: .now() + interval) { [weak self] in
1257 | if let self = self, self.state == .connected {
| `- warning: capture of 'self' with non-sendable type 'CBMPeripheralMock?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
1258 | self.delegate?.peripheral(self,
1259 | didDiscoverCharacteristicsFor: service,
/Users/admin/builder/spi-builder-workspace/CoreBluetoothMock/CBMCentralManagerMock.swift:1259:78: warning: capture of 'service' with non-sendable type 'CBMService' in a `@Sendable` closure; this is an error in the Swift 6 language mode
1257 | if let self = self, self.state == .connected {
1258 | self.delegate?.peripheral(self,
1259 | didDiscoverCharacteristicsFor: service,
| `- warning: capture of 'service' with non-sendable type 'CBMService' in a `@Sendable` closure; this is an error in the Swift 6 language mode
1260 | error: error)
1261 | }
/Users/admin/builder/spi-builder-workspace/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/CoreBluetoothMock/CBMCentralManagerMock.swift:1298:31: warning: capture of 'self' with non-sendable type 'CBMPeripheralMock?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
874 | ///
875 | /// Unless required, this class should not be accessed directly, but rather by the common protocol ``CBMPeripheral``.
876 | @objc open class CBMPeripheralMock: CBMPeer, CBMPeripheral {
| `- note: class 'CBMPeripheralMock' does not conform to the 'Sendable' protocol
877 | /// The parent central manager.
878 | private let manager: CBMCentralManagerMock
:
1296 | let delay = interval * Double(newDescriptorsCount)
1297 | queue.asyncAfter(deadline: .now() + delay) { [weak self] in
1298 | if let self = self, self.state == .connected {
| `- warning: capture of 'self' with non-sendable type 'CBMPeripheralMock?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
1299 | self.delegate?.peripheral(self,
1300 | didDiscoverDescriptorsFor: characteristic,
/Users/admin/builder/spi-builder-workspace/CoreBluetoothMock/CBMCentralManagerMock.swift:1300:74: warning: capture of 'characteristic' with non-sendable type 'CBMCharacteristic' in a `@Sendable` closure; this is an error in the Swift 6 language mode
1298 | if let self = self, self.state == .connected {
1299 | self.delegate?.peripheral(self,
1300 | didDiscoverDescriptorsFor: characteristic,
| `- warning: capture of 'characteristic' with non-sendable type 'CBMCharacteristic' in a `@Sendable` closure; this is an error in the Swift 6 language mode
1301 | error: nil)
1302 | }
/Users/admin/builder/spi-builder-workspace/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/CoreBluetoothMock/CBMCentralManagerMock.swift:1306:31: warning: capture of 'self' with non-sendable type 'CBMPeripheralMock?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
874 | ///
875 | /// Unless required, this class should not be accessed directly, but rather by the common protocol ``CBMPeripheral``.
876 | @objc open class CBMPeripheralMock: CBMPeer, CBMPeripheral {
| `- note: class 'CBMPeripheralMock' does not conform to the 'Sendable' protocol
877 | /// The parent central manager.
878 | private let manager: CBMCentralManagerMock
:
1304 | case .failure(let error):
1305 | queue.asyncAfter(deadline: .now() + interval) { [weak self] in
1306 | if let self = self, self.state == .connected {
| `- warning: capture of 'self' with non-sendable type 'CBMPeripheralMock?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
1307 | self.delegate?.peripheral(self,
1308 | didDiscoverDescriptorsFor: characteristic,
/Users/admin/builder/spi-builder-workspace/CoreBluetoothMock/CBMCentralManagerMock.swift:1308:74: warning: capture of 'characteristic' with non-sendable type 'CBMCharacteristic' in a `@Sendable` closure; this is an error in the Swift 6 language mode
1306 | if let self = self, self.state == .connected {
1307 | self.delegate?.peripheral(self,
1308 | didDiscoverDescriptorsFor: characteristic,
| `- warning: capture of 'characteristic' with non-sendable type 'CBMCharacteristic' in a `@Sendable` closure; this is an error in the Swift 6 language mode
1309 | error: error)
1310 | }
/Users/admin/builder/spi-builder-workspace/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/CoreBluetoothMock/CBMCentralManagerMock.swift:1333:31: warning: capture of 'self' with non-sendable type 'CBMPeripheralMock?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
874 | ///
875 | /// Unless required, this class should not be accessed directly, but rather by the common protocol ``CBMPeripheral``.
876 | @objc open class CBMPeripheralMock: CBMPeer, CBMPeripheral {
| `- note: class 'CBMPeripheralMock' does not conform to the 'Sendable' protocol
877 | /// The parent central manager.
878 | private let manager: CBMCentralManagerMock
:
1331 | case .success(let data):
1332 | queue.asyncAfter(deadline: .now() + interval) { [weak self] in
1333 | if let self = self, self.state == .connected {
| `- warning: capture of 'self' with non-sendable type 'CBMPeripheralMock?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
1334 | characteristic.value = data
1335 | self.delegate?.peripheral(self,
/Users/admin/builder/spi-builder-workspace/CoreBluetoothMock/CBMCentralManagerMock.swift:1334:21: warning: capture of 'characteristic' with non-sendable type 'CBMCharacteristic' in a `@Sendable` closure; this is an error in the Swift 6 language mode
1332 | queue.asyncAfter(deadline: .now() + interval) { [weak self] in
1333 | if let self = self, self.state == .connected {
1334 | characteristic.value = data
| `- warning: capture of 'characteristic' with non-sendable type 'CBMCharacteristic' in a `@Sendable` closure; this is an error in the Swift 6 language mode
1335 | self.delegate?.peripheral(self,
1336 | didUpdateValueFor: characteristic,
/Users/admin/builder/spi-builder-workspace/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/CoreBluetoothMock/CBMCentralManagerMock.swift:1342:31: warning: capture of 'self' with non-sendable type 'CBMPeripheralMock?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
874 | ///
875 | /// Unless required, this class should not be accessed directly, but rather by the common protocol ``CBMPeripheral``.
876 | @objc open class CBMPeripheralMock: CBMPeer, CBMPeripheral {
| `- note: class 'CBMPeripheralMock' does not conform to the 'Sendable' protocol
877 | /// The parent central manager.
878 | private let manager: CBMCentralManagerMock
:
1340 | case .failure(let error):
1341 | queue.asyncAfter(deadline: .now() + interval) { [weak self] in
1342 | if let self = self, self.state == .connected {
| `- warning: capture of 'self' with non-sendable type 'CBMPeripheralMock?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
1343 | self.delegate?.peripheral(self,
1344 | didUpdateValueFor: characteristic,
/Users/admin/builder/spi-builder-workspace/CoreBluetoothMock/CBMCentralManagerMock.swift:1344:66: warning: capture of 'characteristic' with non-sendable type 'CBMCharacteristic' in a `@Sendable` closure; this is an error in the Swift 6 language mode
1342 | if let self = self, self.state == .connected {
1343 | self.delegate?.peripheral(self,
1344 | didUpdateValueFor: characteristic,
| `- warning: capture of 'characteristic' with non-sendable type 'CBMCharacteristic' in a `@Sendable` closure; this is an error in the Swift 6 language mode
1345 | error: error)
1346 | }
/Users/admin/builder/spi-builder-workspace/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/CoreBluetoothMock/CBMCentralManagerMock.swift:1367:31: warning: capture of 'self' with non-sendable type 'CBMPeripheralMock?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
874 | ///
875 | /// Unless required, this class should not be accessed directly, but rather by the common protocol ``CBMPeripheral``.
876 | @objc open class CBMPeripheralMock: CBMPeer, CBMPeripheral {
| `- note: class 'CBMPeripheralMock' does not conform to the 'Sendable' protocol
877 | /// The parent central manager.
878 | private let manager: CBMCentralManagerMock
:
1365 | case .success(let data):
1366 | queue.asyncAfter(deadline: .now() + interval) { [weak self] in
1367 | if let self = self, self.state == .connected {
| `- warning: capture of 'self' with non-sendable type 'CBMPeripheralMock?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
1368 | descriptor.value = data
1369 | self.delegate?.peripheral(self,
/Users/admin/builder/spi-builder-workspace/CoreBluetoothMock/CBMCentralManagerMock.swift:1368:21: warning: capture of 'descriptor' with non-sendable type 'CBMDescriptor' in a `@Sendable` closure; this is an error in the Swift 6 language mode
1366 | queue.asyncAfter(deadline: .now() + interval) { [weak self] in
1367 | if let self = self, self.state == .connected {
1368 | descriptor.value = data
| `- warning: capture of 'descriptor' with non-sendable type 'CBMDescriptor' in a `@Sendable` closure; this is an error in the Swift 6 language mode
1369 | self.delegate?.peripheral(self,
1370 | didUpdateValueFor: descriptor,
/Users/admin/builder/spi-builder-workspace/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/CoreBluetoothMock/CBMCentralManagerMock.swift:1376:31: warning: capture of 'self' with non-sendable type 'CBMPeripheralMock?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
874 | ///
875 | /// Unless required, this class should not be accessed directly, but rather by the common protocol ``CBMPeripheral``.
876 | @objc open class CBMPeripheralMock: CBMPeer, CBMPeripheral {
| `- note: class 'CBMPeripheralMock' does not conform to the 'Sendable' protocol
877 | /// The parent central manager.
878 | private let manager: CBMCentralManagerMock
:
1374 | case .failure(let error):
1375 | queue.asyncAfter(deadline: .now() + interval) { [weak self] in
1376 | if let self = self, self.state == .connected {
| `- warning: capture of 'self' with non-sendable type 'CBMPeripheralMock?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
1377 | self.delegate?.peripheral(self,
1378 | didUpdateValueFor: descriptor,
/Users/admin/builder/spi-builder-workspace/CoreBluetoothMock/CBMCentralManagerMock.swift:1378:66: warning: capture of 'descriptor' with non-sendable type 'CBMDescriptor' in a `@Sendable` closure; this is an error in the Swift 6 language mode
1376 | if let self = self, self.state == .connected {
1377 | self.delegate?.peripheral(self,
1378 | didUpdateValueFor: descriptor,
| `- warning: capture of 'descriptor' with non-sendable type 'CBMDescriptor' in a `@Sendable` closure; this is an error in the Swift 6 language mode
1379 | error: error)
1380 | }
/Users/admin/builder/spi-builder-workspace/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/CoreBluetoothMock/CBMCentralManagerMock.swift:1411:35: warning: capture of 'self' with non-sendable type 'CBMPeripheralMock?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
874 | ///
875 | /// Unless required, this class should not be accessed directly, but rather by the common protocol ``CBMPeripheral``.
876 | @objc open class CBMPeripheralMock: CBMPeer, CBMPeripheral {
| `- note: class 'CBMPeripheralMock' does not conform to the 'Sendable' protocol
877 | /// The parent central manager.
878 | private let manager: CBMCentralManagerMock
:
1409 | let delay = interval * Double(packetsCount)
1410 | queue.asyncAfter(deadline: .now() + delay) { [weak self] in
1411 | if let self = self, self.state == .connected {
| `- warning: capture of 'self' with non-sendable type 'CBMPeripheralMock?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
1412 | self.delegate?.peripheral(self,
1413 | didWriteValueFor: characteristic,
/Users/admin/builder/spi-builder-workspace/CoreBluetoothMock/CBMCentralManagerMock.swift:1413:69: warning: capture of 'characteristic' with non-sendable type 'CBMCharacteristic' in a `@Sendable` closure; this is an error in the Swift 6 language mode
1411 | if let self = self, self.state == .connected {
1412 | self.delegate?.peripheral(self,
1413 | didWriteValueFor: characteristic,
| `- warning: capture of 'characteristic' with non-sendable type 'CBMCharacteristic' in a `@Sendable` closure; this is an error in the Swift 6 language mode
1414 | error: nil)
1415 | }
/Users/admin/builder/spi-builder-workspace/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/CoreBluetoothMock/CBMCentralManagerMock.swift:1419:35: warning: capture of 'self' with non-sendable type 'CBMPeripheralMock?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
874 | ///
875 | /// Unless required, this class should not be accessed directly, but rather by the common protocol ``CBMPeripheral``.
876 | @objc open class CBMPeripheralMock: CBMPeer, CBMPeripheral {
| `- note: class 'CBMPeripheralMock' does not conform to the 'Sendable' protocol
877 | /// The parent central manager.
878 | private let manager: CBMCentralManagerMock
:
1417 | case .failure(let error):
1418 | queue.asyncAfter(deadline: .now() + interval) { [weak self] in
1419 | if let self = self, self.state == .connected {
| `- warning: capture of 'self' with non-sendable type 'CBMPeripheralMock?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
1420 | self.delegate?.peripheral(self,
1421 | didWriteValueFor: characteristic,
/Users/admin/builder/spi-builder-workspace/CoreBluetoothMock/CBMCentralManagerMock.swift:1421:69: warning: capture of 'characteristic' with non-sendable type 'CBMCharacteristic' in a `@Sendable` closure; this is an error in the Swift 6 language mode
1419 | if let self = self, self.state == .connected {
1420 | self.delegate?.peripheral(self,
1421 | didWriteValueFor: characteristic,
| `- warning: capture of 'characteristic' with non-sendable type 'CBMCharacteristic' in a `@Sendable` closure; this is an error in the Swift 6 language mode
1422 | error: error)
1423 | }
/Users/admin/builder/spi-builder-workspace/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/CoreBluetoothMock/CBMCentralManagerMock.swift:1441:31: warning: capture of 'self' with non-sendable type 'CBMPeripheralMock?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
874 | ///
875 | /// Unless required, this class should not be accessed directly, but rather by the common protocol ``CBMPeripheral``.
876 | @objc open class CBMPeripheralMock: CBMPeer, CBMPeripheral {
| `- note: class 'CBMPeripheralMock' does not conform to the 'Sendable' protocol
877 | /// The parent central manager.
878 | private let manager: CBMCentralManagerMock
:
1439 |
1440 | queue.async { [weak self] in
1441 | if let self = self, self.state == .connected {
| `- warning: capture of 'self' with non-sendable type 'CBMPeripheralMock?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
1442 | // Increase buffer.
1443 | self.mutex.sync {
/Users/admin/builder/spi-builder-workspace/CoreBluetoothMock/CBMCentralManagerMock.swift:1473:31: warning: capture of 'self' with non-sendable type 'CBMPeripheralMock?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
874 | ///
875 | /// Unless required, this class should not be accessed directly, but rather by the common protocol ``CBMPeripheral``.
876 | @objc open class CBMPeripheralMock: CBMPeer, CBMPeripheral {
| `- note: class 'CBMPeripheralMock' does not conform to the 'Sendable' protocol
877 | /// The parent central manager.
878 | private let manager: CBMCentralManagerMock
:
1471 | case .success:
1472 | queue.asyncAfter(deadline: .now() + interval) { [weak self] in
1473 | if let self = self, self.state == .connected {
| `- warning: capture of 'self' with non-sendable type 'CBMPeripheralMock?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
1474 | self.delegate?.peripheral(self,
1475 | didWriteValueFor: descriptor,
/Users/admin/builder/spi-builder-workspace/CoreBluetoothMock/CBMCentralManagerMock.swift:1475:65: warning: capture of 'descriptor' with non-sendable type 'CBMDescriptor' in a `@Sendable` closure; this is an error in the Swift 6 language mode
1473 | if let self = self, self.state == .connected {
1474 | self.delegate?.peripheral(self,
1475 | didWriteValueFor: descriptor,
| `- warning: capture of 'descriptor' with non-sendable type 'CBMDescriptor' in a `@Sendable` closure; this is an error in the Swift 6 language mode
1476 | error: nil)
1477 | }
/Users/admin/builder/spi-builder-workspace/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/CoreBluetoothMock/CBMCentralManagerMock.swift:1481:31: warning: capture of 'self' with non-sendable type 'CBMPeripheralMock?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
874 | ///
875 | /// Unless required, this class should not be accessed directly, but rather by the common protocol ``CBMPeripheral``.
876 | @objc open class CBMPeripheralMock: CBMPeer, CBMPeripheral {
| `- note: class 'CBMPeripheralMock' does not conform to the 'Sendable' protocol
877 | /// The parent central manager.
878 | private let manager: CBMCentralManagerMock
:
1479 | case .failure(let error):
1480 | queue.asyncAfter(deadline: .now() + interval) { [weak self] in
1481 | if let self = self, self.state == .connected {
| `- warning: capture of 'self' with non-sendable type 'CBMPeripheralMock?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
1482 | self.delegate?.peripheral(self,
1483 | didWriteValueFor: descriptor,
/Users/admin/builder/spi-builder-workspace/CoreBluetoothMock/CBMCentralManagerMock.swift:1483:65: warning: capture of 'descriptor' with non-sendable type 'CBMDescriptor' in a `@Sendable` closure; this is an error in the Swift 6 language mode
1481 | if let self = self, self.state == .connected {
1482 | self.delegate?.peripheral(self,
1483 | didWriteValueFor: descriptor,
| `- warning: capture of 'descriptor' with non-sendable type 'CBMDescriptor' in a `@Sendable` closure; this is an error in the Swift 6 language mode
1484 | error: error)
1485 | }
/Users/admin/builder/spi-builder-workspace/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/CoreBluetoothMock/CBMCentralManagerMock.swift:1524:31: warning: capture of 'self' with non-sendable type 'CBMPeripheralMock?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
874 | ///
875 | /// Unless required, this class should not be accessed directly, but rather by the common protocol ``CBMPeripheral``.
876 | @objc open class CBMPeripheralMock: CBMPeer, CBMPeripheral {
| `- note: class 'CBMPeripheralMock' does not conform to the 'Sendable' protocol
877 | /// The parent central manager.
878 | private let manager: CBMCentralManagerMock
:
1522 | case .success:
1523 | queue.asyncAfter(deadline: .now() + interval) { [weak self] in
1524 | if let self = self, self.state == .connected {
| `- warning: capture of 'self' with non-sendable type 'CBMPeripheralMock?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
1525 | characteristic.isNotifying = enabled
1526 | self.delegate?.peripheral(self,
/Users/admin/builder/spi-builder-workspace/CoreBluetoothMock/CBMCentralManagerMock.swift:1525:21: warning: capture of 'characteristic' with non-sendable type 'CBMCharacteristic' in a `@Sendable` closure; this is an error in the Swift 6 language mode
1523 | queue.asyncAfter(deadline: .now() + interval) { [weak self] in
1524 | if let self = self, self.state == .connected {
1525 | characteristic.isNotifying = enabled
| `- warning: capture of 'characteristic' with non-sendable type 'CBMCharacteristic' in a `@Sendable` closure; this is an error in the Swift 6 language mode
1526 | self.delegate?.peripheral(self,
1527 | didUpdateNotificationStateFor: characteristic,
/Users/admin/builder/spi-builder-workspace/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/CoreBluetoothMock/CBMCentralManagerMock.swift:1529:21: warning: capture of 'mockCharacteristic' with non-sendable type 'CBMCharacteristicMock' in a `@Sendable` closure; this is an error in the Swift 6 language mode
1527 | didUpdateNotificationStateFor: characteristic,
1528 | error: nil)
1529 | mockCharacteristic.isNotifying = enabled
| `- warning: capture of 'mockCharacteristic' with non-sendable type 'CBMCharacteristicMock' in a `@Sendable` closure; this is an error in the Swift 6 language mode
1530 | self.mock.connectionDelegate?.peripheral(self.mock,
1531 | didUpdateNotificationStateFor: mockCharacteristic,
/Users/admin/builder/spi-builder-workspace/CoreBluetoothMock/CBMAttributes.swift:284:12: note: class 'CBMCharacteristicMock' does not conform to the 'Sendable' protocol
282 |
283 | /// Mock implementation of ``CBMCharacteristic``.
284 | open class CBMCharacteristicMock: CBMCharacteristic {
| `- note: class 'CBMCharacteristicMock' does not conform to the 'Sendable' protocol
285 |
286 | open override var descriptors: [CBMDescriptor]? {
/Users/admin/builder/spi-builder-workspace/CoreBluetoothMock/CBMCentralManagerMock.swift:1537:31: warning: capture of 'self' with non-sendable type 'CBMPeripheralMock?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
874 | ///
875 | /// Unless required, this class should not be accessed directly, but rather by the common protocol ``CBMPeripheral``.
876 | @objc open class CBMPeripheralMock: CBMPeer, CBMPeripheral {
| `- note: class 'CBMPeripheralMock' does not conform to the 'Sendable' protocol
877 | /// The parent central manager.
878 | private let manager: CBMCentralManagerMock
:
1535 | case .failure(let error):
1536 | queue.asyncAfter(deadline: .now() + interval) { [weak self] in
1537 | if let self = self, self.state == .connected {
| `- warning: capture of 'self' with non-sendable type 'CBMPeripheralMock?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
1538 | self.delegate?.peripheral(self,
1539 | didUpdateNotificationStateFor: characteristic,
/Users/admin/builder/spi-builder-workspace/CoreBluetoothMock/CBMCentralManagerMock.swift:1539:78: warning: capture of 'characteristic' with non-sendable type 'CBMCharacteristic' in a `@Sendable` closure; this is an error in the Swift 6 language mode
1537 | if let self = self, self.state == .connected {
1538 | self.delegate?.peripheral(self,
1539 | didUpdateNotificationStateFor: characteristic,
| `- warning: capture of 'characteristic' with non-sendable type 'CBMCharacteristic' in a `@Sendable` closure; this is an error in the Swift 6 language mode
1540 | error: error)
1541 | self.mock.connectionDelegate?.peripheral(self.mock,
/Users/admin/builder/spi-builder-workspace/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/CoreBluetoothMock/CBMCentralManagerMock.swift:1542:68: warning: capture of 'mockCharacteristic' with non-sendable type 'CBMCharacteristicMock' in a `@Sendable` closure; this is an error in the Swift 6 language mode
1540 | error: error)
1541 | self.mock.connectionDelegate?.peripheral(self.mock,
1542 | didUpdateNotificationStateFor: mockCharacteristic,
| `- warning: capture of 'mockCharacteristic' with non-sendable type 'CBMCharacteristicMock' in a `@Sendable` closure; this is an error in the Swift 6 language mode
1543 | error: error)
1544 | }
/Users/admin/builder/spi-builder-workspace/CoreBluetoothMock/CBMAttributes.swift:284:12: note: class 'CBMCharacteristicMock' does not conform to the 'Sendable' protocol
282 |
283 | /// Mock implementation of ``CBMCharacteristic``.
284 | open class CBMCharacteristicMock: CBMCharacteristic {
| `- note: class 'CBMCharacteristicMock' does not conform to the 'Sendable' protocol
285 |
286 | open override var descriptors: [CBMDescriptor]? {
/Users/admin/builder/spi-builder-workspace/CoreBluetoothMock/CBMCentralManagerMock.swift:1555:27: warning: capture of 'self' with non-sendable type 'CBMPeripheralMock?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
874 | ///
875 | /// Unless required, this class should not be accessed directly, but rather by the common protocol ``CBMPeripheral``.
876 | @objc open class CBMPeripheralMock: CBMPeer, CBMPeripheral {
| `- note: class 'CBMPeripheralMock' does not conform to the 'Sendable' protocol
877 | /// The parent central manager.
878 | private let manager: CBMCentralManagerMock
:
1553 | guard manager.ensurePoweredOn() else { return }
1554 | queue.async { [weak self] in
1555 | if let self = self, self.state == .connected {
| `- warning: capture of 'self' with non-sendable type 'CBMPeripheralMock?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
1556 | let rssi = self.mock.proximity.RSSI
1557 | let delta = CBMCentralManagerMock.rssiDeviation
/Users/admin/builder/spi-builder-workspace/CoreBluetoothMock/CBMCentralManagerMock.swift:137:16: warning: sending 'config' risks causing data races; this is an error in the Swift 6 language mode
135 | // If the first advertising is to be delayed, create a
136 | // temporary timer that will call the initial data.
137 | if config.delay > 0 {
| |- warning: sending 'config' risks causing data races; this is an error in the Swift 6 language mode
| `- note: task-isolated 'config' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
138 | advertisementTimers[config] = Timer.scheduledTimer(
139 | timeInterval: config.delay,
/Users/admin/builder/spi-builder-workspace/CoreBluetoothMock/CBMCentralManagerMock.swift:142:32: warning: sending 'mock' risks causing data races; this is an error in the Swift 6 language mode
140 | target: self,
141 | selector: #selector(self.schedule(timer:)),
142 | userInfo: (mock, config),
| |- warning: sending 'mock' risks causing data races; this is an error in the Swift 6 language mode
| `- note: task-isolated 'mock' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
143 | repeats: false)
144 | } else {
[12/20] Compiling CoreBluetoothMock CBMCentralManagerMock.swift
/Users/admin/builder/spi-builder-workspace/CoreBluetoothMock/CBMCentralManagerMock.swift:45:24: warning: static property 'managers' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
43 |
44 | /// A list of all mock managers instantiated by user.
45 | private static var managers: [WeakRef<CBMCentralManagerMock>] = []
| |- warning: static property 'managers' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'managers' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: annotate 'managers' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
46 | /// A list of peripherals known to the system.
47 | private static var peripherals: [CBMPeripheralSpec] = [] {
/Users/admin/builder/spi-builder-workspace/CoreBluetoothMock/CBMCentralManagerMock.swift:47:24: warning: static property 'peripherals' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
45 | private static var managers: [WeakRef<CBMCentralManagerMock>] = []
46 | /// A list of peripherals known to the system.
47 | private static var peripherals: [CBMPeripheralSpec] = [] {
| |- warning: static property 'peripherals' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'peripherals' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: annotate 'peripherals' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
48 | didSet {
49 | stopAdvertising()
/Users/admin/builder/spi-builder-workspace/CoreBluetoothMock/CBMCentralManagerMock.swift:56:24: warning: static property 'previewPeripherals' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
54 | ///
55 | /// Registered items can be accessed using any ``CBMCentralManagerMock``.
56 | private static var previewPeripherals: Set<CBMPeripheralPreview> = Set()
| |- warning: static property 'previewPeripherals' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'previewPeripherals' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: annotate 'previewPeripherals' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
57 | /// A map of all current advertisements of all simulated peripherals.
58 | private static var advertisementTimers: [CBMAdvertisementConfig : Timer] = [:]
/Users/admin/builder/spi-builder-workspace/CoreBluetoothMock/CBMCentralManagerMock.swift:58:24: warning: static property 'advertisementTimers' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
56 | private static var previewPeripherals: Set<CBMPeripheralPreview> = Set()
57 | /// A map of all current advertisements of all simulated peripherals.
58 | private static var advertisementTimers: [CBMAdvertisementConfig : Timer] = [:]
| |- warning: static property 'advertisementTimers' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'advertisementTimers' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: annotate 'advertisementTimers' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
59 | /// A mutex queue for managing managers.
60 | private static let mutex: DispatchQueue = DispatchQueue(label: "Mutex")
/Users/admin/builder/spi-builder-workspace/CoreBluetoothMock/CBMCentralManagerMock.swift:64:38: warning: static property 'bluetoothAuthorization' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
62 | ///
63 | /// As `CBManagerAuthorization` was added in iOS 13, the raw value is kept.
64 | internal private(set) static var bluetoothAuthorization: Int? {
| |- warning: static property 'bluetoothAuthorization' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'bluetoothAuthorization' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: annotate 'bluetoothAuthorization' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
65 | didSet {
66 | notifyManagers()
/Users/admin/builder/spi-builder-workspace/CoreBluetoothMock/CBMCentralManagerMock.swift:70:41: warning: static property 'managerState' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
68 | }
69 | /// The global state of the Bluetooth adapter on the device.
70 | fileprivate private(set) static var managerState: CBMManagerState = .poweredOff {
| |- warning: static property 'managerState' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'managerState' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: annotate 'managerState' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
71 | didSet {
72 | notifyManagers()
/Users/admin/builder/spi-builder-workspace/CoreBluetoothMock/CBMCentralManagerMock.swift:395:23: warning: static property 'simulateStateRestoration' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
393 | /// - SeeAlso: ``CBMCentralManagerRestoredStateScanServicesKey``
394 | /// - SeeAlso: ``CBMCentralManagerRestoredStateScanOptionsKey``
395 | public static var simulateStateRestoration: ((_ identifierKey: String) -> [String : Any]?)?
| |- warning: static property 'simulateStateRestoration' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'simulateStateRestoration' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: annotate 'simulateStateRestoration' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
396 |
397 | #if !os(macOS)
/Users/admin/builder/spi-builder-workspace/CoreBluetoothMock/CBMCentralManagerMock.swift:92:17: warning: capture of 'manager' with non-sendable type 'CBMCentralManagerMock' in a `@Sendable` closure; this is an error in the Swift 6 language mode
35 | /// This implementation will interact only with mock peripherals created using
36 | /// ``CBMPeripheralSpec/simulatePeripheral(identifier:proximity:)``.
37 | open class CBMCentralManagerMock: CBMCentralManager {
| `- note: class 'CBMCentralManagerMock' does not conform to the 'Sendable' protocol
38 | /// Mock RSSI deviation.
39 | ///
:
90 | // ...and notify delegate.
91 | manager.queue.async {
92 | manager.delegate?.centralManagerDidUpdateState(manager)
| `- warning: capture of 'manager' with non-sendable type 'CBMCentralManagerMock' in a `@Sendable` closure; this is an error in the Swift 6 language mode
93 | }
94 | }
/Users/admin/builder/spi-builder-workspace/CoreBluetoothMock/CBMCentralManagerMock.swift:137:16: warning: capture of 'config' with non-sendable type 'CBMAdvertisementConfig' in a `@Sendable` closure; this is an error in the Swift 6 language mode
135 | // If the first advertising is to be delayed, create a
136 | // temporary timer that will call the initial data.
137 | if config.delay > 0 {
| `- warning: capture of 'config' with non-sendable type 'CBMAdvertisementConfig' in a `@Sendable` closure; this is an error in the Swift 6 language mode
138 | advertisementTimers[config] = Timer.scheduledTimer(
139 | timeInterval: config.delay,
/Users/admin/builder/spi-builder-workspace/CoreBluetoothMock/CBMPeripheralSpec.swift:63:15: note: consider making struct 'CBMAdvertisementConfig' conform to the 'Sendable' protocol
61 | /// and can be changed during simulation using
62 | /// ``CBMPeripheralSpec/simulateAdvertisementChange(_:)``.
63 | public struct CBMAdvertisementConfig {
| `- note: consider making struct 'CBMAdvertisementConfig' conform to the 'Sendable' protocol
64 | /// ID used for hash.
65 | internal let id: UUID = UUID()
/Users/admin/builder/spi-builder-workspace/CoreBluetoothMock/CBMCentralManagerMock.swift:142:32: warning: capture of 'mock' with non-sendable type 'CBMPeripheralSpec' in a `@Sendable` closure; this is an error in the Swift 6 language mode
140 | target: self,
141 | selector: #selector(self.schedule(timer:)),
142 | userInfo: (mock, config),
| `- warning: capture of 'mock' with non-sendable type 'CBMPeripheralSpec' in a `@Sendable` closure; this is an error in the Swift 6 language mode
143 | repeats: false)
144 | } else {
/Users/admin/builder/spi-builder-workspace/CoreBluetoothMock/CBMPeripheralSpec.swift:110:14: note: class 'CBMPeripheralSpec' does not conform to the 'Sendable' protocol
108 | /// Use ``CBMPeripheralSpec/simulatePeripheral(identifier:proximity:)`` to
109 | /// create a new instance builder.
110 | public class CBMPeripheralSpec {
| `- note: class 'CBMPeripheralSpec' does not conform to the 'Sendable' protocol
111 | /// The peripheral identifier.
112 | public internal(set) var identifier: UUID
/Users/admin/builder/spi-builder-workspace/CoreBluetoothMock/CBMCentralManagerMock.swift:340:27: warning: capture of 'self' with non-sendable type 'CBMCentralManagerMock?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
35 | /// This implementation will interact only with mock peripherals created using
36 | /// ``CBMPeripheralSpec/simulatePeripheral(identifier:proximity:)``.
37 | open class CBMCentralManagerMock: CBMCentralManager {
| `- note: class 'CBMCentralManagerMock' does not conform to the 'Sendable' protocol
38 | /// Mock RSSI deviation.
39 | ///
:
338 | }
339 | queue.async { [weak self] in
340 | if let self = self {
| `- warning: capture of 'self' with non-sendable type 'CBMCentralManagerMock?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
341 | CBMCentralManagerMock.mutex.sync {
342 | CBMCentralManagerMock.managers.append(WeakRef(self))
/Users/admin/builder/spi-builder-workspace/CoreBluetoothMock/CBMCentralManagerMock.swift:959:31: warning: capture of 'self' with non-sendable type 'CBMPeripheralMock?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
874 | ///
875 | /// Unless required, this class should not be accessed directly, but rather by the common protocol ``CBMPeripheral``.
876 | @objc open class CBMPeripheralMock: CBMPeer, CBMPeripheral {
| `- note: class 'CBMPeripheralMock' does not conform to the 'Sendable' protocol
877 | /// The parent central manager.
878 | private let manager: CBMCentralManagerMock
:
957 | if isAlreadyConnected {
958 | queue.async { [weak self] in
959 | if let self = self, self.state == .connecting {
| `- warning: capture of 'self' with non-sendable type 'CBMPeripheralMock?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
960 | self.state = .connected
961 | self._canSendWriteWithoutResponse = true
/Users/admin/builder/spi-builder-workspace/CoreBluetoothMock/CBMCentralManagerMock.swift:964:21: warning: capture of 'completion' with non-sendable type '(Result<Void, any Error>) -> ()' in a `@Sendable` closure; this is an error in the Swift 6 language mode
962 | self.mock.wasConnected = true
963 | self.mock.virtualConnections += 1
964 | completion(.success(()))
| |- warning: capture of 'completion' with non-sendable type '(Result<Void, 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'
965 | }
966 | }
/Users/admin/builder/spi-builder-workspace/CoreBluetoothMock/CBMCentralManagerMock.swift:972:27: warning: capture of 'self' with non-sendable type 'CBMPeripheralMock?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
874 | ///
875 | /// Unless required, this class should not be accessed directly, but rather by the common protocol ``CBMPeripheral``.
876 | @objc open class CBMPeripheralMock: CBMPeer, CBMPeripheral {
| `- note: class 'CBMPeripheralMock' does not conform to the 'Sendable' protocol
877 | /// The parent central manager.
878 | private let manager: CBMCentralManagerMock
:
970 | let result = delegate.peripheralDidReceiveConnectionRequest(mock)
971 | queue.asyncAfter(deadline: .now() + interval) { [weak self] in
972 | if let self = self, self.state == .connecting {
| `- warning: capture of 'self' with non-sendable type 'CBMPeripheralMock?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
973 | if case .success = result {
974 | self.state = .connected
/Users/admin/builder/spi-builder-workspace/CoreBluetoothMock/CBMCentralManagerMock.swift:981:17: warning: capture of 'completion' with non-sendable type '(Result<Void, any Error>) -> ()' in a `@Sendable` closure; this is an error in the Swift 6 language mode
979 | self.state = .disconnected
980 | }
981 | completion(result)
| |- warning: capture of 'completion' with non-sendable type '(Result<Void, 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'
982 | }
983 | }
/Users/admin/builder/spi-builder-workspace/CoreBluetoothMock/CBMCentralManagerMock.swift:991:17: warning: capture of 'completion' with non-sendable type '() -> ()' in a `@Sendable` closure; this is an error in the Swift 6 language mode
989 | state = .disconnected
990 | queue.async {
991 | completion()
| |- warning: capture of 'completion' 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'
992 | }
993 | return
/Users/admin/builder/spi-builder-workspace/CoreBluetoothMock/CBMCentralManagerMock.swift:1006:27: warning: capture of 'self' with non-sendable type 'CBMPeripheralMock?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
874 | ///
875 | /// Unless required, this class should not be accessed directly, but rather by the common protocol ``CBMPeripheral``.
876 | @objc open class CBMPeripheralMock: CBMPeer, CBMPeripheral {
| `- note: class 'CBMPeripheralMock' does not conform to the 'Sendable' protocol
877 | /// The parent central manager.
878 | private let manager: CBMCentralManagerMock
:
1004 | // `tearDownSimulation()` could have been called before this is called.
1005 | // See https://github.com/NordicSemiconductor/IOS-CoreBluetooth-Mock/issues/25
1006 | if let self = self, self.state == .disconnecting,
| `- warning: capture of 'self' with non-sendable type 'CBMPeripheralMock?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
1007 | CBMCentralManagerMock.managerState == .poweredOn {
1008 | self.state = .disconnected
/Users/admin/builder/spi-builder-workspace/CoreBluetoothMock/CBMCentralManagerMock.swift:1014:17: warning: capture of 'completion' with non-sendable type '() -> ()' in a `@Sendable` closure; this is an error in the Swift 6 language mode
1012 | self.mock.connectionDelegate?.peripheral(self.mock,
1013 | didDisconnect: nil)
1014 | completion()
| |- warning: capture of 'completion' 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'
1015 | }
1016 | }
/Users/admin/builder/spi-builder-workspace/CoreBluetoothMock/CBMCentralManagerMock.swift:1033:27: warning: capture of 'self' with non-sendable type 'CBMPeripheralMock?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
874 | ///
875 | /// Unless required, this class should not be accessed directly, but rather by the common protocol ``CBMPeripheral``.
876 | @objc open class CBMPeripheralMock: CBMPeer, CBMPeripheral {
| `- note: class 'CBMPeripheralMock' does not conform to the 'Sendable' protocol
877 | /// The parent central manager.
878 | private let manager: CBMCentralManagerMock
:
1031 | }
1032 | queue.asyncAfter(deadline: .now() + interval) { [weak self] in
1033 | if let self = self, CBMCentralManagerMock.managerState == .poweredOn {
| `- warning: capture of 'self' with non-sendable type 'CBMPeripheralMock?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
1034 | self.state = .disconnected
1035 | self.services = nil
/Users/admin/builder/spi-builder-workspace/CoreBluetoothMock/CBMCentralManagerMock.swift:1043:17: warning: capture of 'completion' with non-sendable type '((any Error)?) -> ()' in a `@Sendable` closure; this is an error in the Swift 6 language mode
1041 | self.mock.connectionDelegate?.peripheral(self.mock,
1042 | didDisconnect: error)
1043 | completion(error)
| |- warning: capture of 'completion' with non-sendable type '((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'
1044 | }
1045 | }
/Users/admin/builder/spi-builder-workspace/CoreBluetoothMock/CBMCentralManagerMock.swift:1056:27: warning: capture of 'self' with non-sendable type 'CBMPeripheralMock?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
874 | ///
875 | /// Unless required, this class should not be accessed directly, but rather by the common protocol ``CBMPeripheral``.
876 | @objc open class CBMPeripheralMock: CBMPeer, CBMPeripheral {
| `- note: class 'CBMPeripheralMock' does not conform to the 'Sendable' protocol
877 | /// The parent central manager.
878 | private let manager: CBMCentralManagerMock
:
1054 | }
1055 | queue.asyncAfter(deadline: .now() + interval) { [weak self] in
1056 | if let self = self, self.state == .connected {
| `- warning: capture of 'self' with non-sendable type 'CBMPeripheralMock?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
1057 | self.delegate?.peripheralDidUpdateName(self)
1058 | }
/Users/admin/builder/spi-builder-workspace/CoreBluetoothMock/CBMCentralManagerMock.swift:1078:27: warning: capture of 'self' with non-sendable type 'CBMPeripheralMock?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
874 | ///
875 | /// Unless required, this class should not be accessed directly, but rather by the common protocol ``CBMPeripheral``.
876 | @objc open class CBMPeripheralMock: CBMPeer, CBMPeripheral {
| `- note: class 'CBMPeripheralMock' does not conform to the 'Sendable' protocol
877 | /// The parent central manager.
878 | private let manager: CBMCentralManagerMock
:
1076 | let invalidatedServices = oldServices.filter({ !services!.contains($0) })
1077 | queue.asyncAfter(deadline: .now() + interval) { [weak self] in
1078 | if let self = self, self.state == .connected {
| `- warning: capture of 'self' with non-sendable type 'CBMPeripheralMock?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
1079 | self.delegate?.peripheral(self, didModifyServices: invalidatedServices)
1080 | }
/Users/admin/builder/spi-builder-workspace/CoreBluetoothMock/CBMCentralManagerMock.swift:1079:68: warning: capture of 'invalidatedServices' with non-sendable type '[CBMService]' in a `@Sendable` closure; this is an error in the Swift 6 language mode
1077 | queue.asyncAfter(deadline: .now() + interval) { [weak self] in
1078 | if let self = self, self.state == .connected {
1079 | self.delegate?.peripheral(self, didModifyServices: invalidatedServices)
| `- warning: capture of 'invalidatedServices' with non-sendable type '[CBMService]' in a `@Sendable` closure; this is an error in the Swift 6 language mode
1080 | }
1081 | }
/Users/admin/builder/spi-builder-workspace/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/CoreBluetoothMock/CBMCentralManagerMock.swift:1101:27: warning: capture of 'self' with non-sendable type 'CBMPeripheralMock?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
874 | ///
875 | /// Unless required, this class should not be accessed directly, but rather by the common protocol ``CBMPeripheral``.
876 | @objc open class CBMPeripheralMock: CBMPeer, CBMPeripheral {
| `- note: class 'CBMPeripheralMock' does not conform to the 'Sendable' protocol
877 | /// The parent central manager.
878 | private let manager: CBMCentralManagerMock
:
1099 | let value = originalCharacteristic.value
1100 | queue.asyncAfter(deadline: .now() + interval) { [weak self] in
1101 | if let self = self, self.state == .connected {
| `- warning: capture of 'self' with non-sendable type 'CBMPeripheralMock?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
1102 | characteristic.value = value
1103 | self.delegate?.peripheral(self,
/Users/admin/builder/spi-builder-workspace/CoreBluetoothMock/CBMCentralManagerMock.swift:1102:17: warning: capture of 'characteristic' with non-sendable type 'CBMCharacteristic' in a `@Sendable` closure; this is an error in the Swift 6 language mode
1100 | queue.asyncAfter(deadline: .now() + interval) { [weak self] in
1101 | if let self = self, self.state == .connected {
1102 | characteristic.value = value
| `- warning: capture of 'characteristic' with non-sendable type 'CBMCharacteristic' in a `@Sendable` closure; this is an error in the Swift 6 language mode
1103 | self.delegate?.peripheral(self,
1104 | didUpdateValueFor: characteristic,
/Users/admin/builder/spi-builder-workspace/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/CoreBluetoothMock/CBMCentralManagerMock.swift:1148:31: warning: capture of 'self' with non-sendable type 'CBMPeripheralMock?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
874 | ///
875 | /// Unless required, this class should not be accessed directly, but rather by the common protocol ``CBMPeripheral``.
876 | @objc open class CBMPeripheralMock: CBMPeer, CBMPeripheral {
| `- note: class 'CBMPeripheralMock' does not conform to the 'Sendable' protocol
877 | /// The parent central manager.
878 | private let manager: CBMCentralManagerMock
:
1146 | let delay = interval * Double(newServicesCount)
1147 | queue.asyncAfter(deadline: .now() + delay) { [weak self] in
1148 | if let self = self, self.state == .connected {
| `- warning: capture of 'self' with non-sendable type 'CBMPeripheralMock?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
1149 | self.delegate?.peripheral(self, didDiscoverServices: nil)
1150 | }
/Users/admin/builder/spi-builder-workspace/CoreBluetoothMock/CBMCentralManagerMock.swift:1154:31: warning: capture of 'self' with non-sendable type 'CBMPeripheralMock?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
874 | ///
875 | /// Unless required, this class should not be accessed directly, but rather by the common protocol ``CBMPeripheral``.
876 | @objc open class CBMPeripheralMock: CBMPeer, CBMPeripheral {
| `- note: class 'CBMPeripheralMock' does not conform to the 'Sendable' protocol
877 | /// The parent central manager.
878 | private let manager: CBMCentralManagerMock
:
1152 | case .failure(let error):
1153 | queue.asyncAfter(deadline: .now() + interval) { [weak self] in
1154 | if let self = self, self.state == .connected {
| `- warning: capture of 'self' with non-sendable type 'CBMPeripheralMock?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
1155 | self.delegate?.peripheral(self, didDiscoverServices: error)
1156 | }
/Users/admin/builder/spi-builder-workspace/CoreBluetoothMock/CBMCentralManagerMock.swift:1196:31: warning: capture of 'self' with non-sendable type 'CBMPeripheralMock?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
874 | ///
875 | /// Unless required, this class should not be accessed directly, but rather by the common protocol ``CBMPeripheral``.
876 | @objc open class CBMPeripheralMock: CBMPeer, CBMPeripheral {
| `- note: class 'CBMPeripheralMock' does not conform to the 'Sendable' protocol
877 | /// The parent central manager.
878 | private let manager: CBMCentralManagerMock
:
1194 | let delay = interval * Double(newServicesCount)
1195 | queue.asyncAfter(deadline: .now() + delay) { [weak self] in
1196 | if let self = self, self.state == .connected {
| `- warning: capture of 'self' with non-sendable type 'CBMPeripheralMock?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
1197 | self.delegate?.peripheral(self,
1198 | didDiscoverIncludedServicesFor: service,
/Users/admin/builder/spi-builder-workspace/CoreBluetoothMock/CBMCentralManagerMock.swift:1198:79: warning: capture of 'service' with non-sendable type 'CBMService' in a `@Sendable` closure; this is an error in the Swift 6 language mode
1196 | if let self = self, self.state == .connected {
1197 | self.delegate?.peripheral(self,
1198 | didDiscoverIncludedServicesFor: service,
| `- warning: capture of 'service' with non-sendable type 'CBMService' in a `@Sendable` closure; this is an error in the Swift 6 language mode
1199 | error: nil)
1200 | }
/Users/admin/builder/spi-builder-workspace/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/CoreBluetoothMock/CBMCentralManagerMock.swift:1204:31: warning: capture of 'self' with non-sendable type 'CBMPeripheralMock?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
874 | ///
875 | /// Unless required, this class should not be accessed directly, but rather by the common protocol ``CBMPeripheral``.
876 | @objc open class CBMPeripheralMock: CBMPeer, CBMPeripheral {
| `- note: class 'CBMPeripheralMock' does not conform to the 'Sendable' protocol
877 | /// The parent central manager.
878 | private let manager: CBMCentralManagerMock
:
1202 | case .failure(let error):
1203 | queue.asyncAfter(deadline: .now() + interval) { [weak self] in
1204 | if let self = self, self.state == .connected {
| `- warning: capture of 'self' with non-sendable type 'CBMPeripheralMock?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
1205 | self.delegate?.peripheral(self,
1206 | didDiscoverIncludedServicesFor: service,
/Users/admin/builder/spi-builder-workspace/CoreBluetoothMock/CBMCentralManagerMock.swift:1206:79: warning: capture of 'service' with non-sendable type 'CBMService' in a `@Sendable` closure; this is an error in the Swift 6 language mode
1204 | if let self = self, self.state == .connected {
1205 | self.delegate?.peripheral(self,
1206 | didDiscoverIncludedServicesFor: service,
| `- warning: capture of 'service' with non-sendable type 'CBMService' in a `@Sendable` closure; this is an error in the Swift 6 language mode
1207 | error: error)
1208 | }
/Users/admin/builder/spi-builder-workspace/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/CoreBluetoothMock/CBMCentralManagerMock.swift:1249:31: warning: capture of 'self' with non-sendable type 'CBMPeripheralMock?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
874 | ///
875 | /// Unless required, this class should not be accessed directly, but rather by the common protocol ``CBMPeripheral``.
876 | @objc open class CBMPeripheralMock: CBMPeer, CBMPeripheral {
| `- note: class 'CBMPeripheralMock' does not conform to the 'Sendable' protocol
877 | /// The parent central manager.
878 | private let manager: CBMCentralManagerMock
:
1247 | let delay = interval * Double(newCharacteristicsCount)
1248 | queue.asyncAfter(deadline: .now() + delay) { [weak self] in
1249 | if let self = self, self.state == .connected {
| `- warning: capture of 'self' with non-sendable type 'CBMPeripheralMock?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
1250 | self.delegate?.peripheral(self,
1251 | didDiscoverCharacteristicsFor: service,
/Users/admin/builder/spi-builder-workspace/CoreBluetoothMock/CBMCentralManagerMock.swift:1251:78: warning: capture of 'service' with non-sendable type 'CBMService' in a `@Sendable` closure; this is an error in the Swift 6 language mode
1249 | if let self = self, self.state == .connected {
1250 | self.delegate?.peripheral(self,
1251 | didDiscoverCharacteristicsFor: service,
| `- warning: capture of 'service' with non-sendable type 'CBMService' in a `@Sendable` closure; this is an error in the Swift 6 language mode
1252 | error: nil)
1253 | }
/Users/admin/builder/spi-builder-workspace/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/CoreBluetoothMock/CBMCentralManagerMock.swift:1257:31: warning: capture of 'self' with non-sendable type 'CBMPeripheralMock?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
874 | ///
875 | /// Unless required, this class should not be accessed directly, but rather by the common protocol ``CBMPeripheral``.
876 | @objc open class CBMPeripheralMock: CBMPeer, CBMPeripheral {
| `- note: class 'CBMPeripheralMock' does not conform to the 'Sendable' protocol
877 | /// The parent central manager.
878 | private let manager: CBMCentralManagerMock
:
1255 | case .failure(let error):
1256 | queue.asyncAfter(deadline: .now() + interval) { [weak self] in
1257 | if let self = self, self.state == .connected {
| `- warning: capture of 'self' with non-sendable type 'CBMPeripheralMock?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
1258 | self.delegate?.peripheral(self,
1259 | didDiscoverCharacteristicsFor: service,
/Users/admin/builder/spi-builder-workspace/CoreBluetoothMock/CBMCentralManagerMock.swift:1259:78: warning: capture of 'service' with non-sendable type 'CBMService' in a `@Sendable` closure; this is an error in the Swift 6 language mode
1257 | if let self = self, self.state == .connected {
1258 | self.delegate?.peripheral(self,
1259 | didDiscoverCharacteristicsFor: service,
| `- warning: capture of 'service' with non-sendable type 'CBMService' in a `@Sendable` closure; this is an error in the Swift 6 language mode
1260 | error: error)
1261 | }
/Users/admin/builder/spi-builder-workspace/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/CoreBluetoothMock/CBMCentralManagerMock.swift:1298:31: warning: capture of 'self' with non-sendable type 'CBMPeripheralMock?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
874 | ///
875 | /// Unless required, this class should not be accessed directly, but rather by the common protocol ``CBMPeripheral``.
876 | @objc open class CBMPeripheralMock: CBMPeer, CBMPeripheral {
| `- note: class 'CBMPeripheralMock' does not conform to the 'Sendable' protocol
877 | /// The parent central manager.
878 | private let manager: CBMCentralManagerMock
:
1296 | let delay = interval * Double(newDescriptorsCount)
1297 | queue.asyncAfter(deadline: .now() + delay) { [weak self] in
1298 | if let self = self, self.state == .connected {
| `- warning: capture of 'self' with non-sendable type 'CBMPeripheralMock?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
1299 | self.delegate?.peripheral(self,
1300 | didDiscoverDescriptorsFor: characteristic,
/Users/admin/builder/spi-builder-workspace/CoreBluetoothMock/CBMCentralManagerMock.swift:1300:74: warning: capture of 'characteristic' with non-sendable type 'CBMCharacteristic' in a `@Sendable` closure; this is an error in the Swift 6 language mode
1298 | if let self = self, self.state == .connected {
1299 | self.delegate?.peripheral(self,
1300 | didDiscoverDescriptorsFor: characteristic,
| `- warning: capture of 'characteristic' with non-sendable type 'CBMCharacteristic' in a `@Sendable` closure; this is an error in the Swift 6 language mode
1301 | error: nil)
1302 | }
/Users/admin/builder/spi-builder-workspace/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/CoreBluetoothMock/CBMCentralManagerMock.swift:1306:31: warning: capture of 'self' with non-sendable type 'CBMPeripheralMock?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
874 | ///
875 | /// Unless required, this class should not be accessed directly, but rather by the common protocol ``CBMPeripheral``.
876 | @objc open class CBMPeripheralMock: CBMPeer, CBMPeripheral {
| `- note: class 'CBMPeripheralMock' does not conform to the 'Sendable' protocol
877 | /// The parent central manager.
878 | private let manager: CBMCentralManagerMock
:
1304 | case .failure(let error):
1305 | queue.asyncAfter(deadline: .now() + interval) { [weak self] in
1306 | if let self = self, self.state == .connected {
| `- warning: capture of 'self' with non-sendable type 'CBMPeripheralMock?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
1307 | self.delegate?.peripheral(self,
1308 | didDiscoverDescriptorsFor: characteristic,
/Users/admin/builder/spi-builder-workspace/CoreBluetoothMock/CBMCentralManagerMock.swift:1308:74: warning: capture of 'characteristic' with non-sendable type 'CBMCharacteristic' in a `@Sendable` closure; this is an error in the Swift 6 language mode
1306 | if let self = self, self.state == .connected {
1307 | self.delegate?.peripheral(self,
1308 | didDiscoverDescriptorsFor: characteristic,
| `- warning: capture of 'characteristic' with non-sendable type 'CBMCharacteristic' in a `@Sendable` closure; this is an error in the Swift 6 language mode
1309 | error: error)
1310 | }
/Users/admin/builder/spi-builder-workspace/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/CoreBluetoothMock/CBMCentralManagerMock.swift:1333:31: warning: capture of 'self' with non-sendable type 'CBMPeripheralMock?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
874 | ///
875 | /// Unless required, this class should not be accessed directly, but rather by the common protocol ``CBMPeripheral``.
876 | @objc open class CBMPeripheralMock: CBMPeer, CBMPeripheral {
| `- note: class 'CBMPeripheralMock' does not conform to the 'Sendable' protocol
877 | /// The parent central manager.
878 | private let manager: CBMCentralManagerMock
:
1331 | case .success(let data):
1332 | queue.asyncAfter(deadline: .now() + interval) { [weak self] in
1333 | if let self = self, self.state == .connected {
| `- warning: capture of 'self' with non-sendable type 'CBMPeripheralMock?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
1334 | characteristic.value = data
1335 | self.delegate?.peripheral(self,
/Users/admin/builder/spi-builder-workspace/CoreBluetoothMock/CBMCentralManagerMock.swift:1334:21: warning: capture of 'characteristic' with non-sendable type 'CBMCharacteristic' in a `@Sendable` closure; this is an error in the Swift 6 language mode
1332 | queue.asyncAfter(deadline: .now() + interval) { [weak self] in
1333 | if let self = self, self.state == .connected {
1334 | characteristic.value = data
| `- warning: capture of 'characteristic' with non-sendable type 'CBMCharacteristic' in a `@Sendable` closure; this is an error in the Swift 6 language mode
1335 | self.delegate?.peripheral(self,
1336 | didUpdateValueFor: characteristic,
/Users/admin/builder/spi-builder-workspace/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/CoreBluetoothMock/CBMCentralManagerMock.swift:1342:31: warning: capture of 'self' with non-sendable type 'CBMPeripheralMock?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
874 | ///
875 | /// Unless required, this class should not be accessed directly, but rather by the common protocol ``CBMPeripheral``.
876 | @objc open class CBMPeripheralMock: CBMPeer, CBMPeripheral {
| `- note: class 'CBMPeripheralMock' does not conform to the 'Sendable' protocol
877 | /// The parent central manager.
878 | private let manager: CBMCentralManagerMock
:
1340 | case .failure(let error):
1341 | queue.asyncAfter(deadline: .now() + interval) { [weak self] in
1342 | if let self = self, self.state == .connected {
| `- warning: capture of 'self' with non-sendable type 'CBMPeripheralMock?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
1343 | self.delegate?.peripheral(self,
1344 | didUpdateValueFor: characteristic,
/Users/admin/builder/spi-builder-workspace/CoreBluetoothMock/CBMCentralManagerMock.swift:1344:66: warning: capture of 'characteristic' with non-sendable type 'CBMCharacteristic' in a `@Sendable` closure; this is an error in the Swift 6 language mode
1342 | if let self = self, self.state == .connected {
1343 | self.delegate?.peripheral(self,
1344 | didUpdateValueFor: characteristic,
| `- warning: capture of 'characteristic' with non-sendable type 'CBMCharacteristic' in a `@Sendable` closure; this is an error in the Swift 6 language mode
1345 | error: error)
1346 | }
/Users/admin/builder/spi-builder-workspace/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/CoreBluetoothMock/CBMCentralManagerMock.swift:1367:31: warning: capture of 'self' with non-sendable type 'CBMPeripheralMock?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
874 | ///
875 | /// Unless required, this class should not be accessed directly, but rather by the common protocol ``CBMPeripheral``.
876 | @objc open class CBMPeripheralMock: CBMPeer, CBMPeripheral {
| `- note: class 'CBMPeripheralMock' does not conform to the 'Sendable' protocol
877 | /// The parent central manager.
878 | private let manager: CBMCentralManagerMock
:
1365 | case .success(let data):
1366 | queue.asyncAfter(deadline: .now() + interval) { [weak self] in
1367 | if let self = self, self.state == .connected {
| `- warning: capture of 'self' with non-sendable type 'CBMPeripheralMock?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
1368 | descriptor.value = data
1369 | self.delegate?.peripheral(self,
/Users/admin/builder/spi-builder-workspace/CoreBluetoothMock/CBMCentralManagerMock.swift:1368:21: warning: capture of 'descriptor' with non-sendable type 'CBMDescriptor' in a `@Sendable` closure; this is an error in the Swift 6 language mode
1366 | queue.asyncAfter(deadline: .now() + interval) { [weak self] in
1367 | if let self = self, self.state == .connected {
1368 | descriptor.value = data
| `- warning: capture of 'descriptor' with non-sendable type 'CBMDescriptor' in a `@Sendable` closure; this is an error in the Swift 6 language mode
1369 | self.delegate?.peripheral(self,
1370 | didUpdateValueFor: descriptor,
/Users/admin/builder/spi-builder-workspace/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/CoreBluetoothMock/CBMCentralManagerMock.swift:1376:31: warning: capture of 'self' with non-sendable type 'CBMPeripheralMock?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
874 | ///
875 | /// Unless required, this class should not be accessed directly, but rather by the common protocol ``CBMPeripheral``.
876 | @objc open class CBMPeripheralMock: CBMPeer, CBMPeripheral {
| `- note: class 'CBMPeripheralMock' does not conform to the 'Sendable' protocol
877 | /// The parent central manager.
878 | private let manager: CBMCentralManagerMock
:
1374 | case .failure(let error):
1375 | queue.asyncAfter(deadline: .now() + interval) { [weak self] in
1376 | if let self = self, self.state == .connected {
| `- warning: capture of 'self' with non-sendable type 'CBMPeripheralMock?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
1377 | self.delegate?.peripheral(self,
1378 | didUpdateValueFor: descriptor,
/Users/admin/builder/spi-builder-workspace/CoreBluetoothMock/CBMCentralManagerMock.swift:1378:66: warning: capture of 'descriptor' with non-sendable type 'CBMDescriptor' in a `@Sendable` closure; this is an error in the Swift 6 language mode
1376 | if let self = self, self.state == .connected {
1377 | self.delegate?.peripheral(self,
1378 | didUpdateValueFor: descriptor,
| `- warning: capture of 'descriptor' with non-sendable type 'CBMDescriptor' in a `@Sendable` closure; this is an error in the Swift 6 language mode
1379 | error: error)
1380 | }
/Users/admin/builder/spi-builder-workspace/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/CoreBluetoothMock/CBMCentralManagerMock.swift:1411:35: warning: capture of 'self' with non-sendable type 'CBMPeripheralMock?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
874 | ///
875 | /// Unless required, this class should not be accessed directly, but rather by the common protocol ``CBMPeripheral``.
876 | @objc open class CBMPeripheralMock: CBMPeer, CBMPeripheral {
| `- note: class 'CBMPeripheralMock' does not conform to the 'Sendable' protocol
877 | /// The parent central manager.
878 | private let manager: CBMCentralManagerMock
:
1409 | let delay = interval * Double(packetsCount)
1410 | queue.asyncAfter(deadline: .now() + delay) { [weak self] in
1411 | if let self = self, self.state == .connected {
| `- warning: capture of 'self' with non-sendable type 'CBMPeripheralMock?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
1412 | self.delegate?.peripheral(self,
1413 | didWriteValueFor: characteristic,
/Users/admin/builder/spi-builder-workspace/CoreBluetoothMock/CBMCentralManagerMock.swift:1413:69: warning: capture of 'characteristic' with non-sendable type 'CBMCharacteristic' in a `@Sendable` closure; this is an error in the Swift 6 language mode
1411 | if let self = self, self.state == .connected {
1412 | self.delegate?.peripheral(self,
1413 | didWriteValueFor: characteristic,
| `- warning: capture of 'characteristic' with non-sendable type 'CBMCharacteristic' in a `@Sendable` closure; this is an error in the Swift 6 language mode
1414 | error: nil)
1415 | }
/Users/admin/builder/spi-builder-workspace/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/CoreBluetoothMock/CBMCentralManagerMock.swift:1419:35: warning: capture of 'self' with non-sendable type 'CBMPeripheralMock?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
874 | ///
875 | /// Unless required, this class should not be accessed directly, but rather by the common protocol ``CBMPeripheral``.
876 | @objc open class CBMPeripheralMock: CBMPeer, CBMPeripheral {
| `- note: class 'CBMPeripheralMock' does not conform to the 'Sendable' protocol
877 | /// The parent central manager.
878 | private let manager: CBMCentralManagerMock
:
1417 | case .failure(let error):
1418 | queue.asyncAfter(deadline: .now() + interval) { [weak self] in
1419 | if let self = self, self.state == .connected {
| `- warning: capture of 'self' with non-sendable type 'CBMPeripheralMock?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
1420 | self.delegate?.peripheral(self,
1421 | didWriteValueFor: characteristic,
/Users/admin/builder/spi-builder-workspace/CoreBluetoothMock/CBMCentralManagerMock.swift:1421:69: warning: capture of 'characteristic' with non-sendable type 'CBMCharacteristic' in a `@Sendable` closure; this is an error in the Swift 6 language mode
1419 | if let self = self, self.state == .connected {
1420 | self.delegate?.peripheral(self,
1421 | didWriteValueFor: characteristic,
| `- warning: capture of 'characteristic' with non-sendable type 'CBMCharacteristic' in a `@Sendable` closure; this is an error in the Swift 6 language mode
1422 | error: error)
1423 | }
/Users/admin/builder/spi-builder-workspace/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/CoreBluetoothMock/CBMCentralManagerMock.swift:1441:31: warning: capture of 'self' with non-sendable type 'CBMPeripheralMock?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
874 | ///
875 | /// Unless required, this class should not be accessed directly, but rather by the common protocol ``CBMPeripheral``.
876 | @objc open class CBMPeripheralMock: CBMPeer, CBMPeripheral {
| `- note: class 'CBMPeripheralMock' does not conform to the 'Sendable' protocol
877 | /// The parent central manager.
878 | private let manager: CBMCentralManagerMock
:
1439 |
1440 | queue.async { [weak self] in
1441 | if let self = self, self.state == .connected {
| `- warning: capture of 'self' with non-sendable type 'CBMPeripheralMock?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
1442 | // Increase buffer.
1443 | self.mutex.sync {
/Users/admin/builder/spi-builder-workspace/CoreBluetoothMock/CBMCentralManagerMock.swift:1473:31: warning: capture of 'self' with non-sendable type 'CBMPeripheralMock?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
874 | ///
875 | /// Unless required, this class should not be accessed directly, but rather by the common protocol ``CBMPeripheral``.
876 | @objc open class CBMPeripheralMock: CBMPeer, CBMPeripheral {
| `- note: class 'CBMPeripheralMock' does not conform to the 'Sendable' protocol
877 | /// The parent central manager.
878 | private let manager: CBMCentralManagerMock
:
1471 | case .success:
1472 | queue.asyncAfter(deadline: .now() + interval) { [weak self] in
1473 | if let self = self, self.state == .connected {
| `- warning: capture of 'self' with non-sendable type 'CBMPeripheralMock?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
1474 | self.delegate?.peripheral(self,
1475 | didWriteValueFor: descriptor,
/Users/admin/builder/spi-builder-workspace/CoreBluetoothMock/CBMCentralManagerMock.swift:1475:65: warning: capture of 'descriptor' with non-sendable type 'CBMDescriptor' in a `@Sendable` closure; this is an error in the Swift 6 language mode
1473 | if let self = self, self.state == .connected {
1474 | self.delegate?.peripheral(self,
1475 | didWriteValueFor: descriptor,
| `- warning: capture of 'descriptor' with non-sendable type 'CBMDescriptor' in a `@Sendable` closure; this is an error in the Swift 6 language mode
1476 | error: nil)
1477 | }
/Users/admin/builder/spi-builder-workspace/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/CoreBluetoothMock/CBMCentralManagerMock.swift:1481:31: warning: capture of 'self' with non-sendable type 'CBMPeripheralMock?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
874 | ///
875 | /// Unless required, this class should not be accessed directly, but rather by the common protocol ``CBMPeripheral``.
876 | @objc open class CBMPeripheralMock: CBMPeer, CBMPeripheral {
| `- note: class 'CBMPeripheralMock' does not conform to the 'Sendable' protocol
877 | /// The parent central manager.
878 | private let manager: CBMCentralManagerMock
:
1479 | case .failure(let error):
1480 | queue.asyncAfter(deadline: .now() + interval) { [weak self] in
1481 | if let self = self, self.state == .connected {
| `- warning: capture of 'self' with non-sendable type 'CBMPeripheralMock?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
1482 | self.delegate?.peripheral(self,
1483 | didWriteValueFor: descriptor,
/Users/admin/builder/spi-builder-workspace/CoreBluetoothMock/CBMCentralManagerMock.swift:1483:65: warning: capture of 'descriptor' with non-sendable type 'CBMDescriptor' in a `@Sendable` closure; this is an error in the Swift 6 language mode
1481 | if let self = self, self.state == .connected {
1482 | self.delegate?.peripheral(self,
1483 | didWriteValueFor: descriptor,
| `- warning: capture of 'descriptor' with non-sendable type 'CBMDescriptor' in a `@Sendable` closure; this is an error in the Swift 6 language mode
1484 | error: error)
1485 | }
/Users/admin/builder/spi-builder-workspace/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/CoreBluetoothMock/CBMCentralManagerMock.swift:1524:31: warning: capture of 'self' with non-sendable type 'CBMPeripheralMock?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
874 | ///
875 | /// Unless required, this class should not be accessed directly, but rather by the common protocol ``CBMPeripheral``.
876 | @objc open class CBMPeripheralMock: CBMPeer, CBMPeripheral {
| `- note: class 'CBMPeripheralMock' does not conform to the 'Sendable' protocol
877 | /// The parent central manager.
878 | private let manager: CBMCentralManagerMock
:
1522 | case .success:
1523 | queue.asyncAfter(deadline: .now() + interval) { [weak self] in
1524 | if let self = self, self.state == .connected {
| `- warning: capture of 'self' with non-sendable type 'CBMPeripheralMock?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
1525 | characteristic.isNotifying = enabled
1526 | self.delegate?.peripheral(self,
/Users/admin/builder/spi-builder-workspace/CoreBluetoothMock/CBMCentralManagerMock.swift:1525:21: warning: capture of 'characteristic' with non-sendable type 'CBMCharacteristic' in a `@Sendable` closure; this is an error in the Swift 6 language mode
1523 | queue.asyncAfter(deadline: .now() + interval) { [weak self] in
1524 | if let self = self, self.state == .connected {
1525 | characteristic.isNotifying = enabled
| `- warning: capture of 'characteristic' with non-sendable type 'CBMCharacteristic' in a `@Sendable` closure; this is an error in the Swift 6 language mode
1526 | self.delegate?.peripheral(self,
1527 | didUpdateNotificationStateFor: characteristic,
/Users/admin/builder/spi-builder-workspace/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/CoreBluetoothMock/CBMCentralManagerMock.swift:1529:21: warning: capture of 'mockCharacteristic' with non-sendable type 'CBMCharacteristicMock' in a `@Sendable` closure; this is an error in the Swift 6 language mode
1527 | didUpdateNotificationStateFor: characteristic,
1528 | error: nil)
1529 | mockCharacteristic.isNotifying = enabled
| `- warning: capture of 'mockCharacteristic' with non-sendable type 'CBMCharacteristicMock' in a `@Sendable` closure; this is an error in the Swift 6 language mode
1530 | self.mock.connectionDelegate?.peripheral(self.mock,
1531 | didUpdateNotificationStateFor: mockCharacteristic,
/Users/admin/builder/spi-builder-workspace/CoreBluetoothMock/CBMAttributes.swift:284:12: note: class 'CBMCharacteristicMock' does not conform to the 'Sendable' protocol
282 |
283 | /// Mock implementation of ``CBMCharacteristic``.
284 | open class CBMCharacteristicMock: CBMCharacteristic {
| `- note: class 'CBMCharacteristicMock' does not conform to the 'Sendable' protocol
285 |
286 | open override var descriptors: [CBMDescriptor]? {
/Users/admin/builder/spi-builder-workspace/CoreBluetoothMock/CBMCentralManagerMock.swift:1537:31: warning: capture of 'self' with non-sendable type 'CBMPeripheralMock?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
874 | ///
875 | /// Unless required, this class should not be accessed directly, but rather by the common protocol ``CBMPeripheral``.
876 | @objc open class CBMPeripheralMock: CBMPeer, CBMPeripheral {
| `- note: class 'CBMPeripheralMock' does not conform to the 'Sendable' protocol
877 | /// The parent central manager.
878 | private let manager: CBMCentralManagerMock
:
1535 | case .failure(let error):
1536 | queue.asyncAfter(deadline: .now() + interval) { [weak self] in
1537 | if let self = self, self.state == .connected {
| `- warning: capture of 'self' with non-sendable type 'CBMPeripheralMock?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
1538 | self.delegate?.peripheral(self,
1539 | didUpdateNotificationStateFor: characteristic,
/Users/admin/builder/spi-builder-workspace/CoreBluetoothMock/CBMCentralManagerMock.swift:1539:78: warning: capture of 'characteristic' with non-sendable type 'CBMCharacteristic' in a `@Sendable` closure; this is an error in the Swift 6 language mode
1537 | if let self = self, self.state == .connected {
1538 | self.delegate?.peripheral(self,
1539 | didUpdateNotificationStateFor: characteristic,
| `- warning: capture of 'characteristic' with non-sendable type 'CBMCharacteristic' in a `@Sendable` closure; this is an error in the Swift 6 language mode
1540 | error: error)
1541 | self.mock.connectionDelegate?.peripheral(self.mock,
/Users/admin/builder/spi-builder-workspace/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/CoreBluetoothMock/CBMCentralManagerMock.swift:1542:68: warning: capture of 'mockCharacteristic' with non-sendable type 'CBMCharacteristicMock' in a `@Sendable` closure; this is an error in the Swift 6 language mode
1540 | error: error)
1541 | self.mock.connectionDelegate?.peripheral(self.mock,
1542 | didUpdateNotificationStateFor: mockCharacteristic,
| `- warning: capture of 'mockCharacteristic' with non-sendable type 'CBMCharacteristicMock' in a `@Sendable` closure; this is an error in the Swift 6 language mode
1543 | error: error)
1544 | }
/Users/admin/builder/spi-builder-workspace/CoreBluetoothMock/CBMAttributes.swift:284:12: note: class 'CBMCharacteristicMock' does not conform to the 'Sendable' protocol
282 |
283 | /// Mock implementation of ``CBMCharacteristic``.
284 | open class CBMCharacteristicMock: CBMCharacteristic {
| `- note: class 'CBMCharacteristicMock' does not conform to the 'Sendable' protocol
285 |
286 | open override var descriptors: [CBMDescriptor]? {
/Users/admin/builder/spi-builder-workspace/CoreBluetoothMock/CBMCentralManagerMock.swift:1555:27: warning: capture of 'self' with non-sendable type 'CBMPeripheralMock?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
874 | ///
875 | /// Unless required, this class should not be accessed directly, but rather by the common protocol ``CBMPeripheral``.
876 | @objc open class CBMPeripheralMock: CBMPeer, CBMPeripheral {
| `- note: class 'CBMPeripheralMock' does not conform to the 'Sendable' protocol
877 | /// The parent central manager.
878 | private let manager: CBMCentralManagerMock
:
1553 | guard manager.ensurePoweredOn() else { return }
1554 | queue.async { [weak self] in
1555 | if let self = self, self.state == .connected {
| `- warning: capture of 'self' with non-sendable type 'CBMPeripheralMock?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
1556 | let rssi = self.mock.proximity.RSSI
1557 | let delta = CBMCentralManagerMock.rssiDeviation
/Users/admin/builder/spi-builder-workspace/CoreBluetoothMock/CBMCentralManagerMock.swift:137:16: warning: sending 'config' risks causing data races; this is an error in the Swift 6 language mode
135 | // If the first advertising is to be delayed, create a
136 | // temporary timer that will call the initial data.
137 | if config.delay > 0 {
| |- warning: sending 'config' risks causing data races; this is an error in the Swift 6 language mode
| `- note: task-isolated 'config' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
138 | advertisementTimers[config] = Timer.scheduledTimer(
139 | timeInterval: config.delay,
/Users/admin/builder/spi-builder-workspace/CoreBluetoothMock/CBMCentralManagerMock.swift:142:32: warning: sending 'mock' risks causing data races; this is an error in the Swift 6 language mode
140 | target: self,
141 | selector: #selector(self.schedule(timer:)),
142 | userInfo: (mock, config),
| |- warning: sending 'mock' risks causing data races; this is an error in the Swift 6 language mode
| `- note: task-isolated 'mock' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
143 | repeats: false)
144 | } else {
[13/20] Compiling CoreBluetoothMock CBMPeripheralSpecDelegate.swift
/Users/admin/builder/spi-builder-workspace/CoreBluetoothMock/CBMPeripheralSpecDelegate.swift:283:20: warning: 'peripheral(_:didReceiveIncludedServiceDiscoveryRequest:for:)' is deprecated: Use similar method with CBMServiceMock parameter type.
281 | for service: CBMServiceMock)
282 | -> Result<Void, Error> {
283 | return peripheral(p, didReceiveIncludedServiceDiscoveryRequest: serviceUUIDs, for: service as CBMService)
| `- warning: 'peripheral(_:didReceiveIncludedServiceDiscoveryRequest:for:)' is deprecated: Use similar method with CBMServiceMock parameter type.
284 | }
285 |
/Users/admin/builder/spi-builder-workspace/CoreBluetoothMock/CBMPeripheralSpecDelegate.swift:297:20: warning: 'peripheral(_:didReceiveCharacteristicsDiscoveryRequest:for:)' is deprecated: Use similar method with CBMServiceMock parameter type.
295 | for service: CBMServiceMock)
296 | -> Result<Void, Error> {
297 | return peripheral(p, didReceiveCharacteristicsDiscoveryRequest: characteristicUUIDs, for: service as CBMService)
| `- warning: 'peripheral(_:didReceiveCharacteristicsDiscoveryRequest:for:)' is deprecated: Use similar method with CBMServiceMock parameter type.
298 | }
299 |
/Users/admin/builder/spi-builder-workspace/CoreBluetoothMock/CBMPeripheralSpecDelegate.swift:309:20: warning: 'peripheral(_:didReceiveDescriptorsDiscoveryRequestFor:)' is deprecated: Use similar method with CBMCharacteristicMock parameter type.
307 | didReceiveDescriptorsDiscoveryRequestFor characteristic: CBMCharacteristicMock)
308 | -> Result<Void, Error> {
309 | return peripheral(p, didReceiveDescriptorsDiscoveryRequestFor: characteristic as CBMCharacteristic)
| `- warning: 'peripheral(_:didReceiveDescriptorsDiscoveryRequestFor:)' is deprecated: Use similar method with CBMCharacteristicMock parameter type.
310 | }
311 |
/Users/admin/builder/spi-builder-workspace/CoreBluetoothMock/CBMPeripheralSpecDelegate.swift:321:20: warning: 'peripheral(_:didReceiveReadRequestFor:)' is deprecated: Use similar method with CBMCharacteristicMock parameter type.
319 | didReceiveReadRequestFor characteristic: CBMCharacteristicMock)
320 | -> Result<Data, Error> {
321 | return peripheral(p, didReceiveReadRequestFor: characteristic as CBMCharacteristic)
| `- warning: 'peripheral(_:didReceiveReadRequestFor:)' is deprecated: Use similar method with CBMCharacteristicMock parameter type.
322 | }
323 |
/Users/admin/builder/spi-builder-workspace/CoreBluetoothMock/CBMPeripheralSpecDelegate.swift:333:20: warning: 'peripheral(_:didReceiveReadRequestFor:)' is deprecated: Use similar method with CBMDescriptorMock parameter type.
331 | didReceiveReadRequestFor descriptor: CBMDescriptorMock)
332 | -> Result<Data, Error> {
333 | return peripheral(p, didReceiveReadRequestFor: descriptor as CBMDescriptor)
| `- warning: 'peripheral(_:didReceiveReadRequestFor:)' is deprecated: Use similar method with CBMDescriptorMock parameter type.
334 | }
335 |
/Users/admin/builder/spi-builder-workspace/CoreBluetoothMock/CBMPeripheralSpecDelegate.swift:347:20: warning: 'peripheral(_:didReceiveWriteRequestFor:data:)' is deprecated: Use similar method with CBMCharacteristicMock parameter type.
345 | data: Data)
346 | -> Result<Void, Error> {
347 | return peripheral(p, didReceiveWriteRequestFor: characteristic as CBMCharacteristic, data: data)
| `- warning: 'peripheral(_:didReceiveWriteRequestFor:data:)' is deprecated: Use similar method with CBMCharacteristicMock parameter type.
348 | }
349 |
/Users/admin/builder/spi-builder-workspace/CoreBluetoothMock/CBMPeripheralSpecDelegate.swift:359:9: warning: 'peripheral(_:didReceiveWriteCommandFor:data:)' is deprecated: Use similar method with CBMCharacteristicMock parameter type.
357 | didReceiveWriteCommandFor characteristic: CBMCharacteristicMock,
358 | data: Data) {
359 | peripheral(p, didReceiveWriteCommandFor: characteristic as CBMCharacteristic, data: data)
| `- warning: 'peripheral(_:didReceiveWriteCommandFor:data:)' is deprecated: Use similar method with CBMCharacteristicMock parameter type.
360 | }
361 |
/Users/admin/builder/spi-builder-workspace/CoreBluetoothMock/CBMPeripheralSpecDelegate.swift:373:20: warning: 'peripheral(_:didReceiveWriteRequestFor:data:)' is deprecated: Use similar method with CBMDescriptorMock parameter type.
371 | data: Data)
372 | -> Result<Void, Error> {
373 | return peripheral(p, didReceiveWriteRequestFor: descriptor as CBMDescriptor, data: data)
| `- warning: 'peripheral(_:didReceiveWriteRequestFor:data:)' is deprecated: Use similar method with CBMDescriptorMock parameter type.
374 | }
375 |
/Users/admin/builder/spi-builder-workspace/CoreBluetoothMock/CBMPeripheralSpecDelegate.swift:396:20: warning: 'peripheral(_:didReceiveSetNotifyRequest:for:)' is deprecated: Use similar method with CBMCharacteristicMock parameter type.
394 | for characteristic: CBMCharacteristicMock)
395 | -> Result<Void, Error> {
396 | return peripheral(p, didReceiveSetNotifyRequest: enabled, for: characteristic as CBMCharacteristic)
| `- warning: 'peripheral(_:didReceiveSetNotifyRequest:for:)' is deprecated: Use similar method with CBMCharacteristicMock parameter type.
397 | }
398 |
[14/20] Compiling CoreBluetoothMock CBMPeripheralDelegateProxy.swift
[15/20] Compiling CoreBluetoothMock CBMAttributes.swift
/Users/admin/builder/spi-builder-workspace/CoreBluetoothMock/CBMAttributes.swift:454:17: warning: let 'uninitializedPeripheral' is not concurrency-safe because non-'Sendable' type 'CBMPeripheralUninitialized' may have shared mutable state; this is an error in the Swift 6 language mode
452 | // MARK: - Mocking uninitialized objects
453 |
454 | fileprivate let uninitializedPeripheral = CBMPeripheralUninitialized()
| |- warning: let 'uninitializedPeripheral' is not concurrency-safe because non-'Sendable' type 'CBMPeripheralUninitialized' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: annotate 'uninitializedPeripheral' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
455 | fileprivate let uninitializedService = CBMServiceUninitialized()
456 | fileprivate let uninitializedCharacteristic = CBMCharacteristicUninitialized()
457 |
458 | fileprivate class CBMPeripheralUninitialized: CBMPeripheral, CustomDebugStringConvertible {
| `- note: class 'CBMPeripheralUninitialized' does not conform to the 'Sendable' protocol
459 | let debugDescription: String = "<uninitialized>"
460 |
/Users/admin/builder/spi-builder-workspace/CoreBluetoothMock/CBMAttributes.swift:455:17: warning: let 'uninitializedService' is not concurrency-safe because non-'Sendable' type 'CBMServiceUninitialized' may have shared mutable state; this is an error in the Swift 6 language mode
453 |
454 | fileprivate let uninitializedPeripheral = CBMPeripheralUninitialized()
455 | fileprivate let uninitializedService = CBMServiceUninitialized()
| |- warning: let 'uninitializedService' is not concurrency-safe because non-'Sendable' type 'CBMServiceUninitialized' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: annotate 'uninitializedService' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
456 | fileprivate let uninitializedCharacteristic = CBMCharacteristicUninitialized()
457 |
:
527 | }
528 |
529 | fileprivate class CBMServiceUninitialized: CBMService {
| `- note: class 'CBMServiceUninitialized' does not conform to the 'Sendable' protocol
530 | override var debugDescription: String { return "<uninitialized>" }
531 | override var uuid: CBMUUID { uninitialized() }
/Users/admin/builder/spi-builder-workspace/CoreBluetoothMock/CBMAttributes.swift:456:17: warning: let 'uninitializedCharacteristic' is not concurrency-safe because non-'Sendable' type 'CBMCharacteristicUninitialized' may have shared mutable state; this is an error in the Swift 6 language mode
454 | fileprivate let uninitializedPeripheral = CBMPeripheralUninitialized()
455 | fileprivate let uninitializedService = CBMServiceUninitialized()
456 | fileprivate let uninitializedCharacteristic = CBMCharacteristicUninitialized()
| |- warning: let 'uninitializedCharacteristic' is not concurrency-safe because non-'Sendable' type 'CBMCharacteristicUninitialized' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: annotate 'uninitializedCharacteristic' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
457 |
458 | fileprivate class CBMPeripheralUninitialized: CBMPeripheral, CustomDebugStringConvertible {
:
545 | }
546 |
547 | fileprivate class CBMCharacteristicUninitialized: CBMCharacteristic {
| `- note: class 'CBMCharacteristicUninitialized' does not conform to the 'Sendable' protocol
548 | override var debugDescription: String { return "<uninitialized>" }
549 | override var uuid: CBMUUID { uninitialized() }
/Users/admin/builder/spi-builder-workspace/CoreBluetoothMock/CBMCentralManagerMock.swift:64:38: warning: static property 'bluetoothAuthorization' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
62 | ///
63 | /// As `CBManagerAuthorization` was added in iOS 13, the raw value is kept.
64 | internal private(set) static var bluetoothAuthorization: Int? {
| |- warning: static property 'bluetoothAuthorization' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'bluetoothAuthorization' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: annotate 'bluetoothAuthorization' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
65 | didSet {
66 | notifyManagers()
[16/20] Compiling CoreBluetoothMock CBMCentralManager.swift
/Users/admin/builder/spi-builder-workspace/CoreBluetoothMock/CBMAttributes.swift:454:17: warning: let 'uninitializedPeripheral' is not concurrency-safe because non-'Sendable' type 'CBMPeripheralUninitialized' may have shared mutable state; this is an error in the Swift 6 language mode
452 | // MARK: - Mocking uninitialized objects
453 |
454 | fileprivate let uninitializedPeripheral = CBMPeripheralUninitialized()
| |- warning: let 'uninitializedPeripheral' is not concurrency-safe because non-'Sendable' type 'CBMPeripheralUninitialized' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: annotate 'uninitializedPeripheral' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
455 | fileprivate let uninitializedService = CBMServiceUninitialized()
456 | fileprivate let uninitializedCharacteristic = CBMCharacteristicUninitialized()
457 |
458 | fileprivate class CBMPeripheralUninitialized: CBMPeripheral, CustomDebugStringConvertible {
| `- note: class 'CBMPeripheralUninitialized' does not conform to the 'Sendable' protocol
459 | let debugDescription: String = "<uninitialized>"
460 |
/Users/admin/builder/spi-builder-workspace/CoreBluetoothMock/CBMAttributes.swift:455:17: warning: let 'uninitializedService' is not concurrency-safe because non-'Sendable' type 'CBMServiceUninitialized' may have shared mutable state; this is an error in the Swift 6 language mode
453 |
454 | fileprivate let uninitializedPeripheral = CBMPeripheralUninitialized()
455 | fileprivate let uninitializedService = CBMServiceUninitialized()
| |- warning: let 'uninitializedService' is not concurrency-safe because non-'Sendable' type 'CBMServiceUninitialized' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: annotate 'uninitializedService' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
456 | fileprivate let uninitializedCharacteristic = CBMCharacteristicUninitialized()
457 |
:
527 | }
528 |
529 | fileprivate class CBMServiceUninitialized: CBMService {
| `- note: class 'CBMServiceUninitialized' does not conform to the 'Sendable' protocol
530 | override var debugDescription: String { return "<uninitialized>" }
531 | override var uuid: CBMUUID { uninitialized() }
/Users/admin/builder/spi-builder-workspace/CoreBluetoothMock/CBMAttributes.swift:456:17: warning: let 'uninitializedCharacteristic' is not concurrency-safe because non-'Sendable' type 'CBMCharacteristicUninitialized' may have shared mutable state; this is an error in the Swift 6 language mode
454 | fileprivate let uninitializedPeripheral = CBMPeripheralUninitialized()
455 | fileprivate let uninitializedService = CBMServiceUninitialized()
456 | fileprivate let uninitializedCharacteristic = CBMCharacteristicUninitialized()
| |- warning: let 'uninitializedCharacteristic' is not concurrency-safe because non-'Sendable' type 'CBMCharacteristicUninitialized' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: annotate 'uninitializedCharacteristic' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
457 |
458 | fileprivate class CBMPeripheralUninitialized: CBMPeripheral, CustomDebugStringConvertible {
:
545 | }
546 |
547 | fileprivate class CBMCharacteristicUninitialized: CBMCharacteristic {
| `- note: class 'CBMCharacteristicUninitialized' does not conform to the 'Sendable' protocol
548 | override var debugDescription: String { return "<uninitialized>" }
549 | override var uuid: CBMUUID { uninitialized() }
/Users/admin/builder/spi-builder-workspace/CoreBluetoothMock/CBMCentralManagerMock.swift:64:38: warning: static property 'bluetoothAuthorization' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
62 | ///
63 | /// As `CBManagerAuthorization` was added in iOS 13, the raw value is kept.
64 | internal private(set) static var bluetoothAuthorization: Int? {
| |- warning: static property 'bluetoothAuthorization' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'bluetoothAuthorization' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: annotate 'bluetoothAuthorization' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
65 | didSet {
66 | notifyManagers()
[17/20] Compiling CoreBluetoothMock CBMPeer.swift
[18/20] Compiling CoreBluetoothMock CBMPeripheral.swift
[19/20] Compiling CoreBluetoothMock CBMPeripheralSpec.swift
[20/20] Compiling CoreBluetoothMock CBMPeripheralPreview.swift
Build complete! (22.55s)
Build complete.
{
"dependencies" : [
{
"identity" : "swift-docc-plugin",
"requirement" : {
"range" : [
{
"lower_bound" : "1.0.0",
"upper_bound" : "2.0.0"
}
]
},
"type" : "sourceControl",
"url" : "https://github.com/apple/swift-docc-plugin"
}
],
"manifest_display_name" : "CoreBluetoothMock",
"name" : "CoreBluetoothMock",
"path" : "/Users/admin/builder/spi-builder-workspace",
"platforms" : [
{
"name" : "macos",
"version" : "10.13"
},
{
"name" : "ios",
"version" : "11.0"
},
{
"name" : "watchos",
"version" : "4.0"
},
{
"name" : "tvos",
"version" : "11.0"
}
],
"products" : [
{
"name" : "CoreBluetoothMock",
"targets" : [
"CoreBluetoothMock"
],
"type" : {
"library" : [
"automatic"
]
}
}
],
"swift_languages_versions" : [
"5"
],
"targets" : [
{
"c99name" : "CoreBluetoothMock",
"module_type" : "SwiftTarget",
"name" : "CoreBluetoothMock",
"path" : "CoreBluetoothMock",
"product_memberships" : [
"CoreBluetoothMock"
],
"sources" : [
"CBMAttributes.swift",
"CBMCentralManager.swift",
"CBMCentralManagerDelegate.swift",
"CBMCentralManagerDelegateProxy.swift",
"CBMCentralManagerFactory.swift",
"CBMCentralManagerMock.swift",
"CBMCentralManagerNative.swift",
"CBMManagerTypes.swift",
"CBMPeer.swift",
"CBMPeripheral.swift",
"CBMPeripheralDelegate.swift",
"CBMPeripheralDelegateProxy.swift",
"CBMPeripheralPreview.swift",
"CBMPeripheralSpec.swift",
"CBMPeripheralSpecDelegate.swift"
],
"type" : "library"
}
],
"tools_version" : "5.6"
}
Done.