Build Information
Successful build of iOSMcuManagerLibrary, reference main (8f94fd
), with Swift 6.0 for macOS (SPM) on 4 Nov 2024 17:40:45 UTC.
Swift 6 data race errors: 18
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
/Users/admin/builder/spi-builder-workspace/Source/Managers/DFU/FirmwareUpgradeManager.swift:187:80: warning: capture of 'state' with non-sendable type 'FirmwareUpgradeState' in a `@Sendable` closure; this is an error in the Swift 6 language mode
185 | if state != previousState {
186 | DispatchQueue.main.async { [weak self] in
187 | self?.delegate?.upgradeStateDidChange(from: previousState, to: state)
| `- warning: capture of 'state' with non-sendable type 'FirmwareUpgradeState' in a `@Sendable` closure; this is an error in the Swift 6 language mode
188 | }
189 | }
:
1215 | //******************************************************************************
1216 |
1217 | public enum FirmwareUpgradeState {
| `- note: consider making enum 'FirmwareUpgradeState' conform to the 'Sendable' protocol
1218 | case none
1219 | case requestMcuMgrParameters, bootloaderInfo, eraseAppSettings
/Users/admin/builder/spi-builder-workspace/Source/Managers/DFU/FirmwareUpgradeManager.swift:235:21: warning: capture of 'self' with non-sendable type 'FirmwareUpgradeManager?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
10 | // MARK: - FirmwareUpgradeManager
11 |
12 | public class FirmwareUpgradeManager: FirmwareUpgradeController, ConnectionObserver {
| `- note: class 'FirmwareUpgradeManager' does not conform to the 'Sendable' protocol
13 |
14 | // MARK: Private Properties
:
233 | // Allow Library Apps to show 100% Progress in this case.
234 | DispatchQueue.main.async { [weak self] in
235 | self?.delegate?.uploadProgressDidChange(bytesSent: 100, imageSize: 100,
| `- warning: capture of 'self' with non-sendable type 'FirmwareUpgradeManager?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
236 | timestamp: Date())
237 | }
/Users/admin/builder/spi-builder-workspace/Source/Extensions/Data+McuManager.swift:41:27: warning: static property 'prepend0x' is not concurrency-safe because non-'Sendable' type 'Data.HexEncodingOptions' may have shared mutable state; this is an error in the Swift 6 language mode
36 | // MARK: - Hex Encoding
37 |
38 | struct HexEncodingOptions: OptionSet {
| `- note: consider making struct 'HexEncodingOptions' conform to the 'Sendable' protocol
39 | public static let upperCase = HexEncodingOptions(rawValue: 1 << 0)
40 | public static let byteSpacing = HexEncodingOptions(rawValue: 1 << 1)
41 | public static let prepend0x = HexEncodingOptions(rawValue: 1 << 2)
| |- warning: static property 'prepend0x' is not concurrency-safe because non-'Sendable' type 'Data.HexEncodingOptions' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: annotate 'prepend0x' 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
42 | public static let twoByteSpacing = HexEncodingOptions(rawValue: 1 << 3)
43 | public static let reverseEndianness = HexEncodingOptions(rawValue: 1 << 4)
/Users/admin/builder/spi-builder-workspace/Source/Extensions/Data+McuManager.swift:39:27: warning: static property 'upperCase' is not concurrency-safe because non-'Sendable' type 'Data.HexEncodingOptions' may have shared mutable state; this is an error in the Swift 6 language mode
36 | // MARK: - Hex Encoding
37 |
38 | struct HexEncodingOptions: OptionSet {
| `- note: consider making struct 'HexEncodingOptions' conform to the 'Sendable' protocol
39 | public static let upperCase = HexEncodingOptions(rawValue: 1 << 0)
| |- warning: static property 'upperCase' is not concurrency-safe because non-'Sendable' type 'Data.HexEncodingOptions' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: annotate 'upperCase' 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
40 | public static let byteSpacing = HexEncodingOptions(rawValue: 1 << 1)
41 | public static let prepend0x = HexEncodingOptions(rawValue: 1 << 2)
/Users/admin/builder/spi-builder-workspace/Source/Managers/DFU/FirmwareUpgradeManager.swift:322:13: warning: capture of 'self' with non-sendable type 'FirmwareUpgradeManager?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
10 | // MARK: - FirmwareUpgradeManager
11 |
12 | public class FirmwareUpgradeManager: FirmwareUpgradeController, ConnectionObserver {
| `- note: class 'FirmwareUpgradeManager' does not conform to the 'Sendable' protocol
13 |
14 | // MARK: Private Properties
:
320 | paused = false
321 | DispatchQueue.main.async { [weak self] in
322 | self?.delegate?.upgradeDidComplete()
| `- warning: capture of 'self' with non-sendable type 'FirmwareUpgradeManager?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
323 | // Release cyclic reference.
324 | self?.cyclicReferenceHolder = nil
/Users/admin/builder/spi-builder-workspace/Source/Managers/DFU/FirmwareUpgradeManager.swift:339:13: warning: capture of 'self' with non-sendable type 'FirmwareUpgradeManager?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
10 | // MARK: - FirmwareUpgradeManager
11 |
12 | public class FirmwareUpgradeManager: FirmwareUpgradeController, ConnectionObserver {
| `- note: class 'FirmwareUpgradeManager' does not conform to the 'Sendable' protocol
13 |
14 | // MARK: Private Properties
:
337 | paused = false
338 | DispatchQueue.main.async { [weak self] in
339 | self?.delegate?.upgradeDidFail(inState: tmp, with: error)
| `- warning: capture of 'self' with non-sendable type 'FirmwareUpgradeManager?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
340 | // Release cyclic reference.
341 | self?.cyclicReferenceHolder = nil
/Users/admin/builder/spi-builder-workspace/Source/Managers/DFU/FirmwareUpgradeManager.swift:339:53: warning: capture of 'tmp' with non-sendable type 'FirmwareUpgradeState' in a `@Sendable` closure; this is an error in the Swift 6 language mode
337 | paused = false
338 | DispatchQueue.main.async { [weak self] in
339 | self?.delegate?.upgradeDidFail(inState: tmp, with: error)
| `- warning: capture of 'tmp' with non-sendable type 'FirmwareUpgradeState' in a `@Sendable` closure; this is an error in the Swift 6 language mode
340 | // Release cyclic reference.
341 | self?.cyclicReferenceHolder = nil
:
1215 | //******************************************************************************
1216 |
1217 | public enum FirmwareUpgradeState {
| `- note: consider making enum 'FirmwareUpgradeState' conform to the 'Sendable' protocol
1218 | case none
1219 | case requestMcuMgrParameters, bootloaderInfo, eraseAppSettings
/Users/admin/builder/spi-builder-workspace/Source/Managers/DFU/FirmwareUpgradeManager.swift:951:13: warning: capture of 'self' with non-sendable type 'FirmwareUpgradeManager?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
10 | // MARK: - FirmwareUpgradeManager
11 |
12 | public class FirmwareUpgradeManager: FirmwareUpgradeController, ConnectionObserver {
| `- note: class 'FirmwareUpgradeManager' does not conform to the 'Sendable' protocol
13 |
14 | // MARK: Private Properties
:
949 | self.log(msg: "Waiting \(Int(configuration.estimatedSwapTime)) seconds reconnecting...", atLevel: .info)
950 | DispatchQueue.main.asyncAfter(deadline: .now() + remainingTime) { [weak self] in
951 | self?.log(msg: "Reconnecting...", atLevel: .info)
| `- warning: capture of 'self' with non-sendable type 'FirmwareUpgradeManager?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
952 | self?.reconnect()
953 | }
/Users/admin/builder/spi-builder-workspace/Source/Managers/DFU/FirmwareUpgradeManager.swift:1090:13: warning: capture of 'self' with non-sendable type 'FirmwareUpgradeManager?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
10 | // MARK: - FirmwareUpgradeManager
11 |
12 | public class FirmwareUpgradeManager: FirmwareUpgradeController, ConnectionObserver {
| `- note: class 'FirmwareUpgradeManager' does not conform to the 'Sendable' protocol
13 |
14 | // MARK: Private Properties
:
1088 |
1089 | DispatchQueue.main.async { [weak self] in
1090 | self?.delegate?.uploadProgressDidChange(bytesSent: bytesSent, imageSize: imageSize, timestamp: timestamp)
| `- warning: capture of 'self' with non-sendable type 'FirmwareUpgradeManager?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
1091 | }
1092 | }
/Users/admin/builder/spi-builder-workspace/Source/Managers/DFU/FirmwareUpgradeManager.swift:1101:13: warning: capture of 'self' with non-sendable type 'FirmwareUpgradeManager?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
10 | // MARK: - FirmwareUpgradeManager
11 |
12 | public class FirmwareUpgradeManager: FirmwareUpgradeController, ConnectionObserver {
| `- note: class 'FirmwareUpgradeManager' does not conform to the 'Sendable' protocol
13 |
14 | // MARK: Private Properties
:
1099 | public func uploadDidCancel() {
1100 | DispatchQueue.main.async { [weak self] in
1101 | self?.delegate?.upgradeDidCancel(state: .none)
| `- warning: capture of 'self' with non-sendable type 'FirmwareUpgradeManager?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
1102 | }
1103 | state = .none
/Users/admin/builder/spi-builder-workspace/Source/Managers/DFU/FirmwareUpgradeManager.swift:187:17: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
185 | if state != previousState {
186 | DispatchQueue.main.async { [weak self] in
187 | self?.delegate?.upgradeStateDidChange(from: previousState, to: state)
| |- warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
| `- note: task-isolated 'self' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
188 | }
189 | }
/Users/admin/builder/spi-builder-workspace/Source/Managers/DFU/FirmwareUpgradeManager.swift:187:61: warning: sending 'previousState' risks causing data races; this is an error in the Swift 6 language mode
185 | if state != previousState {
186 | DispatchQueue.main.async { [weak self] in
187 | self?.delegate?.upgradeStateDidChange(from: previousState, to: state)
| |- warning: sending 'previousState' risks causing data races; this is an error in the Swift 6 language mode
| `- note: task-isolated 'previousState' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
188 | }
189 | }
/Users/admin/builder/spi-builder-workspace/Source/Managers/DFU/FirmwareUpgradeManager.swift:187:80: warning: sending 'state' risks causing data races; this is an error in the Swift 6 language mode
185 | if state != previousState {
186 | DispatchQueue.main.async { [weak self] in
187 | self?.delegate?.upgradeStateDidChange(from: previousState, to: state)
| |- warning: sending 'state' risks causing data races; this is an error in the Swift 6 language mode
| `- note: task-isolated 'state' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
188 | }
189 | }
/Users/admin/builder/spi-builder-workspace/Source/Managers/DFU/FirmwareUpgradeManager.swift:322:13: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
320 | paused = false
321 | DispatchQueue.main.async { [weak self] in
322 | self?.delegate?.upgradeDidComplete()
| |- warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
| `- note: task-isolated 'self' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
323 | // Release cyclic reference.
324 | self?.cyclicReferenceHolder = nil
/Users/admin/builder/spi-builder-workspace/Source/Managers/DFU/FirmwareUpgradeManager.swift:235:21: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
233 | // Allow Library Apps to show 100% Progress in this case.
234 | DispatchQueue.main.async { [weak self] in
235 | self?.delegate?.uploadProgressDidChange(bytesSent: 100, imageSize: 100,
| |- warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
| `- note: task-isolated 'self' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
236 | timestamp: Date())
237 | }
/Users/admin/builder/spi-builder-workspace/Source/Managers/DFU/FirmwareUpgradeManager.swift:339:13: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
337 | paused = false
338 | DispatchQueue.main.async { [weak self] in
339 | self?.delegate?.upgradeDidFail(inState: tmp, with: error)
| |- warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
| `- note: task-isolated 'self' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
340 | // Release cyclic reference.
341 | self?.cyclicReferenceHolder = nil
/Users/admin/builder/spi-builder-workspace/Source/Managers/DFU/FirmwareUpgradeManager.swift:339:53: warning: sending 'tmp' risks causing data races; this is an error in the Swift 6 language mode
337 | paused = false
338 | DispatchQueue.main.async { [weak self] in
339 | self?.delegate?.upgradeDidFail(inState: tmp, with: error)
| |- warning: sending 'tmp' risks causing data races; this is an error in the Swift 6 language mode
| `- note: task-isolated 'tmp' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
340 | // Release cyclic reference.
341 | self?.cyclicReferenceHolder = nil
/Users/admin/builder/spi-builder-workspace/Source/Managers/DFU/FirmwareUpgradeManager.swift:951:13: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
949 | self.log(msg: "Waiting \(Int(configuration.estimatedSwapTime)) seconds reconnecting...", atLevel: .info)
950 | DispatchQueue.main.asyncAfter(deadline: .now() + remainingTime) { [weak self] in
951 | self?.log(msg: "Reconnecting...", atLevel: .info)
| |- warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
| `- note: task-isolated 'self' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
952 | self?.reconnect()
953 | }
/Users/admin/builder/spi-builder-workspace/Source/Managers/DFU/FirmwareUpgradeManager.swift:1090:13: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
1088 |
1089 | DispatchQueue.main.async { [weak self] in
1090 | self?.delegate?.uploadProgressDidChange(bytesSent: bytesSent, imageSize: imageSize, timestamp: timestamp)
| |- warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
| `- note: task-isolated 'self' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
1091 | }
1092 | }
/Users/admin/builder/spi-builder-workspace/Source/Managers/DFU/FirmwareUpgradeManager.swift:1101:13: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
1099 | public func uploadDidCancel() {
1100 | DispatchQueue.main.async { [weak self] in
1101 | self?.delegate?.upgradeDidCancel(state: .none)
| |- warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
| `- note: task-isolated 'self' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
1102 | }
1103 | state = .none
[70/82] Compiling iOSMcuManagerLibrary FirmwareUpgradeManager.swift
/Users/admin/builder/spi-builder-workspace/Source/Managers/DFU/FirmwareUpgradeManager.swift:1195:10: warning: associated value 'invalidResponse' of 'Sendable'-conforming enum 'FirmwareUpgradeError' has non-sendable type 'McuMgrResponse'; this is an error in the Swift 6 language mode
1193 | public enum FirmwareUpgradeError: Error, LocalizedError {
1194 | case unknown(String)
1195 | case invalidResponse(McuMgrResponse)
| `- warning: associated value 'invalidResponse' of 'Sendable'-conforming enum 'FirmwareUpgradeError' has non-sendable type 'McuMgrResponse'; this is an error in the Swift 6 language mode
1196 | case connectionFailedAfterReset
1197 | case untestedImageFound(image: Int, slot: Int)
/Users/admin/builder/spi-builder-workspace/Source/McuMgrResponse.swift:10:12: note: class 'McuMgrResponse' does not conform to the 'Sendable' protocol
8 | import SwiftCBOR
9 |
10 | open class McuMgrResponse: CBORMappable {
| `- note: class 'McuMgrResponse' does not conform to the 'Sendable' protocol
11 |
12 | //**************************************************************************
/Users/admin/builder/spi-builder-workspace/Source/Managers/DFU/FirmwareUpgradeManager.swift:187:17: warning: capture of 'self' with non-sendable type 'FirmwareUpgradeManager?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
10 | // MARK: - FirmwareUpgradeManager
11 |
12 | public class FirmwareUpgradeManager: FirmwareUpgradeController, ConnectionObserver {
| `- note: class 'FirmwareUpgradeManager' does not conform to the 'Sendable' protocol
13 |
14 | // MARK: Private Properties
:
185 | if state != previousState {
186 | DispatchQueue.main.async { [weak self] in
187 | self?.delegate?.upgradeStateDidChange(from: previousState, to: state)
| `- warning: capture of 'self' with non-sendable type 'FirmwareUpgradeManager?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
188 | }
189 | }
/Users/admin/builder/spi-builder-workspace/Source/Managers/DFU/FirmwareUpgradeManager.swift:187:61: warning: capture of 'previousState' with non-sendable type 'FirmwareUpgradeState' in a `@Sendable` closure; this is an error in the Swift 6 language mode
185 | if state != previousState {
186 | DispatchQueue.main.async { [weak self] in
187 | self?.delegate?.upgradeStateDidChange(from: previousState, to: state)
| `- warning: capture of 'previousState' with non-sendable type 'FirmwareUpgradeState' in a `@Sendable` closure; this is an error in the Swift 6 language mode
188 | }
189 | }
:
1215 | //******************************************************************************
1216 |
1217 | public enum FirmwareUpgradeState {
| `- note: consider making enum 'FirmwareUpgradeState' conform to the 'Sendable' protocol
1218 | case none
1219 | case requestMcuMgrParameters, bootloaderInfo, eraseAppSettings
/Users/admin/builder/spi-builder-workspace/Source/Managers/DFU/FirmwareUpgradeManager.swift:187:80: warning: capture of 'state' with non-sendable type 'FirmwareUpgradeState' in a `@Sendable` closure; this is an error in the Swift 6 language mode
185 | if state != previousState {
186 | DispatchQueue.main.async { [weak self] in
187 | self?.delegate?.upgradeStateDidChange(from: previousState, to: state)
| `- warning: capture of 'state' with non-sendable type 'FirmwareUpgradeState' in a `@Sendable` closure; this is an error in the Swift 6 language mode
188 | }
189 | }
:
1215 | //******************************************************************************
1216 |
1217 | public enum FirmwareUpgradeState {
| `- note: consider making enum 'FirmwareUpgradeState' conform to the 'Sendable' protocol
1218 | case none
1219 | case requestMcuMgrParameters, bootloaderInfo, eraseAppSettings
/Users/admin/builder/spi-builder-workspace/Source/Managers/DFU/FirmwareUpgradeManager.swift:235:21: warning: capture of 'self' with non-sendable type 'FirmwareUpgradeManager?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
10 | // MARK: - FirmwareUpgradeManager
11 |
12 | public class FirmwareUpgradeManager: FirmwareUpgradeController, ConnectionObserver {
| `- note: class 'FirmwareUpgradeManager' does not conform to the 'Sendable' protocol
13 |
14 | // MARK: Private Properties
:
233 | // Allow Library Apps to show 100% Progress in this case.
234 | DispatchQueue.main.async { [weak self] in
235 | self?.delegate?.uploadProgressDidChange(bytesSent: 100, imageSize: 100,
| `- warning: capture of 'self' with non-sendable type 'FirmwareUpgradeManager?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
236 | timestamp: Date())
237 | }
/Users/admin/builder/spi-builder-workspace/Source/Extensions/Data+McuManager.swift:41:27: warning: static property 'prepend0x' is not concurrency-safe because non-'Sendable' type 'Data.HexEncodingOptions' may have shared mutable state; this is an error in the Swift 6 language mode
36 | // MARK: - Hex Encoding
37 |
38 | struct HexEncodingOptions: OptionSet {
| `- note: consider making struct 'HexEncodingOptions' conform to the 'Sendable' protocol
39 | public static let upperCase = HexEncodingOptions(rawValue: 1 << 0)
40 | public static let byteSpacing = HexEncodingOptions(rawValue: 1 << 1)
41 | public static let prepend0x = HexEncodingOptions(rawValue: 1 << 2)
| |- warning: static property 'prepend0x' is not concurrency-safe because non-'Sendable' type 'Data.HexEncodingOptions' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: annotate 'prepend0x' 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
42 | public static let twoByteSpacing = HexEncodingOptions(rawValue: 1 << 3)
43 | public static let reverseEndianness = HexEncodingOptions(rawValue: 1 << 4)
/Users/admin/builder/spi-builder-workspace/Source/Extensions/Data+McuManager.swift:39:27: warning: static property 'upperCase' is not concurrency-safe because non-'Sendable' type 'Data.HexEncodingOptions' may have shared mutable state; this is an error in the Swift 6 language mode
36 | // MARK: - Hex Encoding
37 |
38 | struct HexEncodingOptions: OptionSet {
| `- note: consider making struct 'HexEncodingOptions' conform to the 'Sendable' protocol
39 | public static let upperCase = HexEncodingOptions(rawValue: 1 << 0)
| |- warning: static property 'upperCase' is not concurrency-safe because non-'Sendable' type 'Data.HexEncodingOptions' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: annotate 'upperCase' 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
40 | public static let byteSpacing = HexEncodingOptions(rawValue: 1 << 1)
41 | public static let prepend0x = HexEncodingOptions(rawValue: 1 << 2)
/Users/admin/builder/spi-builder-workspace/Source/Managers/DFU/FirmwareUpgradeManager.swift:322:13: warning: capture of 'self' with non-sendable type 'FirmwareUpgradeManager?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
10 | // MARK: - FirmwareUpgradeManager
11 |
12 | public class FirmwareUpgradeManager: FirmwareUpgradeController, ConnectionObserver {
| `- note: class 'FirmwareUpgradeManager' does not conform to the 'Sendable' protocol
13 |
14 | // MARK: Private Properties
:
320 | paused = false
321 | DispatchQueue.main.async { [weak self] in
322 | self?.delegate?.upgradeDidComplete()
| `- warning: capture of 'self' with non-sendable type 'FirmwareUpgradeManager?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
323 | // Release cyclic reference.
324 | self?.cyclicReferenceHolder = nil
/Users/admin/builder/spi-builder-workspace/Source/Managers/DFU/FirmwareUpgradeManager.swift:339:13: warning: capture of 'self' with non-sendable type 'FirmwareUpgradeManager?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
10 | // MARK: - FirmwareUpgradeManager
11 |
12 | public class FirmwareUpgradeManager: FirmwareUpgradeController, ConnectionObserver {
| `- note: class 'FirmwareUpgradeManager' does not conform to the 'Sendable' protocol
13 |
14 | // MARK: Private Properties
:
337 | paused = false
338 | DispatchQueue.main.async { [weak self] in
339 | self?.delegate?.upgradeDidFail(inState: tmp, with: error)
| `- warning: capture of 'self' with non-sendable type 'FirmwareUpgradeManager?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
340 | // Release cyclic reference.
341 | self?.cyclicReferenceHolder = nil
/Users/admin/builder/spi-builder-workspace/Source/Managers/DFU/FirmwareUpgradeManager.swift:339:53: warning: capture of 'tmp' with non-sendable type 'FirmwareUpgradeState' in a `@Sendable` closure; this is an error in the Swift 6 language mode
337 | paused = false
338 | DispatchQueue.main.async { [weak self] in
339 | self?.delegate?.upgradeDidFail(inState: tmp, with: error)
| `- warning: capture of 'tmp' with non-sendable type 'FirmwareUpgradeState' in a `@Sendable` closure; this is an error in the Swift 6 language mode
340 | // Release cyclic reference.
341 | self?.cyclicReferenceHolder = nil
:
1215 | //******************************************************************************
1216 |
1217 | public enum FirmwareUpgradeState {
| `- note: consider making enum 'FirmwareUpgradeState' conform to the 'Sendable' protocol
1218 | case none
1219 | case requestMcuMgrParameters, bootloaderInfo, eraseAppSettings
/Users/admin/builder/spi-builder-workspace/Source/Managers/DFU/FirmwareUpgradeManager.swift:951:13: warning: capture of 'self' with non-sendable type 'FirmwareUpgradeManager?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
10 | // MARK: - FirmwareUpgradeManager
11 |
12 | public class FirmwareUpgradeManager: FirmwareUpgradeController, ConnectionObserver {
| `- note: class 'FirmwareUpgradeManager' does not conform to the 'Sendable' protocol
13 |
14 | // MARK: Private Properties
:
949 | self.log(msg: "Waiting \(Int(configuration.estimatedSwapTime)) seconds reconnecting...", atLevel: .info)
950 | DispatchQueue.main.asyncAfter(deadline: .now() + remainingTime) { [weak self] in
951 | self?.log(msg: "Reconnecting...", atLevel: .info)
| `- warning: capture of 'self' with non-sendable type 'FirmwareUpgradeManager?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
952 | self?.reconnect()
953 | }
/Users/admin/builder/spi-builder-workspace/Source/Managers/DFU/FirmwareUpgradeManager.swift:1090:13: warning: capture of 'self' with non-sendable type 'FirmwareUpgradeManager?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
10 | // MARK: - FirmwareUpgradeManager
11 |
12 | public class FirmwareUpgradeManager: FirmwareUpgradeController, ConnectionObserver {
| `- note: class 'FirmwareUpgradeManager' does not conform to the 'Sendable' protocol
13 |
14 | // MARK: Private Properties
:
1088 |
1089 | DispatchQueue.main.async { [weak self] in
1090 | self?.delegate?.uploadProgressDidChange(bytesSent: bytesSent, imageSize: imageSize, timestamp: timestamp)
| `- warning: capture of 'self' with non-sendable type 'FirmwareUpgradeManager?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
1091 | }
1092 | }
/Users/admin/builder/spi-builder-workspace/Source/Managers/DFU/FirmwareUpgradeManager.swift:1101:13: warning: capture of 'self' with non-sendable type 'FirmwareUpgradeManager?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
10 | // MARK: - FirmwareUpgradeManager
11 |
12 | public class FirmwareUpgradeManager: FirmwareUpgradeController, ConnectionObserver {
| `- note: class 'FirmwareUpgradeManager' does not conform to the 'Sendable' protocol
13 |
14 | // MARK: Private Properties
:
1099 | public func uploadDidCancel() {
1100 | DispatchQueue.main.async { [weak self] in
1101 | self?.delegate?.upgradeDidCancel(state: .none)
| `- warning: capture of 'self' with non-sendable type 'FirmwareUpgradeManager?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
1102 | }
1103 | state = .none
/Users/admin/builder/spi-builder-workspace/Source/Managers/DFU/FirmwareUpgradeManager.swift:187:17: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
185 | if state != previousState {
186 | DispatchQueue.main.async { [weak self] in
187 | self?.delegate?.upgradeStateDidChange(from: previousState, to: state)
| |- warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
| `- note: task-isolated 'self' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
188 | }
189 | }
/Users/admin/builder/spi-builder-workspace/Source/Managers/DFU/FirmwareUpgradeManager.swift:187:61: warning: sending 'previousState' risks causing data races; this is an error in the Swift 6 language mode
185 | if state != previousState {
186 | DispatchQueue.main.async { [weak self] in
187 | self?.delegate?.upgradeStateDidChange(from: previousState, to: state)
| |- warning: sending 'previousState' risks causing data races; this is an error in the Swift 6 language mode
| `- note: task-isolated 'previousState' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
188 | }
189 | }
/Users/admin/builder/spi-builder-workspace/Source/Managers/DFU/FirmwareUpgradeManager.swift:187:80: warning: sending 'state' risks causing data races; this is an error in the Swift 6 language mode
185 | if state != previousState {
186 | DispatchQueue.main.async { [weak self] in
187 | self?.delegate?.upgradeStateDidChange(from: previousState, to: state)
| |- warning: sending 'state' risks causing data races; this is an error in the Swift 6 language mode
| `- note: task-isolated 'state' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
188 | }
189 | }
/Users/admin/builder/spi-builder-workspace/Source/Managers/DFU/FirmwareUpgradeManager.swift:322:13: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
320 | paused = false
321 | DispatchQueue.main.async { [weak self] in
322 | self?.delegate?.upgradeDidComplete()
| |- warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
| `- note: task-isolated 'self' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
323 | // Release cyclic reference.
324 | self?.cyclicReferenceHolder = nil
/Users/admin/builder/spi-builder-workspace/Source/Managers/DFU/FirmwareUpgradeManager.swift:235:21: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
233 | // Allow Library Apps to show 100% Progress in this case.
234 | DispatchQueue.main.async { [weak self] in
235 | self?.delegate?.uploadProgressDidChange(bytesSent: 100, imageSize: 100,
| |- warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
| `- note: task-isolated 'self' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
236 | timestamp: Date())
237 | }
/Users/admin/builder/spi-builder-workspace/Source/Managers/DFU/FirmwareUpgradeManager.swift:339:13: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
337 | paused = false
338 | DispatchQueue.main.async { [weak self] in
339 | self?.delegate?.upgradeDidFail(inState: tmp, with: error)
| |- warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
| `- note: task-isolated 'self' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
340 | // Release cyclic reference.
341 | self?.cyclicReferenceHolder = nil
/Users/admin/builder/spi-builder-workspace/Source/Managers/DFU/FirmwareUpgradeManager.swift:339:53: warning: sending 'tmp' risks causing data races; this is an error in the Swift 6 language mode
337 | paused = false
338 | DispatchQueue.main.async { [weak self] in
339 | self?.delegate?.upgradeDidFail(inState: tmp, with: error)
| |- warning: sending 'tmp' risks causing data races; this is an error in the Swift 6 language mode
| `- note: task-isolated 'tmp' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
340 | // Release cyclic reference.
341 | self?.cyclicReferenceHolder = nil
/Users/admin/builder/spi-builder-workspace/Source/Managers/DFU/FirmwareUpgradeManager.swift:951:13: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
949 | self.log(msg: "Waiting \(Int(configuration.estimatedSwapTime)) seconds reconnecting...", atLevel: .info)
950 | DispatchQueue.main.asyncAfter(deadline: .now() + remainingTime) { [weak self] in
951 | self?.log(msg: "Reconnecting...", atLevel: .info)
| |- warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
| `- note: task-isolated 'self' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
952 | self?.reconnect()
953 | }
/Users/admin/builder/spi-builder-workspace/Source/Managers/DFU/FirmwareUpgradeManager.swift:1090:13: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
1088 |
1089 | DispatchQueue.main.async { [weak self] in
1090 | self?.delegate?.uploadProgressDidChange(bytesSent: bytesSent, imageSize: imageSize, timestamp: timestamp)
| |- warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
| `- note: task-isolated 'self' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
1091 | }
1092 | }
/Users/admin/builder/spi-builder-workspace/Source/Managers/DFU/FirmwareUpgradeManager.swift:1101:13: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
1099 | public func uploadDidCancel() {
1100 | DispatchQueue.main.async { [weak self] in
1101 | self?.delegate?.upgradeDidCancel(state: .none)
| |- warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
| `- note: task-isolated 'self' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
1102 | }
1103 | state = .none
[71/82] Compiling iOSMcuManagerLibrary DefaultManager.swift
/Users/admin/builder/spi-builder-workspace/Source/Managers/DFU/FirmwareUpgradeManager.swift:1195:10: warning: associated value 'invalidResponse' of 'Sendable'-conforming enum 'FirmwareUpgradeError' has non-sendable type 'McuMgrResponse'; this is an error in the Swift 6 language mode
1193 | public enum FirmwareUpgradeError: Error, LocalizedError {
1194 | case unknown(String)
1195 | case invalidResponse(McuMgrResponse)
| `- warning: associated value 'invalidResponse' of 'Sendable'-conforming enum 'FirmwareUpgradeError' has non-sendable type 'McuMgrResponse'; this is an error in the Swift 6 language mode
1196 | case connectionFailedAfterReset
1197 | case untestedImageFound(image: Int, slot: Int)
/Users/admin/builder/spi-builder-workspace/Source/McuMgrResponse.swift:10:12: note: class 'McuMgrResponse' does not conform to the 'Sendable' protocol
8 | import SwiftCBOR
9 |
10 | open class McuMgrResponse: CBORMappable {
| `- note: class 'McuMgrResponse' does not conform to the 'Sendable' protocol
11 |
12 | //**************************************************************************
/Users/admin/builder/spi-builder-workspace/Source/Managers/DFU/FirmwareUpgradeManager.swift:187:17: warning: capture of 'self' with non-sendable type 'FirmwareUpgradeManager?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
10 | // MARK: - FirmwareUpgradeManager
11 |
12 | public class FirmwareUpgradeManager: FirmwareUpgradeController, ConnectionObserver {
| `- note: class 'FirmwareUpgradeManager' does not conform to the 'Sendable' protocol
13 |
14 | // MARK: Private Properties
:
185 | if state != previousState {
186 | DispatchQueue.main.async { [weak self] in
187 | self?.delegate?.upgradeStateDidChange(from: previousState, to: state)
| `- warning: capture of 'self' with non-sendable type 'FirmwareUpgradeManager?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
188 | }
189 | }
/Users/admin/builder/spi-builder-workspace/Source/Managers/DFU/FirmwareUpgradeManager.swift:187:61: warning: capture of 'previousState' with non-sendable type 'FirmwareUpgradeState' in a `@Sendable` closure; this is an error in the Swift 6 language mode
185 | if state != previousState {
186 | DispatchQueue.main.async { [weak self] in
187 | self?.delegate?.upgradeStateDidChange(from: previousState, to: state)
| `- warning: capture of 'previousState' with non-sendable type 'FirmwareUpgradeState' in a `@Sendable` closure; this is an error in the Swift 6 language mode
188 | }
189 | }
:
1215 | //******************************************************************************
1216 |
1217 | public enum FirmwareUpgradeState {
| `- note: consider making enum 'FirmwareUpgradeState' conform to the 'Sendable' protocol
1218 | case none
1219 | case requestMcuMgrParameters, bootloaderInfo, eraseAppSettings
/Users/admin/builder/spi-builder-workspace/Source/Managers/DFU/FirmwareUpgradeManager.swift:187:80: warning: capture of 'state' with non-sendable type 'FirmwareUpgradeState' in a `@Sendable` closure; this is an error in the Swift 6 language mode
185 | if state != previousState {
186 | DispatchQueue.main.async { [weak self] in
187 | self?.delegate?.upgradeStateDidChange(from: previousState, to: state)
| `- warning: capture of 'state' with non-sendable type 'FirmwareUpgradeState' in a `@Sendable` closure; this is an error in the Swift 6 language mode
188 | }
189 | }
:
1215 | //******************************************************************************
1216 |
1217 | public enum FirmwareUpgradeState {
| `- note: consider making enum 'FirmwareUpgradeState' conform to the 'Sendable' protocol
1218 | case none
1219 | case requestMcuMgrParameters, bootloaderInfo, eraseAppSettings
/Users/admin/builder/spi-builder-workspace/Source/Managers/DFU/FirmwareUpgradeManager.swift:235:21: warning: capture of 'self' with non-sendable type 'FirmwareUpgradeManager?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
10 | // MARK: - FirmwareUpgradeManager
11 |
12 | public class FirmwareUpgradeManager: FirmwareUpgradeController, ConnectionObserver {
| `- note: class 'FirmwareUpgradeManager' does not conform to the 'Sendable' protocol
13 |
14 | // MARK: Private Properties
:
233 | // Allow Library Apps to show 100% Progress in this case.
234 | DispatchQueue.main.async { [weak self] in
235 | self?.delegate?.uploadProgressDidChange(bytesSent: 100, imageSize: 100,
| `- warning: capture of 'self' with non-sendable type 'FirmwareUpgradeManager?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
236 | timestamp: Date())
237 | }
/Users/admin/builder/spi-builder-workspace/Source/Extensions/Data+McuManager.swift:41:27: warning: static property 'prepend0x' is not concurrency-safe because non-'Sendable' type 'Data.HexEncodingOptions' may have shared mutable state; this is an error in the Swift 6 language mode
36 | // MARK: - Hex Encoding
37 |
38 | struct HexEncodingOptions: OptionSet {
| `- note: consider making struct 'HexEncodingOptions' conform to the 'Sendable' protocol
39 | public static let upperCase = HexEncodingOptions(rawValue: 1 << 0)
40 | public static let byteSpacing = HexEncodingOptions(rawValue: 1 << 1)
41 | public static let prepend0x = HexEncodingOptions(rawValue: 1 << 2)
| |- warning: static property 'prepend0x' is not concurrency-safe because non-'Sendable' type 'Data.HexEncodingOptions' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: annotate 'prepend0x' 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
42 | public static let twoByteSpacing = HexEncodingOptions(rawValue: 1 << 3)
43 | public static let reverseEndianness = HexEncodingOptions(rawValue: 1 << 4)
/Users/admin/builder/spi-builder-workspace/Source/Extensions/Data+McuManager.swift:39:27: warning: static property 'upperCase' is not concurrency-safe because non-'Sendable' type 'Data.HexEncodingOptions' may have shared mutable state; this is an error in the Swift 6 language mode
36 | // MARK: - Hex Encoding
37 |
38 | struct HexEncodingOptions: OptionSet {
| `- note: consider making struct 'HexEncodingOptions' conform to the 'Sendable' protocol
39 | public static let upperCase = HexEncodingOptions(rawValue: 1 << 0)
| |- warning: static property 'upperCase' is not concurrency-safe because non-'Sendable' type 'Data.HexEncodingOptions' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: annotate 'upperCase' 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
40 | public static let byteSpacing = HexEncodingOptions(rawValue: 1 << 1)
41 | public static let prepend0x = HexEncodingOptions(rawValue: 1 << 2)
/Users/admin/builder/spi-builder-workspace/Source/Managers/DFU/FirmwareUpgradeManager.swift:322:13: warning: capture of 'self' with non-sendable type 'FirmwareUpgradeManager?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
10 | // MARK: - FirmwareUpgradeManager
11 |
12 | public class FirmwareUpgradeManager: FirmwareUpgradeController, ConnectionObserver {
| `- note: class 'FirmwareUpgradeManager' does not conform to the 'Sendable' protocol
13 |
14 | // MARK: Private Properties
:
320 | paused = false
321 | DispatchQueue.main.async { [weak self] in
322 | self?.delegate?.upgradeDidComplete()
| `- warning: capture of 'self' with non-sendable type 'FirmwareUpgradeManager?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
323 | // Release cyclic reference.
324 | self?.cyclicReferenceHolder = nil
/Users/admin/builder/spi-builder-workspace/Source/Managers/DFU/FirmwareUpgradeManager.swift:339:13: warning: capture of 'self' with non-sendable type 'FirmwareUpgradeManager?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
10 | // MARK: - FirmwareUpgradeManager
11 |
12 | public class FirmwareUpgradeManager: FirmwareUpgradeController, ConnectionObserver {
| `- note: class 'FirmwareUpgradeManager' does not conform to the 'Sendable' protocol
13 |
14 | // MARK: Private Properties
:
337 | paused = false
338 | DispatchQueue.main.async { [weak self] in
339 | self?.delegate?.upgradeDidFail(inState: tmp, with: error)
| `- warning: capture of 'self' with non-sendable type 'FirmwareUpgradeManager?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
340 | // Release cyclic reference.
341 | self?.cyclicReferenceHolder = nil
/Users/admin/builder/spi-builder-workspace/Source/Managers/DFU/FirmwareUpgradeManager.swift:339:53: warning: capture of 'tmp' with non-sendable type 'FirmwareUpgradeState' in a `@Sendable` closure; this is an error in the Swift 6 language mode
337 | paused = false
338 | DispatchQueue.main.async { [weak self] in
339 | self?.delegate?.upgradeDidFail(inState: tmp, with: error)
| `- warning: capture of 'tmp' with non-sendable type 'FirmwareUpgradeState' in a `@Sendable` closure; this is an error in the Swift 6 language mode
340 | // Release cyclic reference.
341 | self?.cyclicReferenceHolder = nil
:
1215 | //******************************************************************************
1216 |
1217 | public enum FirmwareUpgradeState {
| `- note: consider making enum 'FirmwareUpgradeState' conform to the 'Sendable' protocol
1218 | case none
1219 | case requestMcuMgrParameters, bootloaderInfo, eraseAppSettings
/Users/admin/builder/spi-builder-workspace/Source/Managers/DFU/FirmwareUpgradeManager.swift:951:13: warning: capture of 'self' with non-sendable type 'FirmwareUpgradeManager?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
10 | // MARK: - FirmwareUpgradeManager
11 |
12 | public class FirmwareUpgradeManager: FirmwareUpgradeController, ConnectionObserver {
| `- note: class 'FirmwareUpgradeManager' does not conform to the 'Sendable' protocol
13 |
14 | // MARK: Private Properties
:
949 | self.log(msg: "Waiting \(Int(configuration.estimatedSwapTime)) seconds reconnecting...", atLevel: .info)
950 | DispatchQueue.main.asyncAfter(deadline: .now() + remainingTime) { [weak self] in
951 | self?.log(msg: "Reconnecting...", atLevel: .info)
| `- warning: capture of 'self' with non-sendable type 'FirmwareUpgradeManager?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
952 | self?.reconnect()
953 | }
/Users/admin/builder/spi-builder-workspace/Source/Managers/DFU/FirmwareUpgradeManager.swift:1090:13: warning: capture of 'self' with non-sendable type 'FirmwareUpgradeManager?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
10 | // MARK: - FirmwareUpgradeManager
11 |
12 | public class FirmwareUpgradeManager: FirmwareUpgradeController, ConnectionObserver {
| `- note: class 'FirmwareUpgradeManager' does not conform to the 'Sendable' protocol
13 |
14 | // MARK: Private Properties
:
1088 |
1089 | DispatchQueue.main.async { [weak self] in
1090 | self?.delegate?.uploadProgressDidChange(bytesSent: bytesSent, imageSize: imageSize, timestamp: timestamp)
| `- warning: capture of 'self' with non-sendable type 'FirmwareUpgradeManager?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
1091 | }
1092 | }
/Users/admin/builder/spi-builder-workspace/Source/Managers/DFU/FirmwareUpgradeManager.swift:1101:13: warning: capture of 'self' with non-sendable type 'FirmwareUpgradeManager?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
10 | // MARK: - FirmwareUpgradeManager
11 |
12 | public class FirmwareUpgradeManager: FirmwareUpgradeController, ConnectionObserver {
| `- note: class 'FirmwareUpgradeManager' does not conform to the 'Sendable' protocol
13 |
14 | // MARK: Private Properties
:
1099 | public func uploadDidCancel() {
1100 | DispatchQueue.main.async { [weak self] in
1101 | self?.delegate?.upgradeDidCancel(state: .none)
| `- warning: capture of 'self' with non-sendable type 'FirmwareUpgradeManager?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
1102 | }
1103 | state = .none
/Users/admin/builder/spi-builder-workspace/Source/Managers/DFU/FirmwareUpgradeManager.swift:187:17: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
185 | if state != previousState {
186 | DispatchQueue.main.async { [weak self] in
187 | self?.delegate?.upgradeStateDidChange(from: previousState, to: state)
| |- warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
| `- note: task-isolated 'self' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
188 | }
189 | }
/Users/admin/builder/spi-builder-workspace/Source/Managers/DFU/FirmwareUpgradeManager.swift:187:61: warning: sending 'previousState' risks causing data races; this is an error in the Swift 6 language mode
185 | if state != previousState {
186 | DispatchQueue.main.async { [weak self] in
187 | self?.delegate?.upgradeStateDidChange(from: previousState, to: state)
| |- warning: sending 'previousState' risks causing data races; this is an error in the Swift 6 language mode
| `- note: task-isolated 'previousState' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
188 | }
189 | }
/Users/admin/builder/spi-builder-workspace/Source/Managers/DFU/FirmwareUpgradeManager.swift:187:80: warning: sending 'state' risks causing data races; this is an error in the Swift 6 language mode
185 | if state != previousState {
186 | DispatchQueue.main.async { [weak self] in
187 | self?.delegate?.upgradeStateDidChange(from: previousState, to: state)
| |- warning: sending 'state' risks causing data races; this is an error in the Swift 6 language mode
| `- note: task-isolated 'state' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
188 | }
189 | }
/Users/admin/builder/spi-builder-workspace/Source/Managers/DFU/FirmwareUpgradeManager.swift:322:13: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
320 | paused = false
321 | DispatchQueue.main.async { [weak self] in
322 | self?.delegate?.upgradeDidComplete()
| |- warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
| `- note: task-isolated 'self' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
323 | // Release cyclic reference.
324 | self?.cyclicReferenceHolder = nil
/Users/admin/builder/spi-builder-workspace/Source/Managers/DFU/FirmwareUpgradeManager.swift:235:21: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
233 | // Allow Library Apps to show 100% Progress in this case.
234 | DispatchQueue.main.async { [weak self] in
235 | self?.delegate?.uploadProgressDidChange(bytesSent: 100, imageSize: 100,
| |- warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
| `- note: task-isolated 'self' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
236 | timestamp: Date())
237 | }
/Users/admin/builder/spi-builder-workspace/Source/Managers/DFU/FirmwareUpgradeManager.swift:339:13: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
337 | paused = false
338 | DispatchQueue.main.async { [weak self] in
339 | self?.delegate?.upgradeDidFail(inState: tmp, with: error)
| |- warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
| `- note: task-isolated 'self' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
340 | // Release cyclic reference.
341 | self?.cyclicReferenceHolder = nil
/Users/admin/builder/spi-builder-workspace/Source/Managers/DFU/FirmwareUpgradeManager.swift:339:53: warning: sending 'tmp' risks causing data races; this is an error in the Swift 6 language mode
337 | paused = false
338 | DispatchQueue.main.async { [weak self] in
339 | self?.delegate?.upgradeDidFail(inState: tmp, with: error)
| |- warning: sending 'tmp' risks causing data races; this is an error in the Swift 6 language mode
| `- note: task-isolated 'tmp' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
340 | // Release cyclic reference.
341 | self?.cyclicReferenceHolder = nil
/Users/admin/builder/spi-builder-workspace/Source/Managers/DFU/FirmwareUpgradeManager.swift:951:13: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
949 | self.log(msg: "Waiting \(Int(configuration.estimatedSwapTime)) seconds reconnecting...", atLevel: .info)
950 | DispatchQueue.main.asyncAfter(deadline: .now() + remainingTime) { [weak self] in
951 | self?.log(msg: "Reconnecting...", atLevel: .info)
| |- warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
| `- note: task-isolated 'self' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
952 | self?.reconnect()
953 | }
/Users/admin/builder/spi-builder-workspace/Source/Managers/DFU/FirmwareUpgradeManager.swift:1090:13: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
1088 |
1089 | DispatchQueue.main.async { [weak self] in
1090 | self?.delegate?.uploadProgressDidChange(bytesSent: bytesSent, imageSize: imageSize, timestamp: timestamp)
| |- warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
| `- note: task-isolated 'self' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
1091 | }
1092 | }
/Users/admin/builder/spi-builder-workspace/Source/Managers/DFU/FirmwareUpgradeManager.swift:1101:13: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
1099 | public func uploadDidCancel() {
1100 | DispatchQueue.main.async { [weak self] in
1101 | self?.delegate?.upgradeDidCancel(state: .none)
| |- warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
| `- note: task-isolated 'self' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
1102 | }
1103 | state = .none
[72/82] Compiling iOSMcuManagerLibrary McuMgrROBBuffer.swift
/Users/admin/builder/spi-builder-workspace/Source/McuMgrROBBuffer.swift:23:14: warning: associated value 'invalidKey' of 'Sendable'-conforming enum 'BufferError' has non-sendable type 'Key'; this is an error in the Swift 6 language mode
15 | <Key, Value> Re-Order Buffer.
16 | */
17 | public struct McuMgrROBBuffer<Key: Hashable & Comparable, Value> {
| `- note: consider making generic parameter 'Key' conform to the 'Sendable' protocol
18 |
19 | // MARK: BufferError
:
21 | enum BufferError: Error {
22 | case empty
23 | case invalidKey(_ key: Key)
| `- warning: associated value 'invalidKey' of 'Sendable'-conforming enum 'BufferError' has non-sendable type 'Key'; this is an error in the Swift 6 language mode
24 | case noValueForKey(_ key: Key)
25 | }
/Users/admin/builder/spi-builder-workspace/Source/McuMgrROBBuffer.swift:24:14: warning: associated value 'noValueForKey' of 'Sendable'-conforming enum 'BufferError' has non-sendable type 'Key'; this is an error in the Swift 6 language mode
15 | <Key, Value> Re-Order Buffer.
16 | */
17 | public struct McuMgrROBBuffer<Key: Hashable & Comparable, Value> {
| `- note: consider making generic parameter 'Key' conform to the 'Sendable' protocol
18 |
19 | // MARK: BufferError
:
22 | case empty
23 | case invalidKey(_ key: Key)
24 | case noValueForKey(_ key: Key)
| `- warning: associated value 'noValueForKey' of 'Sendable'-conforming enum 'BufferError' has non-sendable type 'Key'; this is an error in the Swift 6 language mode
25 | }
26 |
/Users/admin/builder/spi-builder-workspace/Source/McuMgrROBBuffer.swift:123:21: warning: capture of 'callback' with non-sendable type '(Key, Value) -> Void' in a `@Sendable` closure; this is an error in the Swift 6 language mode
121 |
122 | DispatchQueue.main.async {
123 | callback(key, value)
| |- warning: capture of 'callback' with non-sendable type '(Key, Value) -> Void' in a `@Sendable` closure; this is an error in the Swift 6 language mode
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
124 | }
125 | }
/Users/admin/builder/spi-builder-workspace/Source/McuMgrROBBuffer.swift:123:30: warning: capture of 'key' with non-sendable type 'Dictionary<Key, Value>.Keys.Element' (aka 'Key') in a `@Sendable` closure; this is an error in the Swift 6 language mode
15 | <Key, Value> Re-Order Buffer.
16 | */
17 | public struct McuMgrROBBuffer<Key: Hashable & Comparable, Value> {
| `- note: consider making generic parameter 'Dictionary<Key, Value>.Keys.Element' (aka 'Key') conform to the 'Sendable' protocol
18 |
19 | // MARK: BufferError
:
121 |
122 | DispatchQueue.main.async {
123 | callback(key, value)
| `- warning: capture of 'key' with non-sendable type 'Dictionary<Key, Value>.Keys.Element' (aka 'Key') in a `@Sendable` closure; this is an error in the Swift 6 language mode
124 | }
125 | }
/Users/admin/builder/spi-builder-workspace/Source/McuMgrROBBuffer.swift:123:35: warning: capture of 'value' with non-sendable type 'Value' in a `@Sendable` closure; this is an error in the Swift 6 language mode
15 | <Key, Value> Re-Order Buffer.
16 | */
17 | public struct McuMgrROBBuffer<Key: Hashable & Comparable, Value> {
| `- note: consider making generic parameter 'Value' conform to the 'Sendable' protocol
18 |
19 | // MARK: BufferError
:
121 |
122 | DispatchQueue.main.async {
123 | callback(key, value)
| `- warning: capture of 'value' with non-sendable type 'Value' in a `@Sendable` closure; this is an error in the Swift 6 language mode
124 | }
125 | }
/Users/admin/builder/spi-builder-workspace/Source/Extensions/Data+McuManager.swift:39:27: warning: static property 'upperCase' is not concurrency-safe because non-'Sendable' type 'Data.HexEncodingOptions' may have shared mutable state; this is an error in the Swift 6 language mode
36 | // MARK: - Hex Encoding
37 |
38 | struct HexEncodingOptions: OptionSet {
| `- note: consider making struct 'HexEncodingOptions' conform to the 'Sendable' protocol
39 | public static let upperCase = HexEncodingOptions(rawValue: 1 << 0)
| |- warning: static property 'upperCase' is not concurrency-safe because non-'Sendable' type 'Data.HexEncodingOptions' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: annotate 'upperCase' 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
40 | public static let byteSpacing = HexEncodingOptions(rawValue: 1 << 1)
41 | public static let prepend0x = HexEncodingOptions(rawValue: 1 << 2)
/Users/admin/builder/spi-builder-workspace/Source/McuMgrROBBuffer.swift:123:21: warning: sending 'callback' risks causing data races; this is an error in the Swift 6 language mode
121 |
122 | DispatchQueue.main.async {
123 | callback(key, value)
| |- warning: sending 'callback' risks causing data races; this is an error in the Swift 6 language mode
| `- note: task-isolated 'callback' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
124 | }
125 | }
/Users/admin/builder/spi-builder-workspace/Source/McuMgrROBBuffer.swift:123:30: warning: sending 'key' risks causing data races; this is an error in the Swift 6 language mode
121 |
122 | DispatchQueue.main.async {
123 | callback(key, value)
| |- warning: sending 'key' risks causing data races; this is an error in the Swift 6 language mode
| `- note: task-isolated 'key' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
124 | }
125 | }
/Users/admin/builder/spi-builder-workspace/Source/McuMgrROBBuffer.swift:123:35: warning: sending 'value' risks causing data races; this is an error in the Swift 6 language mode
121 |
122 | DispatchQueue.main.async {
123 | callback(key, value)
| |- warning: sending 'value' risks causing data races; this is an error in the Swift 6 language mode
| `- note: task-isolated 'value' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
124 | }
125 | }
[73/82] Compiling iOSMcuManagerLibrary McuMgrResponse.swift
/Users/admin/builder/spi-builder-workspace/Source/McuMgrROBBuffer.swift:23:14: warning: associated value 'invalidKey' of 'Sendable'-conforming enum 'BufferError' has non-sendable type 'Key'; this is an error in the Swift 6 language mode
15 | <Key, Value> Re-Order Buffer.
16 | */
17 | public struct McuMgrROBBuffer<Key: Hashable & Comparable, Value> {
| `- note: consider making generic parameter 'Key' conform to the 'Sendable' protocol
18 |
19 | // MARK: BufferError
:
21 | enum BufferError: Error {
22 | case empty
23 | case invalidKey(_ key: Key)
| `- warning: associated value 'invalidKey' of 'Sendable'-conforming enum 'BufferError' has non-sendable type 'Key'; this is an error in the Swift 6 language mode
24 | case noValueForKey(_ key: Key)
25 | }
/Users/admin/builder/spi-builder-workspace/Source/McuMgrROBBuffer.swift:24:14: warning: associated value 'noValueForKey' of 'Sendable'-conforming enum 'BufferError' has non-sendable type 'Key'; this is an error in the Swift 6 language mode
15 | <Key, Value> Re-Order Buffer.
16 | */
17 | public struct McuMgrROBBuffer<Key: Hashable & Comparable, Value> {
| `- note: consider making generic parameter 'Key' conform to the 'Sendable' protocol
18 |
19 | // MARK: BufferError
:
22 | case empty
23 | case invalidKey(_ key: Key)
24 | case noValueForKey(_ key: Key)
| `- warning: associated value 'noValueForKey' of 'Sendable'-conforming enum 'BufferError' has non-sendable type 'Key'; this is an error in the Swift 6 language mode
25 | }
26 |
/Users/admin/builder/spi-builder-workspace/Source/McuMgrROBBuffer.swift:123:21: warning: capture of 'callback' with non-sendable type '(Key, Value) -> Void' in a `@Sendable` closure; this is an error in the Swift 6 language mode
121 |
122 | DispatchQueue.main.async {
123 | callback(key, value)
| |- warning: capture of 'callback' with non-sendable type '(Key, Value) -> Void' in a `@Sendable` closure; this is an error in the Swift 6 language mode
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
124 | }
125 | }
/Users/admin/builder/spi-builder-workspace/Source/McuMgrROBBuffer.swift:123:30: warning: capture of 'key' with non-sendable type 'Dictionary<Key, Value>.Keys.Element' (aka 'Key') in a `@Sendable` closure; this is an error in the Swift 6 language mode
15 | <Key, Value> Re-Order Buffer.
16 | */
17 | public struct McuMgrROBBuffer<Key: Hashable & Comparable, Value> {
| `- note: consider making generic parameter 'Dictionary<Key, Value>.Keys.Element' (aka 'Key') conform to the 'Sendable' protocol
18 |
19 | // MARK: BufferError
:
121 |
122 | DispatchQueue.main.async {
123 | callback(key, value)
| `- warning: capture of 'key' with non-sendable type 'Dictionary<Key, Value>.Keys.Element' (aka 'Key') in a `@Sendable` closure; this is an error in the Swift 6 language mode
124 | }
125 | }
/Users/admin/builder/spi-builder-workspace/Source/McuMgrROBBuffer.swift:123:35: warning: capture of 'value' with non-sendable type 'Value' in a `@Sendable` closure; this is an error in the Swift 6 language mode
15 | <Key, Value> Re-Order Buffer.
16 | */
17 | public struct McuMgrROBBuffer<Key: Hashable & Comparable, Value> {
| `- note: consider making generic parameter 'Value' conform to the 'Sendable' protocol
18 |
19 | // MARK: BufferError
:
121 |
122 | DispatchQueue.main.async {
123 | callback(key, value)
| `- warning: capture of 'value' with non-sendable type 'Value' in a `@Sendable` closure; this is an error in the Swift 6 language mode
124 | }
125 | }
/Users/admin/builder/spi-builder-workspace/Source/Extensions/Data+McuManager.swift:39:27: warning: static property 'upperCase' is not concurrency-safe because non-'Sendable' type 'Data.HexEncodingOptions' may have shared mutable state; this is an error in the Swift 6 language mode
36 | // MARK: - Hex Encoding
37 |
38 | struct HexEncodingOptions: OptionSet {
| `- note: consider making struct 'HexEncodingOptions' conform to the 'Sendable' protocol
39 | public static let upperCase = HexEncodingOptions(rawValue: 1 << 0)
| |- warning: static property 'upperCase' is not concurrency-safe because non-'Sendable' type 'Data.HexEncodingOptions' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: annotate 'upperCase' 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
40 | public static let byteSpacing = HexEncodingOptions(rawValue: 1 << 1)
41 | public static let prepend0x = HexEncodingOptions(rawValue: 1 << 2)
/Users/admin/builder/spi-builder-workspace/Source/McuMgrROBBuffer.swift:123:21: warning: sending 'callback' risks causing data races; this is an error in the Swift 6 language mode
121 |
122 | DispatchQueue.main.async {
123 | callback(key, value)
| |- warning: sending 'callback' risks causing data races; this is an error in the Swift 6 language mode
| `- note: task-isolated 'callback' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
124 | }
125 | }
/Users/admin/builder/spi-builder-workspace/Source/McuMgrROBBuffer.swift:123:30: warning: sending 'key' risks causing data races; this is an error in the Swift 6 language mode
121 |
122 | DispatchQueue.main.async {
123 | callback(key, value)
| |- warning: sending 'key' risks causing data races; this is an error in the Swift 6 language mode
| `- note: task-isolated 'key' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
124 | }
125 | }
/Users/admin/builder/spi-builder-workspace/Source/McuMgrROBBuffer.swift:123:35: warning: sending 'value' risks causing data races; this is an error in the Swift 6 language mode
121 |
122 | DispatchQueue.main.async {
123 | callback(key, value)
| |- warning: sending 'value' risks causing data races; this is an error in the Swift 6 language mode
| `- note: task-isolated 'value' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
124 | }
125 | }
[74/82] Compiling iOSMcuManagerLibrary McuMgrSuitEnvelope.swift
/Users/admin/builder/spi-builder-workspace/Source/McuMgrROBBuffer.swift:23:14: warning: associated value 'invalidKey' of 'Sendable'-conforming enum 'BufferError' has non-sendable type 'Key'; this is an error in the Swift 6 language mode
15 | <Key, Value> Re-Order Buffer.
16 | */
17 | public struct McuMgrROBBuffer<Key: Hashable & Comparable, Value> {
| `- note: consider making generic parameter 'Key' conform to the 'Sendable' protocol
18 |
19 | // MARK: BufferError
:
21 | enum BufferError: Error {
22 | case empty
23 | case invalidKey(_ key: Key)
| `- warning: associated value 'invalidKey' of 'Sendable'-conforming enum 'BufferError' has non-sendable type 'Key'; this is an error in the Swift 6 language mode
24 | case noValueForKey(_ key: Key)
25 | }
/Users/admin/builder/spi-builder-workspace/Source/McuMgrROBBuffer.swift:24:14: warning: associated value 'noValueForKey' of 'Sendable'-conforming enum 'BufferError' has non-sendable type 'Key'; this is an error in the Swift 6 language mode
15 | <Key, Value> Re-Order Buffer.
16 | */
17 | public struct McuMgrROBBuffer<Key: Hashable & Comparable, Value> {
| `- note: consider making generic parameter 'Key' conform to the 'Sendable' protocol
18 |
19 | // MARK: BufferError
:
22 | case empty
23 | case invalidKey(_ key: Key)
24 | case noValueForKey(_ key: Key)
| `- warning: associated value 'noValueForKey' of 'Sendable'-conforming enum 'BufferError' has non-sendable type 'Key'; this is an error in the Swift 6 language mode
25 | }
26 |
/Users/admin/builder/spi-builder-workspace/Source/McuMgrROBBuffer.swift:123:21: warning: capture of 'callback' with non-sendable type '(Key, Value) -> Void' in a `@Sendable` closure; this is an error in the Swift 6 language mode
121 |
122 | DispatchQueue.main.async {
123 | callback(key, value)
| |- warning: capture of 'callback' with non-sendable type '(Key, Value) -> Void' in a `@Sendable` closure; this is an error in the Swift 6 language mode
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
124 | }
125 | }
/Users/admin/builder/spi-builder-workspace/Source/McuMgrROBBuffer.swift:123:30: warning: capture of 'key' with non-sendable type 'Dictionary<Key, Value>.Keys.Element' (aka 'Key') in a `@Sendable` closure; this is an error in the Swift 6 language mode
15 | <Key, Value> Re-Order Buffer.
16 | */
17 | public struct McuMgrROBBuffer<Key: Hashable & Comparable, Value> {
| `- note: consider making generic parameter 'Dictionary<Key, Value>.Keys.Element' (aka 'Key') conform to the 'Sendable' protocol
18 |
19 | // MARK: BufferError
:
121 |
122 | DispatchQueue.main.async {
123 | callback(key, value)
| `- warning: capture of 'key' with non-sendable type 'Dictionary<Key, Value>.Keys.Element' (aka 'Key') in a `@Sendable` closure; this is an error in the Swift 6 language mode
124 | }
125 | }
/Users/admin/builder/spi-builder-workspace/Source/McuMgrROBBuffer.swift:123:35: warning: capture of 'value' with non-sendable type 'Value' in a `@Sendable` closure; this is an error in the Swift 6 language mode
15 | <Key, Value> Re-Order Buffer.
16 | */
17 | public struct McuMgrROBBuffer<Key: Hashable & Comparable, Value> {
| `- note: consider making generic parameter 'Value' conform to the 'Sendable' protocol
18 |
19 | // MARK: BufferError
:
121 |
122 | DispatchQueue.main.async {
123 | callback(key, value)
| `- warning: capture of 'value' with non-sendable type 'Value' in a `@Sendable` closure; this is an error in the Swift 6 language mode
124 | }
125 | }
/Users/admin/builder/spi-builder-workspace/Source/Extensions/Data+McuManager.swift:39:27: warning: static property 'upperCase' is not concurrency-safe because non-'Sendable' type 'Data.HexEncodingOptions' may have shared mutable state; this is an error in the Swift 6 language mode
36 | // MARK: - Hex Encoding
37 |
38 | struct HexEncodingOptions: OptionSet {
| `- note: consider making struct 'HexEncodingOptions' conform to the 'Sendable' protocol
39 | public static let upperCase = HexEncodingOptions(rawValue: 1 << 0)
| |- warning: static property 'upperCase' is not concurrency-safe because non-'Sendable' type 'Data.HexEncodingOptions' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: annotate 'upperCase' 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
40 | public static let byteSpacing = HexEncodingOptions(rawValue: 1 << 1)
41 | public static let prepend0x = HexEncodingOptions(rawValue: 1 << 2)
/Users/admin/builder/spi-builder-workspace/Source/McuMgrROBBuffer.swift:123:21: warning: sending 'callback' risks causing data races; this is an error in the Swift 6 language mode
121 |
122 | DispatchQueue.main.async {
123 | callback(key, value)
| |- warning: sending 'callback' risks causing data races; this is an error in the Swift 6 language mode
| `- note: task-isolated 'callback' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
124 | }
125 | }
/Users/admin/builder/spi-builder-workspace/Source/McuMgrROBBuffer.swift:123:30: warning: sending 'key' risks causing data races; this is an error in the Swift 6 language mode
121 |
122 | DispatchQueue.main.async {
123 | callback(key, value)
| |- warning: sending 'key' risks causing data races; this is an error in the Swift 6 language mode
| `- note: task-isolated 'key' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
124 | }
125 | }
/Users/admin/builder/spi-builder-workspace/Source/McuMgrROBBuffer.swift:123:35: warning: sending 'value' risks causing data races; this is an error in the Swift 6 language mode
121 |
122 | DispatchQueue.main.async {
123 | callback(key, value)
| |- warning: sending 'value' risks causing data races; this is an error in the Swift 6 language mode
| `- note: task-isolated 'value' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
124 | }
125 | }
[75/82] Compiling iOSMcuManagerLibrary McuMgrBleTransport+CBCentralManagerDelegate.swift
/Users/admin/builder/spi-builder-workspace/Source/Bluetooth/McuMgrBleTransport.swift:448:23: warning: static property 'SMP_SERVICE' is not concurrency-safe because non-'Sendable' type 'CBUUID' may have shared mutable state; this is an error in the Swift 6 language mode
446 | public enum McuMgrBleTransportConstant {
447 |
448 | public static let SMP_SERVICE = CBUUID(string: "8D53DC1D-1DB7-4CD3-868B-8A527460AA84")
| `- warning: static property 'SMP_SERVICE' is not concurrency-safe because non-'Sendable' type 'CBUUID' may have shared mutable state; this is an error in the Swift 6 language mode
449 | public static let SMP_CHARACTERISTIC = CBUUID(string: "DA2E7828-FBCE-4E01-AE9E-261174997C48")
450 |
CoreBluetooth.CBUUID:2:12: note: class 'CBUUID' does not conform to the 'Sendable' protocol
1 | @available(macOS 10.7, *)
2 | open class CBUUID : NSObject, NSCopying {
| `- note: class 'CBUUID' does not conform to the 'Sendable' protocol
3 | open var data: Data { get }
4 | @available(macOS 10.10, *)
/Users/admin/builder/spi-builder-workspace/Source/Bluetooth/McuMgrBleTransport.swift:8:1: warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'CoreBluetooth'
6 |
7 | import Foundation
8 | import CoreBluetooth
| `- warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'CoreBluetooth'
9 |
10 | // MARK: - PeripheralState
:
446 | public enum McuMgrBleTransportConstant {
447 |
448 | public static let SMP_SERVICE = CBUUID(string: "8D53DC1D-1DB7-4CD3-868B-8A527460AA84")
| |- note: annotate 'SMP_SERVICE' 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
449 | public static let SMP_CHARACTERISTIC = CBUUID(string: "DA2E7828-FBCE-4E01-AE9E-261174997C48")
450 |
/Users/admin/builder/spi-builder-workspace/Source/Bluetooth/McuMgrBleTransport.swift:449:23: warning: static property 'SMP_CHARACTERISTIC' is not concurrency-safe because non-'Sendable' type 'CBUUID' may have shared mutable state; this is an error in the Swift 6 language mode
447 |
448 | public static let SMP_SERVICE = CBUUID(string: "8D53DC1D-1DB7-4CD3-868B-8A527460AA84")
449 | public static let SMP_CHARACTERISTIC = CBUUID(string: "DA2E7828-FBCE-4E01-AE9E-261174997C48")
| |- warning: static property 'SMP_CHARACTERISTIC' is not concurrency-safe because non-'Sendable' type 'CBUUID' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: annotate 'SMP_CHARACTERISTIC' 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
450 |
451 | /// Max number of retries until the transaction is failed.
CoreBluetooth.CBUUID:2:12: note: class 'CBUUID' does not conform to the 'Sendable' protocol
1 | @available(macOS 10.7, *)
2 | open class CBUUID : NSObject, NSCopying {
| `- note: class 'CBUUID' does not conform to the 'Sendable' protocol
3 | open var data: Data { get }
4 | @available(macOS 10.10, *)
/Users/admin/builder/spi-builder-workspace/Source/Bluetooth/McuMgrBleTransport.swift:65:17: warning: capture of 'self' with non-sendable type 'McuMgrBleTransport' in a `@Sendable` closure; this is an error in the Swift 6 language mode
35 | // MARK: - McuMgrBleTransport
36 |
37 | public class McuMgrBleTransport: NSObject {
| `- note: class 'McuMgrBleTransport' does not conform to the 'Sendable' protocol
38 |
39 | /// The CBPeripheral for this transport to communicate with.
:
63 | didSet {
64 | DispatchQueue.main.async {
65 | self.notifyPeripheralDelegate()
| `- warning: capture of 'self' with non-sendable type 'McuMgrBleTransport' in a `@Sendable` closure; this is an error in the Swift 6 language mode
66 | }
67 | }
/Users/admin/builder/spi-builder-workspace/Source/Bluetooth/McuMgrBleTransport.swift:99:17: warning: capture of 'self' with non-sendable type 'McuMgrBleTransport' in a `@Sendable` closure; this is an error in the Swift 6 language mode
35 | // MARK: - McuMgrBleTransport
36 |
37 | public class McuMgrBleTransport: NSObject {
| `- note: class 'McuMgrBleTransport' does not conform to the 'Sendable' protocol
38 |
39 | /// The CBPeripheral for this transport to communicate with.
:
97 | didSet {
98 | DispatchQueue.main.async {
99 | self.notifyPeripheralDelegate()
| `- warning: capture of 'self' with non-sendable type 'McuMgrBleTransport' in a `@Sendable` closure; this is an error in the Swift 6 language mode
100 | }
101 | }
/Users/admin/builder/spi-builder-workspace/Source/Bluetooth/McuMgrBleTransport.swift:172:24: warning: capture of 'self' with non-sendable type 'McuMgrBleTransport' in a `@Sendable` closure; this is an error in the Swift 6 language mode
35 | // MARK: - McuMgrBleTransport
36 |
37 | public class McuMgrBleTransport: NSObject {
| `- note: class 'McuMgrBleTransport' does not conform to the 'Sendable' protocol
38 |
39 | /// The CBPeripheral for this transport to communicate with.
:
170 | operationQueue.addOperation {
171 | for i in 0..<McuMgrBleTransportConstant.MAX_RETRIES {
172 | switch self._send(data: data, timeoutInSeconds: timeout) {
| `- warning: capture of 'self' with non-sendable type 'McuMgrBleTransport' in a `@Sendable` closure; this is an error in the Swift 6 language mode
173 | case .failure(McuMgrTransportError.waitAndRetry):
174 | let waitInterval = min(timeout, McuMgrBleTransportConstant.WAIT_AND_RETRY_INTERVAL)
/Users/admin/builder/spi-builder-workspace/Source/Bluetooth/McuMgrBleTransport.swift:184:25: warning: capture of 'callback' with non-sendable type 'McuMgrCallback<T>' (aka '(Optional<T>, Optional<any Error>) -> ()') in a `@Sendable` closure; this is an error in the Swift 6 language mode
182 | self.log(msg: error.localizedDescription, atLevel: .error)
183 | DispatchQueue.main.async {
184 | callback(nil, error)
| |- warning: capture of 'callback' with non-sendable type 'McuMgrCallback<T>' (aka '(Optional<T>, Optional<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'
185 | }
186 | return
/Users/admin/builder/spi-builder-workspace/Source/Bluetooth/McuMgrBleTransport.swift:184:25: warning: capture of 'callback' with non-sendable type 'McuMgrCallback<T>' (aka '(Optional<T>, Optional<any Error>) -> ()') in a `@Sendable` closure; this is an error in the Swift 6 language mode
182 | self.log(msg: error.localizedDescription, atLevel: .error)
183 | DispatchQueue.main.async {
184 | callback(nil, error)
| |- warning: capture of 'callback' with non-sendable type 'McuMgrCallback<T>' (aka '(Optional<T>, Optional<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'
185 | }
186 | return
/Users/admin/builder/spi-builder-workspace/Source/Bluetooth/McuMgrBleTransport.swift:191:29: warning: capture of 'callback' with non-sendable type 'McuMgrCallback<T>' (aka '(Optional<T>, Optional<any Error>) -> ()') in a `@Sendable` closure; this is an error in the Swift 6 language mode
189 | let response: T = try McuMgrResponse.buildResponse(scheme: .ble, data: responseData)
190 | DispatchQueue.main.async {
191 | callback(response, nil)
| |- warning: capture of 'callback' with non-sendable type 'McuMgrCallback<T>' (aka '(Optional<T>, Optional<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'
192 | }
193 | } catch {
/Users/admin/builder/spi-builder-workspace/Source/Bluetooth/McuMgrBleTransport.swift:191:38: warning: capture of 'response' with non-sendable type 'T' in a `@Sendable` closure; this is an error in the Swift 6 language mode
167 | }
168 |
169 | public func send<T: McuMgrResponse>(data: Data, timeout: Int, callback: @escaping McuMgrCallback<T>) {
| `- note: consider making generic parameter 'T' conform to the 'Sendable' protocol
170 | operationQueue.addOperation {
171 | for i in 0..<McuMgrBleTransportConstant.MAX_RETRIES {
:
189 | let response: T = try McuMgrResponse.buildResponse(scheme: .ble, data: responseData)
190 | DispatchQueue.main.async {
191 | callback(response, nil)
| `- warning: capture of 'response' with non-sendable type 'T' in a `@Sendable` closure; this is an error in the Swift 6 language mode
192 | }
193 | } catch {
/Users/admin/builder/spi-builder-workspace/Source/Bluetooth/McuMgrBleTransport.swift:196:29: warning: capture of 'callback' with non-sendable type 'McuMgrCallback<T>' (aka '(Optional<T>, Optional<any Error>) -> ()') in a `@Sendable` closure; this is an error in the Swift 6 language mode
194 | self.log(msg: error.localizedDescription, atLevel: .error)
195 | DispatchQueue.main.async {
196 | callback(nil, error)
| |- warning: capture of 'callback' with non-sendable type 'McuMgrCallback<T>' (aka '(Optional<T>, Optional<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'
197 | }
198 | }
/Users/admin/builder/spi-builder-workspace/Source/Bluetooth/McuMgrBleTransport.swift:206:17: warning: capture of 'callback' with non-sendable type 'McuMgrCallback<T>' (aka '(Optional<T>, Optional<any Error>) -> ()') in a `@Sendable` closure; this is an error in the Swift 6 language mode
204 | // If we made it here, all retries failed.
205 | DispatchQueue.main.async {
206 | callback(nil, McuMgrTransportError.sendFailed)
| |- warning: capture of 'callback' with non-sendable type 'McuMgrCallback<T>' (aka '(Optional<T>, Optional<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'
207 | }
208 | }
/Users/admin/builder/spi-builder-workspace/Source/Extensions/Data+McuManager.swift:39:27: warning: static property 'upperCase' is not concurrency-safe because non-'Sendable' type 'Data.HexEncodingOptions' may have shared mutable state; this is an error in the Swift 6 language mode
36 | // MARK: - Hex Encoding
37 |
38 | struct HexEncodingOptions: OptionSet {
| `- note: consider making struct 'HexEncodingOptions' conform to the 'Sendable' protocol
39 | public static let upperCase = HexEncodingOptions(rawValue: 1 << 0)
| |- warning: static property 'upperCase' is not concurrency-safe because non-'Sendable' type 'Data.HexEncodingOptions' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: annotate 'upperCase' 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
40 | public static let byteSpacing = HexEncodingOptions(rawValue: 1 << 1)
41 | public static let prepend0x = HexEncodingOptions(rawValue: 1 << 2)
/Users/admin/builder/spi-builder-workspace/Source/Extensions/Data+McuManager.swift:42:27: warning: static property 'twoByteSpacing' is not concurrency-safe because non-'Sendable' type 'Data.HexEncodingOptions' may have shared mutable state; this is an error in the Swift 6 language mode
36 | // MARK: - Hex Encoding
37 |
38 | struct HexEncodingOptions: OptionSet {
| `- note: consider making struct 'HexEncodingOptions' conform to the 'Sendable' protocol
39 | public static let upperCase = HexEncodingOptions(rawValue: 1 << 0)
40 | public static let byteSpacing = HexEncodingOptions(rawValue: 1 << 1)
41 | public static let prepend0x = HexEncodingOptions(rawValue: 1 << 2)
42 | public static let twoByteSpacing = HexEncodingOptions(rawValue: 1 << 3)
| |- warning: static property 'twoByteSpacing' is not concurrency-safe because non-'Sendable' type 'Data.HexEncodingOptions' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: annotate 'twoByteSpacing' 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
43 | public static let reverseEndianness = HexEncodingOptions(rawValue: 1 << 4)
44 |
/Users/admin/builder/spi-builder-workspace/Source/Bluetooth/McuMgrBleTransportWriteState.swift:38:20: warning: capture of 'self' with non-sendable type 'McuMgrBleTransportWriteState' in a `@Sendable` closure; this is an error in the Swift 6 language mode
16 | // MARK: - McuMgrBleTransportWriteState
17 |
18 | final class McuMgrBleTransportWriteState {
| `- note: class 'McuMgrBleTransportWriteState' does not conform to the 'Sendable' protocol
19 |
20 | // MARK: - Private Properties
:
36 | lockingQueue.async {
37 | // Either the Lock for a Sequence Number is Open, or there's no state for it.
38 | assert(self.state[sequenceNumber]?.writeLock.isOpen ?? true)
| `- warning: capture of 'self' with non-sendable type 'McuMgrBleTransportWriteState' in a `@Sendable` closure; this is an error in the Swift 6 language mode
39 | self.state[sequenceNumber] = (sequenceNumber: sequenceNumber, writeLock: lock, nil, nil)
40 | }
/Users/admin/builder/spi-builder-workspace/Source/Bluetooth/McuMgrBleTransportWriteState.swift:39:86: warning: capture of 'lock' with non-sendable type 'ResultLock' in a `@Sendable` closure; this is an error in the Swift 6 language mode
37 | // Either the Lock for a Sequence Number is Open, or there's no state for it.
38 | assert(self.state[sequenceNumber]?.writeLock.isOpen ?? true)
39 | self.state[sequenceNumber] = (sequenceNumber: sequenceNumber, writeLock: lock, nil, nil)
| `- warning: capture of 'lock' with non-sendable type 'ResultLock' in a `@Sendable` closure; this is an error in the Swift 6 language mode
40 | }
41 | }
/Users/admin/builder/spi-builder-workspace/Source/Utils/ResultLock.swift:11:14: note: class 'ResultLock' does not conform to the 'Sendable' protocol
9 | public typealias ResultLockKey = String
10 |
11 | public class ResultLock {
| `- note: class 'ResultLock' does not conform to the 'Sendable' protocol
12 |
13 | private var semaphore: DispatchSemaphore
/Users/admin/builder/spi-builder-workspace/Source/Bluetooth/McuMgrBleTransportWriteState.swift:38:20: warning: implicit capture of 'self' requires that 'McuMgrBleTransportWriteState' conforms to `Sendable`; this is an error in the Swift 6 language mode
16 | // MARK: - McuMgrBleTransportWriteState
17 |
18 | final class McuMgrBleTransportWriteState {
| `- note: class 'McuMgrBleTransportWriteState' does not conform to the 'Sendable' protocol
19 |
20 | // MARK: - Private Properties
:
36 | lockingQueue.async {
37 | // Either the Lock for a Sequence Number is Open, or there's no state for it.
38 | assert(self.state[sequenceNumber]?.writeLock.isOpen ?? true)
| `- warning: implicit capture of 'self' requires that 'McuMgrBleTransportWriteState' conforms to `Sendable`; this is an error in the Swift 6 language mode
39 | self.state[sequenceNumber] = (sequenceNumber: sequenceNumber, writeLock: lock, nil, nil)
40 | }
/Users/admin/builder/spi-builder-workspace/Source/Bluetooth/McuMgrBleTransportWriteState.swift:44:30: warning: capture of 'writeClosure' with non-sendable type '() -> Void' in a `@Sendable` closure; this is an error in the Swift 6 language mode
42 |
43 | func sharedLock(_ writeClosure: @escaping () -> Void) {
44 | lockingQueue.async { writeClosure() }
| |- warning: capture of 'writeClosure' with non-sendable type '() -> Void' in a `@Sendable` closure; this is an error in the Swift 6 language mode
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
45 | }
46 |
/Users/admin/builder/spi-builder-workspace/Source/Bluetooth/McuMgrBleTransportWriteState.swift:49:16: warning: capture of 'self' with non-sendable type 'McuMgrBleTransportWriteState' in a `@Sendable` closure; this is an error in the Swift 6 language mode
16 | // MARK: - McuMgrBleTransportWriteState
17 |
18 | final class McuMgrBleTransportWriteState {
| `- note: class 'McuMgrBleTransportWriteState' does not conform to the 'Sendable' protocol
19 |
20 | // MARK: - Private Properties
:
47 | func received(sequenceNumber: McuSequenceNumber, data: Data) {
48 | lockingQueue.async {
49 | if self.state[sequenceNumber]?.chunk == nil {
| `- warning: capture of 'self' with non-sendable type 'McuMgrBleTransportWriteState' in a `@Sendable` closure; this is an error in the Swift 6 language mode
50 | // If we do not have any current response data, this is the initial
51 | // packet in a potentially fragmented response. Get the expected
/Users/admin/builder/spi-builder-workspace/Source/Bluetooth/McuMgrBleTransportWriteState.swift:89:13: warning: capture of 'self' with non-sendable type 'McuMgrBleTransportWriteState' in a `@Sendable` closure; this is an error in the Swift 6 language mode
16 | // MARK: - McuMgrBleTransportWriteState
17 |
18 | final class McuMgrBleTransportWriteState {
| `- note: class 'McuMgrBleTransportWriteState' does not conform to the 'Sendable' protocol
19 |
20 | // MARK: - Private Properties
:
87 | func completedWrite(sequenceNumber: McuSequenceNumber) {
88 | lockingQueue.async {
89 | self.state[sequenceNumber] = nil
| `- warning: capture of 'self' with non-sendable type 'McuMgrBleTransportWriteState' in a `@Sendable` closure; this is an error in the Swift 6 language mode
90 | }
91 | }
/Users/admin/builder/spi-builder-workspace/Source/Bluetooth/McuMgrBleTransportWriteState.swift:95:13: warning: capture of 'self' with non-sendable type 'McuMgrBleTransportWriteState' in a `@Sendable` closure; this is an error in the Swift 6 language mode
16 | // MARK: - McuMgrBleTransportWriteState
17 |
18 | final class McuMgrBleTransportWriteState {
| `- note: class 'McuMgrBleTransportWriteState' does not conform to the 'Sendable' protocol
19 |
20 | // MARK: - Private Properties
:
93 | func onError(_ error: Error) {
94 | lockingQueue.async {
95 | self.state.forEach { _, value in
| `- warning: capture of 'self' with non-sendable type 'McuMgrBleTransportWriteState' in a `@Sendable` closure; this is an error in the Swift 6 language mode
96 | value.writeLock.open(error)
97 | }
/Users/admin/builder/spi-builder-workspace/Source/Bluetooth/McuMgrBleTransportWriteState.swift:103:13: warning: capture of 'self' with non-sendable type 'McuMgrBleTransportWriteState' in a `@Sendable` closure; this is an error in the Swift 6 language mode
16 | // MARK: - McuMgrBleTransportWriteState
17 |
18 | final class McuMgrBleTransportWriteState {
| `- note: class 'McuMgrBleTransportWriteState' does not conform to the 'Sendable' protocol
19 |
20 | // MARK: - Private Properties
:
101 | func onWriteError(sequenceNumber: McuSequenceNumber, error: Error) {
102 | lockingQueue.async {
103 | self.state[sequenceNumber]?.writeLock.open(error)
| `- warning: capture of 'self' with non-sendable type 'McuMgrBleTransportWriteState' in a `@Sendable` closure; this is an error in the Swift 6 language mode
104 | }
105 | }
/Users/admin/builder/spi-builder-workspace/Source/Bluetooth/McuMgrBleTransport.swift:65:17: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
63 | didSet {
64 | DispatchQueue.main.async {
65 | self.notifyPeripheralDelegate()
| |- warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
| `- note: task-isolated 'self' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
66 | }
67 | }
/Users/admin/builder/spi-builder-workspace/Source/Bluetooth/McuMgrBleTransport.swift:99:17: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
97 | didSet {
98 | DispatchQueue.main.async {
99 | self.notifyPeripheralDelegate()
| |- warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
| `- note: task-isolated 'self' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
100 | }
101 | }
[76/82] Compiling iOSMcuManagerLibrary McuMgrBleTransport+CBPeripheralDelegate.swift
/Users/admin/builder/spi-builder-workspace/Source/Bluetooth/McuMgrBleTransport.swift:448:23: warning: static property 'SMP_SERVICE' is not concurrency-safe because non-'Sendable' type 'CBUUID' may have shared mutable state; this is an error in the Swift 6 language mode
446 | public enum McuMgrBleTransportConstant {
447 |
448 | public static let SMP_SERVICE = CBUUID(string: "8D53DC1D-1DB7-4CD3-868B-8A527460AA84")
| `- warning: static property 'SMP_SERVICE' is not concurrency-safe because non-'Sendable' type 'CBUUID' may have shared mutable state; this is an error in the Swift 6 language mode
449 | public static let SMP_CHARACTERISTIC = CBUUID(string: "DA2E7828-FBCE-4E01-AE9E-261174997C48")
450 |
CoreBluetooth.CBUUID:2:12: note: class 'CBUUID' does not conform to the 'Sendable' protocol
1 | @available(macOS 10.7, *)
2 | open class CBUUID : NSObject, NSCopying {
| `- note: class 'CBUUID' does not conform to the 'Sendable' protocol
3 | open var data: Data { get }
4 | @available(macOS 10.10, *)
/Users/admin/builder/spi-builder-workspace/Source/Bluetooth/McuMgrBleTransport.swift:8:1: warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'CoreBluetooth'
6 |
7 | import Foundation
8 | import CoreBluetooth
| `- warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'CoreBluetooth'
9 |
10 | // MARK: - PeripheralState
:
446 | public enum McuMgrBleTransportConstant {
447 |
448 | public static let SMP_SERVICE = CBUUID(string: "8D53DC1D-1DB7-4CD3-868B-8A527460AA84")
| |- note: annotate 'SMP_SERVICE' 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
449 | public static let SMP_CHARACTERISTIC = CBUUID(string: "DA2E7828-FBCE-4E01-AE9E-261174997C48")
450 |
/Users/admin/builder/spi-builder-workspace/Source/Bluetooth/McuMgrBleTransport.swift:449:23: warning: static property 'SMP_CHARACTERISTIC' is not concurrency-safe because non-'Sendable' type 'CBUUID' may have shared mutable state; this is an error in the Swift 6 language mode
447 |
448 | public static let SMP_SERVICE = CBUUID(string: "8D53DC1D-1DB7-4CD3-868B-8A527460AA84")
449 | public static let SMP_CHARACTERISTIC = CBUUID(string: "DA2E7828-FBCE-4E01-AE9E-261174997C48")
| |- warning: static property 'SMP_CHARACTERISTIC' is not concurrency-safe because non-'Sendable' type 'CBUUID' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: annotate 'SMP_CHARACTERISTIC' 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
450 |
451 | /// Max number of retries until the transaction is failed.
CoreBluetooth.CBUUID:2:12: note: class 'CBUUID' does not conform to the 'Sendable' protocol
1 | @available(macOS 10.7, *)
2 | open class CBUUID : NSObject, NSCopying {
| `- note: class 'CBUUID' does not conform to the 'Sendable' protocol
3 | open var data: Data { get }
4 | @available(macOS 10.10, *)
/Users/admin/builder/spi-builder-workspace/Source/Bluetooth/McuMgrBleTransport.swift:65:17: warning: capture of 'self' with non-sendable type 'McuMgrBleTransport' in a `@Sendable` closure; this is an error in the Swift 6 language mode
35 | // MARK: - McuMgrBleTransport
36 |
37 | public class McuMgrBleTransport: NSObject {
| `- note: class 'McuMgrBleTransport' does not conform to the 'Sendable' protocol
38 |
39 | /// The CBPeripheral for this transport to communicate with.
:
63 | didSet {
64 | DispatchQueue.main.async {
65 | self.notifyPeripheralDelegate()
| `- warning: capture of 'self' with non-sendable type 'McuMgrBleTransport' in a `@Sendable` closure; this is an error in the Swift 6 language mode
66 | }
67 | }
/Users/admin/builder/spi-builder-workspace/Source/Bluetooth/McuMgrBleTransport.swift:99:17: warning: capture of 'self' with non-sendable type 'McuMgrBleTransport' in a `@Sendable` closure; this is an error in the Swift 6 language mode
35 | // MARK: - McuMgrBleTransport
36 |
37 | public class McuMgrBleTransport: NSObject {
| `- note: class 'McuMgrBleTransport' does not conform to the 'Sendable' protocol
38 |
39 | /// The CBPeripheral for this transport to communicate with.
:
97 | didSet {
98 | DispatchQueue.main.async {
99 | self.notifyPeripheralDelegate()
| `- warning: capture of 'self' with non-sendable type 'McuMgrBleTransport' in a `@Sendable` closure; this is an error in the Swift 6 language mode
100 | }
101 | }
/Users/admin/builder/spi-builder-workspace/Source/Bluetooth/McuMgrBleTransport.swift:172:24: warning: capture of 'self' with non-sendable type 'McuMgrBleTransport' in a `@Sendable` closure; this is an error in the Swift 6 language mode
35 | // MARK: - McuMgrBleTransport
36 |
37 | public class McuMgrBleTransport: NSObject {
| `- note: class 'McuMgrBleTransport' does not conform to the 'Sendable' protocol
38 |
39 | /// The CBPeripheral for this transport to communicate with.
:
170 | operationQueue.addOperation {
171 | for i in 0..<McuMgrBleTransportConstant.MAX_RETRIES {
172 | switch self._send(data: data, timeoutInSeconds: timeout) {
| `- warning: capture of 'self' with non-sendable type 'McuMgrBleTransport' in a `@Sendable` closure; this is an error in the Swift 6 language mode
173 | case .failure(McuMgrTransportError.waitAndRetry):
174 | let waitInterval = min(timeout, McuMgrBleTransportConstant.WAIT_AND_RETRY_INTERVAL)
/Users/admin/builder/spi-builder-workspace/Source/Bluetooth/McuMgrBleTransport.swift:184:25: warning: capture of 'callback' with non-sendable type 'McuMgrCallback<T>' (aka '(Optional<T>, Optional<any Error>) -> ()') in a `@Sendable` closure; this is an error in the Swift 6 language mode
182 | self.log(msg: error.localizedDescription, atLevel: .error)
183 | DispatchQueue.main.async {
184 | callback(nil, error)
| |- warning: capture of 'callback' with non-sendable type 'McuMgrCallback<T>' (aka '(Optional<T>, Optional<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'
185 | }
186 | return
/Users/admin/builder/spi-builder-workspace/Source/Bluetooth/McuMgrBleTransport.swift:184:25: warning: capture of 'callback' with non-sendable type 'McuMgrCallback<T>' (aka '(Optional<T>, Optional<any Error>) -> ()') in a `@Sendable` closure; this is an error in the Swift 6 language mode
182 | self.log(msg: error.localizedDescription, atLevel: .error)
183 | DispatchQueue.main.async {
184 | callback(nil, error)
| |- warning: capture of 'callback' with non-sendable type 'McuMgrCallback<T>' (aka '(Optional<T>, Optional<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'
185 | }
186 | return
/Users/admin/builder/spi-builder-workspace/Source/Bluetooth/McuMgrBleTransport.swift:191:29: warning: capture of 'callback' with non-sendable type 'McuMgrCallback<T>' (aka '(Optional<T>, Optional<any Error>) -> ()') in a `@Sendable` closure; this is an error in the Swift 6 language mode
189 | let response: T = try McuMgrResponse.buildResponse(scheme: .ble, data: responseData)
190 | DispatchQueue.main.async {
191 | callback(response, nil)
| |- warning: capture of 'callback' with non-sendable type 'McuMgrCallback<T>' (aka '(Optional<T>, Optional<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'
192 | }
193 | } catch {
/Users/admin/builder/spi-builder-workspace/Source/Bluetooth/McuMgrBleTransport.swift:191:38: warning: capture of 'response' with non-sendable type 'T' in a `@Sendable` closure; this is an error in the Swift 6 language mode
167 | }
168 |
169 | public func send<T: McuMgrResponse>(data: Data, timeout: Int, callback: @escaping McuMgrCallback<T>) {
| `- note: consider making generic parameter 'T' conform to the 'Sendable' protocol
170 | operationQueue.addOperation {
171 | for i in 0..<McuMgrBleTransportConstant.MAX_RETRIES {
:
189 | let response: T = try McuMgrResponse.buildResponse(scheme: .ble, data: responseData)
190 | DispatchQueue.main.async {
191 | callback(response, nil)
| `- warning: capture of 'response' with non-sendable type 'T' in a `@Sendable` closure; this is an error in the Swift 6 language mode
192 | }
193 | } catch {
/Users/admin/builder/spi-builder-workspace/Source/Bluetooth/McuMgrBleTransport.swift:196:29: warning: capture of 'callback' with non-sendable type 'McuMgrCallback<T>' (aka '(Optional<T>, Optional<any Error>) -> ()') in a `@Sendable` closure; this is an error in the Swift 6 language mode
194 | self.log(msg: error.localizedDescription, atLevel: .error)
195 | DispatchQueue.main.async {
196 | callback(nil, error)
| |- warning: capture of 'callback' with non-sendable type 'McuMgrCallback<T>' (aka '(Optional<T>, Optional<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'
197 | }
198 | }
/Users/admin/builder/spi-builder-workspace/Source/Bluetooth/McuMgrBleTransport.swift:206:17: warning: capture of 'callback' with non-sendable type 'McuMgrCallback<T>' (aka '(Optional<T>, Optional<any Error>) -> ()') in a `@Sendable` closure; this is an error in the Swift 6 language mode
204 | // If we made it here, all retries failed.
205 | DispatchQueue.main.async {
206 | callback(nil, McuMgrTransportError.sendFailed)
| |- warning: capture of 'callback' with non-sendable type 'McuMgrCallback<T>' (aka '(Optional<T>, Optional<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'
207 | }
208 | }
/Users/admin/builder/spi-builder-workspace/Source/Extensions/Data+McuManager.swift:39:27: warning: static property 'upperCase' is not concurrency-safe because non-'Sendable' type 'Data.HexEncodingOptions' may have shared mutable state; this is an error in the Swift 6 language mode
36 | // MARK: - Hex Encoding
37 |
38 | struct HexEncodingOptions: OptionSet {
| `- note: consider making struct 'HexEncodingOptions' conform to the 'Sendable' protocol
39 | public static let upperCase = HexEncodingOptions(rawValue: 1 << 0)
| |- warning: static property 'upperCase' is not concurrency-safe because non-'Sendable' type 'Data.HexEncodingOptions' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: annotate 'upperCase' 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
40 | public static let byteSpacing = HexEncodingOptions(rawValue: 1 << 1)
41 | public static let prepend0x = HexEncodingOptions(rawValue: 1 << 2)
/Users/admin/builder/spi-builder-workspace/Source/Extensions/Data+McuManager.swift:42:27: warning: static property 'twoByteSpacing' is not concurrency-safe because non-'Sendable' type 'Data.HexEncodingOptions' may have shared mutable state; this is an error in the Swift 6 language mode
36 | // MARK: - Hex Encoding
37 |
38 | struct HexEncodingOptions: OptionSet {
| `- note: consider making struct 'HexEncodingOptions' conform to the 'Sendable' protocol
39 | public static let upperCase = HexEncodingOptions(rawValue: 1 << 0)
40 | public static let byteSpacing = HexEncodingOptions(rawValue: 1 << 1)
41 | public static let prepend0x = HexEncodingOptions(rawValue: 1 << 2)
42 | public static let twoByteSpacing = HexEncodingOptions(rawValue: 1 << 3)
| |- warning: static property 'twoByteSpacing' is not concurrency-safe because non-'Sendable' type 'Data.HexEncodingOptions' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: annotate 'twoByteSpacing' 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
43 | public static let reverseEndianness = HexEncodingOptions(rawValue: 1 << 4)
44 |
/Users/admin/builder/spi-builder-workspace/Source/Bluetooth/McuMgrBleTransportWriteState.swift:38:20: warning: capture of 'self' with non-sendable type 'McuMgrBleTransportWriteState' in a `@Sendable` closure; this is an error in the Swift 6 language mode
16 | // MARK: - McuMgrBleTransportWriteState
17 |
18 | final class McuMgrBleTransportWriteState {
| `- note: class 'McuMgrBleTransportWriteState' does not conform to the 'Sendable' protocol
19 |
20 | // MARK: - Private Properties
:
36 | lockingQueue.async {
37 | // Either the Lock for a Sequence Number is Open, or there's no state for it.
38 | assert(self.state[sequenceNumber]?.writeLock.isOpen ?? true)
| `- warning: capture of 'self' with non-sendable type 'McuMgrBleTransportWriteState' in a `@Sendable` closure; this is an error in the Swift 6 language mode
39 | self.state[sequenceNumber] = (sequenceNumber: sequenceNumber, writeLock: lock, nil, nil)
40 | }
/Users/admin/builder/spi-builder-workspace/Source/Bluetooth/McuMgrBleTransportWriteState.swift:39:86: warning: capture of 'lock' with non-sendable type 'ResultLock' in a `@Sendable` closure; this is an error in the Swift 6 language mode
37 | // Either the Lock for a Sequence Number is Open, or there's no state for it.
38 | assert(self.state[sequenceNumber]?.writeLock.isOpen ?? true)
39 | self.state[sequenceNumber] = (sequenceNumber: sequenceNumber, writeLock: lock, nil, nil)
| `- warning: capture of 'lock' with non-sendable type 'ResultLock' in a `@Sendable` closure; this is an error in the Swift 6 language mode
40 | }
41 | }
/Users/admin/builder/spi-builder-workspace/Source/Utils/ResultLock.swift:11:14: note: class 'ResultLock' does not conform to the 'Sendable' protocol
9 | public typealias ResultLockKey = String
10 |
11 | public class ResultLock {
| `- note: class 'ResultLock' does not conform to the 'Sendable' protocol
12 |
13 | private var semaphore: DispatchSemaphore
/Users/admin/builder/spi-builder-workspace/Source/Bluetooth/McuMgrBleTransportWriteState.swift:38:20: warning: implicit capture of 'self' requires that 'McuMgrBleTransportWriteState' conforms to `Sendable`; this is an error in the Swift 6 language mode
16 | // MARK: - McuMgrBleTransportWriteState
17 |
18 | final class McuMgrBleTransportWriteState {
| `- note: class 'McuMgrBleTransportWriteState' does not conform to the 'Sendable' protocol
19 |
20 | // MARK: - Private Properties
:
36 | lockingQueue.async {
37 | // Either the Lock for a Sequence Number is Open, or there's no state for it.
38 | assert(self.state[sequenceNumber]?.writeLock.isOpen ?? true)
| `- warning: implicit capture of 'self' requires that 'McuMgrBleTransportWriteState' conforms to `Sendable`; this is an error in the Swift 6 language mode
39 | self.state[sequenceNumber] = (sequenceNumber: sequenceNumber, writeLock: lock, nil, nil)
40 | }
/Users/admin/builder/spi-builder-workspace/Source/Bluetooth/McuMgrBleTransportWriteState.swift:44:30: warning: capture of 'writeClosure' with non-sendable type '() -> Void' in a `@Sendable` closure; this is an error in the Swift 6 language mode
42 |
43 | func sharedLock(_ writeClosure: @escaping () -> Void) {
44 | lockingQueue.async { writeClosure() }
| |- warning: capture of 'writeClosure' with non-sendable type '() -> Void' in a `@Sendable` closure; this is an error in the Swift 6 language mode
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
45 | }
46 |
/Users/admin/builder/spi-builder-workspace/Source/Bluetooth/McuMgrBleTransportWriteState.swift:49:16: warning: capture of 'self' with non-sendable type 'McuMgrBleTransportWriteState' in a `@Sendable` closure; this is an error in the Swift 6 language mode
16 | // MARK: - McuMgrBleTransportWriteState
17 |
18 | final class McuMgrBleTransportWriteState {
| `- note: class 'McuMgrBleTransportWriteState' does not conform to the 'Sendable' protocol
19 |
20 | // MARK: - Private Properties
:
47 | func received(sequenceNumber: McuSequenceNumber, data: Data) {
48 | lockingQueue.async {
49 | if self.state[sequenceNumber]?.chunk == nil {
| `- warning: capture of 'self' with non-sendable type 'McuMgrBleTransportWriteState' in a `@Sendable` closure; this is an error in the Swift 6 language mode
50 | // If we do not have any current response data, this is the initial
51 | // packet in a potentially fragmented response. Get the expected
/Users/admin/builder/spi-builder-workspace/Source/Bluetooth/McuMgrBleTransportWriteState.swift:89:13: warning: capture of 'self' with non-sendable type 'McuMgrBleTransportWriteState' in a `@Sendable` closure; this is an error in the Swift 6 language mode
16 | // MARK: - McuMgrBleTransportWriteState
17 |
18 | final class McuMgrBleTransportWriteState {
| `- note: class 'McuMgrBleTransportWriteState' does not conform to the 'Sendable' protocol
19 |
20 | // MARK: - Private Properties
:
87 | func completedWrite(sequenceNumber: McuSequenceNumber) {
88 | lockingQueue.async {
89 | self.state[sequenceNumber] = nil
| `- warning: capture of 'self' with non-sendable type 'McuMgrBleTransportWriteState' in a `@Sendable` closure; this is an error in the Swift 6 language mode
90 | }
91 | }
/Users/admin/builder/spi-builder-workspace/Source/Bluetooth/McuMgrBleTransportWriteState.swift:95:13: warning: capture of 'self' with non-sendable type 'McuMgrBleTransportWriteState' in a `@Sendable` closure; this is an error in the Swift 6 language mode
16 | // MARK: - McuMgrBleTransportWriteState
17 |
18 | final class McuMgrBleTransportWriteState {
| `- note: class 'McuMgrBleTransportWriteState' does not conform to the 'Sendable' protocol
19 |
20 | // MARK: - Private Properties
:
93 | func onError(_ error: Error) {
94 | lockingQueue.async {
95 | self.state.forEach { _, value in
| `- warning: capture of 'self' with non-sendable type 'McuMgrBleTransportWriteState' in a `@Sendable` closure; this is an error in the Swift 6 language mode
96 | value.writeLock.open(error)
97 | }
/Users/admin/builder/spi-builder-workspace/Source/Bluetooth/McuMgrBleTransportWriteState.swift:103:13: warning: capture of 'self' with non-sendable type 'McuMgrBleTransportWriteState' in a `@Sendable` closure; this is an error in the Swift 6 language mode
16 | // MARK: - McuMgrBleTransportWriteState
17 |
18 | final class McuMgrBleTransportWriteState {
| `- note: class 'McuMgrBleTransportWriteState' does not conform to the 'Sendable' protocol
19 |
20 | // MARK: - Private Properties
:
101 | func onWriteError(sequenceNumber: McuSequenceNumber, error: Error) {
102 | lockingQueue.async {
103 | self.state[sequenceNumber]?.writeLock.open(error)
| `- warning: capture of 'self' with non-sendable type 'McuMgrBleTransportWriteState' in a `@Sendable` closure; this is an error in the Swift 6 language mode
104 | }
105 | }
/Users/admin/builder/spi-builder-workspace/Source/Bluetooth/McuMgrBleTransport.swift:65:17: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
63 | didSet {
64 | DispatchQueue.main.async {
65 | self.notifyPeripheralDelegate()
| |- warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
| `- note: task-isolated 'self' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
66 | }
67 | }
/Users/admin/builder/spi-builder-workspace/Source/Bluetooth/McuMgrBleTransport.swift:99:17: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
97 | didSet {
98 | DispatchQueue.main.async {
99 | self.notifyPeripheralDelegate()
| |- warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
| `- note: task-isolated 'self' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
100 | }
101 | }
[77/82] Compiling iOSMcuManagerLibrary McuMgrBleTransport.swift
/Users/admin/builder/spi-builder-workspace/Source/Bluetooth/McuMgrBleTransport.swift:448:23: warning: static property 'SMP_SERVICE' is not concurrency-safe because non-'Sendable' type 'CBUUID' may have shared mutable state; this is an error in the Swift 6 language mode
446 | public enum McuMgrBleTransportConstant {
447 |
448 | public static let SMP_SERVICE = CBUUID(string: "8D53DC1D-1DB7-4CD3-868B-8A527460AA84")
| `- warning: static property 'SMP_SERVICE' is not concurrency-safe because non-'Sendable' type 'CBUUID' may have shared mutable state; this is an error in the Swift 6 language mode
449 | public static let SMP_CHARACTERISTIC = CBUUID(string: "DA2E7828-FBCE-4E01-AE9E-261174997C48")
450 |
CoreBluetooth.CBUUID:2:12: note: class 'CBUUID' does not conform to the 'Sendable' protocol
1 | @available(macOS 10.7, *)
2 | open class CBUUID : NSObject, NSCopying {
| `- note: class 'CBUUID' does not conform to the 'Sendable' protocol
3 | open var data: Data { get }
4 | @available(macOS 10.10, *)
/Users/admin/builder/spi-builder-workspace/Source/Bluetooth/McuMgrBleTransport.swift:8:1: warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'CoreBluetooth'
6 |
7 | import Foundation
8 | import CoreBluetooth
| `- warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'CoreBluetooth'
9 |
10 | // MARK: - PeripheralState
:
446 | public enum McuMgrBleTransportConstant {
447 |
448 | public static let SMP_SERVICE = CBUUID(string: "8D53DC1D-1DB7-4CD3-868B-8A527460AA84")
| |- note: annotate 'SMP_SERVICE' 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
449 | public static let SMP_CHARACTERISTIC = CBUUID(string: "DA2E7828-FBCE-4E01-AE9E-261174997C48")
450 |
/Users/admin/builder/spi-builder-workspace/Source/Bluetooth/McuMgrBleTransport.swift:449:23: warning: static property 'SMP_CHARACTERISTIC' is not concurrency-safe because non-'Sendable' type 'CBUUID' may have shared mutable state; this is an error in the Swift 6 language mode
447 |
448 | public static let SMP_SERVICE = CBUUID(string: "8D53DC1D-1DB7-4CD3-868B-8A527460AA84")
449 | public static let SMP_CHARACTERISTIC = CBUUID(string: "DA2E7828-FBCE-4E01-AE9E-261174997C48")
| |- warning: static property 'SMP_CHARACTERISTIC' is not concurrency-safe because non-'Sendable' type 'CBUUID' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: annotate 'SMP_CHARACTERISTIC' 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
450 |
451 | /// Max number of retries until the transaction is failed.
CoreBluetooth.CBUUID:2:12: note: class 'CBUUID' does not conform to the 'Sendable' protocol
1 | @available(macOS 10.7, *)
2 | open class CBUUID : NSObject, NSCopying {
| `- note: class 'CBUUID' does not conform to the 'Sendable' protocol
3 | open var data: Data { get }
4 | @available(macOS 10.10, *)
/Users/admin/builder/spi-builder-workspace/Source/Bluetooth/McuMgrBleTransport.swift:65:17: warning: capture of 'self' with non-sendable type 'McuMgrBleTransport' in a `@Sendable` closure; this is an error in the Swift 6 language mode
35 | // MARK: - McuMgrBleTransport
36 |
37 | public class McuMgrBleTransport: NSObject {
| `- note: class 'McuMgrBleTransport' does not conform to the 'Sendable' protocol
38 |
39 | /// The CBPeripheral for this transport to communicate with.
:
63 | didSet {
64 | DispatchQueue.main.async {
65 | self.notifyPeripheralDelegate()
| `- warning: capture of 'self' with non-sendable type 'McuMgrBleTransport' in a `@Sendable` closure; this is an error in the Swift 6 language mode
66 | }
67 | }
/Users/admin/builder/spi-builder-workspace/Source/Bluetooth/McuMgrBleTransport.swift:99:17: warning: capture of 'self' with non-sendable type 'McuMgrBleTransport' in a `@Sendable` closure; this is an error in the Swift 6 language mode
35 | // MARK: - McuMgrBleTransport
36 |
37 | public class McuMgrBleTransport: NSObject {
| `- note: class 'McuMgrBleTransport' does not conform to the 'Sendable' protocol
38 |
39 | /// The CBPeripheral for this transport to communicate with.
:
97 | didSet {
98 | DispatchQueue.main.async {
99 | self.notifyPeripheralDelegate()
| `- warning: capture of 'self' with non-sendable type 'McuMgrBleTransport' in a `@Sendable` closure; this is an error in the Swift 6 language mode
100 | }
101 | }
/Users/admin/builder/spi-builder-workspace/Source/Bluetooth/McuMgrBleTransport.swift:172:24: warning: capture of 'self' with non-sendable type 'McuMgrBleTransport' in a `@Sendable` closure; this is an error in the Swift 6 language mode
35 | // MARK: - McuMgrBleTransport
36 |
37 | public class McuMgrBleTransport: NSObject {
| `- note: class 'McuMgrBleTransport' does not conform to the 'Sendable' protocol
38 |
39 | /// The CBPeripheral for this transport to communicate with.
:
170 | operationQueue.addOperation {
171 | for i in 0..<McuMgrBleTransportConstant.MAX_RETRIES {
172 | switch self._send(data: data, timeoutInSeconds: timeout) {
| `- warning: capture of 'self' with non-sendable type 'McuMgrBleTransport' in a `@Sendable` closure; this is an error in the Swift 6 language mode
173 | case .failure(McuMgrTransportError.waitAndRetry):
174 | let waitInterval = min(timeout, McuMgrBleTransportConstant.WAIT_AND_RETRY_INTERVAL)
/Users/admin/builder/spi-builder-workspace/Source/Bluetooth/McuMgrBleTransport.swift:184:25: warning: capture of 'callback' with non-sendable type 'McuMgrCallback<T>' (aka '(Optional<T>, Optional<any Error>) -> ()') in a `@Sendable` closure; this is an error in the Swift 6 language mode
182 | self.log(msg: error.localizedDescription, atLevel: .error)
183 | DispatchQueue.main.async {
184 | callback(nil, error)
| |- warning: capture of 'callback' with non-sendable type 'McuMgrCallback<T>' (aka '(Optional<T>, Optional<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'
185 | }
186 | return
/Users/admin/builder/spi-builder-workspace/Source/Bluetooth/McuMgrBleTransport.swift:184:25: warning: capture of 'callback' with non-sendable type 'McuMgrCallback<T>' (aka '(Optional<T>, Optional<any Error>) -> ()') in a `@Sendable` closure; this is an error in the Swift 6 language mode
182 | self.log(msg: error.localizedDescription, atLevel: .error)
183 | DispatchQueue.main.async {
184 | callback(nil, error)
| |- warning: capture of 'callback' with non-sendable type 'McuMgrCallback<T>' (aka '(Optional<T>, Optional<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'
185 | }
186 | return
/Users/admin/builder/spi-builder-workspace/Source/Bluetooth/McuMgrBleTransport.swift:191:29: warning: capture of 'callback' with non-sendable type 'McuMgrCallback<T>' (aka '(Optional<T>, Optional<any Error>) -> ()') in a `@Sendable` closure; this is an error in the Swift 6 language mode
189 | let response: T = try McuMgrResponse.buildResponse(scheme: .ble, data: responseData)
190 | DispatchQueue.main.async {
191 | callback(response, nil)
| |- warning: capture of 'callback' with non-sendable type 'McuMgrCallback<T>' (aka '(Optional<T>, Optional<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'
192 | }
193 | } catch {
/Users/admin/builder/spi-builder-workspace/Source/Bluetooth/McuMgrBleTransport.swift:191:38: warning: capture of 'response' with non-sendable type 'T' in a `@Sendable` closure; this is an error in the Swift 6 language mode
167 | }
168 |
169 | public func send<T: McuMgrResponse>(data: Data, timeout: Int, callback: @escaping McuMgrCallback<T>) {
| `- note: consider making generic parameter 'T' conform to the 'Sendable' protocol
170 | operationQueue.addOperation {
171 | for i in 0..<McuMgrBleTransportConstant.MAX_RETRIES {
:
189 | let response: T = try McuMgrResponse.buildResponse(scheme: .ble, data: responseData)
190 | DispatchQueue.main.async {
191 | callback(response, nil)
| `- warning: capture of 'response' with non-sendable type 'T' in a `@Sendable` closure; this is an error in the Swift 6 language mode
192 | }
193 | } catch {
/Users/admin/builder/spi-builder-workspace/Source/Bluetooth/McuMgrBleTransport.swift:196:29: warning: capture of 'callback' with non-sendable type 'McuMgrCallback<T>' (aka '(Optional<T>, Optional<any Error>) -> ()') in a `@Sendable` closure; this is an error in the Swift 6 language mode
194 | self.log(msg: error.localizedDescription, atLevel: .error)
195 | DispatchQueue.main.async {
196 | callback(nil, error)
| |- warning: capture of 'callback' with non-sendable type 'McuMgrCallback<T>' (aka '(Optional<T>, Optional<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'
197 | }
198 | }
/Users/admin/builder/spi-builder-workspace/Source/Bluetooth/McuMgrBleTransport.swift:206:17: warning: capture of 'callback' with non-sendable type 'McuMgrCallback<T>' (aka '(Optional<T>, Optional<any Error>) -> ()') in a `@Sendable` closure; this is an error in the Swift 6 language mode
204 | // If we made it here, all retries failed.
205 | DispatchQueue.main.async {
206 | callback(nil, McuMgrTransportError.sendFailed)
| |- warning: capture of 'callback' with non-sendable type 'McuMgrCallback<T>' (aka '(Optional<T>, Optional<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'
207 | }
208 | }
/Users/admin/builder/spi-builder-workspace/Source/Extensions/Data+McuManager.swift:39:27: warning: static property 'upperCase' is not concurrency-safe because non-'Sendable' type 'Data.HexEncodingOptions' may have shared mutable state; this is an error in the Swift 6 language mode
36 | // MARK: - Hex Encoding
37 |
38 | struct HexEncodingOptions: OptionSet {
| `- note: consider making struct 'HexEncodingOptions' conform to the 'Sendable' protocol
39 | public static let upperCase = HexEncodingOptions(rawValue: 1 << 0)
| |- warning: static property 'upperCase' is not concurrency-safe because non-'Sendable' type 'Data.HexEncodingOptions' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: annotate 'upperCase' 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
40 | public static let byteSpacing = HexEncodingOptions(rawValue: 1 << 1)
41 | public static let prepend0x = HexEncodingOptions(rawValue: 1 << 2)
/Users/admin/builder/spi-builder-workspace/Source/Extensions/Data+McuManager.swift:42:27: warning: static property 'twoByteSpacing' is not concurrency-safe because non-'Sendable' type 'Data.HexEncodingOptions' may have shared mutable state; this is an error in the Swift 6 language mode
36 | // MARK: - Hex Encoding
37 |
38 | struct HexEncodingOptions: OptionSet {
| `- note: consider making struct 'HexEncodingOptions' conform to the 'Sendable' protocol
39 | public static let upperCase = HexEncodingOptions(rawValue: 1 << 0)
40 | public static let byteSpacing = HexEncodingOptions(rawValue: 1 << 1)
41 | public static let prepend0x = HexEncodingOptions(rawValue: 1 << 2)
42 | public static let twoByteSpacing = HexEncodingOptions(rawValue: 1 << 3)
| |- warning: static property 'twoByteSpacing' is not concurrency-safe because non-'Sendable' type 'Data.HexEncodingOptions' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: annotate 'twoByteSpacing' 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
43 | public static let reverseEndianness = HexEncodingOptions(rawValue: 1 << 4)
44 |
/Users/admin/builder/spi-builder-workspace/Source/Bluetooth/McuMgrBleTransportWriteState.swift:38:20: warning: capture of 'self' with non-sendable type 'McuMgrBleTransportWriteState' in a `@Sendable` closure; this is an error in the Swift 6 language mode
16 | // MARK: - McuMgrBleTransportWriteState
17 |
18 | final class McuMgrBleTransportWriteState {
| `- note: class 'McuMgrBleTransportWriteState' does not conform to the 'Sendable' protocol
19 |
20 | // MARK: - Private Properties
:
36 | lockingQueue.async {
37 | // Either the Lock for a Sequence Number is Open, or there's no state for it.
38 | assert(self.state[sequenceNumber]?.writeLock.isOpen ?? true)
| `- warning: capture of 'self' with non-sendable type 'McuMgrBleTransportWriteState' in a `@Sendable` closure; this is an error in the Swift 6 language mode
39 | self.state[sequenceNumber] = (sequenceNumber: sequenceNumber, writeLock: lock, nil, nil)
40 | }
/Users/admin/builder/spi-builder-workspace/Source/Bluetooth/McuMgrBleTransportWriteState.swift:39:86: warning: capture of 'lock' with non-sendable type 'ResultLock' in a `@Sendable` closure; this is an error in the Swift 6 language mode
37 | // Either the Lock for a Sequence Number is Open, or there's no state for it.
38 | assert(self.state[sequenceNumber]?.writeLock.isOpen ?? true)
39 | self.state[sequenceNumber] = (sequenceNumber: sequenceNumber, writeLock: lock, nil, nil)
| `- warning: capture of 'lock' with non-sendable type 'ResultLock' in a `@Sendable` closure; this is an error in the Swift 6 language mode
40 | }
41 | }
/Users/admin/builder/spi-builder-workspace/Source/Utils/ResultLock.swift:11:14: note: class 'ResultLock' does not conform to the 'Sendable' protocol
9 | public typealias ResultLockKey = String
10 |
11 | public class ResultLock {
| `- note: class 'ResultLock' does not conform to the 'Sendable' protocol
12 |
13 | private var semaphore: DispatchSemaphore
/Users/admin/builder/spi-builder-workspace/Source/Bluetooth/McuMgrBleTransportWriteState.swift:38:20: warning: implicit capture of 'self' requires that 'McuMgrBleTransportWriteState' conforms to `Sendable`; this is an error in the Swift 6 language mode
16 | // MARK: - McuMgrBleTransportWriteState
17 |
18 | final class McuMgrBleTransportWriteState {
| `- note: class 'McuMgrBleTransportWriteState' does not conform to the 'Sendable' protocol
19 |
20 | // MARK: - Private Properties
:
36 | lockingQueue.async {
37 | // Either the Lock for a Sequence Number is Open, or there's no state for it.
38 | assert(self.state[sequenceNumber]?.writeLock.isOpen ?? true)
| `- warning: implicit capture of 'self' requires that 'McuMgrBleTransportWriteState' conforms to `Sendable`; this is an error in the Swift 6 language mode
39 | self.state[sequenceNumber] = (sequenceNumber: sequenceNumber, writeLock: lock, nil, nil)
40 | }
/Users/admin/builder/spi-builder-workspace/Source/Bluetooth/McuMgrBleTransportWriteState.swift:44:30: warning: capture of 'writeClosure' with non-sendable type '() -> Void' in a `@Sendable` closure; this is an error in the Swift 6 language mode
42 |
43 | func sharedLock(_ writeClosure: @escaping () -> Void) {
44 | lockingQueue.async { writeClosure() }
| |- warning: capture of 'writeClosure' with non-sendable type '() -> Void' in a `@Sendable` closure; this is an error in the Swift 6 language mode
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
45 | }
46 |
/Users/admin/builder/spi-builder-workspace/Source/Bluetooth/McuMgrBleTransportWriteState.swift:49:16: warning: capture of 'self' with non-sendable type 'McuMgrBleTransportWriteState' in a `@Sendable` closure; this is an error in the Swift 6 language mode
16 | // MARK: - McuMgrBleTransportWriteState
17 |
18 | final class McuMgrBleTransportWriteState {
| `- note: class 'McuMgrBleTransportWriteState' does not conform to the 'Sendable' protocol
19 |
20 | // MARK: - Private Properties
:
47 | func received(sequenceNumber: McuSequenceNumber, data: Data) {
48 | lockingQueue.async {
49 | if self.state[sequenceNumber]?.chunk == nil {
| `- warning: capture of 'self' with non-sendable type 'McuMgrBleTransportWriteState' in a `@Sendable` closure; this is an error in the Swift 6 language mode
50 | // If we do not have any current response data, this is the initial
51 | // packet in a potentially fragmented response. Get the expected
/Users/admin/builder/spi-builder-workspace/Source/Bluetooth/McuMgrBleTransportWriteState.swift:89:13: warning: capture of 'self' with non-sendable type 'McuMgrBleTransportWriteState' in a `@Sendable` closure; this is an error in the Swift 6 language mode
16 | // MARK: - McuMgrBleTransportWriteState
17 |
18 | final class McuMgrBleTransportWriteState {
| `- note: class 'McuMgrBleTransportWriteState' does not conform to the 'Sendable' protocol
19 |
20 | // MARK: - Private Properties
:
87 | func completedWrite(sequenceNumber: McuSequenceNumber) {
88 | lockingQueue.async {
89 | self.state[sequenceNumber] = nil
| `- warning: capture of 'self' with non-sendable type 'McuMgrBleTransportWriteState' in a `@Sendable` closure; this is an error in the Swift 6 language mode
90 | }
91 | }
/Users/admin/builder/spi-builder-workspace/Source/Bluetooth/McuMgrBleTransportWriteState.swift:95:13: warning: capture of 'self' with non-sendable type 'McuMgrBleTransportWriteState' in a `@Sendable` closure; this is an error in the Swift 6 language mode
16 | // MARK: - McuMgrBleTransportWriteState
17 |
18 | final class McuMgrBleTransportWriteState {
| `- note: class 'McuMgrBleTransportWriteState' does not conform to the 'Sendable' protocol
19 |
20 | // MARK: - Private Properties
:
93 | func onError(_ error: Error) {
94 | lockingQueue.async {
95 | self.state.forEach { _, value in
| `- warning: capture of 'self' with non-sendable type 'McuMgrBleTransportWriteState' in a `@Sendable` closure; this is an error in the Swift 6 language mode
96 | value.writeLock.open(error)
97 | }
/Users/admin/builder/spi-builder-workspace/Source/Bluetooth/McuMgrBleTransportWriteState.swift:103:13: warning: capture of 'self' with non-sendable type 'McuMgrBleTransportWriteState' in a `@Sendable` closure; this is an error in the Swift 6 language mode
16 | // MARK: - McuMgrBleTransportWriteState
17 |
18 | final class McuMgrBleTransportWriteState {
| `- note: class 'McuMgrBleTransportWriteState' does not conform to the 'Sendable' protocol
19 |
20 | // MARK: - Private Properties
:
101 | func onWriteError(sequenceNumber: McuSequenceNumber, error: Error) {
102 | lockingQueue.async {
103 | self.state[sequenceNumber]?.writeLock.open(error)
| `- warning: capture of 'self' with non-sendable type 'McuMgrBleTransportWriteState' in a `@Sendable` closure; this is an error in the Swift 6 language mode
104 | }
105 | }
/Users/admin/builder/spi-builder-workspace/Source/Bluetooth/McuMgrBleTransport.swift:65:17: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
63 | didSet {
64 | DispatchQueue.main.async {
65 | self.notifyPeripheralDelegate()
| |- warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
| `- note: task-isolated 'self' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
66 | }
67 | }
/Users/admin/builder/spi-builder-workspace/Source/Bluetooth/McuMgrBleTransport.swift:99:17: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
97 | didSet {
98 | DispatchQueue.main.async {
99 | self.notifyPeripheralDelegate()
| |- warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
| `- note: task-isolated 'self' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
100 | }
101 | }
[78/82] Compiling iOSMcuManagerLibrary McuMgrBleTransportWriteState.swift
/Users/admin/builder/spi-builder-workspace/Source/Bluetooth/McuMgrBleTransport.swift:448:23: warning: static property 'SMP_SERVICE' is not concurrency-safe because non-'Sendable' type 'CBUUID' may have shared mutable state; this is an error in the Swift 6 language mode
446 | public enum McuMgrBleTransportConstant {
447 |
448 | public static let SMP_SERVICE = CBUUID(string: "8D53DC1D-1DB7-4CD3-868B-8A527460AA84")
| `- warning: static property 'SMP_SERVICE' is not concurrency-safe because non-'Sendable' type 'CBUUID' may have shared mutable state; this is an error in the Swift 6 language mode
449 | public static let SMP_CHARACTERISTIC = CBUUID(string: "DA2E7828-FBCE-4E01-AE9E-261174997C48")
450 |
CoreBluetooth.CBUUID:2:12: note: class 'CBUUID' does not conform to the 'Sendable' protocol
1 | @available(macOS 10.7, *)
2 | open class CBUUID : NSObject, NSCopying {
| `- note: class 'CBUUID' does not conform to the 'Sendable' protocol
3 | open var data: Data { get }
4 | @available(macOS 10.10, *)
/Users/admin/builder/spi-builder-workspace/Source/Bluetooth/McuMgrBleTransport.swift:8:1: warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'CoreBluetooth'
6 |
7 | import Foundation
8 | import CoreBluetooth
| `- warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'CoreBluetooth'
9 |
10 | // MARK: - PeripheralState
:
446 | public enum McuMgrBleTransportConstant {
447 |
448 | public static let SMP_SERVICE = CBUUID(string: "8D53DC1D-1DB7-4CD3-868B-8A527460AA84")
| |- note: annotate 'SMP_SERVICE' 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
449 | public static let SMP_CHARACTERISTIC = CBUUID(string: "DA2E7828-FBCE-4E01-AE9E-261174997C48")
450 |
/Users/admin/builder/spi-builder-workspace/Source/Bluetooth/McuMgrBleTransport.swift:449:23: warning: static property 'SMP_CHARACTERISTIC' is not concurrency-safe because non-'Sendable' type 'CBUUID' may have shared mutable state; this is an error in the Swift 6 language mode
447 |
448 | public static let SMP_SERVICE = CBUUID(string: "8D53DC1D-1DB7-4CD3-868B-8A527460AA84")
449 | public static let SMP_CHARACTERISTIC = CBUUID(string: "DA2E7828-FBCE-4E01-AE9E-261174997C48")
| |- warning: static property 'SMP_CHARACTERISTIC' is not concurrency-safe because non-'Sendable' type 'CBUUID' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: annotate 'SMP_CHARACTERISTIC' 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
450 |
451 | /// Max number of retries until the transaction is failed.
CoreBluetooth.CBUUID:2:12: note: class 'CBUUID' does not conform to the 'Sendable' protocol
1 | @available(macOS 10.7, *)
2 | open class CBUUID : NSObject, NSCopying {
| `- note: class 'CBUUID' does not conform to the 'Sendable' protocol
3 | open var data: Data { get }
4 | @available(macOS 10.10, *)
/Users/admin/builder/spi-builder-workspace/Source/Bluetooth/McuMgrBleTransport.swift:65:17: warning: capture of 'self' with non-sendable type 'McuMgrBleTransport' in a `@Sendable` closure; this is an error in the Swift 6 language mode
35 | // MARK: - McuMgrBleTransport
36 |
37 | public class McuMgrBleTransport: NSObject {
| `- note: class 'McuMgrBleTransport' does not conform to the 'Sendable' protocol
38 |
39 | /// The CBPeripheral for this transport to communicate with.
:
63 | didSet {
64 | DispatchQueue.main.async {
65 | self.notifyPeripheralDelegate()
| `- warning: capture of 'self' with non-sendable type 'McuMgrBleTransport' in a `@Sendable` closure; this is an error in the Swift 6 language mode
66 | }
67 | }
/Users/admin/builder/spi-builder-workspace/Source/Bluetooth/McuMgrBleTransport.swift:99:17: warning: capture of 'self' with non-sendable type 'McuMgrBleTransport' in a `@Sendable` closure; this is an error in the Swift 6 language mode
35 | // MARK: - McuMgrBleTransport
36 |
37 | public class McuMgrBleTransport: NSObject {
| `- note: class 'McuMgrBleTransport' does not conform to the 'Sendable' protocol
38 |
39 | /// The CBPeripheral for this transport to communicate with.
:
97 | didSet {
98 | DispatchQueue.main.async {
99 | self.notifyPeripheralDelegate()
| `- warning: capture of 'self' with non-sendable type 'McuMgrBleTransport' in a `@Sendable` closure; this is an error in the Swift 6 language mode
100 | }
101 | }
/Users/admin/builder/spi-builder-workspace/Source/Bluetooth/McuMgrBleTransport.swift:172:24: warning: capture of 'self' with non-sendable type 'McuMgrBleTransport' in a `@Sendable` closure; this is an error in the Swift 6 language mode
35 | // MARK: - McuMgrBleTransport
36 |
37 | public class McuMgrBleTransport: NSObject {
| `- note: class 'McuMgrBleTransport' does not conform to the 'Sendable' protocol
38 |
39 | /// The CBPeripheral for this transport to communicate with.
:
170 | operationQueue.addOperation {
171 | for i in 0..<McuMgrBleTransportConstant.MAX_RETRIES {
172 | switch self._send(data: data, timeoutInSeconds: timeout) {
| `- warning: capture of 'self' with non-sendable type 'McuMgrBleTransport' in a `@Sendable` closure; this is an error in the Swift 6 language mode
173 | case .failure(McuMgrTransportError.waitAndRetry):
174 | let waitInterval = min(timeout, McuMgrBleTransportConstant.WAIT_AND_RETRY_INTERVAL)
/Users/admin/builder/spi-builder-workspace/Source/Bluetooth/McuMgrBleTransport.swift:184:25: warning: capture of 'callback' with non-sendable type 'McuMgrCallback<T>' (aka '(Optional<T>, Optional<any Error>) -> ()') in a `@Sendable` closure; this is an error in the Swift 6 language mode
182 | self.log(msg: error.localizedDescription, atLevel: .error)
183 | DispatchQueue.main.async {
184 | callback(nil, error)
| |- warning: capture of 'callback' with non-sendable type 'McuMgrCallback<T>' (aka '(Optional<T>, Optional<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'
185 | }
186 | return
/Users/admin/builder/spi-builder-workspace/Source/Bluetooth/McuMgrBleTransport.swift:184:25: warning: capture of 'callback' with non-sendable type 'McuMgrCallback<T>' (aka '(Optional<T>, Optional<any Error>) -> ()') in a `@Sendable` closure; this is an error in the Swift 6 language mode
182 | self.log(msg: error.localizedDescription, atLevel: .error)
183 | DispatchQueue.main.async {
184 | callback(nil, error)
| |- warning: capture of 'callback' with non-sendable type 'McuMgrCallback<T>' (aka '(Optional<T>, Optional<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'
185 | }
186 | return
/Users/admin/builder/spi-builder-workspace/Source/Bluetooth/McuMgrBleTransport.swift:191:29: warning: capture of 'callback' with non-sendable type 'McuMgrCallback<T>' (aka '(Optional<T>, Optional<any Error>) -> ()') in a `@Sendable` closure; this is an error in the Swift 6 language mode
189 | let response: T = try McuMgrResponse.buildResponse(scheme: .ble, data: responseData)
190 | DispatchQueue.main.async {
191 | callback(response, nil)
| |- warning: capture of 'callback' with non-sendable type 'McuMgrCallback<T>' (aka '(Optional<T>, Optional<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'
192 | }
193 | } catch {
/Users/admin/builder/spi-builder-workspace/Source/Bluetooth/McuMgrBleTransport.swift:191:38: warning: capture of 'response' with non-sendable type 'T' in a `@Sendable` closure; this is an error in the Swift 6 language mode
167 | }
168 |
169 | public func send<T: McuMgrResponse>(data: Data, timeout: Int, callback: @escaping McuMgrCallback<T>) {
| `- note: consider making generic parameter 'T' conform to the 'Sendable' protocol
170 | operationQueue.addOperation {
171 | for i in 0..<McuMgrBleTransportConstant.MAX_RETRIES {
:
189 | let response: T = try McuMgrResponse.buildResponse(scheme: .ble, data: responseData)
190 | DispatchQueue.main.async {
191 | callback(response, nil)
| `- warning: capture of 'response' with non-sendable type 'T' in a `@Sendable` closure; this is an error in the Swift 6 language mode
192 | }
193 | } catch {
/Users/admin/builder/spi-builder-workspace/Source/Bluetooth/McuMgrBleTransport.swift:196:29: warning: capture of 'callback' with non-sendable type 'McuMgrCallback<T>' (aka '(Optional<T>, Optional<any Error>) -> ()') in a `@Sendable` closure; this is an error in the Swift 6 language mode
194 | self.log(msg: error.localizedDescription, atLevel: .error)
195 | DispatchQueue.main.async {
196 | callback(nil, error)
| |- warning: capture of 'callback' with non-sendable type 'McuMgrCallback<T>' (aka '(Optional<T>, Optional<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'
197 | }
198 | }
/Users/admin/builder/spi-builder-workspace/Source/Bluetooth/McuMgrBleTransport.swift:206:17: warning: capture of 'callback' with non-sendable type 'McuMgrCallback<T>' (aka '(Optional<T>, Optional<any Error>) -> ()') in a `@Sendable` closure; this is an error in the Swift 6 language mode
204 | // If we made it here, all retries failed.
205 | DispatchQueue.main.async {
206 | callback(nil, McuMgrTransportError.sendFailed)
| |- warning: capture of 'callback' with non-sendable type 'McuMgrCallback<T>' (aka '(Optional<T>, Optional<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'
207 | }
208 | }
/Users/admin/builder/spi-builder-workspace/Source/Extensions/Data+McuManager.swift:39:27: warning: static property 'upperCase' is not concurrency-safe because non-'Sendable' type 'Data.HexEncodingOptions' may have shared mutable state; this is an error in the Swift 6 language mode
36 | // MARK: - Hex Encoding
37 |
38 | struct HexEncodingOptions: OptionSet {
| `- note: consider making struct 'HexEncodingOptions' conform to the 'Sendable' protocol
39 | public static let upperCase = HexEncodingOptions(rawValue: 1 << 0)
| |- warning: static property 'upperCase' is not concurrency-safe because non-'Sendable' type 'Data.HexEncodingOptions' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: annotate 'upperCase' 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
40 | public static let byteSpacing = HexEncodingOptions(rawValue: 1 << 1)
41 | public static let prepend0x = HexEncodingOptions(rawValue: 1 << 2)
/Users/admin/builder/spi-builder-workspace/Source/Extensions/Data+McuManager.swift:42:27: warning: static property 'twoByteSpacing' is not concurrency-safe because non-'Sendable' type 'Data.HexEncodingOptions' may have shared mutable state; this is an error in the Swift 6 language mode
36 | // MARK: - Hex Encoding
37 |
38 | struct HexEncodingOptions: OptionSet {
| `- note: consider making struct 'HexEncodingOptions' conform to the 'Sendable' protocol
39 | public static let upperCase = HexEncodingOptions(rawValue: 1 << 0)
40 | public static let byteSpacing = HexEncodingOptions(rawValue: 1 << 1)
41 | public static let prepend0x = HexEncodingOptions(rawValue: 1 << 2)
42 | public static let twoByteSpacing = HexEncodingOptions(rawValue: 1 << 3)
| |- warning: static property 'twoByteSpacing' is not concurrency-safe because non-'Sendable' type 'Data.HexEncodingOptions' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: annotate 'twoByteSpacing' 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
43 | public static let reverseEndianness = HexEncodingOptions(rawValue: 1 << 4)
44 |
/Users/admin/builder/spi-builder-workspace/Source/Bluetooth/McuMgrBleTransportWriteState.swift:38:20: warning: capture of 'self' with non-sendable type 'McuMgrBleTransportWriteState' in a `@Sendable` closure; this is an error in the Swift 6 language mode
16 | // MARK: - McuMgrBleTransportWriteState
17 |
18 | final class McuMgrBleTransportWriteState {
| `- note: class 'McuMgrBleTransportWriteState' does not conform to the 'Sendable' protocol
19 |
20 | // MARK: - Private Properties
:
36 | lockingQueue.async {
37 | // Either the Lock for a Sequence Number is Open, or there's no state for it.
38 | assert(self.state[sequenceNumber]?.writeLock.isOpen ?? true)
| `- warning: capture of 'self' with non-sendable type 'McuMgrBleTransportWriteState' in a `@Sendable` closure; this is an error in the Swift 6 language mode
39 | self.state[sequenceNumber] = (sequenceNumber: sequenceNumber, writeLock: lock, nil, nil)
40 | }
/Users/admin/builder/spi-builder-workspace/Source/Bluetooth/McuMgrBleTransportWriteState.swift:39:86: warning: capture of 'lock' with non-sendable type 'ResultLock' in a `@Sendable` closure; this is an error in the Swift 6 language mode
37 | // Either the Lock for a Sequence Number is Open, or there's no state for it.
38 | assert(self.state[sequenceNumber]?.writeLock.isOpen ?? true)
39 | self.state[sequenceNumber] = (sequenceNumber: sequenceNumber, writeLock: lock, nil, nil)
| `- warning: capture of 'lock' with non-sendable type 'ResultLock' in a `@Sendable` closure; this is an error in the Swift 6 language mode
40 | }
41 | }
/Users/admin/builder/spi-builder-workspace/Source/Utils/ResultLock.swift:11:14: note: class 'ResultLock' does not conform to the 'Sendable' protocol
9 | public typealias ResultLockKey = String
10 |
11 | public class ResultLock {
| `- note: class 'ResultLock' does not conform to the 'Sendable' protocol
12 |
13 | private var semaphore: DispatchSemaphore
/Users/admin/builder/spi-builder-workspace/Source/Bluetooth/McuMgrBleTransportWriteState.swift:38:20: warning: implicit capture of 'self' requires that 'McuMgrBleTransportWriteState' conforms to `Sendable`; this is an error in the Swift 6 language mode
16 | // MARK: - McuMgrBleTransportWriteState
17 |
18 | final class McuMgrBleTransportWriteState {
| `- note: class 'McuMgrBleTransportWriteState' does not conform to the 'Sendable' protocol
19 |
20 | // MARK: - Private Properties
:
36 | lockingQueue.async {
37 | // Either the Lock for a Sequence Number is Open, or there's no state for it.
38 | assert(self.state[sequenceNumber]?.writeLock.isOpen ?? true)
| `- warning: implicit capture of 'self' requires that 'McuMgrBleTransportWriteState' conforms to `Sendable`; this is an error in the Swift 6 language mode
39 | self.state[sequenceNumber] = (sequenceNumber: sequenceNumber, writeLock: lock, nil, nil)
40 | }
/Users/admin/builder/spi-builder-workspace/Source/Bluetooth/McuMgrBleTransportWriteState.swift:44:30: warning: capture of 'writeClosure' with non-sendable type '() -> Void' in a `@Sendable` closure; this is an error in the Swift 6 language mode
42 |
43 | func sharedLock(_ writeClosure: @escaping () -> Void) {
44 | lockingQueue.async { writeClosure() }
| |- warning: capture of 'writeClosure' with non-sendable type '() -> Void' in a `@Sendable` closure; this is an error in the Swift 6 language mode
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
45 | }
46 |
/Users/admin/builder/spi-builder-workspace/Source/Bluetooth/McuMgrBleTransportWriteState.swift:49:16: warning: capture of 'self' with non-sendable type 'McuMgrBleTransportWriteState' in a `@Sendable` closure; this is an error in the Swift 6 language mode
16 | // MARK: - McuMgrBleTransportWriteState
17 |
18 | final class McuMgrBleTransportWriteState {
| `- note: class 'McuMgrBleTransportWriteState' does not conform to the 'Sendable' protocol
19 |
20 | // MARK: - Private Properties
:
47 | func received(sequenceNumber: McuSequenceNumber, data: Data) {
48 | lockingQueue.async {
49 | if self.state[sequenceNumber]?.chunk == nil {
| `- warning: capture of 'self' with non-sendable type 'McuMgrBleTransportWriteState' in a `@Sendable` closure; this is an error in the Swift 6 language mode
50 | // If we do not have any current response data, this is the initial
51 | // packet in a potentially fragmented response. Get the expected
/Users/admin/builder/spi-builder-workspace/Source/Bluetooth/McuMgrBleTransportWriteState.swift:89:13: warning: capture of 'self' with non-sendable type 'McuMgrBleTransportWriteState' in a `@Sendable` closure; this is an error in the Swift 6 language mode
16 | // MARK: - McuMgrBleTransportWriteState
17 |
18 | final class McuMgrBleTransportWriteState {
| `- note: class 'McuMgrBleTransportWriteState' does not conform to the 'Sendable' protocol
19 |
20 | // MARK: - Private Properties
:
87 | func completedWrite(sequenceNumber: McuSequenceNumber) {
88 | lockingQueue.async {
89 | self.state[sequenceNumber] = nil
| `- warning: capture of 'self' with non-sendable type 'McuMgrBleTransportWriteState' in a `@Sendable` closure; this is an error in the Swift 6 language mode
90 | }
91 | }
/Users/admin/builder/spi-builder-workspace/Source/Bluetooth/McuMgrBleTransportWriteState.swift:95:13: warning: capture of 'self' with non-sendable type 'McuMgrBleTransportWriteState' in a `@Sendable` closure; this is an error in the Swift 6 language mode
16 | // MARK: - McuMgrBleTransportWriteState
17 |
18 | final class McuMgrBleTransportWriteState {
| `- note: class 'McuMgrBleTransportWriteState' does not conform to the 'Sendable' protocol
19 |
20 | // MARK: - Private Properties
:
93 | func onError(_ error: Error) {
94 | lockingQueue.async {
95 | self.state.forEach { _, value in
| `- warning: capture of 'self' with non-sendable type 'McuMgrBleTransportWriteState' in a `@Sendable` closure; this is an error in the Swift 6 language mode
96 | value.writeLock.open(error)
97 | }
/Users/admin/builder/spi-builder-workspace/Source/Bluetooth/McuMgrBleTransportWriteState.swift:103:13: warning: capture of 'self' with non-sendable type 'McuMgrBleTransportWriteState' in a `@Sendable` closure; this is an error in the Swift 6 language mode
16 | // MARK: - McuMgrBleTransportWriteState
17 |
18 | final class McuMgrBleTransportWriteState {
| `- note: class 'McuMgrBleTransportWriteState' does not conform to the 'Sendable' protocol
19 |
20 | // MARK: - Private Properties
:
101 | func onWriteError(sequenceNumber: McuSequenceNumber, error: Error) {
102 | lockingQueue.async {
103 | self.state[sequenceNumber]?.writeLock.open(error)
| `- warning: capture of 'self' with non-sendable type 'McuMgrBleTransportWriteState' in a `@Sendable` closure; this is an error in the Swift 6 language mode
104 | }
105 | }
/Users/admin/builder/spi-builder-workspace/Source/Bluetooth/McuMgrBleTransport.swift:65:17: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
63 | didSet {
64 | DispatchQueue.main.async {
65 | self.notifyPeripheralDelegate()
| |- warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
| `- note: task-isolated 'self' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
66 | }
67 | }
/Users/admin/builder/spi-builder-workspace/Source/Bluetooth/McuMgrBleTransport.swift:99:17: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
97 | didSet {
98 | DispatchQueue.main.async {
99 | self.notifyPeripheralDelegate()
| |- warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
| `- note: task-isolated 'self' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
100 | }
101 | }
[79/82] Emitting module iOSMcuManagerLibrary
/Users/admin/builder/spi-builder-workspace/Source/Bluetooth/McuMgrBleTransport.swift:65:17: warning: capture of 'self' with non-sendable type 'McuMgrBleTransport' in a `@Sendable` closure; this is an error in the Swift 6 language mode
35 | // MARK: - McuMgrBleTransport
36 |
37 | public class McuMgrBleTransport: NSObject {
| `- note: class 'McuMgrBleTransport' does not conform to the 'Sendable' protocol
38 |
39 | /// The CBPeripheral for this transport to communicate with.
:
63 | didSet {
64 | DispatchQueue.main.async {
65 | self.notifyPeripheralDelegate()
| `- warning: capture of 'self' with non-sendable type 'McuMgrBleTransport' in a `@Sendable` closure; this is an error in the Swift 6 language mode
66 | }
67 | }
/Users/admin/builder/spi-builder-workspace/Source/Bluetooth/McuMgrBleTransport.swift:99:17: warning: capture of 'self' with non-sendable type 'McuMgrBleTransport' in a `@Sendable` closure; this is an error in the Swift 6 language mode
35 | // MARK: - McuMgrBleTransport
36 |
37 | public class McuMgrBleTransport: NSObject {
| `- note: class 'McuMgrBleTransport' does not conform to the 'Sendable' protocol
38 |
39 | /// The CBPeripheral for this transport to communicate with.
:
97 | didSet {
98 | DispatchQueue.main.async {
99 | self.notifyPeripheralDelegate()
| `- warning: capture of 'self' with non-sendable type 'McuMgrBleTransport' in a `@Sendable` closure; this is an error in the Swift 6 language mode
100 | }
101 | }
/Users/admin/builder/spi-builder-workspace/Source/Bluetooth/McuMgrBleTransport.swift:448:23: warning: static property 'SMP_SERVICE' is not concurrency-safe because non-'Sendable' type 'CBUUID' may have shared mutable state; this is an error in the Swift 6 language mode
446 | public enum McuMgrBleTransportConstant {
447 |
448 | public static let SMP_SERVICE = CBUUID(string: "8D53DC1D-1DB7-4CD3-868B-8A527460AA84")
| `- warning: static property 'SMP_SERVICE' is not concurrency-safe because non-'Sendable' type 'CBUUID' may have shared mutable state; this is an error in the Swift 6 language mode
449 | public static let SMP_CHARACTERISTIC = CBUUID(string: "DA2E7828-FBCE-4E01-AE9E-261174997C48")
450 |
CoreBluetooth.CBUUID:2:12: note: class 'CBUUID' does not conform to the 'Sendable' protocol
1 | @available(macOS 10.7, *)
2 | open class CBUUID : NSObject, NSCopying {
| `- note: class 'CBUUID' does not conform to the 'Sendable' protocol
3 | open var data: Data { get }
4 | @available(macOS 10.10, *)
/Users/admin/builder/spi-builder-workspace/Source/Bluetooth/McuMgrBleTransport.swift:8:1: warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'CoreBluetooth'
6 |
7 | import Foundation
8 | import CoreBluetooth
| `- warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'CoreBluetooth'
9 |
10 | // MARK: - PeripheralState
:
446 | public enum McuMgrBleTransportConstant {
447 |
448 | public static let SMP_SERVICE = CBUUID(string: "8D53DC1D-1DB7-4CD3-868B-8A527460AA84")
| |- note: annotate 'SMP_SERVICE' 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
449 | public static let SMP_CHARACTERISTIC = CBUUID(string: "DA2E7828-FBCE-4E01-AE9E-261174997C48")
450 |
/Users/admin/builder/spi-builder-workspace/Source/Bluetooth/McuMgrBleTransport.swift:449:23: warning: static property 'SMP_CHARACTERISTIC' is not concurrency-safe because non-'Sendable' type 'CBUUID' may have shared mutable state; this is an error in the Swift 6 language mode
447 |
448 | public static let SMP_SERVICE = CBUUID(string: "8D53DC1D-1DB7-4CD3-868B-8A527460AA84")
449 | public static let SMP_CHARACTERISTIC = CBUUID(string: "DA2E7828-FBCE-4E01-AE9E-261174997C48")
| |- warning: static property 'SMP_CHARACTERISTIC' is not concurrency-safe because non-'Sendable' type 'CBUUID' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: annotate 'SMP_CHARACTERISTIC' 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
450 |
451 | /// Max number of retries until the transaction is failed.
CoreBluetooth.CBUUID:2:12: note: class 'CBUUID' does not conform to the 'Sendable' protocol
1 | @available(macOS 10.7, *)
2 | open class CBUUID : NSObject, NSCopying {
| `- note: class 'CBUUID' does not conform to the 'Sendable' protocol
3 | open var data: Data { get }
4 | @available(macOS 10.10, *)
/Users/admin/builder/spi-builder-workspace/Source/Extensions/Data+McuManager.swift:39:27: warning: static property 'upperCase' is not concurrency-safe because non-'Sendable' type 'Data.HexEncodingOptions' may have shared mutable state; this is an error in the Swift 6 language mode
36 | // MARK: - Hex Encoding
37 |
38 | struct HexEncodingOptions: OptionSet {
| `- note: consider making struct 'HexEncodingOptions' conform to the 'Sendable' protocol
39 | public static let upperCase = HexEncodingOptions(rawValue: 1 << 0)
| |- warning: static property 'upperCase' is not concurrency-safe because non-'Sendable' type 'Data.HexEncodingOptions' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: annotate 'upperCase' 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
40 | public static let byteSpacing = HexEncodingOptions(rawValue: 1 << 1)
41 | public static let prepend0x = HexEncodingOptions(rawValue: 1 << 2)
/Users/admin/builder/spi-builder-workspace/Source/Extensions/Data+McuManager.swift:40:27: warning: static property 'byteSpacing' is not concurrency-safe because non-'Sendable' type 'Data.HexEncodingOptions' may have shared mutable state; this is an error in the Swift 6 language mode
36 | // MARK: - Hex Encoding
37 |
38 | struct HexEncodingOptions: OptionSet {
| `- note: consider making struct 'HexEncodingOptions' conform to the 'Sendable' protocol
39 | public static let upperCase = HexEncodingOptions(rawValue: 1 << 0)
40 | public static let byteSpacing = HexEncodingOptions(rawValue: 1 << 1)
| |- warning: static property 'byteSpacing' is not concurrency-safe because non-'Sendable' type 'Data.HexEncodingOptions' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: annotate 'byteSpacing' 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
41 | public static let prepend0x = HexEncodingOptions(rawValue: 1 << 2)
42 | public static let twoByteSpacing = HexEncodingOptions(rawValue: 1 << 3)
/Users/admin/builder/spi-builder-workspace/Source/Extensions/Data+McuManager.swift:41:27: warning: static property 'prepend0x' is not concurrency-safe because non-'Sendable' type 'Data.HexEncodingOptions' may have shared mutable state; this is an error in the Swift 6 language mode
36 | // MARK: - Hex Encoding
37 |
38 | struct HexEncodingOptions: OptionSet {
| `- note: consider making struct 'HexEncodingOptions' conform to the 'Sendable' protocol
39 | public static let upperCase = HexEncodingOptions(rawValue: 1 << 0)
40 | public static let byteSpacing = HexEncodingOptions(rawValue: 1 << 1)
41 | public static let prepend0x = HexEncodingOptions(rawValue: 1 << 2)
| |- warning: static property 'prepend0x' is not concurrency-safe because non-'Sendable' type 'Data.HexEncodingOptions' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: annotate 'prepend0x' 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
42 | public static let twoByteSpacing = HexEncodingOptions(rawValue: 1 << 3)
43 | public static let reverseEndianness = HexEncodingOptions(rawValue: 1 << 4)
/Users/admin/builder/spi-builder-workspace/Source/Extensions/Data+McuManager.swift:42:27: warning: static property 'twoByteSpacing' is not concurrency-safe because non-'Sendable' type 'Data.HexEncodingOptions' may have shared mutable state; this is an error in the Swift 6 language mode
36 | // MARK: - Hex Encoding
37 |
38 | struct HexEncodingOptions: OptionSet {
| `- note: consider making struct 'HexEncodingOptions' conform to the 'Sendable' protocol
39 | public static let upperCase = HexEncodingOptions(rawValue: 1 << 0)
40 | public static let byteSpacing = HexEncodingOptions(rawValue: 1 << 1)
41 | public static let prepend0x = HexEncodingOptions(rawValue: 1 << 2)
42 | public static let twoByteSpacing = HexEncodingOptions(rawValue: 1 << 3)
| |- warning: static property 'twoByteSpacing' is not concurrency-safe because non-'Sendable' type 'Data.HexEncodingOptions' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: annotate 'twoByteSpacing' 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
43 | public static let reverseEndianness = HexEncodingOptions(rawValue: 1 << 4)
44 |
/Users/admin/builder/spi-builder-workspace/Source/Extensions/Data+McuManager.swift:43:27: warning: static property 'reverseEndianness' is not concurrency-safe because non-'Sendable' type 'Data.HexEncodingOptions' may have shared mutable state; this is an error in the Swift 6 language mode
36 | // MARK: - Hex Encoding
37 |
38 | struct HexEncodingOptions: OptionSet {
| `- note: consider making struct 'HexEncodingOptions' conform to the 'Sendable' protocol
39 | public static let upperCase = HexEncodingOptions(rawValue: 1 << 0)
40 | public static let byteSpacing = HexEncodingOptions(rawValue: 1 << 1)
41 | public static let prepend0x = HexEncodingOptions(rawValue: 1 << 2)
42 | public static let twoByteSpacing = HexEncodingOptions(rawValue: 1 << 3)
43 | public static let reverseEndianness = HexEncodingOptions(rawValue: 1 << 4)
| |- warning: static property 'reverseEndianness' is not concurrency-safe because non-'Sendable' type 'Data.HexEncodingOptions' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: annotate 'reverseEndianness' 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
44 |
45 | public let rawValue: Int
/Users/admin/builder/spi-builder-workspace/Source/Managers/DFU/FirmwareUpgradeManager.swift:1195:10: warning: associated value 'invalidResponse' of 'Sendable'-conforming enum 'FirmwareUpgradeError' has non-sendable type 'McuMgrResponse'; this is an error in the Swift 6 language mode
1193 | public enum FirmwareUpgradeError: Error, LocalizedError {
1194 | case unknown(String)
1195 | case invalidResponse(McuMgrResponse)
| `- warning: associated value 'invalidResponse' of 'Sendable'-conforming enum 'FirmwareUpgradeError' has non-sendable type 'McuMgrResponse'; this is an error in the Swift 6 language mode
1196 | case connectionFailedAfterReset
1197 | case untestedImageFound(image: Int, slot: Int)
/Users/admin/builder/spi-builder-workspace/Source/McuMgrResponse.swift:10:12: note: class 'McuMgrResponse' does not conform to the 'Sendable' protocol
8 | import SwiftCBOR
9 |
10 | open class McuMgrResponse: CBORMappable {
| `- note: class 'McuMgrResponse' does not conform to the 'Sendable' protocol
11 |
12 | //**************************************************************************
/Users/admin/builder/spi-builder-workspace/Source/Managers/SuitManager.swift:453:21: warning: capture of 'self' with non-sendable type 'SuitManager' in a `@Sendable` closure; this is an error in the Swift 6 language mode
11 | // MARK: - SuitManager
12 |
13 | public class SuitManager: McuManager {
| `- note: class 'SuitManager' does not conform to the 'Sendable' protocol
14 |
15 | // MARK: Constants
:
451 | let waitTime: DispatchTimeInterval = .milliseconds(Self.POLLING_INTERVAL_MS)
452 | DispatchQueue.main.asyncAfter(deadline: .now() + waitTime) { [unowned self] in
453 | self.pollAttempts += 1
| `- warning: capture of 'self' with non-sendable type 'SuitManager' in a `@Sendable` closure; this is an error in the Swift 6 language mode
454 | self.poll(callback: self.pollingCallback)
455 | }
/Users/admin/builder/spi-builder-workspace/Source/Managers/SuitManager.swift:572:10: warning: associated value 'suitDelegateRequiredForResource' of 'Sendable'-conforming enum 'SuitManagerError' has non-sendable type 'FirmwareUpgradeResource'; this is an error in the Swift 6 language mode
570 |
571 | public enum SuitManagerError: Error, LocalizedError {
572 | case suitDelegateRequiredForResource(_ resource: FirmwareUpgradeResource)
| `- warning: associated value 'suitDelegateRequiredForResource' of 'Sendable'-conforming enum 'SuitManagerError' has non-sendable type 'FirmwareUpgradeResource'; this is an error in the Swift 6 language mode
573 | case listRoleResponseMismatch(roleCount: Int, responseCount: Int)
574 |
/Users/admin/builder/spi-builder-workspace/Source/Managers/DFU/FirmwareUpgradeController.swift:38:13: note: consider making enum 'FirmwareUpgradeResource' conform to the 'Sendable' protocol
36 | // MARK: FirmwareUpgradeResource
37 |
38 | public enum FirmwareUpgradeResource: CustomStringConvertible {
| `- note: consider making enum 'FirmwareUpgradeResource' conform to the 'Sendable' protocol
39 | case file(name: String)
40 |
/Users/admin/builder/spi-builder-workspace/Source/McuManager.swift:374:10: warning: associated value 'groupCode' of 'Sendable'-conforming enum 'McuMgrError' has non-sendable type 'McuMgrGroupReturnCode'; this is an error in the Swift 6 language mode
372 | public enum McuMgrError: Error, LocalizedError {
373 | case returnCode(_ rc: McuMgrReturnCode)
374 | case groupCode(_ group: McuMgrGroupReturnCode)
| `- warning: associated value 'groupCode' of 'Sendable'-conforming enum 'McuMgrError' has non-sendable type 'McuMgrGroupReturnCode'; this is an error in the Swift 6 language mode
375 |
376 | public var errorDescription: String? {
:
386 | // MARK: - McuMgrGroupReturnCode
387 |
388 | public class McuMgrGroupReturnCode: CBORMappable {
| `- note: class 'McuMgrGroupReturnCode' does not conform to the 'Sendable' protocol
389 |
390 | public var group: UInt64 = 0
/Users/admin/builder/spi-builder-workspace/Source/McuMgrPackage.swift:91:14: warning: associated value 'resourceNotFound' of 'Sendable'-conforming enum 'Error' has non-sendable type 'FirmwareUpgradeResource'; this is an error in the Swift 6 language mode
89 | case deniedAccessToScopedResource, notAValidDocument, unableToAccessCacheDirectory
90 | case manifestFileNotFound, manifestImageNotFound
91 | case resourceNotFound(_ resource: FirmwareUpgradeResource)
| `- warning: associated value 'resourceNotFound' of 'Sendable'-conforming enum 'Error' has non-sendable type 'FirmwareUpgradeResource'; this is an error in the Swift 6 language mode
92 |
93 | public var errorDescription: String? {
/Users/admin/builder/spi-builder-workspace/Source/Managers/DFU/FirmwareUpgradeController.swift:38:13: note: consider making enum 'FirmwareUpgradeResource' conform to the 'Sendable' protocol
36 | // MARK: FirmwareUpgradeResource
37 |
38 | public enum FirmwareUpgradeResource: CustomStringConvertible {
| `- note: consider making enum 'FirmwareUpgradeResource' conform to the 'Sendable' protocol
39 | case file(name: String)
40 |
/Users/admin/builder/spi-builder-workspace/Source/McuMgrROBBuffer.swift:23:14: warning: associated value 'invalidKey' of 'Sendable'-conforming enum 'BufferError' has non-sendable type 'Key'; this is an error in the Swift 6 language mode
15 | <Key, Value> Re-Order Buffer.
16 | */
17 | public struct McuMgrROBBuffer<Key: Hashable & Comparable, Value> {
| `- note: consider making generic parameter 'Key' conform to the 'Sendable' protocol
18 |
19 | // MARK: BufferError
:
21 | enum BufferError: Error {
22 | case empty
23 | case invalidKey(_ key: Key)
| `- warning: associated value 'invalidKey' of 'Sendable'-conforming enum 'BufferError' has non-sendable type 'Key'; this is an error in the Swift 6 language mode
24 | case noValueForKey(_ key: Key)
25 | }
/Users/admin/builder/spi-builder-workspace/Source/McuMgrROBBuffer.swift:24:14: warning: associated value 'noValueForKey' of 'Sendable'-conforming enum 'BufferError' has non-sendable type 'Key'; this is an error in the Swift 6 language mode
15 | <Key, Value> Re-Order Buffer.
16 | */
17 | public struct McuMgrROBBuffer<Key: Hashable & Comparable, Value> {
| `- note: consider making generic parameter 'Key' conform to the 'Sendable' protocol
18 |
19 | // MARK: BufferError
:
22 | case empty
23 | case invalidKey(_ key: Key)
24 | case noValueForKey(_ key: Key)
| `- warning: associated value 'noValueForKey' of 'Sendable'-conforming enum 'BufferError' has non-sendable type 'Key'; this is an error in the Swift 6 language mode
25 | }
26 |
/Users/admin/builder/spi-builder-workspace/Source/Bluetooth/McuMgrBleTransport.swift:65:17: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
63 | didSet {
64 | DispatchQueue.main.async {
65 | self.notifyPeripheralDelegate()
| |- warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
| `- note: task-isolated 'self' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
66 | }
67 | }
/Users/admin/builder/spi-builder-workspace/Source/Bluetooth/McuMgrBleTransport.swift:99:17: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
97 | didSet {
98 | DispatchQueue.main.async {
99 | self.notifyPeripheralDelegate()
| |- warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
| `- note: task-isolated 'self' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
100 | }
101 | }
[80/82] Compiling iOSMcuManagerLibrary CBOR+String.swift
[81/82] Compiling iOSMcuManagerLibrary ResultLock.swift
[82/82] Compiling iOSMcuManagerLibrary UTI.swift
Build complete! (31.37s)
warning: 'spi-builder-workspace': found 1 file(s) which are unhandled; explicitly declare them as resources or exclude from the target
/Users/admin/builder/spi-builder-workspace/Source/PrivacyInfo.xcprivacy
Build complete.
{
"dependencies" : [
{
"identity" : "swiftcbor",
"requirement" : {
"exact" : [
"0.4.7"
]
},
"type" : "sourceControl",
"url" : "https://github.com/unrelentingtech/SwiftCBOR.git"
},
{
"identity" : "zipfoundation",
"requirement" : {
"range" : [
{
"lower_bound" : "0.9.0",
"upper_bound" : "1.0.0"
}
]
},
"type" : "sourceControl",
"url" : "https://github.com/weichsel/ZIPFoundation.git"
}
],
"manifest_display_name" : "iOSMcuManagerLibrary",
"name" : "iOSMcuManagerLibrary",
"path" : "/Users/admin/builder/spi-builder-workspace",
"platforms" : [
{
"name" : "ios",
"version" : "12.0"
},
{
"name" : "macos",
"version" : "10.13"
}
],
"products" : [
{
"name" : "iOSMcuManagerLibrary",
"targets" : [
"iOSMcuManagerLibrary"
],
"type" : {
"library" : [
"automatic"
]
}
}
],
"targets" : [
{
"c99name" : "iOSMcuManagerLibrary",
"module_type" : "SwiftTarget",
"name" : "iOSMcuManagerLibrary",
"path" : "Source",
"product_dependencies" : [
"SwiftCBOR",
"ZIPFoundation"
],
"product_memberships" : [
"iOSMcuManagerLibrary"
],
"sources" : [
"Bluetooth/McuMgrBleTransport+CBCentralManagerDelegate.swift",
"Bluetooth/McuMgrBleTransport+CBPeripheralDelegate.swift",
"Bluetooth/McuMgrBleTransport.swift",
"Bluetooth/McuMgrBleTransportWriteState.swift",
"Extensions/CBOR+McuManager.swift",
"Extensions/Data+McuManager.swift",
"Extensions/String+McuManager.swift",
"Managers/BasicManager.swift",
"Managers/CrashManager.swift",
"Managers/DFU/FirmwareUpgradeController.swift",
"Managers/DFU/FirmwareUpgradeManager.swift",
"Managers/DefaultManager.swift",
"Managers/FileSystemManager.swift",
"Managers/ImageManager.swift",
"Managers/LogManager.swift",
"Managers/RunTestManager.swift",
"Managers/SettingsManager.swift",
"Managers/ShellManager.swift",
"Managers/StatsManager.swift",
"Managers/SuitManager.swift",
"McuManager.swift",
"McuMgrHeader.swift",
"McuMgrImage.swift",
"McuMgrLogDelegate.swift",
"McuMgrManifest.swift",
"McuMgrPackage.swift",
"McuMgrROBBuffer.swift",
"McuMgrResponse.swift",
"McuMgrSuitEnvelope.swift",
"McuMgrSuitManifest.swift",
"McuMgrTransport.swift",
"McuMgrUploadPipeline.swift",
"Utils/CBOR+String.swift",
"Utils/ResultLock.swift",
"Utils/UTI.swift"
],
"type" : "library"
}
],
"tools_version" : "5.3"
}
Done.