The Swift Package Index logo.Swift Package Index

Build Information

Successful build of iOS-BLE-Library, reference 0.4.4 (f610da), with Swift 6.1 for macOS (SPM) on 1 Apr 2026 13:05:30 UTC.

Swift 6 data race errors: 0

Build Command

env DEVELOPER_DIR=/Applications/Xcode-16.3.0.app xcrun swift build --arch arm64 -Xswiftc -Xfrontend -Xswiftc -stats-output-dir -Xswiftc -Xfrontend -Xswiftc .stats -Xswiftc -strict-concurrency=complete -Xswiftc -enable-upcoming-feature -Xswiftc StrictConcurrency -Xswiftc -enable-upcoming-feature -Xswiftc DisableOutwardActorInference -Xswiftc -enable-upcoming-feature -Xswiftc GlobalActorIsolatedTypesUsability -Xswiftc -enable-upcoming-feature -Xswiftc InferSendableFromCaptures

Build Log

========================================
RunAll
========================================
Builder version: 4.69.2
Interrupt handler set up.
========================================
Checkout
========================================
Clone URL: https://github.com/nordicsemi/IOS-BLE-Library.git
Reference: 0.4.4
Initialized empty Git repository in /Users/admin/builder/spi-builder-workspace/.git/
From https://github.com/nordicsemi/IOS-BLE-Library
 * tag               0.4.4      -> FETCH_HEAD
HEAD is now at f610daf Copied files from native CoreBluetooth version to CoreBluetoothMock
Cloned https://github.com/nordicsemi/IOS-BLE-Library.git
Revision (git rev-parse @):
f610daf7cdb1b0e1a5eaac19917db906221b8102
SUCCESS checkout https://github.com/nordicsemi/IOS-BLE-Library.git at 0.4.4
========================================
Build
========================================
Selected platform:         macosSpm
Swift version:             6.1
Building package at path:  $PWD
https://github.com/nordicsemi/IOS-BLE-Library.git
https://github.com/nordicsemi/IOS-BLE-Library.git
{
  "dependencies" : [
    {
      "identity" : "ios-corebluetooth-mock",
      "requirement" : {
        "range" : [
          {
            "lower_bound" : "1.0.0",
            "upper_bound" : "2.0.0"
          }
        ]
      },
      "type" : "sourceControl",
      "url" : "https://github.com/NordicSemiconductor/IOS-CoreBluetooth-Mock.git"
    },
    {
      "identity" : "swift-docc-plugin",
      "requirement" : {
        "range" : [
          {
            "lower_bound" : "1.0.0",
            "upper_bound" : "2.0.0"
          }
        ]
      },
      "type" : "sourceControl",
      "url" : "https://github.com/apple/swift-docc-plugin"
    }
  ],
  "manifest_display_name" : "iOS-BLE-Library",
  "name" : "iOS-BLE-Library",
  "path" : "/Users/admin/builder/spi-builder-workspace",
  "platforms" : [
    {
      "name" : "ios",
      "version" : "13.0"
    },
    {
      "name" : "macos",
      "version" : "10.15"
    },
    {
      "name" : "watchos",
      "version" : "6.0"
    }
  ],
  "products" : [
    {
      "name" : "iOS-BLE-Library",
      "targets" : [
        "iOS-BLE-Library"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    },
    {
      "name" : "iOS-BLE-Library-Mock",
      "targets" : [
        "iOS-BLE-Library-Mock"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    }
  ],
  "targets" : [
    {
      "c99name" : "iOS_BLE_Library_Mock",
      "module_type" : "SwiftTarget",
      "name" : "iOS-BLE-Library-Mock",
      "path" : "Sources/iOS-BLE-Library-Mock",
      "product_dependencies" : [
        "CoreBluetoothMock"
      ],
      "product_memberships" : [
        "iOS-BLE-Library-Mock"
      ],
      "sources" : [
        "Alias.swift",
        "CentralManager/CentralManager.swift",
        "CentralManager/Model/ScanResult.swift",
        "CentralManager/ReactiveCentralManagerDelegate.swift",
        "Peripheral/Peripheral+Writer.swift",
        "Peripheral/Peripheral.swift",
        "Peripheral/PeripheralError.swift",
        "Peripheral/ReactivePeripheralDelegate.swift",
        "Utilities/AdvertisementData.swift",
        "Utilities/AsyncCharacteristicData.swift",
        "Utilities/CBManagerState.swift",
        "Utilities/Extensions/CBManagerState+Ext.swift",
        "Utilities/Extensions/Data+Ext.swift.swift",
        "Utilities/Extensions/Publishers+Async.swift",
        "Utilities/Logger.swift",
        "Utilities/Publishers/ContinuationSubscriber.swift",
        "Utilities/Publishers/Publishers+Bluetooth.swift",
        "Utilities/Publishers/Publishers+Connectable.swift",
        "Utilities/Publishers/Publishers+FailablePrefix.swift.swift",
        "Utilities/Publishers/Publishers+GuestList.swift",
        "Utilities/Publishers/Publishers+Peripheral.swift",
        "Utilities/Queue.swift",
        "Utilities/RSSI.swift",
        "Utilities/UnimplementedError.swift"
      ],
      "target_dependencies" : [
        "iOS-BLE-Library"
      ],
      "type" : "library"
    },
    {
      "c99name" : "iOS_BLE_Library",
      "module_type" : "SwiftTarget",
      "name" : "iOS-BLE-Library",
      "path" : "Sources/iOS-BLE-Library",
      "product_memberships" : [
        "iOS-BLE-Library",
        "iOS-BLE-Library-Mock"
      ],
      "sources" : [
        "CentralManager/CentralManager.swift",
        "CentralManager/Model/ScanResult.swift",
        "CentralManager/ReactiveCentralManagerDelegate.swift",
        "Peripheral/Peripheral+Writer.swift",
        "Peripheral/Peripheral.swift",
        "Peripheral/PeripheralError.swift",
        "Peripheral/ReactivePeripheralDelegate.swift",
        "Utilities/AdvertisementData.swift",
        "Utilities/AsyncCharacteristicData.swift",
        "Utilities/CBManagerState.swift",
        "Utilities/Extensions/CBManagerState+Ext.swift",
        "Utilities/Extensions/Data+Ext.swift.swift",
        "Utilities/Extensions/Publishers+Async.swift",
        "Utilities/Logger.swift",
        "Utilities/Publishers/ContinuationSubscriber.swift",
        "Utilities/Publishers/Publishers+Bluetooth.swift",
        "Utilities/Publishers/Publishers+Connectable.swift",
        "Utilities/Publishers/Publishers+FailablePrefix.swift.swift",
        "Utilities/Publishers/Publishers+GuestList.swift",
        "Utilities/Queue.swift",
        "Utilities/RSSI.swift",
        "Utilities/UnimplementedError.swift"
      ],
      "type" : "library"
    }
  ],
  "tools_version" : "5.6"
}
Running build ...
env DEVELOPER_DIR=/Applications/Xcode-16.3.0.app xcrun swift build --arch arm64 -Xswiftc -Xfrontend -Xswiftc -stats-output-dir -Xswiftc -Xfrontend -Xswiftc .stats -Xswiftc -strict-concurrency=complete -Xswiftc -enable-upcoming-feature -Xswiftc StrictConcurrency -Xswiftc -enable-upcoming-feature -Xswiftc DisableOutwardActorInference -Xswiftc -enable-upcoming-feature -Xswiftc GlobalActorIsolatedTypesUsability -Xswiftc -enable-upcoming-feature -Xswiftc InferSendableFromCaptures
[1/1] Compiling plugin Swift-DocC Preview
[2/2] Compiling plugin Swift-DocC
Building for debugging...
[2/6] Write sources
[5/6] Write swift-version-2F0A5646E1D333AE.txt
[7/43] Emitting module iOS_BLE_Library
/Users/admin/builder/spi-builder-workspace/Sources/iOS-BLE-Library/CentralManager/CentralManager.swift:209:11: warning: check `connect` method
207 |
208 | extension CentralManager {
209 | 	#warning("check `connect` method")
    |           `- warning: check `connect` method
210 | 	/// Returns a list of the peripherals connected to the system whose
211 | 	/// services match a given set of criteria.
/Users/admin/builder/spi-builder-workspace/Sources/iOS-BLE-Library/CentralManager/CentralManager.swift:241:11: warning: Question: Should we throw an error if the scan is already running?
239 |
240 | extension CentralManager {
241 | 	#warning("Question: Should we throw an error if the scan is already running?")
    |           `- warning: Question: Should we throw an error if the scan is already running?
242 | 	/// Initiates a scan for peripherals with the specified services.
243 | 	///
/Users/admin/builder/spi-builder-workspace/Sources/iOS-BLE-Library/Utilities/Logger.swift:13:16: warning: static property 'loggers' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
11 | @available(iOS 14.0, macOS 11, watchOS 7.0, *)
12 | private struct Loggers {
13 |     static var loggers: [UUID : Logger] = [:]
   |                |- warning: static property 'loggers' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
   |                |- note: convert 'loggers' to a 'let' constant to make 'Sendable' shared state immutable
   |                |- note: add '@MainActor' to make static property 'loggers' part of global actor 'MainActor'
   |                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
14 | }
15 |
/Users/admin/builder/spi-builder-workspace/Sources/iOS-BLE-Library/Utilities/Publishers/Publishers+FailablePrefix.swift.swift:41:10: warning: Thread safety should be considered
 39 | }
 40 |
 41 | #warning("Thread safety should be considered")
    |          `- warning: Thread safety should be considered
 42 | extension Publishers.PrefixUntilOutputOrCompletion {
 43 | 	private final class Inner<Downstream: Subscriber>: Subscriber, Subscription
/Users/admin/builder/spi-builder-workspace/Sources/iOS-BLE-Library/Utilities/RSSI.swift:59:20: warning: static property 'outOfRange' is not concurrency-safe because non-'Sendable' type 'RSSI' may have shared mutable state; this is an error in the Swift 6 language mode
18 | }
19 |
20 | public struct RSSI: ExpressibleByIntegerLiteral, Equatable, Hashable {
   |               `- note: consider making struct 'RSSI' conform to the 'Sendable' protocol
21 |
22 | 	public enum Signal {
   :
57 | extension RSSI {
58 |
59 | 	public static let outOfRange = RSSI(integerLiteral: Const.outOfRange)
   |                    |- warning: static property 'outOfRange' is not concurrency-safe because non-'Sendable' type 'RSSI' may have shared mutable state; this is an error in the Swift 6 language mode
   |                    |- note: add '@MainActor' to make static property 'outOfRange' part of global actor 'MainActor'
   |                    `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
60 | 	public static let practicalWorst = RSSI(integerLiteral: Const.practicalWorst)
61 | 	public static let bad = RSSI(integerLiteral: Const.bad)
/Users/admin/builder/spi-builder-workspace/Sources/iOS-BLE-Library/Utilities/RSSI.swift:60:20: warning: static property 'practicalWorst' is not concurrency-safe because non-'Sendable' type 'RSSI' may have shared mutable state; this is an error in the Swift 6 language mode
18 | }
19 |
20 | public struct RSSI: ExpressibleByIntegerLiteral, Equatable, Hashable {
   |               `- note: consider making struct 'RSSI' conform to the 'Sendable' protocol
21 |
22 | 	public enum Signal {
   :
58 |
59 | 	public static let outOfRange = RSSI(integerLiteral: Const.outOfRange)
60 | 	public static let practicalWorst = RSSI(integerLiteral: Const.practicalWorst)
   |                    |- warning: static property 'practicalWorst' is not concurrency-safe because non-'Sendable' type 'RSSI' may have shared mutable state; this is an error in the Swift 6 language mode
   |                    |- note: add '@MainActor' to make static property 'practicalWorst' part of global actor 'MainActor'
   |                    `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
61 | 	public static let bad = RSSI(integerLiteral: Const.bad)
62 | 	public static let ok = RSSI(integerLiteral: Const.ok)
/Users/admin/builder/spi-builder-workspace/Sources/iOS-BLE-Library/Utilities/RSSI.swift:61:20: warning: static property 'bad' is not concurrency-safe because non-'Sendable' type 'RSSI' may have shared mutable state; this is an error in the Swift 6 language mode
18 | }
19 |
20 | public struct RSSI: ExpressibleByIntegerLiteral, Equatable, Hashable {
   |               `- note: consider making struct 'RSSI' conform to the 'Sendable' protocol
21 |
22 | 	public enum Signal {
   :
59 | 	public static let outOfRange = RSSI(integerLiteral: Const.outOfRange)
60 | 	public static let practicalWorst = RSSI(integerLiteral: Const.practicalWorst)
61 | 	public static let bad = RSSI(integerLiteral: Const.bad)
   |                    |- warning: static property 'bad' is not concurrency-safe because non-'Sendable' type 'RSSI' may have shared mutable state; this is an error in the Swift 6 language mode
   |                    |- note: add '@MainActor' to make static property 'bad' part of global actor 'MainActor'
   |                    `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
62 | 	public static let ok = RSSI(integerLiteral: Const.ok)
63 | 	public static let good = RSSI(integerLiteral: Const.good)
/Users/admin/builder/spi-builder-workspace/Sources/iOS-BLE-Library/Utilities/RSSI.swift:62:20: warning: static property 'ok' is not concurrency-safe because non-'Sendable' type 'RSSI' may have shared mutable state; this is an error in the Swift 6 language mode
18 | }
19 |
20 | public struct RSSI: ExpressibleByIntegerLiteral, Equatable, Hashable {
   |               `- note: consider making struct 'RSSI' conform to the 'Sendable' protocol
21 |
22 | 	public enum Signal {
   :
60 | 	public static let practicalWorst = RSSI(integerLiteral: Const.practicalWorst)
61 | 	public static let bad = RSSI(integerLiteral: Const.bad)
62 | 	public static let ok = RSSI(integerLiteral: Const.ok)
   |                    |- warning: static property 'ok' is not concurrency-safe because non-'Sendable' type 'RSSI' may have shared mutable state; this is an error in the Swift 6 language mode
   |                    |- note: add '@MainActor' to make static property 'ok' part of global actor 'MainActor'
   |                    `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
63 | 	public static let good = RSSI(integerLiteral: Const.good)
64 | }
/Users/admin/builder/spi-builder-workspace/Sources/iOS-BLE-Library/Utilities/RSSI.swift:63:20: warning: static property 'good' is not concurrency-safe because non-'Sendable' type 'RSSI' may have shared mutable state; this is an error in the Swift 6 language mode
18 | }
19 |
20 | public struct RSSI: ExpressibleByIntegerLiteral, Equatable, Hashable {
   |               `- note: consider making struct 'RSSI' conform to the 'Sendable' protocol
21 |
22 | 	public enum Signal {
   :
61 | 	public static let bad = RSSI(integerLiteral: Const.bad)
62 | 	public static let ok = RSSI(integerLiteral: Const.ok)
63 | 	public static let good = RSSI(integerLiteral: Const.good)
   |                    |- warning: static property 'good' is not concurrency-safe because non-'Sendable' type 'RSSI' may have shared mutable state; this is an error in the Swift 6 language mode
   |                    |- note: add '@MainActor' to make static property 'good' part of global actor 'MainActor'
   |                    `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
64 | }
65 |
[8/45] Compiling iOS_BLE_Library RSSI.swift
/Users/admin/builder/spi-builder-workspace/Sources/iOS-BLE-Library/Utilities/RSSI.swift:59:20: warning: static property 'outOfRange' is not concurrency-safe because non-'Sendable' type 'RSSI' may have shared mutable state; this is an error in the Swift 6 language mode
18 | }
19 |
20 | public struct RSSI: ExpressibleByIntegerLiteral, Equatable, Hashable {
   |               `- note: consider making struct 'RSSI' conform to the 'Sendable' protocol
21 |
22 | 	public enum Signal {
   :
57 | extension RSSI {
58 |
59 | 	public static let outOfRange = RSSI(integerLiteral: Const.outOfRange)
   |                    |- warning: static property 'outOfRange' is not concurrency-safe because non-'Sendable' type 'RSSI' may have shared mutable state; this is an error in the Swift 6 language mode
   |                    |- note: add '@MainActor' to make static property 'outOfRange' part of global actor 'MainActor'
   |                    `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
60 | 	public static let practicalWorst = RSSI(integerLiteral: Const.practicalWorst)
61 | 	public static let bad = RSSI(integerLiteral: Const.bad)
/Users/admin/builder/spi-builder-workspace/Sources/iOS-BLE-Library/Utilities/RSSI.swift:60:20: warning: static property 'practicalWorst' is not concurrency-safe because non-'Sendable' type 'RSSI' may have shared mutable state; this is an error in the Swift 6 language mode
18 | }
19 |
20 | public struct RSSI: ExpressibleByIntegerLiteral, Equatable, Hashable {
   |               `- note: consider making struct 'RSSI' conform to the 'Sendable' protocol
21 |
22 | 	public enum Signal {
   :
58 |
59 | 	public static let outOfRange = RSSI(integerLiteral: Const.outOfRange)
60 | 	public static let practicalWorst = RSSI(integerLiteral: Const.practicalWorst)
   |                    |- warning: static property 'practicalWorst' is not concurrency-safe because non-'Sendable' type 'RSSI' may have shared mutable state; this is an error in the Swift 6 language mode
   |                    |- note: add '@MainActor' to make static property 'practicalWorst' part of global actor 'MainActor'
   |                    `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
61 | 	public static let bad = RSSI(integerLiteral: Const.bad)
62 | 	public static let ok = RSSI(integerLiteral: Const.ok)
/Users/admin/builder/spi-builder-workspace/Sources/iOS-BLE-Library/Utilities/RSSI.swift:61:20: warning: static property 'bad' is not concurrency-safe because non-'Sendable' type 'RSSI' may have shared mutable state; this is an error in the Swift 6 language mode
18 | }
19 |
20 | public struct RSSI: ExpressibleByIntegerLiteral, Equatable, Hashable {
   |               `- note: consider making struct 'RSSI' conform to the 'Sendable' protocol
21 |
22 | 	public enum Signal {
   :
59 | 	public static let outOfRange = RSSI(integerLiteral: Const.outOfRange)
60 | 	public static let practicalWorst = RSSI(integerLiteral: Const.practicalWorst)
61 | 	public static let bad = RSSI(integerLiteral: Const.bad)
   |                    |- warning: static property 'bad' is not concurrency-safe because non-'Sendable' type 'RSSI' may have shared mutable state; this is an error in the Swift 6 language mode
   |                    |- note: add '@MainActor' to make static property 'bad' part of global actor 'MainActor'
   |                    `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
62 | 	public static let ok = RSSI(integerLiteral: Const.ok)
63 | 	public static let good = RSSI(integerLiteral: Const.good)
/Users/admin/builder/spi-builder-workspace/Sources/iOS-BLE-Library/Utilities/RSSI.swift:62:20: warning: static property 'ok' is not concurrency-safe because non-'Sendable' type 'RSSI' may have shared mutable state; this is an error in the Swift 6 language mode
18 | }
19 |
20 | public struct RSSI: ExpressibleByIntegerLiteral, Equatable, Hashable {
   |               `- note: consider making struct 'RSSI' conform to the 'Sendable' protocol
21 |
22 | 	public enum Signal {
   :
60 | 	public static let practicalWorst = RSSI(integerLiteral: Const.practicalWorst)
61 | 	public static let bad = RSSI(integerLiteral: Const.bad)
62 | 	public static let ok = RSSI(integerLiteral: Const.ok)
   |                    |- warning: static property 'ok' is not concurrency-safe because non-'Sendable' type 'RSSI' may have shared mutable state; this is an error in the Swift 6 language mode
   |                    |- note: add '@MainActor' to make static property 'ok' part of global actor 'MainActor'
   |                    `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
63 | 	public static let good = RSSI(integerLiteral: Const.good)
64 | }
/Users/admin/builder/spi-builder-workspace/Sources/iOS-BLE-Library/Utilities/RSSI.swift:63:20: warning: static property 'good' is not concurrency-safe because non-'Sendable' type 'RSSI' may have shared mutable state; this is an error in the Swift 6 language mode
18 | }
19 |
20 | public struct RSSI: ExpressibleByIntegerLiteral, Equatable, Hashable {
   |               `- note: consider making struct 'RSSI' conform to the 'Sendable' protocol
21 |
22 | 	public enum Signal {
   :
61 | 	public static let bad = RSSI(integerLiteral: Const.bad)
62 | 	public static let ok = RSSI(integerLiteral: Const.ok)
63 | 	public static let good = RSSI(integerLiteral: Const.good)
   |                    |- warning: static property 'good' is not concurrency-safe because non-'Sendable' type 'RSSI' may have shared mutable state; this is an error in the Swift 6 language mode
   |                    |- note: add '@MainActor' to make static property 'good' part of global actor 'MainActor'
   |                    `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
64 | }
65 |
[9/45] Compiling iOS_BLE_Library UnimplementedError.swift
/Users/admin/builder/spi-builder-workspace/Sources/iOS-BLE-Library/Utilities/RSSI.swift:59:20: warning: static property 'outOfRange' is not concurrency-safe because non-'Sendable' type 'RSSI' may have shared mutable state; this is an error in the Swift 6 language mode
18 | }
19 |
20 | public struct RSSI: ExpressibleByIntegerLiteral, Equatable, Hashable {
   |               `- note: consider making struct 'RSSI' conform to the 'Sendable' protocol
21 |
22 | 	public enum Signal {
   :
57 | extension RSSI {
58 |
59 | 	public static let outOfRange = RSSI(integerLiteral: Const.outOfRange)
   |                    |- warning: static property 'outOfRange' is not concurrency-safe because non-'Sendable' type 'RSSI' may have shared mutable state; this is an error in the Swift 6 language mode
   |                    |- note: add '@MainActor' to make static property 'outOfRange' part of global actor 'MainActor'
   |                    `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
60 | 	public static let practicalWorst = RSSI(integerLiteral: Const.practicalWorst)
61 | 	public static let bad = RSSI(integerLiteral: Const.bad)
/Users/admin/builder/spi-builder-workspace/Sources/iOS-BLE-Library/Utilities/RSSI.swift:60:20: warning: static property 'practicalWorst' is not concurrency-safe because non-'Sendable' type 'RSSI' may have shared mutable state; this is an error in the Swift 6 language mode
18 | }
19 |
20 | public struct RSSI: ExpressibleByIntegerLiteral, Equatable, Hashable {
   |               `- note: consider making struct 'RSSI' conform to the 'Sendable' protocol
21 |
22 | 	public enum Signal {
   :
58 |
59 | 	public static let outOfRange = RSSI(integerLiteral: Const.outOfRange)
60 | 	public static let practicalWorst = RSSI(integerLiteral: Const.practicalWorst)
   |                    |- warning: static property 'practicalWorst' is not concurrency-safe because non-'Sendable' type 'RSSI' may have shared mutable state; this is an error in the Swift 6 language mode
   |                    |- note: add '@MainActor' to make static property 'practicalWorst' part of global actor 'MainActor'
   |                    `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
61 | 	public static let bad = RSSI(integerLiteral: Const.bad)
62 | 	public static let ok = RSSI(integerLiteral: Const.ok)
/Users/admin/builder/spi-builder-workspace/Sources/iOS-BLE-Library/Utilities/RSSI.swift:61:20: warning: static property 'bad' is not concurrency-safe because non-'Sendable' type 'RSSI' may have shared mutable state; this is an error in the Swift 6 language mode
18 | }
19 |
20 | public struct RSSI: ExpressibleByIntegerLiteral, Equatable, Hashable {
   |               `- note: consider making struct 'RSSI' conform to the 'Sendable' protocol
21 |
22 | 	public enum Signal {
   :
59 | 	public static let outOfRange = RSSI(integerLiteral: Const.outOfRange)
60 | 	public static let practicalWorst = RSSI(integerLiteral: Const.practicalWorst)
61 | 	public static let bad = RSSI(integerLiteral: Const.bad)
   |                    |- warning: static property 'bad' is not concurrency-safe because non-'Sendable' type 'RSSI' may have shared mutable state; this is an error in the Swift 6 language mode
   |                    |- note: add '@MainActor' to make static property 'bad' part of global actor 'MainActor'
   |                    `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
62 | 	public static let ok = RSSI(integerLiteral: Const.ok)
63 | 	public static let good = RSSI(integerLiteral: Const.good)
/Users/admin/builder/spi-builder-workspace/Sources/iOS-BLE-Library/Utilities/RSSI.swift:62:20: warning: static property 'ok' is not concurrency-safe because non-'Sendable' type 'RSSI' may have shared mutable state; this is an error in the Swift 6 language mode
18 | }
19 |
20 | public struct RSSI: ExpressibleByIntegerLiteral, Equatable, Hashable {
   |               `- note: consider making struct 'RSSI' conform to the 'Sendable' protocol
21 |
22 | 	public enum Signal {
   :
60 | 	public static let practicalWorst = RSSI(integerLiteral: Const.practicalWorst)
61 | 	public static let bad = RSSI(integerLiteral: Const.bad)
62 | 	public static let ok = RSSI(integerLiteral: Const.ok)
   |                    |- warning: static property 'ok' is not concurrency-safe because non-'Sendable' type 'RSSI' may have shared mutable state; this is an error in the Swift 6 language mode
   |                    |- note: add '@MainActor' to make static property 'ok' part of global actor 'MainActor'
   |                    `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
63 | 	public static let good = RSSI(integerLiteral: Const.good)
64 | }
/Users/admin/builder/spi-builder-workspace/Sources/iOS-BLE-Library/Utilities/RSSI.swift:63:20: warning: static property 'good' is not concurrency-safe because non-'Sendable' type 'RSSI' may have shared mutable state; this is an error in the Swift 6 language mode
18 | }
19 |
20 | public struct RSSI: ExpressibleByIntegerLiteral, Equatable, Hashable {
   |               `- note: consider making struct 'RSSI' conform to the 'Sendable' protocol
21 |
22 | 	public enum Signal {
   :
61 | 	public static let bad = RSSI(integerLiteral: Const.bad)
62 | 	public static let ok = RSSI(integerLiteral: Const.ok)
63 | 	public static let good = RSSI(integerLiteral: Const.good)
   |                    |- warning: static property 'good' is not concurrency-safe because non-'Sendable' type 'RSSI' may have shared mutable state; this is an error in the Swift 6 language mode
   |                    |- note: add '@MainActor' to make static property 'good' part of global actor 'MainActor'
   |                    `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
64 | }
65 |
[10/45] Compiling CoreBluetoothMock CBMPeripheralSpec.swift
[11/45] Compiling CoreBluetoothMock CBMPeripheralPreview.swift
[12/45] Compiling CoreBluetoothMock CBMPeripheralDelegateProxy.swift
[13/46] Compiling CoreBluetoothMock CBMPeripheralSpecDelegate.swift
[14/46] Compiling iOS_BLE_Library AsyncCharacteristicData.swift
[15/46] Compiling iOS_BLE_Library CBManagerState.swift
[16/46] Compiling iOS_BLE_Library Publishers+Async.swift
/Users/admin/builder/spi-builder-workspace/Sources/iOS-BLE-Library/Utilities/Extensions/Publishers+Async.swift:47:5: warning: capture of 'inner' with non-sendable type 'AsyncPublisher<Upstream>.Iterator.Inner' in a '@Sendable' closure; this is an error in the Swift 6 language mode
 45 | 			} onCancel: {
 46 | 				[inner] in
 47 | 				inner.cancel()
    |     `- warning: capture of 'inner' with non-sendable type 'AsyncPublisher<Upstream>.Iterator.Inner' in a '@Sendable' closure; this is an error in the Swift 6 language mode
 48 | 			}
 49 | 		}
    :
 66 |
 67 | extension AsyncPublisher.Iterator {
 68 | 	fileprivate final class Inner: Subscriber, Cancellable {
    |                          `- note: class 'Inner' does not conform to the 'Sendable' protocol
 69 | 		typealias Input = Upstream.Output
 70 | 		typealias Failure = Upstream.Failure
/Users/admin/builder/spi-builder-workspace/Sources/iOS-BLE-Library/Utilities/Extensions/Publishers+Async.swift:180:5: warning: capture of 'inner' with non-sendable type 'AsyncThrowingPublisher<Upstream>.Iterator.Inner' in a '@Sendable' closure; this is an error in the Swift 6 language mode
178 | 			} onCancel: {
179 | 				[inner] in
180 | 				inner.cancel()
    |     `- warning: capture of 'inner' with non-sendable type 'AsyncThrowingPublisher<Upstream>.Iterator.Inner' in a '@Sendable' closure; this is an error in the Swift 6 language mode
181 | 			}
182 | 		}
    :
200 | extension AsyncThrowingPublisher.Iterator {
201 |
202 | 	fileprivate final class Inner: Subscriber, Cancellable {
    |                          `- note: class 'Inner' does not conform to the 'Sendable' protocol
203 | 		typealias Input = Upstream.Output
204 | 		typealias Failure = Upstream.Failure
/Users/admin/builder/spi-builder-workspace/Sources/iOS-BLE-Library/Utilities/Logger.swift:13:16: warning: static property 'loggers' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
11 | @available(iOS 14.0, macOS 11, watchOS 7.0, *)
12 | private struct Loggers {
13 |     static var loggers: [UUID : Logger] = [:]
   |                |- warning: static property 'loggers' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
   |                |- note: convert 'loggers' to a 'let' constant to make 'Sendable' shared state immutable
   |                |- note: add '@MainActor' to make static property 'loggers' part of global actor 'MainActor'
   |                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
14 | }
15 |
/Users/admin/builder/spi-builder-workspace/Sources/iOS-BLE-Library/Utilities/Extensions/Publishers+Async.swift:111:17: warning: sending value of non-Sendable type 'AsyncPublisher<Upstream>.Iterator.Inner.Input' (aka 'Upstream.Output') risks causing data races; this is an error in the Swift 6 language mode
109 | 			let continuation = pending.removeFirst()
110 | 			lock.unlock()
111 | 			continuation.resume(returning: input)
    |                 |- warning: sending value of non-Sendable type 'AsyncPublisher<Upstream>.Iterator.Inner.Input' (aka 'Upstream.Output') risks causing data races; this is an error in the Swift 6 language mode
    |                 `- note: Passing task-isolated value of non-Sendable type 'AsyncPublisher<Upstream>.Iterator.Inner.Input' (aka 'Upstream.Output') as a 'sending' parameter risks causing races inbetween task-isolated uses and uses reachable from the callee
112 | 			return .none
113 | 		}
/Users/admin/builder/spi-builder-workspace/Sources/iOS-BLE-Library/Utilities/Extensions/Publishers+Async.swift:245:17: warning: sending value of non-Sendable type 'AsyncThrowingPublisher<Upstream>.Iterator.Inner.Input' (aka 'Upstream.Output') risks causing data races; this is an error in the Swift 6 language mode
243 | 			let continuation = pending.removeFirst()
244 | 			lock.unlock()
245 | 			continuation.resume(returning: input)
    |                 |- warning: sending value of non-Sendable type 'AsyncThrowingPublisher<Upstream>.Iterator.Inner.Input' (aka 'Upstream.Output') risks causing data races; this is an error in the Swift 6 language mode
    |                 `- note: Passing task-isolated value of non-Sendable type 'AsyncThrowingPublisher<Upstream>.Iterator.Inner.Input' (aka 'Upstream.Output') as a 'sending' parameter risks causing races inbetween task-isolated uses and uses reachable from the callee
246 | 			return .none
247 | 		}
[17/46] Compiling iOS_BLE_Library Logger.swift
/Users/admin/builder/spi-builder-workspace/Sources/iOS-BLE-Library/Utilities/Extensions/Publishers+Async.swift:47:5: warning: capture of 'inner' with non-sendable type 'AsyncPublisher<Upstream>.Iterator.Inner' in a '@Sendable' closure; this is an error in the Swift 6 language mode
 45 | 			} onCancel: {
 46 | 				[inner] in
 47 | 				inner.cancel()
    |     `- warning: capture of 'inner' with non-sendable type 'AsyncPublisher<Upstream>.Iterator.Inner' in a '@Sendable' closure; this is an error in the Swift 6 language mode
 48 | 			}
 49 | 		}
    :
 66 |
 67 | extension AsyncPublisher.Iterator {
 68 | 	fileprivate final class Inner: Subscriber, Cancellable {
    |                          `- note: class 'Inner' does not conform to the 'Sendable' protocol
 69 | 		typealias Input = Upstream.Output
 70 | 		typealias Failure = Upstream.Failure
/Users/admin/builder/spi-builder-workspace/Sources/iOS-BLE-Library/Utilities/Extensions/Publishers+Async.swift:180:5: warning: capture of 'inner' with non-sendable type 'AsyncThrowingPublisher<Upstream>.Iterator.Inner' in a '@Sendable' closure; this is an error in the Swift 6 language mode
178 | 			} onCancel: {
179 | 				[inner] in
180 | 				inner.cancel()
    |     `- warning: capture of 'inner' with non-sendable type 'AsyncThrowingPublisher<Upstream>.Iterator.Inner' in a '@Sendable' closure; this is an error in the Swift 6 language mode
181 | 			}
182 | 		}
    :
200 | extension AsyncThrowingPublisher.Iterator {
201 |
202 | 	fileprivate final class Inner: Subscriber, Cancellable {
    |                          `- note: class 'Inner' does not conform to the 'Sendable' protocol
203 | 		typealias Input = Upstream.Output
204 | 		typealias Failure = Upstream.Failure
/Users/admin/builder/spi-builder-workspace/Sources/iOS-BLE-Library/Utilities/Logger.swift:13:16: warning: static property 'loggers' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
11 | @available(iOS 14.0, macOS 11, watchOS 7.0, *)
12 | private struct Loggers {
13 |     static var loggers: [UUID : Logger] = [:]
   |                |- warning: static property 'loggers' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
   |                |- note: convert 'loggers' to a 'let' constant to make 'Sendable' shared state immutable
   |                |- note: add '@MainActor' to make static property 'loggers' part of global actor 'MainActor'
   |                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
14 | }
15 |
/Users/admin/builder/spi-builder-workspace/Sources/iOS-BLE-Library/Utilities/Extensions/Publishers+Async.swift:111:17: warning: sending value of non-Sendable type 'AsyncPublisher<Upstream>.Iterator.Inner.Input' (aka 'Upstream.Output') risks causing data races; this is an error in the Swift 6 language mode
109 | 			let continuation = pending.removeFirst()
110 | 			lock.unlock()
111 | 			continuation.resume(returning: input)
    |                 |- warning: sending value of non-Sendable type 'AsyncPublisher<Upstream>.Iterator.Inner.Input' (aka 'Upstream.Output') risks causing data races; this is an error in the Swift 6 language mode
    |                 `- note: Passing task-isolated value of non-Sendable type 'AsyncPublisher<Upstream>.Iterator.Inner.Input' (aka 'Upstream.Output') as a 'sending' parameter risks causing races inbetween task-isolated uses and uses reachable from the callee
112 | 			return .none
113 | 		}
/Users/admin/builder/spi-builder-workspace/Sources/iOS-BLE-Library/Utilities/Extensions/Publishers+Async.swift:245:17: warning: sending value of non-Sendable type 'AsyncThrowingPublisher<Upstream>.Iterator.Inner.Input' (aka 'Upstream.Output') risks causing data races; this is an error in the Swift 6 language mode
243 | 			let continuation = pending.removeFirst()
244 | 			lock.unlock()
245 | 			continuation.resume(returning: input)
    |                 |- warning: sending value of non-Sendable type 'AsyncThrowingPublisher<Upstream>.Iterator.Inner.Input' (aka 'Upstream.Output') risks causing data races; this is an error in the Swift 6 language mode
    |                 `- note: Passing task-isolated value of non-Sendable type 'AsyncThrowingPublisher<Upstream>.Iterator.Inner.Input' (aka 'Upstream.Output') as a 'sending' parameter risks causing races inbetween task-isolated uses and uses reachable from the callee
246 | 			return .none
247 | 		}
[18/46] Compiling iOS_BLE_Library CBManagerState+Ext.swift
[19/46] Compiling iOS_BLE_Library Data+Ext.swift.swift
[20/46] Compiling iOS_BLE_Library ReactivePeripheralDelegate.swift
[21/46] Compiling iOS_BLE_Library AdvertisementData.swift
[22/46] Compiling iOS_BLE_Library CentralManager.swift
/Users/admin/builder/spi-builder-workspace/Sources/iOS-BLE-Library/CentralManager/CentralManager.swift:209:11: warning: check `connect` method
207 |
208 | extension CentralManager {
209 | 	#warning("check `connect` method")
    |           `- warning: check `connect` method
210 | 	/// Returns a list of the peripherals connected to the system whose
211 | 	/// services match a given set of criteria.
/Users/admin/builder/spi-builder-workspace/Sources/iOS-BLE-Library/CentralManager/CentralManager.swift:241:11: warning: Question: Should we throw an error if the scan is already running?
239 |
240 | extension CentralManager {
241 | 	#warning("Question: Should we throw an error if the scan is already running?")
    |           `- warning: Question: Should we throw an error if the scan is already running?
242 | 	/// Initiates a scan for peripherals with the specified services.
243 | 	///
/Users/admin/builder/spi-builder-workspace/Sources/iOS-BLE-Library/CentralManager/CentralManager.swift:56:46: warning: capture of 'self' with non-sendable type 'Observer' in a '@Sendable' closure
 40 | // MARK: - Observer
 41 |
 42 | private class Observer: NSObject {
    |               `- note: class 'Observer' does not conform to the 'Sendable' protocol
 43 | 	@objc dynamic private weak var cm: CBCentralManager?
 44 | 	private weak var publisher: CurrentValueSubject<Bool, Never>?
    :
 54 | 		observation = observe(\.cm?.isScanning, options: [.old, .new],
 55 |                                changeHandler: { _, change in
 56 |             change.newValue?.flatMap { [weak self] new in
    |                                              `- warning: capture of 'self' with non-sendable type 'Observer' in a '@Sendable' closure
 57 |                 self?.publisher?.send(new)
 58 |             }
[23/46] Compiling iOS_BLE_Library ScanResult.swift
/Users/admin/builder/spi-builder-workspace/Sources/iOS-BLE-Library/CentralManager/CentralManager.swift:209:11: warning: check `connect` method
207 |
208 | extension CentralManager {
209 | 	#warning("check `connect` method")
    |           `- warning: check `connect` method
210 | 	/// Returns a list of the peripherals connected to the system whose
211 | 	/// services match a given set of criteria.
/Users/admin/builder/spi-builder-workspace/Sources/iOS-BLE-Library/CentralManager/CentralManager.swift:241:11: warning: Question: Should we throw an error if the scan is already running?
239 |
240 | extension CentralManager {
241 | 	#warning("Question: Should we throw an error if the scan is already running?")
    |           `- warning: Question: Should we throw an error if the scan is already running?
242 | 	/// Initiates a scan for peripherals with the specified services.
243 | 	///
/Users/admin/builder/spi-builder-workspace/Sources/iOS-BLE-Library/CentralManager/CentralManager.swift:56:46: warning: capture of 'self' with non-sendable type 'Observer' in a '@Sendable' closure
 40 | // MARK: - Observer
 41 |
 42 | private class Observer: NSObject {
    |               `- note: class 'Observer' does not conform to the 'Sendable' protocol
 43 | 	@objc dynamic private weak var cm: CBCentralManager?
 44 | 	private weak var publisher: CurrentValueSubject<Bool, Never>?
    :
 54 | 		observation = observe(\.cm?.isScanning, options: [.old, .new],
 55 |                                changeHandler: { _, change in
 56 |             change.newValue?.flatMap { [weak self] new in
    |                                              `- warning: capture of 'self' with non-sendable type 'Observer' in a '@Sendable' closure
 57 |                 self?.publisher?.send(new)
 58 |             }
[24/46] Compiling iOS_BLE_Library ReactiveCentralManagerDelegate.swift
/Users/admin/builder/spi-builder-workspace/Sources/iOS-BLE-Library/CentralManager/CentralManager.swift:209:11: warning: check `connect` method
207 |
208 | extension CentralManager {
209 | 	#warning("check `connect` method")
    |           `- warning: check `connect` method
210 | 	/// Returns a list of the peripherals connected to the system whose
211 | 	/// services match a given set of criteria.
/Users/admin/builder/spi-builder-workspace/Sources/iOS-BLE-Library/CentralManager/CentralManager.swift:241:11: warning: Question: Should we throw an error if the scan is already running?
239 |
240 | extension CentralManager {
241 | 	#warning("Question: Should we throw an error if the scan is already running?")
    |           `- warning: Question: Should we throw an error if the scan is already running?
242 | 	/// Initiates a scan for peripherals with the specified services.
243 | 	///
/Users/admin/builder/spi-builder-workspace/Sources/iOS-BLE-Library/CentralManager/CentralManager.swift:56:46: warning: capture of 'self' with non-sendable type 'Observer' in a '@Sendable' closure
 40 | // MARK: - Observer
 41 |
 42 | private class Observer: NSObject {
    |               `- note: class 'Observer' does not conform to the 'Sendable' protocol
 43 | 	@objc dynamic private weak var cm: CBCentralManager?
 44 | 	private weak var publisher: CurrentValueSubject<Bool, Never>?
    :
 54 | 		observation = observe(\.cm?.isScanning, options: [.old, .new],
 55 |                                changeHandler: { _, change in
 56 |             change.newValue?.flatMap { [weak self] new in
    |                                              `- warning: capture of 'self' with non-sendable type 'Observer' in a '@Sendable' closure
 57 |                 self?.publisher?.send(new)
 58 |             }
[25/46] Compiling iOS_BLE_Library ContinuationSubscriber.swift
/Users/admin/builder/spi-builder-workspace/Sources/iOS-BLE-Library/Utilities/Publishers/ContinuationSubscriber.swift:52:16: warning: sending 'input' risks causing data races; this is an error in the Swift 6 language mode
50 | 		}
51 | 		self.state = .terminated
52 | 		continuation.resume(returning: input)
   |                |- warning: sending 'input' risks causing data races; this is an error in the Swift 6 language mode
   |                `- note: task-isolated 'input' is passed as a 'sending' parameter; Uses in callee may race with later task-isolated uses
53 |
54 | 		self.subscription?.cancel()
[26/46] Compiling iOS_BLE_Library Publishers+Bluetooth.swift
/Users/admin/builder/spi-builder-workspace/Sources/iOS-BLE-Library/Utilities/Publishers/ContinuationSubscriber.swift:52:16: warning: sending 'input' risks causing data races; this is an error in the Swift 6 language mode
50 | 		}
51 | 		self.state = .terminated
52 | 		continuation.resume(returning: input)
   |                |- warning: sending 'input' risks causing data races; this is an error in the Swift 6 language mode
   |                `- note: task-isolated 'input' is passed as a 'sending' parameter; Uses in callee may race with later task-isolated uses
53 |
54 | 		self.subscription?.cancel()
[27/46] Compiling iOS_BLE_Library Peripheral+Writer.swift
/Users/admin/builder/spi-builder-workspace/Sources/iOS-BLE-Library/Peripheral/Peripheral.swift:46:23: warning: capture of 'self' with non-sendable type 'NativeObserver?' in a '@Sendable' closure
 23 | }
 24 |
 25 | private class NativeObserver: Observer {
    |               `- note: class 'NativeObserver' does not conform to the 'Sendable' protocol
 26 | 	@objc private var peripheral: CoreBluetooth.CBPeripheral
 27 |
    :
 44 | 			[weak self] _, change in
 45 |             // TODO: Check threads
 46 |             guard let self else { return }
    |                       `- warning: capture of 'self' with non-sendable type 'NativeObserver?' in a '@Sendable' closure
 47 |             self.publisher.send(self.peripheral.state)
 48 | 		}
[28/46] Compiling iOS_BLE_Library Peripheral.swift
/Users/admin/builder/spi-builder-workspace/Sources/iOS-BLE-Library/Peripheral/Peripheral.swift:46:23: warning: capture of 'self' with non-sendable type 'NativeObserver?' in a '@Sendable' closure
 23 | }
 24 |
 25 | private class NativeObserver: Observer {
    |               `- note: class 'NativeObserver' does not conform to the 'Sendable' protocol
 26 | 	@objc private var peripheral: CoreBluetooth.CBPeripheral
 27 |
    :
 44 | 			[weak self] _, change in
 45 |             // TODO: Check threads
 46 |             guard let self else { return }
    |                       `- warning: capture of 'self' with non-sendable type 'NativeObserver?' in a '@Sendable' closure
 47 |             self.publisher.send(self.peripheral.state)
 48 | 		}
[29/46] Compiling iOS_BLE_Library PeripheralError.swift
/Users/admin/builder/spi-builder-workspace/Sources/iOS-BLE-Library/Peripheral/Peripheral.swift:46:23: warning: capture of 'self' with non-sendable type 'NativeObserver?' in a '@Sendable' closure
 23 | }
 24 |
 25 | private class NativeObserver: Observer {
    |               `- note: class 'NativeObserver' does not conform to the 'Sendable' protocol
 26 | 	@objc private var peripheral: CoreBluetooth.CBPeripheral
 27 |
    :
 44 | 			[weak self] _, change in
 45 |             // TODO: Check threads
 46 |             guard let self else { return }
    |                       `- warning: capture of 'self' with non-sendable type 'NativeObserver?' in a '@Sendable' closure
 47 |             self.publisher.send(self.peripheral.state)
 48 | 		}
[30/46] Compiling iOS_BLE_Library Publishers+Connectable.swift
/Users/admin/builder/spi-builder-workspace/Sources/iOS-BLE-Library/Utilities/Publishers/Publishers+FailablePrefix.swift.swift:41:10: warning: Thread safety should be considered
 39 | }
 40 |
 41 | #warning("Thread safety should be considered")
    |          `- warning: Thread safety should be considered
 42 | extension Publishers.PrefixUntilOutputOrCompletion {
 43 | 	private final class Inner<Downstream: Subscriber>: Subscriber, Subscription
[31/46] Compiling iOS_BLE_Library Publishers+FailablePrefix.swift.swift
/Users/admin/builder/spi-builder-workspace/Sources/iOS-BLE-Library/Utilities/Publishers/Publishers+FailablePrefix.swift.swift:41:10: warning: Thread safety should be considered
 39 | }
 40 |
 41 | #warning("Thread safety should be considered")
    |          `- warning: Thread safety should be considered
 42 | extension Publishers.PrefixUntilOutputOrCompletion {
 43 | 	private final class Inner<Downstream: Subscriber>: Subscriber, Subscription
[32/46] Compiling iOS_BLE_Library Publishers+GuestList.swift
[33/46] Compiling iOS_BLE_Library Queue.swift
[46/46] Emitting module CoreBluetoothMock
[47/69] Emitting module iOS_BLE_Library_Mock
/Users/admin/builder/spi-builder-workspace/Sources/iOS-BLE-Library-Mock/CentralManager/CentralManager.swift:18:8: warning: associated value 'badState' of 'Sendable'-conforming enum 'Err' has non-sendable type 'CBManagerState' (aka 'CBMManagerState'); this is an error in the Swift 6 language mode
 16 | 	public enum Err: Error {
 17 | 		case wrongManager
 18 | 		case badState(CBManagerState)
    |        `- warning: associated value 'badState' of 'Sendable'-conforming enum 'Err' has non-sendable type 'CBManagerState' (aka 'CBMManagerState'); this is an error in the Swift 6 language mode
 19 | 		case unknownError
 20 |
/Users/admin/builder/spi-builder-workspace/.build/checkouts/IOS-CoreBluetooth-Mock/CoreBluetoothMock/CBMManagerTypes.swift:34:13: note: enum 'CBMManagerState' does not conform to the 'Sendable' protocol
 32 |
 33 | /// The possible states of a Core Bluetooth manager.
 34 | public enum CBMManagerState: Int {
    |             `- note: enum 'CBMManagerState' does not conform to the 'Sendable' protocol
 35 |     /// The manager’s state is unknown.
 36 |     case unknown
/Users/admin/builder/spi-builder-workspace/Sources/iOS-BLE-Library-Mock/CentralManager/CentralManager.swift:9:1: warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'CoreBluetoothMock'
  7 |
  8 | import Combine
  9 | import CoreBluetoothMock
    | `- warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'CoreBluetoothMock'
 10 | import Foundation
 11 |
/Users/admin/builder/spi-builder-workspace/Sources/iOS-BLE-Library-Mock/CentralManager/CentralManager.swift:201:11: warning: check `connect` method
199 |
200 | extension CentralManager {
201 | 	#warning("check `connect` method")
    |           `- warning: check `connect` method
202 | 	/// Returns a list of the peripherals connected to the system whose
203 | 	/// services match a given set of criteria.
/Users/admin/builder/spi-builder-workspace/Sources/iOS-BLE-Library-Mock/CentralManager/CentralManager.swift:233:11: warning: Question: Should we throw an error if the scan is already running?
231 |
232 | extension CentralManager {
233 | 	#warning("Question: Should we throw an error if the scan is already running?")
    |           `- warning: Question: Should we throw an error if the scan is already running?
234 | 	/// Initiates a scan for peripherals with the specified services.
235 | 	///
/Users/admin/builder/spi-builder-workspace/Sources/iOS-BLE-Library-Mock/Utilities/Logger.swift:13:13: warning: static property 'loggers' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
11 | @available(iOS 14.0, macOS 11, watchOS 7.0, *)
12 | private struct Loggers {
13 | 	static var loggers: [UUID: Logger] = [:]
   |             |- warning: static property 'loggers' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
   |             |- note: convert 'loggers' to a 'let' constant to make 'Sendable' shared state immutable
   |             |- note: add '@MainActor' to make static property 'loggers' part of global actor 'MainActor'
   |             `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
14 | }
15 |
/Users/admin/builder/spi-builder-workspace/Sources/iOS-BLE-Library-Mock/Utilities/Publishers/Publishers+FailablePrefix.swift.swift:41:10: warning: Thread safety should be considered
 39 | }
 40 |
 41 | #warning("Thread safety should be considered")
    |          `- warning: Thread safety should be considered
 42 | extension Publishers.PrefixUntilOutputOrCompletion {
 43 | 	private final class Inner<Downstream: Subscriber>: Subscriber, Subscription
/Users/admin/builder/spi-builder-workspace/Sources/iOS-BLE-Library-Mock/Utilities/RSSI.swift:59:20: warning: static property 'outOfRange' is not concurrency-safe because non-'Sendable' type 'RSSI' may have shared mutable state; this is an error in the Swift 6 language mode
18 | }
19 |
20 | public struct RSSI: ExpressibleByIntegerLiteral, Equatable, Hashable {
   |               `- note: consider making struct 'RSSI' conform to the 'Sendable' protocol
21 |
22 | 	public enum Signal {
   :
57 | extension RSSI {
58 |
59 | 	public static let outOfRange = RSSI(integerLiteral: Const.outOfRange)
   |                    |- warning: static property 'outOfRange' is not concurrency-safe because non-'Sendable' type 'RSSI' may have shared mutable state; this is an error in the Swift 6 language mode
   |                    |- note: add '@MainActor' to make static property 'outOfRange' part of global actor 'MainActor'
   |                    `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
60 | 	public static let practicalWorst = RSSI(integerLiteral: Const.practicalWorst)
61 | 	public static let bad = RSSI(integerLiteral: Const.bad)
/Users/admin/builder/spi-builder-workspace/Sources/iOS-BLE-Library-Mock/Utilities/RSSI.swift:60:20: warning: static property 'practicalWorst' is not concurrency-safe because non-'Sendable' type 'RSSI' may have shared mutable state; this is an error in the Swift 6 language mode
18 | }
19 |
20 | public struct RSSI: ExpressibleByIntegerLiteral, Equatable, Hashable {
   |               `- note: consider making struct 'RSSI' conform to the 'Sendable' protocol
21 |
22 | 	public enum Signal {
   :
58 |
59 | 	public static let outOfRange = RSSI(integerLiteral: Const.outOfRange)
60 | 	public static let practicalWorst = RSSI(integerLiteral: Const.practicalWorst)
   |                    |- warning: static property 'practicalWorst' is not concurrency-safe because non-'Sendable' type 'RSSI' may have shared mutable state; this is an error in the Swift 6 language mode
   |                    |- note: add '@MainActor' to make static property 'practicalWorst' part of global actor 'MainActor'
   |                    `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
61 | 	public static let bad = RSSI(integerLiteral: Const.bad)
62 | 	public static let ok = RSSI(integerLiteral: Const.ok)
/Users/admin/builder/spi-builder-workspace/Sources/iOS-BLE-Library-Mock/Utilities/RSSI.swift:61:20: warning: static property 'bad' is not concurrency-safe because non-'Sendable' type 'RSSI' may have shared mutable state; this is an error in the Swift 6 language mode
18 | }
19 |
20 | public struct RSSI: ExpressibleByIntegerLiteral, Equatable, Hashable {
   |               `- note: consider making struct 'RSSI' conform to the 'Sendable' protocol
21 |
22 | 	public enum Signal {
   :
59 | 	public static let outOfRange = RSSI(integerLiteral: Const.outOfRange)
60 | 	public static let practicalWorst = RSSI(integerLiteral: Const.practicalWorst)
61 | 	public static let bad = RSSI(integerLiteral: Const.bad)
   |                    |- warning: static property 'bad' is not concurrency-safe because non-'Sendable' type 'RSSI' may have shared mutable state; this is an error in the Swift 6 language mode
   |                    |- note: add '@MainActor' to make static property 'bad' part of global actor 'MainActor'
   |                    `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
62 | 	public static let ok = RSSI(integerLiteral: Const.ok)
63 | 	public static let good = RSSI(integerLiteral: Const.good)
/Users/admin/builder/spi-builder-workspace/Sources/iOS-BLE-Library-Mock/Utilities/RSSI.swift:62:20: warning: static property 'ok' is not concurrency-safe because non-'Sendable' type 'RSSI' may have shared mutable state; this is an error in the Swift 6 language mode
18 | }
19 |
20 | public struct RSSI: ExpressibleByIntegerLiteral, Equatable, Hashable {
   |               `- note: consider making struct 'RSSI' conform to the 'Sendable' protocol
21 |
22 | 	public enum Signal {
   :
60 | 	public static let practicalWorst = RSSI(integerLiteral: Const.practicalWorst)
61 | 	public static let bad = RSSI(integerLiteral: Const.bad)
62 | 	public static let ok = RSSI(integerLiteral: Const.ok)
   |                    |- warning: static property 'ok' is not concurrency-safe because non-'Sendable' type 'RSSI' may have shared mutable state; this is an error in the Swift 6 language mode
   |                    |- note: add '@MainActor' to make static property 'ok' part of global actor 'MainActor'
   |                    `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
63 | 	public static let good = RSSI(integerLiteral: Const.good)
64 | }
/Users/admin/builder/spi-builder-workspace/Sources/iOS-BLE-Library-Mock/Utilities/RSSI.swift:63:20: warning: static property 'good' is not concurrency-safe because non-'Sendable' type 'RSSI' may have shared mutable state; this is an error in the Swift 6 language mode
18 | }
19 |
20 | public struct RSSI: ExpressibleByIntegerLiteral, Equatable, Hashable {
   |               `- note: consider making struct 'RSSI' conform to the 'Sendable' protocol
21 |
22 | 	public enum Signal {
   :
61 | 	public static let bad = RSSI(integerLiteral: Const.bad)
62 | 	public static let ok = RSSI(integerLiteral: Const.ok)
63 | 	public static let good = RSSI(integerLiteral: Const.good)
   |                    |- warning: static property 'good' is not concurrency-safe because non-'Sendable' type 'RSSI' may have shared mutable state; this is an error in the Swift 6 language mode
   |                    |- note: add '@MainActor' to make static property 'good' part of global actor 'MainActor'
   |                    `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
64 | }
65 |
[48/71] Compiling iOS_BLE_Library_Mock AsyncCharacteristicData.swift
/Users/admin/builder/spi-builder-workspace/Sources/iOS-BLE-Library-Mock/Utilities/Extensions/CBManagerState+Ext.swift:21:3: warning: default will never be executed
19 | 		case .poweredOff, .unauthorized, .unsupported:
20 | 			return false
21 | 		default:
   |   `- warning: default will never be executed
22 | 			return false
23 | 		}
[49/71] Compiling iOS_BLE_Library_Mock CBManagerState.swift
/Users/admin/builder/spi-builder-workspace/Sources/iOS-BLE-Library-Mock/Utilities/Extensions/CBManagerState+Ext.swift:21:3: warning: default will never be executed
19 | 		case .poweredOff, .unauthorized, .unsupported:
20 | 			return false
21 | 		default:
   |   `- warning: default will never be executed
22 | 			return false
23 | 		}
[50/71] Compiling iOS_BLE_Library_Mock CBManagerState+Ext.swift
/Users/admin/builder/spi-builder-workspace/Sources/iOS-BLE-Library-Mock/Utilities/Extensions/CBManagerState+Ext.swift:21:3: warning: default will never be executed
19 | 		case .poweredOff, .unauthorized, .unsupported:
20 | 			return false
21 | 		default:
   |   `- warning: default will never be executed
22 | 			return false
23 | 		}
[51/71] Compiling iOS_BLE_Library_Mock Logger.swift
/Users/admin/builder/spi-builder-workspace/Sources/iOS-BLE-Library-Mock/Utilities/Logger.swift:13:13: warning: static property 'loggers' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
11 | @available(iOS 14.0, macOS 11, watchOS 7.0, *)
12 | private struct Loggers {
13 | 	static var loggers: [UUID: Logger] = [:]
   |             |- warning: static property 'loggers' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
   |             |- note: convert 'loggers' to a 'let' constant to make 'Sendable' shared state immutable
   |             |- note: add '@MainActor' to make static property 'loggers' part of global actor 'MainActor'
   |             `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
14 | }
15 |
/Users/admin/builder/spi-builder-workspace/Sources/iOS-BLE-Library-Mock/Utilities/Publishers/ContinuationSubscriber.swift:52:16: warning: sending 'input' risks causing data races; this is an error in the Swift 6 language mode
50 | 		}
51 | 		self.state = .terminated
52 | 		continuation.resume(returning: input)
   |                |- warning: sending 'input' risks causing data races; this is an error in the Swift 6 language mode
   |                `- note: task-isolated 'input' is passed as a 'sending' parameter; Uses in callee may race with later task-isolated uses
53 |
54 | 		self.subscription?.cancel()
[52/71] Compiling iOS_BLE_Library_Mock ContinuationSubscriber.swift
/Users/admin/builder/spi-builder-workspace/Sources/iOS-BLE-Library-Mock/Utilities/Logger.swift:13:13: warning: static property 'loggers' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
11 | @available(iOS 14.0, macOS 11, watchOS 7.0, *)
12 | private struct Loggers {
13 | 	static var loggers: [UUID: Logger] = [:]
   |             |- warning: static property 'loggers' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
   |             |- note: convert 'loggers' to a 'let' constant to make 'Sendable' shared state immutable
   |             |- note: add '@MainActor' to make static property 'loggers' part of global actor 'MainActor'
   |             `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
14 | }
15 |
/Users/admin/builder/spi-builder-workspace/Sources/iOS-BLE-Library-Mock/Utilities/Publishers/ContinuationSubscriber.swift:52:16: warning: sending 'input' risks causing data races; this is an error in the Swift 6 language mode
50 | 		}
51 | 		self.state = .terminated
52 | 		continuation.resume(returning: input)
   |                |- warning: sending 'input' risks causing data races; this is an error in the Swift 6 language mode
   |                `- note: task-isolated 'input' is passed as a 'sending' parameter; Uses in callee may race with later task-isolated uses
53 |
54 | 		self.subscription?.cancel()
[53/71] Compiling iOS_BLE_Library_Mock Publishers+FailablePrefix.swift.swift
/Users/admin/builder/spi-builder-workspace/Sources/iOS-BLE-Library-Mock/Utilities/Publishers/Publishers+FailablePrefix.swift.swift:41:10: warning: Thread safety should be considered
 39 | }
 40 |
 41 | #warning("Thread safety should be considered")
    |          `- warning: Thread safety should be considered
 42 | extension Publishers.PrefixUntilOutputOrCompletion {
 43 | 	private final class Inner<Downstream: Subscriber>: Subscriber, Subscription
[54/71] Compiling iOS_BLE_Library_Mock Publishers+GuestList.swift
/Users/admin/builder/spi-builder-workspace/Sources/iOS-BLE-Library-Mock/Utilities/Publishers/Publishers+FailablePrefix.swift.swift:41:10: warning: Thread safety should be considered
 39 | }
 40 |
 41 | #warning("Thread safety should be considered")
    |          `- warning: Thread safety should be considered
 42 | extension Publishers.PrefixUntilOutputOrCompletion {
 43 | 	private final class Inner<Downstream: Subscriber>: Subscriber, Subscription
[55/71] Compiling iOS_BLE_Library_Mock Alias.swift
/Users/admin/builder/spi-builder-workspace/Sources/iOS-BLE-Library-Mock/CentralManager/CentralManager.swift:18:8: warning: associated value 'badState' of 'Sendable'-conforming enum 'Err' has non-sendable type 'CBManagerState' (aka 'CBMManagerState'); this is an error in the Swift 6 language mode
 16 | 	public enum Err: Error {
 17 | 		case wrongManager
 18 | 		case badState(CBManagerState)
    |        `- warning: associated value 'badState' of 'Sendable'-conforming enum 'Err' has non-sendable type 'CBManagerState' (aka 'CBMManagerState'); this is an error in the Swift 6 language mode
 19 | 		case unknownError
 20 |
/Users/admin/builder/spi-builder-workspace/.build/checkouts/IOS-CoreBluetooth-Mock/CoreBluetoothMock/CBMManagerTypes.swift:34:13: note: enum 'CBMManagerState' does not conform to the 'Sendable' protocol
 32 |
 33 | /// The possible states of a Core Bluetooth manager.
 34 | public enum CBMManagerState: Int {
    |             `- note: enum 'CBMManagerState' does not conform to the 'Sendable' protocol
 35 |     /// The manager’s state is unknown.
 36 |     case unknown
/Users/admin/builder/spi-builder-workspace/Sources/iOS-BLE-Library-Mock/CentralManager/CentralManager.swift:9:1: warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'CoreBluetoothMock'
  7 |
  8 | import Combine
  9 | import CoreBluetoothMock
    | `- warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'CoreBluetoothMock'
 10 | import Foundation
 11 |
/Users/admin/builder/spi-builder-workspace/Sources/iOS-BLE-Library-Mock/CentralManager/CentralManager.swift:201:11: warning: check `connect` method
199 |
200 | extension CentralManager {
201 | 	#warning("check `connect` method")
    |           `- warning: check `connect` method
202 | 	/// Returns a list of the peripherals connected to the system whose
203 | 	/// services match a given set of criteria.
/Users/admin/builder/spi-builder-workspace/Sources/iOS-BLE-Library-Mock/CentralManager/CentralManager.swift:233:11: warning: Question: Should we throw an error if the scan is already running?
231 |
232 | extension CentralManager {
233 | 	#warning("Question: Should we throw an error if the scan is already running?")
    |           `- warning: Question: Should we throw an error if the scan is already running?
234 | 	/// Initiates a scan for peripherals with the specified services.
235 | 	///
/Users/admin/builder/spi-builder-workspace/Sources/iOS-BLE-Library-Mock/CentralManager/CentralManager.swift:52:38: warning: capture of 'self' with non-sendable type 'Observer' in a '@Sendable' closure
 35 | // MARK: - Observer
 36 |
 37 | private class Observer: NSObject {
    |               `- note: class 'Observer' does not conform to the 'Sendable' protocol
 38 | 	@objc dynamic private weak var cm: CBCentralManager?
 39 | 	private weak var publisher: CurrentValueSubject<Bool, Never>?
    :
 50 | 			\.cm?.isScanning, options: [.old, .new],
 51 | 			changeHandler: { _, change in
 52 | 				change.newValue?.flatMap { [weak self] new in
    |                                      `- warning: capture of 'self' with non-sendable type 'Observer' in a '@Sendable' closure
 53 | 					self?.publisher?.send(new)
 54 | 				}
[56/71] Compiling iOS_BLE_Library_Mock CentralManager.swift
/Users/admin/builder/spi-builder-workspace/Sources/iOS-BLE-Library-Mock/CentralManager/CentralManager.swift:18:8: warning: associated value 'badState' of 'Sendable'-conforming enum 'Err' has non-sendable type 'CBManagerState' (aka 'CBMManagerState'); this is an error in the Swift 6 language mode
 16 | 	public enum Err: Error {
 17 | 		case wrongManager
 18 | 		case badState(CBManagerState)
    |        `- warning: associated value 'badState' of 'Sendable'-conforming enum 'Err' has non-sendable type 'CBManagerState' (aka 'CBMManagerState'); this is an error in the Swift 6 language mode
 19 | 		case unknownError
 20 |
/Users/admin/builder/spi-builder-workspace/.build/checkouts/IOS-CoreBluetooth-Mock/CoreBluetoothMock/CBMManagerTypes.swift:34:13: note: enum 'CBMManagerState' does not conform to the 'Sendable' protocol
 32 |
 33 | /// The possible states of a Core Bluetooth manager.
 34 | public enum CBMManagerState: Int {
    |             `- note: enum 'CBMManagerState' does not conform to the 'Sendable' protocol
 35 |     /// The manager’s state is unknown.
 36 |     case unknown
/Users/admin/builder/spi-builder-workspace/Sources/iOS-BLE-Library-Mock/CentralManager/CentralManager.swift:9:1: warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'CoreBluetoothMock'
  7 |
  8 | import Combine
  9 | import CoreBluetoothMock
    | `- warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'CoreBluetoothMock'
 10 | import Foundation
 11 |
/Users/admin/builder/spi-builder-workspace/Sources/iOS-BLE-Library-Mock/CentralManager/CentralManager.swift:201:11: warning: check `connect` method
199 |
200 | extension CentralManager {
201 | 	#warning("check `connect` method")
    |           `- warning: check `connect` method
202 | 	/// Returns a list of the peripherals connected to the system whose
203 | 	/// services match a given set of criteria.
/Users/admin/builder/spi-builder-workspace/Sources/iOS-BLE-Library-Mock/CentralManager/CentralManager.swift:233:11: warning: Question: Should we throw an error if the scan is already running?
231 |
232 | extension CentralManager {
233 | 	#warning("Question: Should we throw an error if the scan is already running?")
    |           `- warning: Question: Should we throw an error if the scan is already running?
234 | 	/// Initiates a scan for peripherals with the specified services.
235 | 	///
/Users/admin/builder/spi-builder-workspace/Sources/iOS-BLE-Library-Mock/CentralManager/CentralManager.swift:52:38: warning: capture of 'self' with non-sendable type 'Observer' in a '@Sendable' closure
 35 | // MARK: - Observer
 36 |
 37 | private class Observer: NSObject {
    |               `- note: class 'Observer' does not conform to the 'Sendable' protocol
 38 | 	@objc dynamic private weak var cm: CBCentralManager?
 39 | 	private weak var publisher: CurrentValueSubject<Bool, Never>?
    :
 50 | 			\.cm?.isScanning, options: [.old, .new],
 51 | 			changeHandler: { _, change in
 52 | 				change.newValue?.flatMap { [weak self] new in
    |                                      `- warning: capture of 'self' with non-sendable type 'Observer' in a '@Sendable' closure
 53 | 					self?.publisher?.send(new)
 54 | 				}
[57/71] Compiling iOS_BLE_Library_Mock ScanResult.swift
/Users/admin/builder/spi-builder-workspace/Sources/iOS-BLE-Library-Mock/CentralManager/CentralManager.swift:18:8: warning: associated value 'badState' of 'Sendable'-conforming enum 'Err' has non-sendable type 'CBManagerState' (aka 'CBMManagerState'); this is an error in the Swift 6 language mode
 16 | 	public enum Err: Error {
 17 | 		case wrongManager
 18 | 		case badState(CBManagerState)
    |        `- warning: associated value 'badState' of 'Sendable'-conforming enum 'Err' has non-sendable type 'CBManagerState' (aka 'CBMManagerState'); this is an error in the Swift 6 language mode
 19 | 		case unknownError
 20 |
/Users/admin/builder/spi-builder-workspace/.build/checkouts/IOS-CoreBluetooth-Mock/CoreBluetoothMock/CBMManagerTypes.swift:34:13: note: enum 'CBMManagerState' does not conform to the 'Sendable' protocol
 32 |
 33 | /// The possible states of a Core Bluetooth manager.
 34 | public enum CBMManagerState: Int {
    |             `- note: enum 'CBMManagerState' does not conform to the 'Sendable' protocol
 35 |     /// The manager’s state is unknown.
 36 |     case unknown
/Users/admin/builder/spi-builder-workspace/Sources/iOS-BLE-Library-Mock/CentralManager/CentralManager.swift:9:1: warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'CoreBluetoothMock'
  7 |
  8 | import Combine
  9 | import CoreBluetoothMock
    | `- warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'CoreBluetoothMock'
 10 | import Foundation
 11 |
/Users/admin/builder/spi-builder-workspace/Sources/iOS-BLE-Library-Mock/CentralManager/CentralManager.swift:201:11: warning: check `connect` method
199 |
200 | extension CentralManager {
201 | 	#warning("check `connect` method")
    |           `- warning: check `connect` method
202 | 	/// Returns a list of the peripherals connected to the system whose
203 | 	/// services match a given set of criteria.
/Users/admin/builder/spi-builder-workspace/Sources/iOS-BLE-Library-Mock/CentralManager/CentralManager.swift:233:11: warning: Question: Should we throw an error if the scan is already running?
231 |
232 | extension CentralManager {
233 | 	#warning("Question: Should we throw an error if the scan is already running?")
    |           `- warning: Question: Should we throw an error if the scan is already running?
234 | 	/// Initiates a scan for peripherals with the specified services.
235 | 	///
/Users/admin/builder/spi-builder-workspace/Sources/iOS-BLE-Library-Mock/CentralManager/CentralManager.swift:52:38: warning: capture of 'self' with non-sendable type 'Observer' in a '@Sendable' closure
 35 | // MARK: - Observer
 36 |
 37 | private class Observer: NSObject {
    |               `- note: class 'Observer' does not conform to the 'Sendable' protocol
 38 | 	@objc dynamic private weak var cm: CBCentralManager?
 39 | 	private weak var publisher: CurrentValueSubject<Bool, Never>?
    :
 50 | 			\.cm?.isScanning, options: [.old, .new],
 51 | 			changeHandler: { _, change in
 52 | 				change.newValue?.flatMap { [weak self] new in
    |                                      `- warning: capture of 'self' with non-sendable type 'Observer' in a '@Sendable' closure
 53 | 					self?.publisher?.send(new)
 54 | 				}
[58/71] Compiling iOS_BLE_Library_Mock Data+Ext.swift.swift
/Users/admin/builder/spi-builder-workspace/Sources/iOS-BLE-Library-Mock/Utilities/Extensions/Publishers+Async.swift:47:5: warning: capture of 'inner' with non-sendable type 'AsyncPublisher<Upstream>.Iterator.Inner' in a '@Sendable' closure; this is an error in the Swift 6 language mode
 45 | 			} onCancel: {
 46 | 				[inner] in
 47 | 				inner.cancel()
    |     `- warning: capture of 'inner' with non-sendable type 'AsyncPublisher<Upstream>.Iterator.Inner' in a '@Sendable' closure; this is an error in the Swift 6 language mode
 48 | 			}
 49 | 		}
    :
 66 |
 67 | extension AsyncPublisher.Iterator {
 68 | 	fileprivate final class Inner: Subscriber, Cancellable {
    |                          `- note: class 'Inner' does not conform to the 'Sendable' protocol
 69 | 		typealias Input = Upstream.Output
 70 | 		typealias Failure = Upstream.Failure
/Users/admin/builder/spi-builder-workspace/Sources/iOS-BLE-Library-Mock/Utilities/Extensions/Publishers+Async.swift:180:5: warning: capture of 'inner' with non-sendable type 'AsyncThrowingPublisher<Upstream>.Iterator.Inner' in a '@Sendable' closure; this is an error in the Swift 6 language mode
178 | 			} onCancel: {
179 | 				[inner] in
180 | 				inner.cancel()
    |     `- warning: capture of 'inner' with non-sendable type 'AsyncThrowingPublisher<Upstream>.Iterator.Inner' in a '@Sendable' closure; this is an error in the Swift 6 language mode
181 | 			}
182 | 		}
    :
200 | extension AsyncThrowingPublisher.Iterator {
201 |
202 | 	fileprivate final class Inner: Subscriber, Cancellable {
    |                          `- note: class 'Inner' does not conform to the 'Sendable' protocol
203 | 		typealias Input = Upstream.Output
204 | 		typealias Failure = Upstream.Failure
/Users/admin/builder/spi-builder-workspace/Sources/iOS-BLE-Library-Mock/Utilities/Extensions/Publishers+Async.swift:111:17: warning: sending value of non-Sendable type 'AsyncPublisher<Upstream>.Iterator.Inner.Input' (aka 'Upstream.Output') risks causing data races; this is an error in the Swift 6 language mode
109 | 			let continuation = pending.removeFirst()
110 | 			lock.unlock()
111 | 			continuation.resume(returning: input)
    |                 |- warning: sending value of non-Sendable type 'AsyncPublisher<Upstream>.Iterator.Inner.Input' (aka 'Upstream.Output') risks causing data races; this is an error in the Swift 6 language mode
    |                 `- note: Passing task-isolated value of non-Sendable type 'AsyncPublisher<Upstream>.Iterator.Inner.Input' (aka 'Upstream.Output') as a 'sending' parameter risks causing races inbetween task-isolated uses and uses reachable from the callee
112 | 			return .none
113 | 		}
/Users/admin/builder/spi-builder-workspace/Sources/iOS-BLE-Library-Mock/Utilities/Extensions/Publishers+Async.swift:245:17: warning: sending value of non-Sendable type 'AsyncThrowingPublisher<Upstream>.Iterator.Inner.Input' (aka 'Upstream.Output') risks causing data races; this is an error in the Swift 6 language mode
243 | 			let continuation = pending.removeFirst()
244 | 			lock.unlock()
245 | 			continuation.resume(returning: input)
    |                 |- warning: sending value of non-Sendable type 'AsyncThrowingPublisher<Upstream>.Iterator.Inner.Input' (aka 'Upstream.Output') risks causing data races; this is an error in the Swift 6 language mode
    |                 `- note: Passing task-isolated value of non-Sendable type 'AsyncThrowingPublisher<Upstream>.Iterator.Inner.Input' (aka 'Upstream.Output') as a 'sending' parameter risks causing races inbetween task-isolated uses and uses reachable from the callee
246 | 			return .none
247 | 		}
[59/71] Compiling iOS_BLE_Library_Mock Publishers+Async.swift
/Users/admin/builder/spi-builder-workspace/Sources/iOS-BLE-Library-Mock/Utilities/Extensions/Publishers+Async.swift:47:5: warning: capture of 'inner' with non-sendable type 'AsyncPublisher<Upstream>.Iterator.Inner' in a '@Sendable' closure; this is an error in the Swift 6 language mode
 45 | 			} onCancel: {
 46 | 				[inner] in
 47 | 				inner.cancel()
    |     `- warning: capture of 'inner' with non-sendable type 'AsyncPublisher<Upstream>.Iterator.Inner' in a '@Sendable' closure; this is an error in the Swift 6 language mode
 48 | 			}
 49 | 		}
    :
 66 |
 67 | extension AsyncPublisher.Iterator {
 68 | 	fileprivate final class Inner: Subscriber, Cancellable {
    |                          `- note: class 'Inner' does not conform to the 'Sendable' protocol
 69 | 		typealias Input = Upstream.Output
 70 | 		typealias Failure = Upstream.Failure
/Users/admin/builder/spi-builder-workspace/Sources/iOS-BLE-Library-Mock/Utilities/Extensions/Publishers+Async.swift:180:5: warning: capture of 'inner' with non-sendable type 'AsyncThrowingPublisher<Upstream>.Iterator.Inner' in a '@Sendable' closure; this is an error in the Swift 6 language mode
178 | 			} onCancel: {
179 | 				[inner] in
180 | 				inner.cancel()
    |     `- warning: capture of 'inner' with non-sendable type 'AsyncThrowingPublisher<Upstream>.Iterator.Inner' in a '@Sendable' closure; this is an error in the Swift 6 language mode
181 | 			}
182 | 		}
    :
200 | extension AsyncThrowingPublisher.Iterator {
201 |
202 | 	fileprivate final class Inner: Subscriber, Cancellable {
    |                          `- note: class 'Inner' does not conform to the 'Sendable' protocol
203 | 		typealias Input = Upstream.Output
204 | 		typealias Failure = Upstream.Failure
/Users/admin/builder/spi-builder-workspace/Sources/iOS-BLE-Library-Mock/Utilities/Extensions/Publishers+Async.swift:111:17: warning: sending value of non-Sendable type 'AsyncPublisher<Upstream>.Iterator.Inner.Input' (aka 'Upstream.Output') risks causing data races; this is an error in the Swift 6 language mode
109 | 			let continuation = pending.removeFirst()
110 | 			lock.unlock()
111 | 			continuation.resume(returning: input)
    |                 |- warning: sending value of non-Sendable type 'AsyncPublisher<Upstream>.Iterator.Inner.Input' (aka 'Upstream.Output') risks causing data races; this is an error in the Swift 6 language mode
    |                 `- note: Passing task-isolated value of non-Sendable type 'AsyncPublisher<Upstream>.Iterator.Inner.Input' (aka 'Upstream.Output') as a 'sending' parameter risks causing races inbetween task-isolated uses and uses reachable from the callee
112 | 			return .none
113 | 		}
/Users/admin/builder/spi-builder-workspace/Sources/iOS-BLE-Library-Mock/Utilities/Extensions/Publishers+Async.swift:245:17: warning: sending value of non-Sendable type 'AsyncThrowingPublisher<Upstream>.Iterator.Inner.Input' (aka 'Upstream.Output') risks causing data races; this is an error in the Swift 6 language mode
243 | 			let continuation = pending.removeFirst()
244 | 			lock.unlock()
245 | 			continuation.resume(returning: input)
    |                 |- warning: sending value of non-Sendable type 'AsyncThrowingPublisher<Upstream>.Iterator.Inner.Input' (aka 'Upstream.Output') risks causing data races; this is an error in the Swift 6 language mode
    |                 `- note: Passing task-isolated value of non-Sendable type 'AsyncThrowingPublisher<Upstream>.Iterator.Inner.Input' (aka 'Upstream.Output') as a 'sending' parameter risks causing races inbetween task-isolated uses and uses reachable from the callee
246 | 			return .none
247 | 		}
[60/71] Compiling iOS_BLE_Library_Mock Publishers+Peripheral.swift
[61/71] Compiling iOS_BLE_Library_Mock Queue.swift
[62/71] Compiling iOS_BLE_Library_Mock PeripheralError.swift
[63/71] Compiling iOS_BLE_Library_Mock ReactivePeripheralDelegate.swift
[64/71] Compiling iOS_BLE_Library_Mock AdvertisementData.swift
[65/71] Compiling iOS_BLE_Library_Mock RSSI.swift
/Users/admin/builder/spi-builder-workspace/Sources/iOS-BLE-Library-Mock/Utilities/RSSI.swift:59:20: warning: static property 'outOfRange' is not concurrency-safe because non-'Sendable' type 'RSSI' may have shared mutable state; this is an error in the Swift 6 language mode
18 | }
19 |
20 | public struct RSSI: ExpressibleByIntegerLiteral, Equatable, Hashable {
   |               `- note: consider making struct 'RSSI' conform to the 'Sendable' protocol
21 |
22 | 	public enum Signal {
   :
57 | extension RSSI {
58 |
59 | 	public static let outOfRange = RSSI(integerLiteral: Const.outOfRange)
   |                    |- warning: static property 'outOfRange' is not concurrency-safe because non-'Sendable' type 'RSSI' may have shared mutable state; this is an error in the Swift 6 language mode
   |                    |- note: add '@MainActor' to make static property 'outOfRange' part of global actor 'MainActor'
   |                    `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
60 | 	public static let practicalWorst = RSSI(integerLiteral: Const.practicalWorst)
61 | 	public static let bad = RSSI(integerLiteral: Const.bad)
/Users/admin/builder/spi-builder-workspace/Sources/iOS-BLE-Library-Mock/Utilities/RSSI.swift:60:20: warning: static property 'practicalWorst' is not concurrency-safe because non-'Sendable' type 'RSSI' may have shared mutable state; this is an error in the Swift 6 language mode
18 | }
19 |
20 | public struct RSSI: ExpressibleByIntegerLiteral, Equatable, Hashable {
   |               `- note: consider making struct 'RSSI' conform to the 'Sendable' protocol
21 |
22 | 	public enum Signal {
   :
58 |
59 | 	public static let outOfRange = RSSI(integerLiteral: Const.outOfRange)
60 | 	public static let practicalWorst = RSSI(integerLiteral: Const.practicalWorst)
   |                    |- warning: static property 'practicalWorst' is not concurrency-safe because non-'Sendable' type 'RSSI' may have shared mutable state; this is an error in the Swift 6 language mode
   |                    |- note: add '@MainActor' to make static property 'practicalWorst' part of global actor 'MainActor'
   |                    `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
61 | 	public static let bad = RSSI(integerLiteral: Const.bad)
62 | 	public static let ok = RSSI(integerLiteral: Const.ok)
/Users/admin/builder/spi-builder-workspace/Sources/iOS-BLE-Library-Mock/Utilities/RSSI.swift:61:20: warning: static property 'bad' is not concurrency-safe because non-'Sendable' type 'RSSI' may have shared mutable state; this is an error in the Swift 6 language mode
18 | }
19 |
20 | public struct RSSI: ExpressibleByIntegerLiteral, Equatable, Hashable {
   |               `- note: consider making struct 'RSSI' conform to the 'Sendable' protocol
21 |
22 | 	public enum Signal {
   :
59 | 	public static let outOfRange = RSSI(integerLiteral: Const.outOfRange)
60 | 	public static let practicalWorst = RSSI(integerLiteral: Const.practicalWorst)
61 | 	public static let bad = RSSI(integerLiteral: Const.bad)
   |                    |- warning: static property 'bad' is not concurrency-safe because non-'Sendable' type 'RSSI' may have shared mutable state; this is an error in the Swift 6 language mode
   |                    |- note: add '@MainActor' to make static property 'bad' part of global actor 'MainActor'
   |                    `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
62 | 	public static let ok = RSSI(integerLiteral: Const.ok)
63 | 	public static let good = RSSI(integerLiteral: Const.good)
/Users/admin/builder/spi-builder-workspace/Sources/iOS-BLE-Library-Mock/Utilities/RSSI.swift:62:20: warning: static property 'ok' is not concurrency-safe because non-'Sendable' type 'RSSI' may have shared mutable state; this is an error in the Swift 6 language mode
18 | }
19 |
20 | public struct RSSI: ExpressibleByIntegerLiteral, Equatable, Hashable {
   |               `- note: consider making struct 'RSSI' conform to the 'Sendable' protocol
21 |
22 | 	public enum Signal {
   :
60 | 	public static let practicalWorst = RSSI(integerLiteral: Const.practicalWorst)
61 | 	public static let bad = RSSI(integerLiteral: Const.bad)
62 | 	public static let ok = RSSI(integerLiteral: Const.ok)
   |                    |- warning: static property 'ok' is not concurrency-safe because non-'Sendable' type 'RSSI' may have shared mutable state; this is an error in the Swift 6 language mode
   |                    |- note: add '@MainActor' to make static property 'ok' part of global actor 'MainActor'
   |                    `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
63 | 	public static let good = RSSI(integerLiteral: Const.good)
64 | }
/Users/admin/builder/spi-builder-workspace/Sources/iOS-BLE-Library-Mock/Utilities/RSSI.swift:63:20: warning: static property 'good' is not concurrency-safe because non-'Sendable' type 'RSSI' may have shared mutable state; this is an error in the Swift 6 language mode
18 | }
19 |
20 | public struct RSSI: ExpressibleByIntegerLiteral, Equatable, Hashable {
   |               `- note: consider making struct 'RSSI' conform to the 'Sendable' protocol
21 |
22 | 	public enum Signal {
   :
61 | 	public static let bad = RSSI(integerLiteral: Const.bad)
62 | 	public static let ok = RSSI(integerLiteral: Const.ok)
63 | 	public static let good = RSSI(integerLiteral: Const.good)
   |                    |- warning: static property 'good' is not concurrency-safe because non-'Sendable' type 'RSSI' may have shared mutable state; this is an error in the Swift 6 language mode
   |                    |- note: add '@MainActor' to make static property 'good' part of global actor 'MainActor'
   |                    `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
64 | }
65 |
[66/71] Compiling iOS_BLE_Library_Mock UnimplementedError.swift
/Users/admin/builder/spi-builder-workspace/Sources/iOS-BLE-Library-Mock/Utilities/RSSI.swift:59:20: warning: static property 'outOfRange' is not concurrency-safe because non-'Sendable' type 'RSSI' may have shared mutable state; this is an error in the Swift 6 language mode
18 | }
19 |
20 | public struct RSSI: ExpressibleByIntegerLiteral, Equatable, Hashable {
   |               `- note: consider making struct 'RSSI' conform to the 'Sendable' protocol
21 |
22 | 	public enum Signal {
   :
57 | extension RSSI {
58 |
59 | 	public static let outOfRange = RSSI(integerLiteral: Const.outOfRange)
   |                    |- warning: static property 'outOfRange' is not concurrency-safe because non-'Sendable' type 'RSSI' may have shared mutable state; this is an error in the Swift 6 language mode
   |                    |- note: add '@MainActor' to make static property 'outOfRange' part of global actor 'MainActor'
   |                    `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
60 | 	public static let practicalWorst = RSSI(integerLiteral: Const.practicalWorst)
61 | 	public static let bad = RSSI(integerLiteral: Const.bad)
/Users/admin/builder/spi-builder-workspace/Sources/iOS-BLE-Library-Mock/Utilities/RSSI.swift:60:20: warning: static property 'practicalWorst' is not concurrency-safe because non-'Sendable' type 'RSSI' may have shared mutable state; this is an error in the Swift 6 language mode
18 | }
19 |
20 | public struct RSSI: ExpressibleByIntegerLiteral, Equatable, Hashable {
   |               `- note: consider making struct 'RSSI' conform to the 'Sendable' protocol
21 |
22 | 	public enum Signal {
   :
58 |
59 | 	public static let outOfRange = RSSI(integerLiteral: Const.outOfRange)
60 | 	public static let practicalWorst = RSSI(integerLiteral: Const.practicalWorst)
   |                    |- warning: static property 'practicalWorst' is not concurrency-safe because non-'Sendable' type 'RSSI' may have shared mutable state; this is an error in the Swift 6 language mode
   |                    |- note: add '@MainActor' to make static property 'practicalWorst' part of global actor 'MainActor'
   |                    `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
61 | 	public static let bad = RSSI(integerLiteral: Const.bad)
62 | 	public static let ok = RSSI(integerLiteral: Const.ok)
/Users/admin/builder/spi-builder-workspace/Sources/iOS-BLE-Library-Mock/Utilities/RSSI.swift:61:20: warning: static property 'bad' is not concurrency-safe because non-'Sendable' type 'RSSI' may have shared mutable state; this is an error in the Swift 6 language mode
18 | }
19 |
20 | public struct RSSI: ExpressibleByIntegerLiteral, Equatable, Hashable {
   |               `- note: consider making struct 'RSSI' conform to the 'Sendable' protocol
21 |
22 | 	public enum Signal {
   :
59 | 	public static let outOfRange = RSSI(integerLiteral: Const.outOfRange)
60 | 	public static let practicalWorst = RSSI(integerLiteral: Const.practicalWorst)
61 | 	public static let bad = RSSI(integerLiteral: Const.bad)
   |                    |- warning: static property 'bad' is not concurrency-safe because non-'Sendable' type 'RSSI' may have shared mutable state; this is an error in the Swift 6 language mode
   |                    |- note: add '@MainActor' to make static property 'bad' part of global actor 'MainActor'
   |                    `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
62 | 	public static let ok = RSSI(integerLiteral: Const.ok)
63 | 	public static let good = RSSI(integerLiteral: Const.good)
/Users/admin/builder/spi-builder-workspace/Sources/iOS-BLE-Library-Mock/Utilities/RSSI.swift:62:20: warning: static property 'ok' is not concurrency-safe because non-'Sendable' type 'RSSI' may have shared mutable state; this is an error in the Swift 6 language mode
18 | }
19 |
20 | public struct RSSI: ExpressibleByIntegerLiteral, Equatable, Hashable {
   |               `- note: consider making struct 'RSSI' conform to the 'Sendable' protocol
21 |
22 | 	public enum Signal {
   :
60 | 	public static let practicalWorst = RSSI(integerLiteral: Const.practicalWorst)
61 | 	public static let bad = RSSI(integerLiteral: Const.bad)
62 | 	public static let ok = RSSI(integerLiteral: Const.ok)
   |                    |- warning: static property 'ok' is not concurrency-safe because non-'Sendable' type 'RSSI' may have shared mutable state; this is an error in the Swift 6 language mode
   |                    |- note: add '@MainActor' to make static property 'ok' part of global actor 'MainActor'
   |                    `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
63 | 	public static let good = RSSI(integerLiteral: Const.good)
64 | }
/Users/admin/builder/spi-builder-workspace/Sources/iOS-BLE-Library-Mock/Utilities/RSSI.swift:63:20: warning: static property 'good' is not concurrency-safe because non-'Sendable' type 'RSSI' may have shared mutable state; this is an error in the Swift 6 language mode
18 | }
19 |
20 | public struct RSSI: ExpressibleByIntegerLiteral, Equatable, Hashable {
   |               `- note: consider making struct 'RSSI' conform to the 'Sendable' protocol
21 |
22 | 	public enum Signal {
   :
61 | 	public static let bad = RSSI(integerLiteral: Const.bad)
62 | 	public static let ok = RSSI(integerLiteral: Const.ok)
63 | 	public static let good = RSSI(integerLiteral: Const.good)
   |                    |- warning: static property 'good' is not concurrency-safe because non-'Sendable' type 'RSSI' may have shared mutable state; this is an error in the Swift 6 language mode
   |                    |- note: add '@MainActor' to make static property 'good' part of global actor 'MainActor'
   |                    `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
64 | }
65 |
[67/71] Compiling iOS_BLE_Library_Mock Publishers+Bluetooth.swift
[68/71] Compiling iOS_BLE_Library_Mock Publishers+Connectable.swift
[69/71] Compiling iOS_BLE_Library_Mock ReactiveCentralManagerDelegate.swift
/Users/admin/builder/spi-builder-workspace/Sources/iOS-BLE-Library-Mock/Peripheral/Peripheral.swift:39:14: warning: capture of 'self' with non-sendable type 'NativeObserver?' in a '@Sendable' closure
 16 | }
 17 |
 18 | private class NativeObserver: Observer {
    |               `- note: class 'NativeObserver' does not conform to the 'Sendable' protocol
 19 | 	@objc private var peripheral: CoreBluetooth.CBPeripheral
 20 |
    :
 37 | 			[weak self] _, change in
 38 | 			// TODO: Check threads
 39 | 			guard let self else { return }
    |              `- warning: capture of 'self' with non-sendable type 'NativeObserver?' in a '@Sendable' closure
 40 | 			self.publisher.send(self.peripheral.state)
 41 | 		}
/Users/admin/builder/spi-builder-workspace/Sources/iOS-BLE-Library-Mock/Peripheral/Peripheral.swift:63:13: warning: queue can be not only main
 61 | 		observation = peripheral.observe(\.state, options: [.new]) {
 62 | 			[weak self] _, change in
 63 | 			#warning("queue can be not only main")
    |             `- warning: queue can be not only main
 64 | 			DispatchQueue.main.async {
 65 | 				guard let self else { return }
/Users/admin/builder/spi-builder-workspace/Sources/iOS-BLE-Library-Mock/Peripheral/Peripheral.swift:65:15: warning: capture of 'self' with non-sendable type 'MockObserver?' in a '@Sendable' closure
 43 | }
 44 |
 45 | private class MockObserver: Observer {
    |               `- note: class 'MockObserver' does not conform to the 'Sendable' protocol
 46 | 	@objc private var peripheral: CBMPeripheralMock
 47 |
    :
 63 | 			#warning("queue can be not only main")
 64 | 			DispatchQueue.main.async {
 65 | 				guard let self else { return }
    |               `- warning: capture of 'self' with non-sendable type 'MockObserver?' in a '@Sendable' closure
 66 | 				self.publisher.send(self.peripheral.state)
 67 | 			}
[70/71] Compiling iOS_BLE_Library_Mock Peripheral+Writer.swift
/Users/admin/builder/spi-builder-workspace/Sources/iOS-BLE-Library-Mock/Peripheral/Peripheral.swift:39:14: warning: capture of 'self' with non-sendable type 'NativeObserver?' in a '@Sendable' closure
 16 | }
 17 |
 18 | private class NativeObserver: Observer {
    |               `- note: class 'NativeObserver' does not conform to the 'Sendable' protocol
 19 | 	@objc private var peripheral: CoreBluetooth.CBPeripheral
 20 |
    :
 37 | 			[weak self] _, change in
 38 | 			// TODO: Check threads
 39 | 			guard let self else { return }
    |              `- warning: capture of 'self' with non-sendable type 'NativeObserver?' in a '@Sendable' closure
 40 | 			self.publisher.send(self.peripheral.state)
 41 | 		}
/Users/admin/builder/spi-builder-workspace/Sources/iOS-BLE-Library-Mock/Peripheral/Peripheral.swift:63:13: warning: queue can be not only main
 61 | 		observation = peripheral.observe(\.state, options: [.new]) {
 62 | 			[weak self] _, change in
 63 | 			#warning("queue can be not only main")
    |             `- warning: queue can be not only main
 64 | 			DispatchQueue.main.async {
 65 | 				guard let self else { return }
/Users/admin/builder/spi-builder-workspace/Sources/iOS-BLE-Library-Mock/Peripheral/Peripheral.swift:65:15: warning: capture of 'self' with non-sendable type 'MockObserver?' in a '@Sendable' closure
 43 | }
 44 |
 45 | private class MockObserver: Observer {
    |               `- note: class 'MockObserver' does not conform to the 'Sendable' protocol
 46 | 	@objc private var peripheral: CBMPeripheralMock
 47 |
    :
 63 | 			#warning("queue can be not only main")
 64 | 			DispatchQueue.main.async {
 65 | 				guard let self else { return }
    |               `- warning: capture of 'self' with non-sendable type 'MockObserver?' in a '@Sendable' closure
 66 | 				self.publisher.send(self.peripheral.state)
 67 | 			}
[71/71] Compiling iOS_BLE_Library_Mock Peripheral.swift
/Users/admin/builder/spi-builder-workspace/Sources/iOS-BLE-Library-Mock/Peripheral/Peripheral.swift:39:14: warning: capture of 'self' with non-sendable type 'NativeObserver?' in a '@Sendable' closure
 16 | }
 17 |
 18 | private class NativeObserver: Observer {
    |               `- note: class 'NativeObserver' does not conform to the 'Sendable' protocol
 19 | 	@objc private var peripheral: CoreBluetooth.CBPeripheral
 20 |
    :
 37 | 			[weak self] _, change in
 38 | 			// TODO: Check threads
 39 | 			guard let self else { return }
    |              `- warning: capture of 'self' with non-sendable type 'NativeObserver?' in a '@Sendable' closure
 40 | 			self.publisher.send(self.peripheral.state)
 41 | 		}
/Users/admin/builder/spi-builder-workspace/Sources/iOS-BLE-Library-Mock/Peripheral/Peripheral.swift:63:13: warning: queue can be not only main
 61 | 		observation = peripheral.observe(\.state, options: [.new]) {
 62 | 			[weak self] _, change in
 63 | 			#warning("queue can be not only main")
    |             `- warning: queue can be not only main
 64 | 			DispatchQueue.main.async {
 65 | 				guard let self else { return }
/Users/admin/builder/spi-builder-workspace/Sources/iOS-BLE-Library-Mock/Peripheral/Peripheral.swift:65:15: warning: capture of 'self' with non-sendable type 'MockObserver?' in a '@Sendable' closure
 43 | }
 44 |
 45 | private class MockObserver: Observer {
    |               `- note: class 'MockObserver' does not conform to the 'Sendable' protocol
 46 | 	@objc private var peripheral: CBMPeripheralMock
 47 |
    :
 63 | 			#warning("queue can be not only main")
 64 | 			DispatchQueue.main.async {
 65 | 				guard let self else { return }
    |               `- warning: capture of 'self' with non-sendable type 'MockObserver?' in a '@Sendable' closure
 66 | 				self.publisher.send(self.peripheral.state)
 67 | 			}
Build complete! (22.50s)
Fetching https://github.com/NordicSemiconductor/IOS-CoreBluetooth-Mock.git
Fetching https://github.com/apple/swift-docc-plugin
[1/2171] Fetching swift-docc-plugin
[110/9339] Fetching swift-docc-plugin, ios-corebluetooth-mock
Fetched https://github.com/apple/swift-docc-plugin from cache (1.38s)
Fetched https://github.com/NordicSemiconductor/IOS-CoreBluetooth-Mock.git from cache (1.38s)
Computing version for https://github.com/NordicSemiconductor/IOS-CoreBluetooth-Mock.git
Computed https://github.com/NordicSemiconductor/IOS-CoreBluetooth-Mock.git at 1.0.4 (1.89s)
Computing version for https://github.com/apple/swift-docc-plugin
Computed https://github.com/apple/swift-docc-plugin at 1.4.6 (0.60s)
Fetching https://github.com/swiftlang/swift-docc-symbolkit from cache
Fetched https://github.com/swiftlang/swift-docc-symbolkit from cache (0.83s)
Computing version for https://github.com/swiftlang/swift-docc-symbolkit
Computed https://github.com/swiftlang/swift-docc-symbolkit at 1.0.0 (1.54s)
Creating working copy for https://github.com/apple/swift-docc-plugin
Working copy of https://github.com/apple/swift-docc-plugin resolved at 1.4.6
Creating working copy for https://github.com/swiftlang/swift-docc-symbolkit
Working copy of https://github.com/swiftlang/swift-docc-symbolkit resolved at 1.0.0
Creating working copy for https://github.com/NordicSemiconductor/IOS-CoreBluetooth-Mock.git
Working copy of https://github.com/NordicSemiconductor/IOS-CoreBluetooth-Mock.git resolved at 1.0.4
Build complete.
{
  "dependencies" : [
    {
      "identity" : "ios-corebluetooth-mock",
      "requirement" : {
        "range" : [
          {
            "lower_bound" : "1.0.0",
            "upper_bound" : "2.0.0"
          }
        ]
      },
      "type" : "sourceControl",
      "url" : "https://github.com/NordicSemiconductor/IOS-CoreBluetooth-Mock.git"
    },
    {
      "identity" : "swift-docc-plugin",
      "requirement" : {
        "range" : [
          {
            "lower_bound" : "1.0.0",
            "upper_bound" : "2.0.0"
          }
        ]
      },
      "type" : "sourceControl",
      "url" : "https://github.com/apple/swift-docc-plugin"
    }
  ],
  "manifest_display_name" : "iOS-BLE-Library",
  "name" : "iOS-BLE-Library",
  "path" : "/Users/admin/builder/spi-builder-workspace",
  "platforms" : [
    {
      "name" : "ios",
      "version" : "13.0"
    },
    {
      "name" : "macos",
      "version" : "10.15"
    },
    {
      "name" : "watchos",
      "version" : "6.0"
    }
  ],
  "products" : [
    {
      "name" : "iOS-BLE-Library",
      "targets" : [
        "iOS-BLE-Library"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    },
    {
      "name" : "iOS-BLE-Library-Mock",
      "targets" : [
        "iOS-BLE-Library-Mock"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    }
  ],
  "targets" : [
    {
      "c99name" : "iOS_BLE_Library_Mock",
      "module_type" : "SwiftTarget",
      "name" : "iOS-BLE-Library-Mock",
      "path" : "Sources/iOS-BLE-Library-Mock",
      "product_dependencies" : [
        "CoreBluetoothMock"
      ],
      "product_memberships" : [
        "iOS-BLE-Library-Mock"
      ],
      "sources" : [
        "Alias.swift",
        "CentralManager/CentralManager.swift",
        "CentralManager/Model/ScanResult.swift",
        "CentralManager/ReactiveCentralManagerDelegate.swift",
        "Peripheral/Peripheral+Writer.swift",
        "Peripheral/Peripheral.swift",
        "Peripheral/PeripheralError.swift",
        "Peripheral/ReactivePeripheralDelegate.swift",
        "Utilities/AdvertisementData.swift",
        "Utilities/AsyncCharacteristicData.swift",
        "Utilities/CBManagerState.swift",
        "Utilities/Extensions/CBManagerState+Ext.swift",
        "Utilities/Extensions/Data+Ext.swift.swift",
        "Utilities/Extensions/Publishers+Async.swift",
        "Utilities/Logger.swift",
        "Utilities/Publishers/ContinuationSubscriber.swift",
        "Utilities/Publishers/Publishers+Bluetooth.swift",
        "Utilities/Publishers/Publishers+Connectable.swift",
        "Utilities/Publishers/Publishers+FailablePrefix.swift.swift",
        "Utilities/Publishers/Publishers+GuestList.swift",
        "Utilities/Publishers/Publishers+Peripheral.swift",
        "Utilities/Queue.swift",
        "Utilities/RSSI.swift",
        "Utilities/UnimplementedError.swift"
      ],
      "target_dependencies" : [
        "iOS-BLE-Library"
      ],
      "type" : "library"
    },
    {
      "c99name" : "iOS_BLE_Library",
      "module_type" : "SwiftTarget",
      "name" : "iOS-BLE-Library",
      "path" : "Sources/iOS-BLE-Library",
      "product_memberships" : [
        "iOS-BLE-Library",
        "iOS-BLE-Library-Mock"
      ],
      "sources" : [
        "CentralManager/CentralManager.swift",
        "CentralManager/Model/ScanResult.swift",
        "CentralManager/ReactiveCentralManagerDelegate.swift",
        "Peripheral/Peripheral+Writer.swift",
        "Peripheral/Peripheral.swift",
        "Peripheral/PeripheralError.swift",
        "Peripheral/ReactivePeripheralDelegate.swift",
        "Utilities/AdvertisementData.swift",
        "Utilities/AsyncCharacteristicData.swift",
        "Utilities/CBManagerState.swift",
        "Utilities/Extensions/CBManagerState+Ext.swift",
        "Utilities/Extensions/Data+Ext.swift.swift",
        "Utilities/Extensions/Publishers+Async.swift",
        "Utilities/Logger.swift",
        "Utilities/Publishers/ContinuationSubscriber.swift",
        "Utilities/Publishers/Publishers+Bluetooth.swift",
        "Utilities/Publishers/Publishers+Connectable.swift",
        "Utilities/Publishers/Publishers+FailablePrefix.swift.swift",
        "Utilities/Publishers/Publishers+GuestList.swift",
        "Utilities/Queue.swift",
        "Utilities/RSSI.swift",
        "Utilities/UnimplementedError.swift"
      ],
      "type" : "library"
    }
  ],
  "tools_version" : "5.6"
}
Done.