Build Information
Failed to build AsyncBLE, reference 0.1.1 (fb4eee), with Swift 6.3 for macOS (SPM) on 9 Sep 2026 09:16:53 UTC.
Build Command
env DEVELOPER_DIR=/Applications/Xcode-26.5.0.app xcrun swift build --arch arm64Build Log
| `- note: add '@available' attribute to enclosing initializer
18 | self.continuation = continuation
19 | }
/Users/admin/builder/spi-builder-workspace/Sources/AsyncBLE/Internal/Connection/ConnectAttempt.swift:48:23: error: 'CheckedContinuation' is only available in macOS 10.15 or newer
28 |
29 | /// One caller waiting for a connection to come up.
30 | final class ConnectAttemptHandle: @unchecked Sendable {
| `- note: add '@available' attribute to enclosing class
31 | private var once: ResumeOnce?
32 | private var core: ConnectionCore?
:
44 | /// gets its deadline from the state machine instead, so the two never both fire.
45 | /// - scheduler: Where the deadline is armed.
46 | func begin(
| `- note: add '@available' attribute to enclosing instance method
47 | core: ConnectionCore,
48 | continuation: CheckedContinuation<Void, Error>,
| `- error: 'CheckedContinuation' is only available in macOS 10.15 or newer
49 | timeout: Duration?,
50 | scheduler: Scheduler
/Users/admin/builder/spi-builder-workspace/Sources/AsyncBLE/Internal/Connection/ConnectAttempt.swift:49:18: error: 'Duration' is only available in macOS 13.0 or newer
28 |
29 | /// One caller waiting for a connection to come up.
30 | final class ConnectAttemptHandle: @unchecked Sendable {
| `- note: add '@available' attribute to enclosing class
31 | private var once: ResumeOnce?
32 | private var core: ConnectionCore?
:
44 | /// gets its deadline from the state machine instead, so the two never both fire.
45 | /// - scheduler: Where the deadline is armed.
46 | func begin(
| `- note: add '@available' attribute to enclosing instance method
47 | core: ConnectionCore,
48 | continuation: CheckedContinuation<Void, Error>,
49 | timeout: Duration?,
| `- error: 'Duration' is only available in macOS 13.0 or newer
50 | scheduler: Scheduler
51 | ) {
/Users/admin/builder/spi-builder-workspace/Sources/AsyncBLE/Internal/Connection/ConnectAttempt.swift:25:22: error: 'resume(with:)' is only available in macOS 10.15 or newer
12 |
13 | /// A continuation that can be resumed from several places and will only resume once.
14 | final class ResumeOnce: @unchecked Sendable {
| `- note: add '@available' attribute to enclosing class
15 | private var continuation: CheckedContinuation<Void, Error>?
16 |
:
20 |
21 | /// Resumes, unless something already did.
22 | func resume(_ result: Result<Void, Error>) {
| `- note: add '@available' attribute to enclosing instance method
23 | guard let continuation else { return }
24 | self.continuation = nil
25 | continuation.resume(with: result)
| |- error: 'resume(with:)' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
26 | }
27 | }
/Users/admin/builder/spi-builder-workspace/Sources/AsyncBLE/Internal/Connection/ConnectAttempt.swift:58:34: error: 'CancellationError' is only available in macOS 10.15 or newer
28 |
29 | /// One caller waiting for a connection to come up.
30 | final class ConnectAttemptHandle: @unchecked Sendable {
| `- note: add '@available' attribute to enclosing class
31 | private var once: ResumeOnce?
32 | private var core: ConnectionCore?
:
44 | /// gets its deadline from the state machine instead, so the two never both fire.
45 | /// - scheduler: Where the deadline is armed.
46 | func begin(
| `- note: add '@available' attribute to enclosing instance method
47 | core: ConnectionCore,
48 | continuation: CheckedContinuation<Void, Error>,
:
56 | guard !cancelledBeforeStart else {
57 | // The caller's task was cancelled before this even got to run.
58 | once.resume(.failure(CancellationError()))
| |- error: 'CancellationError' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
59 | return
60 | }
/Users/admin/builder/spi-builder-workspace/Sources/AsyncBLE/Internal/Connection/ConnectAttempt.swift:80:31: error: 'CancellationError' is only available in macOS 10.15 or newer
28 |
29 | /// One caller waiting for a connection to come up.
30 | final class ConnectAttemptHandle: @unchecked Sendable {
| `- note: add '@available' attribute to enclosing class
31 | private var once: ResumeOnce?
32 | private var core: ConnectionCore?
:
75 | /// The caller went away. Detach it, and let the connection decide whether the attempt has
76 | /// anyone left to serve.
77 | func cancel() {
| `- note: add '@available' attribute to enclosing instance method
78 | cancelledBeforeStart = true
79 | detach()
80 | once?.resume(.failure(CancellationError()))
| |- error: 'CancellationError' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
81 | }
82 |
/Users/admin/builder/spi-builder-workspace/Sources/AsyncBLE/Internal/Connection/Connection+Engine.swift:20:19: error: 'withCheckedThrowingContinuation(isolation:function:_:)' is only available in macOS 10.15 or newer
10 | import Foundation
11 |
12 | extension Connection {
| `- note: add '@available' attribute to enclosing extension
13 | /// Suspends until the engine hands back a result.
14 | ///
15 | /// - Parameter register: Parks a callback with the engine. Runs synchronously, on the
16 | /// library queue, before this function suspends.
17 | func suspend<T: Sendable>(
| `- note: add '@available' attribute to enclosing instance method
18 | _ register: (@escaping @Sendable (Result<T, Error>) -> Void) -> Void
19 | ) async throws -> T {
20 | try await withCheckedThrowingContinuation { continuation in
| |- error: 'withCheckedThrowingContinuation(isolation:function:_:)' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
21 | register { continuation.resume(with: $0) }
22 | }
/Users/admin/builder/spi-builder-workspace/Sources/AsyncBLE/Internal/Connection/Connection+Engine.swift:21:37: error: 'resume(with:)' is only available in macOS 10.15 or newer
10 | import Foundation
11 |
12 | extension Connection {
| `- note: add '@available' attribute to enclosing extension
13 | /// Suspends until the engine hands back a result.
14 | ///
15 | /// - Parameter register: Parks a callback with the engine. Runs synchronously, on the
16 | /// library queue, before this function suspends.
17 | func suspend<T: Sendable>(
| `- note: add '@available' attribute to enclosing instance method
18 | _ register: (@escaping @Sendable (Result<T, Error>) -> Void) -> Void
19 | ) async throws -> T {
20 | try await withCheckedThrowingContinuation { continuation in
21 | register { continuation.resume(with: $0) }
| |- error: 'resume(with:)' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
22 | }
23 | }
/Users/admin/builder/spi-builder-workspace/Sources/AsyncBLE/Internal/Connection/Connection+Engine.swift:20:52: error: 'isolation()' is only available in macOS 10.15 or newer
`- /Users/admin/builder/spi-builder-workspace/Sources/AsyncBLE/Internal/Connection/Connection+Engine.swift:20:51: note: expanded code originates here
10 | import Foundation
11 |
12 | extension Connection {
| `- note: add '@available' attribute to enclosing extension
13 | /// Suspends until the engine hands back a result.
14 | ///
15 | /// - Parameter register: Parks a callback with the engine. Runs synchronously, on the
16 | /// library queue, before this function suspends.
17 | func suspend<T: Sendable>(
| `- note: add '@available' attribute to enclosing instance method
18 | _ register: (@escaping @Sendable (Result<T, Error>) -> Void) -> Void
19 | ) async throws -> T {
20 | try await withCheckedThrowingContinuation { continuation in
+--- /Users/admin/builder/spi-builder-workspace/Sources/AsyncBLE/Internal/Connection/Connection+Engine.swift
|18 |
|19 |
|20 | #isolation
| | `- error: 'isolation()' is only available in macOS 10.15 or newer
+------------------------------------------------------------------------------------------------------------
21 | register { continuation.resume(with: $0) }
22 | }
/Users/admin/builder/spi-builder-workspace/Sources/AsyncBLE/Internal/Connection/Connection+Engine.swift:31:19: error: 'withTaskCancellationHandler(operation:onCancel:isolation:)' is only available in macOS 10.15 or newer
10 | import Foundation
11 |
12 | extension Connection {
| `- note: add '@available' attribute to enclosing extension
13 | /// Suspends until the engine hands back a result.
14 | ///
:
28 | /// move on. A cancellation that arrives once the operation is already running is ignored:
29 | /// CoreBluetooth has no way to withdraw a read or a write that is on the wire.
30 | func waitForTurn(_ ticket: IOQueue.Ticket) async throws {
| `- note: add '@available' attribute to enclosing instance method
31 | try await withTaskCancellationHandler {
| |- error: 'withTaskCancellationHandler(operation:onCancel:isolation:)' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
32 | try await suspend { resume in
33 | core.attachTurn({ resume($0) }, to: ticket)
/Users/admin/builder/spi-builder-workspace/Sources/AsyncBLE/Internal/Connection/Connection+Engine.swift:31:48: error: 'isolation()' is only available in macOS 10.15 or newer
`- /Users/admin/builder/spi-builder-workspace/Sources/AsyncBLE/Internal/Connection/Connection+Engine.swift:31:47: note: expanded code originates here
10 | import Foundation
11 |
12 | extension Connection {
| `- note: add '@available' attribute to enclosing extension
13 | /// Suspends until the engine hands back a result.
14 | ///
:
28 | /// move on. A cancellation that arrives once the operation is already running is ignored:
29 | /// CoreBluetooth has no way to withdraw a read or a write that is on the wire.
30 | func waitForTurn(_ ticket: IOQueue.Ticket) async throws {
| `- note: add '@available' attribute to enclosing instance method
31 | try await withTaskCancellationHandler {
+--- /Users/admin/builder/spi-builder-workspace/Sources/AsyncBLE/Internal/Connection/Connection+Engine.swift
|29 |
|30 |
|31 | #isolation
| | `- error: 'isolation()' is only available in macOS 10.15 or newer
+------------------------------------------------------------------------------------------------------------
32 | try await suspend { resume in
33 | core.attachTurn({ resume($0) }, to: ticket)
[21/43] Compiling AsyncBLE Central+Engine.swift
/Users/admin/builder/spi-builder-workspace/Sources/AsyncBLE/Internal/Bridge/SubscriptionRegistry.swift:23:39: error: 'AsyncThrowingStream' is only available in macOS 10.15 or newer
19 | final class SubscriptionRegistry: @unchecked Sendable {
20 | /// One caller's `notifications(for:)` stream.
21 | final class Subscription: @unchecked Sendable {
| `- note: add '@available' attribute to enclosing class
22 | let uuid: CBUUID
23 | fileprivate let continuation: AsyncThrowingStream<Data, Error>.Continuation
| `- error: 'AsyncThrowingStream' is only available in macOS 10.15 or newer
24 |
25 | fileprivate init(uuid: CBUUID, continuation: AsyncThrowingStream<Data, Error>.Continuation) {
/Users/admin/builder/spi-builder-workspace/Sources/AsyncBLE/Internal/Bridge/SubscriptionRegistry.swift:25:54: error: 'AsyncThrowingStream' is only available in macOS 10.15 or newer
19 | final class SubscriptionRegistry: @unchecked Sendable {
20 | /// One caller's `notifications(for:)` stream.
21 | final class Subscription: @unchecked Sendable {
| `- note: add '@available' attribute to enclosing class
22 | let uuid: CBUUID
23 | fileprivate let continuation: AsyncThrowingStream<Data, Error>.Continuation
24 |
25 | fileprivate init(uuid: CBUUID, continuation: AsyncThrowingStream<Data, Error>.Continuation) {
| | `- error: 'AsyncThrowingStream' is only available in macOS 10.15 or newer
| `- note: add '@available' attribute to enclosing initializer
26 | self.uuid = uuid
27 | self.continuation = continuation
/Users/admin/builder/spi-builder-workspace/Sources/AsyncBLE/Internal/Bridge/SubscriptionRegistry.swift:69:26: error: 'AsyncThrowingStream' is only available in macOS 10.15 or newer
17 |
18 | /// The live notification streams of one connection.
19 | final class SubscriptionRegistry: @unchecked Sendable {
| `- note: add '@available' attribute to enclosing class
20 | /// One caller's `notifications(for:)` stream.
21 | final class Subscription: @unchecked Sendable {
:
65 | /// while the confirmation is in flight still unsubscribes cleanly. The connection removes
66 | /// it again if the subscribe fails.
67 | func subscribe(
| `- note: add '@available' attribute to enclosing instance method
68 | to uuid: CBUUID,
69 | bufferingPolicy: AsyncThrowingStream<Data, Error>.Continuation.BufferingPolicy
| `- error: 'AsyncThrowingStream' is only available in macOS 10.15 or newer
70 | ) -> (subscription: Subscription, stream: AsyncThrowingStream<Data, Error>) {
71 | var subscription: Subscription?
/Users/admin/builder/spi-builder-workspace/Sources/AsyncBLE/Internal/Bridge/SubscriptionRegistry.swift:70:47: error: 'AsyncThrowingStream' is only available in macOS 10.15 or newer
17 |
18 | /// The live notification streams of one connection.
19 | final class SubscriptionRegistry: @unchecked Sendable {
| `- note: add '@available' attribute to enclosing class
20 | /// One caller's `notifications(for:)` stream.
21 | final class Subscription: @unchecked Sendable {
:
65 | /// while the confirmation is in flight still unsubscribes cleanly. The connection removes
66 | /// it again if the subscribe fails.
67 | func subscribe(
| `- note: add '@available' attribute to enclosing instance method
68 | to uuid: CBUUID,
69 | bufferingPolicy: AsyncThrowingStream<Data, Error>.Continuation.BufferingPolicy
70 | ) -> (subscription: Subscription, stream: AsyncThrowingStream<Data, Error>) {
| `- error: 'AsyncThrowingStream' is only available in macOS 10.15 or newer
71 | var subscription: Subscription?
72 | let stream = AsyncThrowingStream(Data.self, bufferingPolicy: bufferingPolicy) { continuation in
/Users/admin/builder/spi-builder-workspace/Sources/AsyncBLE/Internal/Bridge/SubscriptionRegistry.swift:90:21: error: 'AsyncThrowingStream' is only available in macOS 10.15 or newer
17 |
18 | /// The live notification streams of one connection.
19 | final class SubscriptionRegistry: @unchecked Sendable {
| `- note: add '@available' attribute to enclosing class
20 | /// One caller's `notifications(for:)` stream.
21 | final class Subscription: @unchecked Sendable {
:
86 | /// written inside another closure captures *that* closure's `self`, which Swift 6 rejects as
87 | /// a reference to a captured var from concurrently-executing code.
88 | private func terminator(
| `- note: add '@available' attribute to enclosing instance method
89 | for subscription: Subscription
90 | ) -> @Sendable (AsyncThrowingStream<Data, Error>.Continuation.Termination) -> Void {
| `- error: 'AsyncThrowingStream' is only available in macOS 10.15 or newer
91 | // The weak reference is promoted before the queue hop rather than inside it. A weak
92 | // capture is a `var` — it can become nil — and Swift 6 rejects reading one from
/Users/admin/builder/spi-builder-workspace/Sources/AsyncBLE/Internal/Bridge/SubscriptionRegistry.swift:72:22: error: 'AsyncThrowingStream' is only available in macOS 10.15 or newer
17 |
18 | /// The live notification streams of one connection.
19 | final class SubscriptionRegistry: @unchecked Sendable {
| `- note: add '@available' attribute to enclosing class
20 | /// One caller's `notifications(for:)` stream.
21 | final class Subscription: @unchecked Sendable {
:
65 | /// while the confirmation is in flight still unsubscribes cleanly. The connection removes
66 | /// it again if the subscribe fails.
67 | func subscribe(
| `- note: add '@available' attribute to enclosing instance method
68 | to uuid: CBUUID,
69 | bufferingPolicy: AsyncThrowingStream<Data, Error>.Continuation.BufferingPolicy
70 | ) -> (subscription: Subscription, stream: AsyncThrowingStream<Data, Error>) {
71 | var subscription: Subscription?
72 | let stream = AsyncThrowingStream(Data.self, bufferingPolicy: bufferingPolicy) { continuation in
| |- error: 'AsyncThrowingStream' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
73 | let new = Subscription(uuid: uuid, continuation: continuation)
74 | subscription = new
/Users/admin/builder/spi-builder-workspace/Sources/AsyncBLE/Internal/Connection/Central+Engine.swift:36:51: error: 'Duration' is only available in macOS 13.0 or newer
5 | import Foundation
6 |
7 | extension Central {
| `- note: add '@available' attribute to enclosing extension
8 | /// Waits for the adapter to say something definitive, and throws if that is bad news.
9 | ///
:
34 | /// - peripheralID: Which peripheral.
35 | /// - timeout: The deadline for the attempt, or `nil` to pend indefinitely.
36 | func establish(_ peripheralID: UUID, timeout: Duration?) async throws -> Connection {
| | `- error: 'Duration' is only available in macOS 13.0 or newer
| `- note: add '@available' attribute to enclosing instance method
37 | try await requirePoweredOn()
38 | let connection = try connection(for: peripheralID)
/Users/admin/builder/spi-builder-workspace/Sources/AsyncBLE/Internal/Connection/Central+Engine.swift:71:64: error: 'Duration' is only available in macOS 13.0 or newer
5 | import Foundation
6 |
7 | extension Central {
| `- note: add '@available' attribute to enclosing extension
8 | /// Waits for the adapter to say something definitive, and throws if that is bad news.
9 | ///
:
69 |
70 | /// Suspends until the link comes up, this caller gives up, or the connection ends.
71 | private func waitForLink(on core: ConnectionCore, timeout: Duration?) async throws {
| | `- error: 'Duration' is only available in macOS 13.0 or newer
| `- note: add '@available' attribute to enclosing instance method
72 | let handle = ConnectAttemptHandle()
73 | try await withTaskCancellationHandler {
/Users/admin/builder/spi-builder-workspace/Sources/AsyncBLE/Internal/Connection/Central+Engine.swift:24:9: error: 'makeAsyncIterator()' is only available in macOS 10.15 or newer
5 | import Foundation
6 |
7 | extension Central {
| `- note: add '@available' attribute to enclosing extension
8 | /// Waits for the adapter to say something definitive, and throws if that is bad news.
9 | ///
:
18 |
19 | /// The adapter's state once it is something other than "not yet known".
20 | private func definitiveAdapterState() async -> AdapterState {
| `- note: add '@available' attribute to enclosing instance method
21 | let current = bridge.adapterStates.current
22 | guard current == .unavailable(reason: .unknown) else { return current }
23 |
24 | for await state in bridge.adapterStates.stream() where state != .unavailable(reason: .unknown) {
| |- error: 'makeAsyncIterator()' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
25 | return state
26 | }
/Users/admin/builder/spi-builder-workspace/Sources/AsyncBLE/Internal/Connection/Central+Engine.swift:73:19: error: 'withTaskCancellationHandler(operation:onCancel:isolation:)' is only available in macOS 10.15 or newer
5 | import Foundation
6 |
7 | extension Central {
| `- note: add '@available' attribute to enclosing extension
8 | /// Waits for the adapter to say something definitive, and throws if that is bad news.
9 | ///
:
69 |
70 | /// Suspends until the link comes up, this caller gives up, or the connection ends.
71 | private func waitForLink(on core: ConnectionCore, timeout: Duration?) async throws {
| `- note: add '@available' attribute to enclosing instance method
72 | let handle = ConnectAttemptHandle()
73 | try await withTaskCancellationHandler {
| |- error: 'withTaskCancellationHandler(operation:onCancel:isolation:)' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
74 | try await withCheckedThrowingContinuation { continuation in
75 | handle.begin(core: core, continuation: continuation, timeout: timeout, scheduler: scheduler)
/Users/admin/builder/spi-builder-workspace/Sources/AsyncBLE/Internal/Connection/Central+Engine.swift:74:23: error: 'withCheckedThrowingContinuation(isolation:function:_:)' is only available in macOS 10.15 or newer
5 | import Foundation
6 |
7 | extension Central {
| `- note: add '@available' attribute to enclosing extension
8 | /// Waits for the adapter to say something definitive, and throws if that is bad news.
9 | ///
:
69 |
70 | /// Suspends until the link comes up, this caller gives up, or the connection ends.
71 | private func waitForLink(on core: ConnectionCore, timeout: Duration?) async throws {
| `- note: add '@available' attribute to enclosing instance method
72 | let handle = ConnectAttemptHandle()
73 | try await withTaskCancellationHandler {
74 | try await withCheckedThrowingContinuation { continuation in
| |- error: 'withCheckedThrowingContinuation(isolation:function:_:)' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
75 | handle.begin(core: core, continuation: continuation, timeout: timeout, scheduler: scheduler)
76 | }
/Users/admin/builder/spi-builder-workspace/Sources/AsyncBLE/Internal/Connection/Central+Engine.swift:74:56: error: 'isolation()' is only available in macOS 10.15 or newer
`- /Users/admin/builder/spi-builder-workspace/Sources/AsyncBLE/Internal/Connection/Central+Engine.swift:74:55: note: expanded code originates here
5 | import Foundation
6 |
7 | extension Central {
| `- note: add '@available' attribute to enclosing extension
8 | /// Waits for the adapter to say something definitive, and throws if that is bad news.
9 | ///
:
69 |
70 | /// Suspends until the link comes up, this caller gives up, or the connection ends.
71 | private func waitForLink(on core: ConnectionCore, timeout: Duration?) async throws {
| `- note: add '@available' attribute to enclosing instance method
72 | let handle = ConnectAttemptHandle()
73 | try await withTaskCancellationHandler {
74 | try await withCheckedThrowingContinuation { continuation in
+--- /Users/admin/builder/spi-builder-workspace/Sources/AsyncBLE/Internal/Connection/Central+Engine.swift
|72 |
|73 |
|74 | #isolation
| | `- error: 'isolation()' is only available in macOS 10.15 or newer
+---------------------------------------------------------------------------------------------------------
75 | handle.begin(core: core, continuation: continuation, timeout: timeout, scheduler: scheduler)
76 | }
/Users/admin/builder/spi-builder-workspace/Sources/AsyncBLE/Internal/Connection/Central+Engine.swift:73:48: error: 'isolation()' is only available in macOS 10.15 or newer
`- /Users/admin/builder/spi-builder-workspace/Sources/AsyncBLE/Internal/Connection/Central+Engine.swift:73:47: note: expanded code originates here
5 | import Foundation
6 |
7 | extension Central {
| `- note: add '@available' attribute to enclosing extension
8 | /// Waits for the adapter to say something definitive, and throws if that is bad news.
9 | ///
:
69 |
70 | /// Suspends until the link comes up, this caller gives up, or the connection ends.
71 | private func waitForLink(on core: ConnectionCore, timeout: Duration?) async throws {
| `- note: add '@available' attribute to enclosing instance method
72 | let handle = ConnectAttemptHandle()
73 | try await withTaskCancellationHandler {
+--- /Users/admin/builder/spi-builder-workspace/Sources/AsyncBLE/Internal/Connection/Central+Engine.swift
|71 |
|72 |
|73 | #isolation
| | `- error: 'isolation()' is only available in macOS 10.15 or newer
+---------------------------------------------------------------------------------------------------------
74 | try await withCheckedThrowingContinuation { continuation in
75 | handle.begin(core: core, continuation: continuation, timeout: timeout, scheduler: scheduler)
/Users/admin/builder/spi-builder-workspace/Sources/AsyncBLE/Internal/Connection/ConnectAttempt.swift:15:31: error: 'CheckedContinuation' is only available in macOS 10.15 or newer
12 |
13 | /// A continuation that can be resumed from several places and will only resume once.
14 | final class ResumeOnce: @unchecked Sendable {
| `- note: add '@available' attribute to enclosing class
15 | private var continuation: CheckedContinuation<Void, Error>?
| `- error: 'CheckedContinuation' is only available in macOS 10.15 or newer
16 |
17 | init(_ continuation: CheckedContinuation<Void, Error>) {
/Users/admin/builder/spi-builder-workspace/Sources/AsyncBLE/Internal/Connection/ConnectAttempt.swift:17:26: error: 'CheckedContinuation' is only available in macOS 10.15 or newer
12 |
13 | /// A continuation that can be resumed from several places and will only resume once.
14 | final class ResumeOnce: @unchecked Sendable {
| `- note: add '@available' attribute to enclosing class
15 | private var continuation: CheckedContinuation<Void, Error>?
16 |
17 | init(_ continuation: CheckedContinuation<Void, Error>) {
| | `- error: 'CheckedContinuation' is only available in macOS 10.15 or newer
| `- note: add '@available' attribute to enclosing initializer
18 | self.continuation = continuation
19 | }
/Users/admin/builder/spi-builder-workspace/Sources/AsyncBLE/Internal/Connection/ConnectAttempt.swift:48:23: error: 'CheckedContinuation' is only available in macOS 10.15 or newer
28 |
29 | /// One caller waiting for a connection to come up.
30 | final class ConnectAttemptHandle: @unchecked Sendable {
| `- note: add '@available' attribute to enclosing class
31 | private var once: ResumeOnce?
32 | private var core: ConnectionCore?
:
44 | /// gets its deadline from the state machine instead, so the two never both fire.
45 | /// - scheduler: Where the deadline is armed.
46 | func begin(
| `- note: add '@available' attribute to enclosing instance method
47 | core: ConnectionCore,
48 | continuation: CheckedContinuation<Void, Error>,
| `- error: 'CheckedContinuation' is only available in macOS 10.15 or newer
49 | timeout: Duration?,
50 | scheduler: Scheduler
/Users/admin/builder/spi-builder-workspace/Sources/AsyncBLE/Internal/Connection/ConnectAttempt.swift:49:18: error: 'Duration' is only available in macOS 13.0 or newer
28 |
29 | /// One caller waiting for a connection to come up.
30 | final class ConnectAttemptHandle: @unchecked Sendable {
| `- note: add '@available' attribute to enclosing class
31 | private var once: ResumeOnce?
32 | private var core: ConnectionCore?
:
44 | /// gets its deadline from the state machine instead, so the two never both fire.
45 | /// - scheduler: Where the deadline is armed.
46 | func begin(
| `- note: add '@available' attribute to enclosing instance method
47 | core: ConnectionCore,
48 | continuation: CheckedContinuation<Void, Error>,
49 | timeout: Duration?,
| `- error: 'Duration' is only available in macOS 13.0 or newer
50 | scheduler: Scheduler
51 | ) {
/Users/admin/builder/spi-builder-workspace/Sources/AsyncBLE/Internal/Connection/ConnectAttempt.swift:25:22: error: 'resume(with:)' is only available in macOS 10.15 or newer
12 |
13 | /// A continuation that can be resumed from several places and will only resume once.
14 | final class ResumeOnce: @unchecked Sendable {
| `- note: add '@available' attribute to enclosing class
15 | private var continuation: CheckedContinuation<Void, Error>?
16 |
:
20 |
21 | /// Resumes, unless something already did.
22 | func resume(_ result: Result<Void, Error>) {
| `- note: add '@available' attribute to enclosing instance method
23 | guard let continuation else { return }
24 | self.continuation = nil
25 | continuation.resume(with: result)
| |- error: 'resume(with:)' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
26 | }
27 | }
/Users/admin/builder/spi-builder-workspace/Sources/AsyncBLE/Internal/Connection/ConnectAttempt.swift:58:34: error: 'CancellationError' is only available in macOS 10.15 or newer
28 |
29 | /// One caller waiting for a connection to come up.
30 | final class ConnectAttemptHandle: @unchecked Sendable {
| `- note: add '@available' attribute to enclosing class
31 | private var once: ResumeOnce?
32 | private var core: ConnectionCore?
:
44 | /// gets its deadline from the state machine instead, so the two never both fire.
45 | /// - scheduler: Where the deadline is armed.
46 | func begin(
| `- note: add '@available' attribute to enclosing instance method
47 | core: ConnectionCore,
48 | continuation: CheckedContinuation<Void, Error>,
:
56 | guard !cancelledBeforeStart else {
57 | // The caller's task was cancelled before this even got to run.
58 | once.resume(.failure(CancellationError()))
| |- error: 'CancellationError' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
59 | return
60 | }
/Users/admin/builder/spi-builder-workspace/Sources/AsyncBLE/Internal/Connection/ConnectAttempt.swift:80:31: error: 'CancellationError' is only available in macOS 10.15 or newer
28 |
29 | /// One caller waiting for a connection to come up.
30 | final class ConnectAttemptHandle: @unchecked Sendable {
| `- note: add '@available' attribute to enclosing class
31 | private var once: ResumeOnce?
32 | private var core: ConnectionCore?
:
75 | /// The caller went away. Detach it, and let the connection decide whether the attempt has
76 | /// anyone left to serve.
77 | func cancel() {
| `- note: add '@available' attribute to enclosing instance method
78 | cancelledBeforeStart = true
79 | detach()
80 | once?.resume(.failure(CancellationError()))
| |- error: 'CancellationError' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
81 | }
82 |
/Users/admin/builder/spi-builder-workspace/Sources/AsyncBLE/Internal/Connection/Connection+Engine.swift:20:19: error: 'withCheckedThrowingContinuation(isolation:function:_:)' is only available in macOS 10.15 or newer
10 | import Foundation
11 |
12 | extension Connection {
| `- note: add '@available' attribute to enclosing extension
13 | /// Suspends until the engine hands back a result.
14 | ///
15 | /// - Parameter register: Parks a callback with the engine. Runs synchronously, on the
16 | /// library queue, before this function suspends.
17 | func suspend<T: Sendable>(
| `- note: add '@available' attribute to enclosing instance method
18 | _ register: (@escaping @Sendable (Result<T, Error>) -> Void) -> Void
19 | ) async throws -> T {
20 | try await withCheckedThrowingContinuation { continuation in
| |- error: 'withCheckedThrowingContinuation(isolation:function:_:)' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
21 | register { continuation.resume(with: $0) }
22 | }
/Users/admin/builder/spi-builder-workspace/Sources/AsyncBLE/Internal/Connection/Connection+Engine.swift:21:37: error: 'resume(with:)' is only available in macOS 10.15 or newer
10 | import Foundation
11 |
12 | extension Connection {
| `- note: add '@available' attribute to enclosing extension
13 | /// Suspends until the engine hands back a result.
14 | ///
15 | /// - Parameter register: Parks a callback with the engine. Runs synchronously, on the
16 | /// library queue, before this function suspends.
17 | func suspend<T: Sendable>(
| `- note: add '@available' attribute to enclosing instance method
18 | _ register: (@escaping @Sendable (Result<T, Error>) -> Void) -> Void
19 | ) async throws -> T {
20 | try await withCheckedThrowingContinuation { continuation in
21 | register { continuation.resume(with: $0) }
| |- error: 'resume(with:)' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
22 | }
23 | }
/Users/admin/builder/spi-builder-workspace/Sources/AsyncBLE/Internal/Connection/Connection+Engine.swift:20:52: error: 'isolation()' is only available in macOS 10.15 or newer
`- /Users/admin/builder/spi-builder-workspace/Sources/AsyncBLE/Internal/Connection/Connection+Engine.swift:20:51: note: expanded code originates here
10 | import Foundation
11 |
12 | extension Connection {
| `- note: add '@available' attribute to enclosing extension
13 | /// Suspends until the engine hands back a result.
14 | ///
15 | /// - Parameter register: Parks a callback with the engine. Runs synchronously, on the
16 | /// library queue, before this function suspends.
17 | func suspend<T: Sendable>(
| `- note: add '@available' attribute to enclosing instance method
18 | _ register: (@escaping @Sendable (Result<T, Error>) -> Void) -> Void
19 | ) async throws -> T {
20 | try await withCheckedThrowingContinuation { continuation in
+--- /Users/admin/builder/spi-builder-workspace/Sources/AsyncBLE/Internal/Connection/Connection+Engine.swift
|18 |
|19 |
|20 | #isolation
| | `- error: 'isolation()' is only available in macOS 10.15 or newer
+------------------------------------------------------------------------------------------------------------
21 | register { continuation.resume(with: $0) }
22 | }
/Users/admin/builder/spi-builder-workspace/Sources/AsyncBLE/Internal/Connection/Connection+Engine.swift:31:19: error: 'withTaskCancellationHandler(operation:onCancel:isolation:)' is only available in macOS 10.15 or newer
10 | import Foundation
11 |
12 | extension Connection {
| `- note: add '@available' attribute to enclosing extension
13 | /// Suspends until the engine hands back a result.
14 | ///
:
28 | /// move on. A cancellation that arrives once the operation is already running is ignored:
29 | /// CoreBluetooth has no way to withdraw a read or a write that is on the wire.
30 | func waitForTurn(_ ticket: IOQueue.Ticket) async throws {
| `- note: add '@available' attribute to enclosing instance method
31 | try await withTaskCancellationHandler {
| |- error: 'withTaskCancellationHandler(operation:onCancel:isolation:)' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
32 | try await suspend { resume in
33 | core.attachTurn({ resume($0) }, to: ticket)
/Users/admin/builder/spi-builder-workspace/Sources/AsyncBLE/Internal/Connection/Connection+Engine.swift:31:48: error: 'isolation()' is only available in macOS 10.15 or newer
`- /Users/admin/builder/spi-builder-workspace/Sources/AsyncBLE/Internal/Connection/Connection+Engine.swift:31:47: note: expanded code originates here
10 | import Foundation
11 |
12 | extension Connection {
| `- note: add '@available' attribute to enclosing extension
13 | /// Suspends until the engine hands back a result.
14 | ///
:
28 | /// move on. A cancellation that arrives once the operation is already running is ignored:
29 | /// CoreBluetooth has no way to withdraw a read or a write that is on the wire.
30 | func waitForTurn(_ ticket: IOQueue.Ticket) async throws {
| `- note: add '@available' attribute to enclosing instance method
31 | try await withTaskCancellationHandler {
+--- /Users/admin/builder/spi-builder-workspace/Sources/AsyncBLE/Internal/Connection/Connection+Engine.swift
|29 |
|30 |
|31 | #isolation
| | `- error: 'isolation()' is only available in macOS 10.15 or newer
+------------------------------------------------------------------------------------------------------------
32 | try await suspend { resume in
33 | core.attachTurn({ resume($0) }, to: ticket)
[22/43] Compiling AsyncBLE ConnectAttempt.swift
/Users/admin/builder/spi-builder-workspace/Sources/AsyncBLE/Internal/Bridge/SubscriptionRegistry.swift:23:39: error: 'AsyncThrowingStream' is only available in macOS 10.15 or newer
19 | final class SubscriptionRegistry: @unchecked Sendable {
20 | /// One caller's `notifications(for:)` stream.
21 | final class Subscription: @unchecked Sendable {
| `- note: add '@available' attribute to enclosing class
22 | let uuid: CBUUID
23 | fileprivate let continuation: AsyncThrowingStream<Data, Error>.Continuation
| `- error: 'AsyncThrowingStream' is only available in macOS 10.15 or newer
24 |
25 | fileprivate init(uuid: CBUUID, continuation: AsyncThrowingStream<Data, Error>.Continuation) {
/Users/admin/builder/spi-builder-workspace/Sources/AsyncBLE/Internal/Bridge/SubscriptionRegistry.swift:25:54: error: 'AsyncThrowingStream' is only available in macOS 10.15 or newer
19 | final class SubscriptionRegistry: @unchecked Sendable {
20 | /// One caller's `notifications(for:)` stream.
21 | final class Subscription: @unchecked Sendable {
| `- note: add '@available' attribute to enclosing class
22 | let uuid: CBUUID
23 | fileprivate let continuation: AsyncThrowingStream<Data, Error>.Continuation
24 |
25 | fileprivate init(uuid: CBUUID, continuation: AsyncThrowingStream<Data, Error>.Continuation) {
| | `- error: 'AsyncThrowingStream' is only available in macOS 10.15 or newer
| `- note: add '@available' attribute to enclosing initializer
26 | self.uuid = uuid
27 | self.continuation = continuation
/Users/admin/builder/spi-builder-workspace/Sources/AsyncBLE/Internal/Bridge/SubscriptionRegistry.swift:69:26: error: 'AsyncThrowingStream' is only available in macOS 10.15 or newer
17 |
18 | /// The live notification streams of one connection.
19 | final class SubscriptionRegistry: @unchecked Sendable {
| `- note: add '@available' attribute to enclosing class
20 | /// One caller's `notifications(for:)` stream.
21 | final class Subscription: @unchecked Sendable {
:
65 | /// while the confirmation is in flight still unsubscribes cleanly. The connection removes
66 | /// it again if the subscribe fails.
67 | func subscribe(
| `- note: add '@available' attribute to enclosing instance method
68 | to uuid: CBUUID,
69 | bufferingPolicy: AsyncThrowingStream<Data, Error>.Continuation.BufferingPolicy
| `- error: 'AsyncThrowingStream' is only available in macOS 10.15 or newer
70 | ) -> (subscription: Subscription, stream: AsyncThrowingStream<Data, Error>) {
71 | var subscription: Subscription?
/Users/admin/builder/spi-builder-workspace/Sources/AsyncBLE/Internal/Bridge/SubscriptionRegistry.swift:70:47: error: 'AsyncThrowingStream' is only available in macOS 10.15 or newer
17 |
18 | /// The live notification streams of one connection.
19 | final class SubscriptionRegistry: @unchecked Sendable {
| `- note: add '@available' attribute to enclosing class
20 | /// One caller's `notifications(for:)` stream.
21 | final class Subscription: @unchecked Sendable {
:
65 | /// while the confirmation is in flight still unsubscribes cleanly. The connection removes
66 | /// it again if the subscribe fails.
67 | func subscribe(
| `- note: add '@available' attribute to enclosing instance method
68 | to uuid: CBUUID,
69 | bufferingPolicy: AsyncThrowingStream<Data, Error>.Continuation.BufferingPolicy
70 | ) -> (subscription: Subscription, stream: AsyncThrowingStream<Data, Error>) {
| `- error: 'AsyncThrowingStream' is only available in macOS 10.15 or newer
71 | var subscription: Subscription?
72 | let stream = AsyncThrowingStream(Data.self, bufferingPolicy: bufferingPolicy) { continuation in
/Users/admin/builder/spi-builder-workspace/Sources/AsyncBLE/Internal/Bridge/SubscriptionRegistry.swift:90:21: error: 'AsyncThrowingStream' is only available in macOS 10.15 or newer
17 |
18 | /// The live notification streams of one connection.
19 | final class SubscriptionRegistry: @unchecked Sendable {
| `- note: add '@available' attribute to enclosing class
20 | /// One caller's `notifications(for:)` stream.
21 | final class Subscription: @unchecked Sendable {
:
86 | /// written inside another closure captures *that* closure's `self`, which Swift 6 rejects as
87 | /// a reference to a captured var from concurrently-executing code.
88 | private func terminator(
| `- note: add '@available' attribute to enclosing instance method
89 | for subscription: Subscription
90 | ) -> @Sendable (AsyncThrowingStream<Data, Error>.Continuation.Termination) -> Void {
| `- error: 'AsyncThrowingStream' is only available in macOS 10.15 or newer
91 | // The weak reference is promoted before the queue hop rather than inside it. A weak
92 | // capture is a `var` — it can become nil — and Swift 6 rejects reading one from
/Users/admin/builder/spi-builder-workspace/Sources/AsyncBLE/Internal/Bridge/SubscriptionRegistry.swift:72:22: error: 'AsyncThrowingStream' is only available in macOS 10.15 or newer
17 |
18 | /// The live notification streams of one connection.
19 | final class SubscriptionRegistry: @unchecked Sendable {
| `- note: add '@available' attribute to enclosing class
20 | /// One caller's `notifications(for:)` stream.
21 | final class Subscription: @unchecked Sendable {
:
65 | /// while the confirmation is in flight still unsubscribes cleanly. The connection removes
66 | /// it again if the subscribe fails.
67 | func subscribe(
| `- note: add '@available' attribute to enclosing instance method
68 | to uuid: CBUUID,
69 | bufferingPolicy: AsyncThrowingStream<Data, Error>.Continuation.BufferingPolicy
70 | ) -> (subscription: Subscription, stream: AsyncThrowingStream<Data, Error>) {
71 | var subscription: Subscription?
72 | let stream = AsyncThrowingStream(Data.self, bufferingPolicy: bufferingPolicy) { continuation in
| |- error: 'AsyncThrowingStream' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
73 | let new = Subscription(uuid: uuid, continuation: continuation)
74 | subscription = new
/Users/admin/builder/spi-builder-workspace/Sources/AsyncBLE/Internal/Connection/Central+Engine.swift:36:51: error: 'Duration' is only available in macOS 13.0 or newer
5 | import Foundation
6 |
7 | extension Central {
| `- note: add '@available' attribute to enclosing extension
8 | /// Waits for the adapter to say something definitive, and throws if that is bad news.
9 | ///
:
34 | /// - peripheralID: Which peripheral.
35 | /// - timeout: The deadline for the attempt, or `nil` to pend indefinitely.
36 | func establish(_ peripheralID: UUID, timeout: Duration?) async throws -> Connection {
| | `- error: 'Duration' is only available in macOS 13.0 or newer
| `- note: add '@available' attribute to enclosing instance method
37 | try await requirePoweredOn()
38 | let connection = try connection(for: peripheralID)
/Users/admin/builder/spi-builder-workspace/Sources/AsyncBLE/Internal/Connection/Central+Engine.swift:71:64: error: 'Duration' is only available in macOS 13.0 or newer
5 | import Foundation
6 |
7 | extension Central {
| `- note: add '@available' attribute to enclosing extension
8 | /// Waits for the adapter to say something definitive, and throws if that is bad news.
9 | ///
:
69 |
70 | /// Suspends until the link comes up, this caller gives up, or the connection ends.
71 | private func waitForLink(on core: ConnectionCore, timeout: Duration?) async throws {
| | `- error: 'Duration' is only available in macOS 13.0 or newer
| `- note: add '@available' attribute to enclosing instance method
72 | let handle = ConnectAttemptHandle()
73 | try await withTaskCancellationHandler {
/Users/admin/builder/spi-builder-workspace/Sources/AsyncBLE/Internal/Connection/Central+Engine.swift:24:9: error: 'makeAsyncIterator()' is only available in macOS 10.15 or newer
5 | import Foundation
6 |
7 | extension Central {
| `- note: add '@available' attribute to enclosing extension
8 | /// Waits for the adapter to say something definitive, and throws if that is bad news.
9 | ///
:
18 |
19 | /// The adapter's state once it is something other than "not yet known".
20 | private func definitiveAdapterState() async -> AdapterState {
| `- note: add '@available' attribute to enclosing instance method
21 | let current = bridge.adapterStates.current
22 | guard current == .unavailable(reason: .unknown) else { return current }
23 |
24 | for await state in bridge.adapterStates.stream() where state != .unavailable(reason: .unknown) {
| |- error: 'makeAsyncIterator()' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
25 | return state
26 | }
/Users/admin/builder/spi-builder-workspace/Sources/AsyncBLE/Internal/Connection/Central+Engine.swift:73:19: error: 'withTaskCancellationHandler(operation:onCancel:isolation:)' is only available in macOS 10.15 or newer
5 | import Foundation
6 |
7 | extension Central {
| `- note: add '@available' attribute to enclosing extension
8 | /// Waits for the adapter to say something definitive, and throws if that is bad news.
9 | ///
:
69 |
70 | /// Suspends until the link comes up, this caller gives up, or the connection ends.
71 | private func waitForLink(on core: ConnectionCore, timeout: Duration?) async throws {
| `- note: add '@available' attribute to enclosing instance method
72 | let handle = ConnectAttemptHandle()
73 | try await withTaskCancellationHandler {
| |- error: 'withTaskCancellationHandler(operation:onCancel:isolation:)' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
74 | try await withCheckedThrowingContinuation { continuation in
75 | handle.begin(core: core, continuation: continuation, timeout: timeout, scheduler: scheduler)
/Users/admin/builder/spi-builder-workspace/Sources/AsyncBLE/Internal/Connection/Central+Engine.swift:74:23: error: 'withCheckedThrowingContinuation(isolation:function:_:)' is only available in macOS 10.15 or newer
5 | import Foundation
6 |
7 | extension Central {
| `- note: add '@available' attribute to enclosing extension
8 | /// Waits for the adapter to say something definitive, and throws if that is bad news.
9 | ///
:
69 |
70 | /// Suspends until the link comes up, this caller gives up, or the connection ends.
71 | private func waitForLink(on core: ConnectionCore, timeout: Duration?) async throws {
| `- note: add '@available' attribute to enclosing instance method
72 | let handle = ConnectAttemptHandle()
73 | try await withTaskCancellationHandler {
74 | try await withCheckedThrowingContinuation { continuation in
| |- error: 'withCheckedThrowingContinuation(isolation:function:_:)' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
75 | handle.begin(core: core, continuation: continuation, timeout: timeout, scheduler: scheduler)
76 | }
/Users/admin/builder/spi-builder-workspace/Sources/AsyncBLE/Internal/Connection/Central+Engine.swift:74:56: error: 'isolation()' is only available in macOS 10.15 or newer
`- /Users/admin/builder/spi-builder-workspace/Sources/AsyncBLE/Internal/Connection/Central+Engine.swift:74:55: note: expanded code originates here
5 | import Foundation
6 |
7 | extension Central {
| `- note: add '@available' attribute to enclosing extension
8 | /// Waits for the adapter to say something definitive, and throws if that is bad news.
9 | ///
:
69 |
70 | /// Suspends until the link comes up, this caller gives up, or the connection ends.
71 | private func waitForLink(on core: ConnectionCore, timeout: Duration?) async throws {
| `- note: add '@available' attribute to enclosing instance method
72 | let handle = ConnectAttemptHandle()
73 | try await withTaskCancellationHandler {
74 | try await withCheckedThrowingContinuation { continuation in
+--- /Users/admin/builder/spi-builder-workspace/Sources/AsyncBLE/Internal/Connection/Central+Engine.swift
|72 |
|73 |
|74 | #isolation
| | `- error: 'isolation()' is only available in macOS 10.15 or newer
+---------------------------------------------------------------------------------------------------------
75 | handle.begin(core: core, continuation: continuation, timeout: timeout, scheduler: scheduler)
76 | }
/Users/admin/builder/spi-builder-workspace/Sources/AsyncBLE/Internal/Connection/Central+Engine.swift:73:48: error: 'isolation()' is only available in macOS 10.15 or newer
`- /Users/admin/builder/spi-builder-workspace/Sources/AsyncBLE/Internal/Connection/Central+Engine.swift:73:47: note: expanded code originates here
5 | import Foundation
6 |
7 | extension Central {
| `- note: add '@available' attribute to enclosing extension
8 | /// Waits for the adapter to say something definitive, and throws if that is bad news.
9 | ///
:
69 |
70 | /// Suspends until the link comes up, this caller gives up, or the connection ends.
71 | private func waitForLink(on core: ConnectionCore, timeout: Duration?) async throws {
| `- note: add '@available' attribute to enclosing instance method
72 | let handle = ConnectAttemptHandle()
73 | try await withTaskCancellationHandler {
+--- /Users/admin/builder/spi-builder-workspace/Sources/AsyncBLE/Internal/Connection/Central+Engine.swift
|71 |
|72 |
|73 | #isolation
| | `- error: 'isolation()' is only available in macOS 10.15 or newer
+---------------------------------------------------------------------------------------------------------
74 | try await withCheckedThrowingContinuation { continuation in
75 | handle.begin(core: core, continuation: continuation, timeout: timeout, scheduler: scheduler)
/Users/admin/builder/spi-builder-workspace/Sources/AsyncBLE/Internal/Connection/ConnectAttempt.swift:15:31: error: 'CheckedContinuation' is only available in macOS 10.15 or newer
12 |
13 | /// A continuation that can be resumed from several places and will only resume once.
14 | final class ResumeOnce: @unchecked Sendable {
| `- note: add '@available' attribute to enclosing class
15 | private var continuation: CheckedContinuation<Void, Error>?
| `- error: 'CheckedContinuation' is only available in macOS 10.15 or newer
16 |
17 | init(_ continuation: CheckedContinuation<Void, Error>) {
/Users/admin/builder/spi-builder-workspace/Sources/AsyncBLE/Internal/Connection/ConnectAttempt.swift:17:26: error: 'CheckedContinuation' is only available in macOS 10.15 or newer
12 |
13 | /// A continuation that can be resumed from several places and will only resume once.
14 | final class ResumeOnce: @unchecked Sendable {
| `- note: add '@available' attribute to enclosing class
15 | private var continuation: CheckedContinuation<Void, Error>?
16 |
17 | init(_ continuation: CheckedContinuation<Void, Error>) {
| | `- error: 'CheckedContinuation' is only available in macOS 10.15 or newer
| `- note: add '@available' attribute to enclosing initializer
18 | self.continuation = continuation
19 | }
/Users/admin/builder/spi-builder-workspace/Sources/AsyncBLE/Internal/Connection/ConnectAttempt.swift:48:23: error: 'CheckedContinuation' is only available in macOS 10.15 or newer
28 |
29 | /// One caller waiting for a connection to come up.
30 | final class ConnectAttemptHandle: @unchecked Sendable {
| `- note: add '@available' attribute to enclosing class
31 | private var once: ResumeOnce?
32 | private var core: ConnectionCore?
:
44 | /// gets its deadline from the state machine instead, so the two never both fire.
45 | /// - scheduler: Where the deadline is armed.
46 | func begin(
| `- note: add '@available' attribute to enclosing instance method
47 | core: ConnectionCore,
48 | continuation: CheckedContinuation<Void, Error>,
| `- error: 'CheckedContinuation' is only available in macOS 10.15 or newer
49 | timeout: Duration?,
50 | scheduler: Scheduler
/Users/admin/builder/spi-builder-workspace/Sources/AsyncBLE/Internal/Connection/ConnectAttempt.swift:49:18: error: 'Duration' is only available in macOS 13.0 or newer
28 |
29 | /// One caller waiting for a connection to come up.
30 | final class ConnectAttemptHandle: @unchecked Sendable {
| `- note: add '@available' attribute to enclosing class
31 | private var once: ResumeOnce?
32 | private var core: ConnectionCore?
:
44 | /// gets its deadline from the state machine instead, so the two never both fire.
45 | /// - scheduler: Where the deadline is armed.
46 | func begin(
| `- note: add '@available' attribute to enclosing instance method
47 | core: ConnectionCore,
48 | continuation: CheckedContinuation<Void, Error>,
49 | timeout: Duration?,
| `- error: 'Duration' is only available in macOS 13.0 or newer
50 | scheduler: Scheduler
51 | ) {
/Users/admin/builder/spi-builder-workspace/Sources/AsyncBLE/Internal/Connection/ConnectAttempt.swift:25:22: error: 'resume(with:)' is only available in macOS 10.15 or newer
12 |
13 | /// A continuation that can be resumed from several places and will only resume once.
14 | final class ResumeOnce: @unchecked Sendable {
| `- note: add '@available' attribute to enclosing class
15 | private var continuation: CheckedContinuation<Void, Error>?
16 |
:
20 |
21 | /// Resumes, unless something already did.
22 | func resume(_ result: Result<Void, Error>) {
| `- note: add '@available' attribute to enclosing instance method
23 | guard let continuation else { return }
24 | self.continuation = nil
25 | continuation.resume(with: result)
| |- error: 'resume(with:)' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
26 | }
27 | }
/Users/admin/builder/spi-builder-workspace/Sources/AsyncBLE/Internal/Connection/ConnectAttempt.swift:58:34: error: 'CancellationError' is only available in macOS 10.15 or newer
28 |
29 | /// One caller waiting for a connection to come up.
30 | final class ConnectAttemptHandle: @unchecked Sendable {
| `- note: add '@available' attribute to enclosing class
31 | private var once: ResumeOnce?
32 | private var core: ConnectionCore?
:
44 | /// gets its deadline from the state machine instead, so the two never both fire.
45 | /// - scheduler: Where the deadline is armed.
46 | func begin(
| `- note: add '@available' attribute to enclosing instance method
47 | core: ConnectionCore,
48 | continuation: CheckedContinuation<Void, Error>,
:
56 | guard !cancelledBeforeStart else {
57 | // The caller's task was cancelled before this even got to run.
58 | once.resume(.failure(CancellationError()))
| |- error: 'CancellationError' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
59 | return
60 | }
/Users/admin/builder/spi-builder-workspace/Sources/AsyncBLE/Internal/Connection/ConnectAttempt.swift:80:31: error: 'CancellationError' is only available in macOS 10.15 or newer
28 |
29 | /// One caller waiting for a connection to come up.
30 | final class ConnectAttemptHandle: @unchecked Sendable {
| `- note: add '@available' attribute to enclosing class
31 | private var once: ResumeOnce?
32 | private var core: ConnectionCore?
:
75 | /// The caller went away. Detach it, and let the connection decide whether the attempt has
76 | /// anyone left to serve.
77 | func cancel() {
| `- note: add '@available' attribute to enclosing instance method
78 | cancelledBeforeStart = true
79 | detach()
80 | once?.resume(.failure(CancellationError()))
| |- error: 'CancellationError' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
81 | }
82 |
/Users/admin/builder/spi-builder-workspace/Sources/AsyncBLE/Internal/Connection/Connection+Engine.swift:20:19: error: 'withCheckedThrowingContinuation(isolation:function:_:)' is only available in macOS 10.15 or newer
10 | import Foundation
11 |
12 | extension Connection {
| `- note: add '@available' attribute to enclosing extension
13 | /// Suspends until the engine hands back a result.
14 | ///
15 | /// - Parameter register: Parks a callback with the engine. Runs synchronously, on the
16 | /// library queue, before this function suspends.
17 | func suspend<T: Sendable>(
| `- note: add '@available' attribute to enclosing instance method
18 | _ register: (@escaping @Sendable (Result<T, Error>) -> Void) -> Void
19 | ) async throws -> T {
20 | try await withCheckedThrowingContinuation { continuation in
| |- error: 'withCheckedThrowingContinuation(isolation:function:_:)' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
21 | register { continuation.resume(with: $0) }
22 | }
/Users/admin/builder/spi-builder-workspace/Sources/AsyncBLE/Internal/Connection/Connection+Engine.swift:21:37: error: 'resume(with:)' is only available in macOS 10.15 or newer
10 | import Foundation
11 |
12 | extension Connection {
| `- note: add '@available' attribute to enclosing extension
13 | /// Suspends until the engine hands back a result.
14 | ///
15 | /// - Parameter register: Parks a callback with the engine. Runs synchronously, on the
16 | /// library queue, before this function suspends.
17 | func suspend<T: Sendable>(
| `- note: add '@available' attribute to enclosing instance method
18 | _ register: (@escaping @Sendable (Result<T, Error>) -> Void) -> Void
19 | ) async throws -> T {
20 | try await withCheckedThrowingContinuation { continuation in
21 | register { continuation.resume(with: $0) }
| |- error: 'resume(with:)' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
22 | }
23 | }
/Users/admin/builder/spi-builder-workspace/Sources/AsyncBLE/Internal/Connection/Connection+Engine.swift:20:52: error: 'isolation()' is only available in macOS 10.15 or newer
`- /Users/admin/builder/spi-builder-workspace/Sources/AsyncBLE/Internal/Connection/Connection+Engine.swift:20:51: note: expanded code originates here
10 | import Foundation
11 |
12 | extension Connection {
| `- note: add '@available' attribute to enclosing extension
13 | /// Suspends until the engine hands back a result.
14 | ///
15 | /// - Parameter register: Parks a callback with the engine. Runs synchronously, on the
16 | /// library queue, before this function suspends.
17 | func suspend<T: Sendable>(
| `- note: add '@available' attribute to enclosing instance method
18 | _ register: (@escaping @Sendable (Result<T, Error>) -> Void) -> Void
19 | ) async throws -> T {
20 | try await withCheckedThrowingContinuation { continuation in
+--- /Users/admin/builder/spi-builder-workspace/Sources/AsyncBLE/Internal/Connection/Connection+Engine.swift
|18 |
|19 |
|20 | #isolation
| | `- error: 'isolation()' is only available in macOS 10.15 or newer
+------------------------------------------------------------------------------------------------------------
21 | register { continuation.resume(with: $0) }
22 | }
/Users/admin/builder/spi-builder-workspace/Sources/AsyncBLE/Internal/Connection/Connection+Engine.swift:31:19: error: 'withTaskCancellationHandler(operation:onCancel:isolation:)' is only available in macOS 10.15 or newer
10 | import Foundation
11 |
12 | extension Connection {
| `- note: add '@available' attribute to enclosing extension
13 | /// Suspends until the engine hands back a result.
14 | ///
:
28 | /// move on. A cancellation that arrives once the operation is already running is ignored:
29 | /// CoreBluetooth has no way to withdraw a read or a write that is on the wire.
30 | func waitForTurn(_ ticket: IOQueue.Ticket) async throws {
| `- note: add '@available' attribute to enclosing instance method
31 | try await withTaskCancellationHandler {
| |- error: 'withTaskCancellationHandler(operation:onCancel:isolation:)' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
32 | try await suspend { resume in
33 | core.attachTurn({ resume($0) }, to: ticket)
/Users/admin/builder/spi-builder-workspace/Sources/AsyncBLE/Internal/Connection/Connection+Engine.swift:31:48: error: 'isolation()' is only available in macOS 10.15 or newer
`- /Users/admin/builder/spi-builder-workspace/Sources/AsyncBLE/Internal/Connection/Connection+Engine.swift:31:47: note: expanded code originates here
10 | import Foundation
11 |
12 | extension Connection {
| `- note: add '@available' attribute to enclosing extension
13 | /// Suspends until the engine hands back a result.
14 | ///
:
28 | /// move on. A cancellation that arrives once the operation is already running is ignored:
29 | /// CoreBluetooth has no way to withdraw a read or a write that is on the wire.
30 | func waitForTurn(_ ticket: IOQueue.Ticket) async throws {
| `- note: add '@available' attribute to enclosing instance method
31 | try await withTaskCancellationHandler {
+--- /Users/admin/builder/spi-builder-workspace/Sources/AsyncBLE/Internal/Connection/Connection+Engine.swift
|29 |
|30 |
|31 | #isolation
| | `- error: 'isolation()' is only available in macOS 10.15 or newer
+------------------------------------------------------------------------------------------------------------
32 | try await suspend { resume in
33 | core.attachTurn({ resume($0) }, to: ticket)
[23/43] Compiling AsyncBLE Connection+Engine.swift
/Users/admin/builder/spi-builder-workspace/Sources/AsyncBLE/Internal/Bridge/SubscriptionRegistry.swift:23:39: error: 'AsyncThrowingStream' is only available in macOS 10.15 or newer
19 | final class SubscriptionRegistry: @unchecked Sendable {
20 | /// One caller's `notifications(for:)` stream.
21 | final class Subscription: @unchecked Sendable {
| `- note: add '@available' attribute to enclosing class
22 | let uuid: CBUUID
23 | fileprivate let continuation: AsyncThrowingStream<Data, Error>.Continuation
| `- error: 'AsyncThrowingStream' is only available in macOS 10.15 or newer
24 |
25 | fileprivate init(uuid: CBUUID, continuation: AsyncThrowingStream<Data, Error>.Continuation) {
/Users/admin/builder/spi-builder-workspace/Sources/AsyncBLE/Internal/Bridge/SubscriptionRegistry.swift:25:54: error: 'AsyncThrowingStream' is only available in macOS 10.15 or newer
19 | final class SubscriptionRegistry: @unchecked Sendable {
20 | /// One caller's `notifications(for:)` stream.
21 | final class Subscription: @unchecked Sendable {
| `- note: add '@available' attribute to enclosing class
22 | let uuid: CBUUID
23 | fileprivate let continuation: AsyncThrowingStream<Data, Error>.Continuation
24 |
25 | fileprivate init(uuid: CBUUID, continuation: AsyncThrowingStream<Data, Error>.Continuation) {
| | `- error: 'AsyncThrowingStream' is only available in macOS 10.15 or newer
| `- note: add '@available' attribute to enclosing initializer
26 | self.uuid = uuid
27 | self.continuation = continuation
/Users/admin/builder/spi-builder-workspace/Sources/AsyncBLE/Internal/Bridge/SubscriptionRegistry.swift:69:26: error: 'AsyncThrowingStream' is only available in macOS 10.15 or newer
17 |
18 | /// The live notification streams of one connection.
19 | final class SubscriptionRegistry: @unchecked Sendable {
| `- note: add '@available' attribute to enclosing class
20 | /// One caller's `notifications(for:)` stream.
21 | final class Subscription: @unchecked Sendable {
:
65 | /// while the confirmation is in flight still unsubscribes cleanly. The connection removes
66 | /// it again if the subscribe fails.
67 | func subscribe(
| `- note: add '@available' attribute to enclosing instance method
68 | to uuid: CBUUID,
69 | bufferingPolicy: AsyncThrowingStream<Data, Error>.Continuation.BufferingPolicy
| `- error: 'AsyncThrowingStream' is only available in macOS 10.15 or newer
70 | ) -> (subscription: Subscription, stream: AsyncThrowingStream<Data, Error>) {
71 | var subscription: Subscription?
/Users/admin/builder/spi-builder-workspace/Sources/AsyncBLE/Internal/Bridge/SubscriptionRegistry.swift:70:47: error: 'AsyncThrowingStream' is only available in macOS 10.15 or newer
17 |
18 | /// The live notification streams of one connection.
19 | final class SubscriptionRegistry: @unchecked Sendable {
| `- note: add '@available' attribute to enclosing class
20 | /// One caller's `notifications(for:)` stream.
21 | final class Subscription: @unchecked Sendable {
:
65 | /// while the confirmation is in flight still unsubscribes cleanly. The connection removes
66 | /// it again if the subscribe fails.
67 | func subscribe(
| `- note: add '@available' attribute to enclosing instance method
68 | to uuid: CBUUID,
69 | bufferingPolicy: AsyncThrowingStream<Data, Error>.Continuation.BufferingPolicy
70 | ) -> (subscription: Subscription, stream: AsyncThrowingStream<Data, Error>) {
| `- error: 'AsyncThrowingStream' is only available in macOS 10.15 or newer
71 | var subscription: Subscription?
72 | let stream = AsyncThrowingStream(Data.self, bufferingPolicy: bufferingPolicy) { continuation in
/Users/admin/builder/spi-builder-workspace/Sources/AsyncBLE/Internal/Bridge/SubscriptionRegistry.swift:90:21: error: 'AsyncThrowingStream' is only available in macOS 10.15 or newer
17 |
18 | /// The live notification streams of one connection.
19 | final class SubscriptionRegistry: @unchecked Sendable {
| `- note: add '@available' attribute to enclosing class
20 | /// One caller's `notifications(for:)` stream.
21 | final class Subscription: @unchecked Sendable {
:
86 | /// written inside another closure captures *that* closure's `self`, which Swift 6 rejects as
87 | /// a reference to a captured var from concurrently-executing code.
88 | private func terminator(
| `- note: add '@available' attribute to enclosing instance method
89 | for subscription: Subscription
90 | ) -> @Sendable (AsyncThrowingStream<Data, Error>.Continuation.Termination) -> Void {
| `- error: 'AsyncThrowingStream' is only available in macOS 10.15 or newer
91 | // The weak reference is promoted before the queue hop rather than inside it. A weak
92 | // capture is a `var` — it can become nil — and Swift 6 rejects reading one from
/Users/admin/builder/spi-builder-workspace/Sources/AsyncBLE/Internal/Bridge/SubscriptionRegistry.swift:72:22: error: 'AsyncThrowingStream' is only available in macOS 10.15 or newer
17 |
18 | /// The live notification streams of one connection.
19 | final class SubscriptionRegistry: @unchecked Sendable {
| `- note: add '@available' attribute to enclosing class
20 | /// One caller's `notifications(for:)` stream.
21 | final class Subscription: @unchecked Sendable {
:
65 | /// while the confirmation is in flight still unsubscribes cleanly. The connection removes
66 | /// it again if the subscribe fails.
67 | func subscribe(
| `- note: add '@available' attribute to enclosing instance method
68 | to uuid: CBUUID,
69 | bufferingPolicy: AsyncThrowingStream<Data, Error>.Continuation.BufferingPolicy
70 | ) -> (subscription: Subscription, stream: AsyncThrowingStream<Data, Error>) {
71 | var subscription: Subscription?
72 | let stream = AsyncThrowingStream(Data.self, bufferingPolicy: bufferingPolicy) { continuation in
| |- error: 'AsyncThrowingStream' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
73 | let new = Subscription(uuid: uuid, continuation: continuation)
74 | subscription = new
/Users/admin/builder/spi-builder-workspace/Sources/AsyncBLE/Internal/Connection/Central+Engine.swift:36:51: error: 'Duration' is only available in macOS 13.0 or newer
5 | import Foundation
6 |
7 | extension Central {
| `- note: add '@available' attribute to enclosing extension
8 | /// Waits for the adapter to say something definitive, and throws if that is bad news.
9 | ///
:
34 | /// - peripheralID: Which peripheral.
35 | /// - timeout: The deadline for the attempt, or `nil` to pend indefinitely.
36 | func establish(_ peripheralID: UUID, timeout: Duration?) async throws -> Connection {
| | `- error: 'Duration' is only available in macOS 13.0 or newer
| `- note: add '@available' attribute to enclosing instance method
37 | try await requirePoweredOn()
38 | let connection = try connection(for: peripheralID)
/Users/admin/builder/spi-builder-workspace/Sources/AsyncBLE/Internal/Connection/Central+Engine.swift:71:64: error: 'Duration' is only available in macOS 13.0 or newer
5 | import Foundation
6 |
7 | extension Central {
| `- note: add '@available' attribute to enclosing extension
8 | /// Waits for the adapter to say something definitive, and throws if that is bad news.
9 | ///
:
69 |
70 | /// Suspends until the link comes up, this caller gives up, or the connection ends.
71 | private func waitForLink(on core: ConnectionCore, timeout: Duration?) async throws {
| | `- error: 'Duration' is only available in macOS 13.0 or newer
| `- note: add '@available' attribute to enclosing instance method
72 | let handle = ConnectAttemptHandle()
73 | try await withTaskCancellationHandler {
/Users/admin/builder/spi-builder-workspace/Sources/AsyncBLE/Internal/Connection/Central+Engine.swift:24:9: error: 'makeAsyncIterator()' is only available in macOS 10.15 or newer
5 | import Foundation
6 |
7 | extension Central {
| `- note: add '@available' attribute to enclosing extension
8 | /// Waits for the adapter to say something definitive, and throws if that is bad news.
9 | ///
:
18 |
19 | /// The adapter's state once it is something other than "not yet known".
20 | private func definitiveAdapterState() async -> AdapterState {
| `- note: add '@available' attribute to enclosing instance method
21 | let current = bridge.adapterStates.current
22 | guard current == .unavailable(reason: .unknown) else { return current }
23 |
24 | for await state in bridge.adapterStates.stream() where state != .unavailable(reason: .unknown) {
| |- error: 'makeAsyncIterator()' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
25 | return state
26 | }
/Users/admin/builder/spi-builder-workspace/Sources/AsyncBLE/Internal/Connection/Central+Engine.swift:73:19: error: 'withTaskCancellationHandler(operation:onCancel:isolation:)' is only available in macOS 10.15 or newer
5 | import Foundation
6 |
7 | extension Central {
| `- note: add '@available' attribute to enclosing extension
8 | /// Waits for the adapter to say something definitive, and throws if that is bad news.
9 | ///
:
69 |
70 | /// Suspends until the link comes up, this caller gives up, or the connection ends.
71 | private func waitForLink(on core: ConnectionCore, timeout: Duration?) async throws {
| `- note: add '@available' attribute to enclosing instance method
72 | let handle = ConnectAttemptHandle()
73 | try await withTaskCancellationHandler {
| |- error: 'withTaskCancellationHandler(operation:onCancel:isolation:)' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
74 | try await withCheckedThrowingContinuation { continuation in
75 | handle.begin(core: core, continuation: continuation, timeout: timeout, scheduler: scheduler)
/Users/admin/builder/spi-builder-workspace/Sources/AsyncBLE/Internal/Connection/Central+Engine.swift:74:23: error: 'withCheckedThrowingContinuation(isolation:function:_:)' is only available in macOS 10.15 or newer
5 | import Foundation
6 |
7 | extension Central {
| `- note: add '@available' attribute to enclosing extension
8 | /// Waits for the adapter to say something definitive, and throws if that is bad news.
9 | ///
:
69 |
70 | /// Suspends until the link comes up, this caller gives up, or the connection ends.
71 | private func waitForLink(on core: ConnectionCore, timeout: Duration?) async throws {
| `- note: add '@available' attribute to enclosing instance method
72 | let handle = ConnectAttemptHandle()
73 | try await withTaskCancellationHandler {
74 | try await withCheckedThrowingContinuation { continuation in
| |- error: 'withCheckedThrowingContinuation(isolation:function:_:)' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
75 | handle.begin(core: core, continuation: continuation, timeout: timeout, scheduler: scheduler)
76 | }
/Users/admin/builder/spi-builder-workspace/Sources/AsyncBLE/Internal/Connection/Central+Engine.swift:74:56: error: 'isolation()' is only available in macOS 10.15 or newer
`- /Users/admin/builder/spi-builder-workspace/Sources/AsyncBLE/Internal/Connection/Central+Engine.swift:74:55: note: expanded code originates here
5 | import Foundation
6 |
7 | extension Central {
| `- note: add '@available' attribute to enclosing extension
8 | /// Waits for the adapter to say something definitive, and throws if that is bad news.
9 | ///
:
69 |
70 | /// Suspends until the link comes up, this caller gives up, or the connection ends.
71 | private func waitForLink(on core: ConnectionCore, timeout: Duration?) async throws {
| `- note: add '@available' attribute to enclosing instance method
72 | let handle = ConnectAttemptHandle()
73 | try await withTaskCancellationHandler {
74 | try await withCheckedThrowingContinuation { continuation in
+--- /Users/admin/builder/spi-builder-workspace/Sources/AsyncBLE/Internal/Connection/Central+Engine.swift
|72 |
|73 |
|74 | #isolation
| | `- error: 'isolation()' is only available in macOS 10.15 or newer
+---------------------------------------------------------------------------------------------------------
75 | handle.begin(core: core, continuation: continuation, timeout: timeout, scheduler: scheduler)
76 | }
/Users/admin/builder/spi-builder-workspace/Sources/AsyncBLE/Internal/Connection/Central+Engine.swift:73:48: error: 'isolation()' is only available in macOS 10.15 or newer
`- /Users/admin/builder/spi-builder-workspace/Sources/AsyncBLE/Internal/Connection/Central+Engine.swift:73:47: note: expanded code originates here
5 | import Foundation
6 |
7 | extension Central {
| `- note: add '@available' attribute to enclosing extension
8 | /// Waits for the adapter to say something definitive, and throws if that is bad news.
9 | ///
:
69 |
70 | /// Suspends until the link comes up, this caller gives up, or the connection ends.
71 | private func waitForLink(on core: ConnectionCore, timeout: Duration?) async throws {
| `- note: add '@available' attribute to enclosing instance method
72 | let handle = ConnectAttemptHandle()
73 | try await withTaskCancellationHandler {
+--- /Users/admin/builder/spi-builder-workspace/Sources/AsyncBLE/Internal/Connection/Central+Engine.swift
|71 |
|72 |
|73 | #isolation
| | `- error: 'isolation()' is only available in macOS 10.15 or newer
+---------------------------------------------------------------------------------------------------------
74 | try await withCheckedThrowingContinuation { continuation in
75 | handle.begin(core: core, continuation: continuation, timeout: timeout, scheduler: scheduler)
/Users/admin/builder/spi-builder-workspace/Sources/AsyncBLE/Internal/Connection/ConnectAttempt.swift:15:31: error: 'CheckedContinuation' is only available in macOS 10.15 or newer
12 |
13 | /// A continuation that can be resumed from several places and will only resume once.
14 | final class ResumeOnce: @unchecked Sendable {
| `- note: add '@available' attribute to enclosing class
15 | private var continuation: CheckedContinuation<Void, Error>?
| `- error: 'CheckedContinuation' is only available in macOS 10.15 or newer
16 |
17 | init(_ continuation: CheckedContinuation<Void, Error>) {
/Users/admin/builder/spi-builder-workspace/Sources/AsyncBLE/Internal/Connection/ConnectAttempt.swift:17:26: error: 'CheckedContinuation' is only available in macOS 10.15 or newer
12 |
13 | /// A continuation that can be resumed from several places and will only resume once.
14 | final class ResumeOnce: @unchecked Sendable {
| `- note: add '@available' attribute to enclosing class
15 | private var continuation: CheckedContinuation<Void, Error>?
16 |
17 | init(_ continuation: CheckedContinuation<Void, Error>) {
| | `- error: 'CheckedContinuation' is only available in macOS 10.15 or newer
| `- note: add '@available' attribute to enclosing initializer
18 | self.continuation = continuation
19 | }
/Users/admin/builder/spi-builder-workspace/Sources/AsyncBLE/Internal/Connection/ConnectAttempt.swift:48:23: error: 'CheckedContinuation' is only available in macOS 10.15 or newer
28 |
29 | /// One caller waiting for a connection to come up.
30 | final class ConnectAttemptHandle: @unchecked Sendable {
| `- note: add '@available' attribute to enclosing class
31 | private var once: ResumeOnce?
32 | private var core: ConnectionCore?
:
44 | /// gets its deadline from the state machine instead, so the two never both fire.
45 | /// - scheduler: Where the deadline is armed.
46 | func begin(
| `- note: add '@available' attribute to enclosing instance method
47 | core: ConnectionCore,
48 | continuation: CheckedContinuation<Void, Error>,
| `- error: 'CheckedContinuation' is only available in macOS 10.15 or newer
49 | timeout: Duration?,
50 | scheduler: Scheduler
/Users/admin/builder/spi-builder-workspace/Sources/AsyncBLE/Internal/Connection/ConnectAttempt.swift:49:18: error: 'Duration' is only available in macOS 13.0 or newer
28 |
29 | /// One caller waiting for a connection to come up.
30 | final class ConnectAttemptHandle: @unchecked Sendable {
| `- note: add '@available' attribute to enclosing class
31 | private var once: ResumeOnce?
32 | private var core: ConnectionCore?
:
44 | /// gets its deadline from the state machine instead, so the two never both fire.
45 | /// - scheduler: Where the deadline is armed.
46 | func begin(
| `- note: add '@available' attribute to enclosing instance method
47 | core: ConnectionCore,
48 | continuation: CheckedContinuation<Void, Error>,
49 | timeout: Duration?,
| `- error: 'Duration' is only available in macOS 13.0 or newer
50 | scheduler: Scheduler
51 | ) {
/Users/admin/builder/spi-builder-workspace/Sources/AsyncBLE/Internal/Connection/ConnectAttempt.swift:25:22: error: 'resume(with:)' is only available in macOS 10.15 or newer
12 |
13 | /// A continuation that can be resumed from several places and will only resume once.
14 | final class ResumeOnce: @unchecked Sendable {
| `- note: add '@available' attribute to enclosing class
15 | private var continuation: CheckedContinuation<Void, Error>?
16 |
:
20 |
21 | /// Resumes, unless something already did.
22 | func resume(_ result: Result<Void, Error>) {
| `- note: add '@available' attribute to enclosing instance method
23 | guard let continuation else { return }
24 | self.continuation = nil
25 | continuation.resume(with: result)
| |- error: 'resume(with:)' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
26 | }
27 | }
/Users/admin/builder/spi-builder-workspace/Sources/AsyncBLE/Internal/Connection/ConnectAttempt.swift:58:34: error: 'CancellationError' is only available in macOS 10.15 or newer
28 |
29 | /// One caller waiting for a connection to come up.
30 | final class ConnectAttemptHandle: @unchecked Sendable {
| `- note: add '@available' attribute to enclosing class
31 | private var once: ResumeOnce?
32 | private var core: ConnectionCore?
:
44 | /// gets its deadline from the state machine instead, so the two never both fire.
45 | /// - scheduler: Where the deadline is armed.
46 | func begin(
| `- note: add '@available' attribute to enclosing instance method
47 | core: ConnectionCore,
48 | continuation: CheckedContinuation<Void, Error>,
:
56 | guard !cancelledBeforeStart else {
57 | // The caller's task was cancelled before this even got to run.
58 | once.resume(.failure(CancellationError()))
| |- error: 'CancellationError' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
59 | return
60 | }
/Users/admin/builder/spi-builder-workspace/Sources/AsyncBLE/Internal/Connection/ConnectAttempt.swift:80:31: error: 'CancellationError' is only available in macOS 10.15 or newer
28 |
29 | /// One caller waiting for a connection to come up.
30 | final class ConnectAttemptHandle: @unchecked Sendable {
| `- note: add '@available' attribute to enclosing class
31 | private var once: ResumeOnce?
32 | private var core: ConnectionCore?
:
75 | /// The caller went away. Detach it, and let the connection decide whether the attempt has
76 | /// anyone left to serve.
77 | func cancel() {
| `- note: add '@available' attribute to enclosing instance method
78 | cancelledBeforeStart = true
79 | detach()
80 | once?.resume(.failure(CancellationError()))
| |- error: 'CancellationError' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
81 | }
82 |
/Users/admin/builder/spi-builder-workspace/Sources/AsyncBLE/Internal/Connection/Connection+Engine.swift:20:19: error: 'withCheckedThrowingContinuation(isolation:function:_:)' is only available in macOS 10.15 or newer
10 | import Foundation
11 |
12 | extension Connection {
| `- note: add '@available' attribute to enclosing extension
13 | /// Suspends until the engine hands back a result.
14 | ///
15 | /// - Parameter register: Parks a callback with the engine. Runs synchronously, on the
16 | /// library queue, before this function suspends.
17 | func suspend<T: Sendable>(
| `- note: add '@available' attribute to enclosing instance method
18 | _ register: (@escaping @Sendable (Result<T, Error>) -> Void) -> Void
19 | ) async throws -> T {
20 | try await withCheckedThrowingContinuation { continuation in
| |- error: 'withCheckedThrowingContinuation(isolation:function:_:)' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
21 | register { continuation.resume(with: $0) }
22 | }
/Users/admin/builder/spi-builder-workspace/Sources/AsyncBLE/Internal/Connection/Connection+Engine.swift:21:37: error: 'resume(with:)' is only available in macOS 10.15 or newer
10 | import Foundation
11 |
12 | extension Connection {
| `- note: add '@available' attribute to enclosing extension
13 | /// Suspends until the engine hands back a result.
14 | ///
15 | /// - Parameter register: Parks a callback with the engine. Runs synchronously, on the
16 | /// library queue, before this function suspends.
17 | func suspend<T: Sendable>(
| `- note: add '@available' attribute to enclosing instance method
18 | _ register: (@escaping @Sendable (Result<T, Error>) -> Void) -> Void
19 | ) async throws -> T {
20 | try await withCheckedThrowingContinuation { continuation in
21 | register { continuation.resume(with: $0) }
| |- error: 'resume(with:)' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
22 | }
23 | }
/Users/admin/builder/spi-builder-workspace/Sources/AsyncBLE/Internal/Connection/Connection+Engine.swift:20:52: error: 'isolation()' is only available in macOS 10.15 or newer
`- /Users/admin/builder/spi-builder-workspace/Sources/AsyncBLE/Internal/Connection/Connection+Engine.swift:20:51: note: expanded code originates here
10 | import Foundation
11 |
12 | extension Connection {
| `- note: add '@available' attribute to enclosing extension
13 | /// Suspends until the engine hands back a result.
14 | ///
15 | /// - Parameter register: Parks a callback with the engine. Runs synchronously, on the
16 | /// library queue, before this function suspends.
17 | func suspend<T: Sendable>(
| `- note: add '@available' attribute to enclosing instance method
18 | _ register: (@escaping @Sendable (Result<T, Error>) -> Void) -> Void
19 | ) async throws -> T {
20 | try await withCheckedThrowingContinuation { continuation in
+--- /Users/admin/builder/spi-builder-workspace/Sources/AsyncBLE/Internal/Connection/Connection+Engine.swift
|18 |
|19 |
|20 | #isolation
| | `- error: 'isolation()' is only available in macOS 10.15 or newer
+------------------------------------------------------------------------------------------------------------
21 | register { continuation.resume(with: $0) }
22 | }
/Users/admin/builder/spi-builder-workspace/Sources/AsyncBLE/Internal/Connection/Connection+Engine.swift:31:19: error: 'withTaskCancellationHandler(operation:onCancel:isolation:)' is only available in macOS 10.15 or newer
10 | import Foundation
11 |
12 | extension Connection {
| `- note: add '@available' attribute to enclosing extension
13 | /// Suspends until the engine hands back a result.
14 | ///
:
28 | /// move on. A cancellation that arrives once the operation is already running is ignored:
29 | /// CoreBluetooth has no way to withdraw a read or a write that is on the wire.
30 | func waitForTurn(_ ticket: IOQueue.Ticket) async throws {
| `- note: add '@available' attribute to enclosing instance method
31 | try await withTaskCancellationHandler {
| |- error: 'withTaskCancellationHandler(operation:onCancel:isolation:)' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
32 | try await suspend { resume in
33 | core.attachTurn({ resume($0) }, to: ticket)
/Users/admin/builder/spi-builder-workspace/Sources/AsyncBLE/Internal/Connection/Connection+Engine.swift:31:48: error: 'isolation()' is only available in macOS 10.15 or newer
`- /Users/admin/builder/spi-builder-workspace/Sources/AsyncBLE/Internal/Connection/Connection+Engine.swift:31:47: note: expanded code originates here
10 | import Foundation
11 |
12 | extension Connection {
| `- note: add '@available' attribute to enclosing extension
13 | /// Suspends until the engine hands back a result.
14 | ///
:
28 | /// move on. A cancellation that arrives once the operation is already running is ignored:
29 | /// CoreBluetooth has no way to withdraw a read or a write that is on the wire.
30 | func waitForTurn(_ ticket: IOQueue.Ticket) async throws {
| `- note: add '@available' attribute to enclosing instance method
31 | try await withTaskCancellationHandler {
+--- /Users/admin/builder/spi-builder-workspace/Sources/AsyncBLE/Internal/Connection/Connection+Engine.swift
|29 |
|30 |
|31 | #isolation
| | `- error: 'isolation()' is only available in macOS 10.15 or newer
+------------------------------------------------------------------------------------------------------------
32 | try await suspend { resume in
33 | core.attachTurn({ resume($0) }, to: ticket)
[24/43] Compiling AsyncBLE Connection+Typed.swift
/Users/admin/builder/spi-builder-workspace/Sources/AsyncBLE/Public/Connection+Typed.swift:62:26: error: 'AsyncThrowingStream' is only available in macOS 10.15 or newer
8 | import Foundation
9 |
10 | extension Connection {
| `- note: add '@available' attribute to enclosing extension
11 | /// Reads a characteristic and decodes it.
12 | ///
:
58 | /// - Returns: A stream of decoded values.
59 | /// - Throws: Everything ``notifications(for:bufferingPolicy:)->AsyncThrowingStream<Data,Error>`` throws.
60 | public func notifications<Value: CharacteristicDecodable>(
| `- note: add '@available' attribute to enclosing instance method
61 | for characteristic: Characteristic<Value>,
62 | bufferingPolicy: AsyncThrowingStream<Data, Error>.Continuation.BufferingPolicy =
| `- error: 'AsyncThrowingStream' is only available in macOS 10.15 or newer
63 | .bufferingNewest(256)
64 | ) async throws -> AsyncThrowingMapSequence<AsyncThrowingStream<Data, Error>, Value> {
/Users/admin/builder/spi-builder-workspace/Sources/AsyncBLE/Public/Connection+Typed.swift:64:23: error: 'AsyncThrowingMapSequence' is only available in macOS 10.15 or newer
8 | import Foundation
9 |
10 | extension Connection {
| `- note: add '@available' attribute to enclosing extension
11 | /// Reads a characteristic and decodes it.
12 | ///
:
58 | /// - Returns: A stream of decoded values.
59 | /// - Throws: Everything ``notifications(for:bufferingPolicy:)->AsyncThrowingStream<Data,Error>`` throws.
60 | public func notifications<Value: CharacteristicDecodable>(
| `- note: add '@available' attribute to enclosing instance method
61 | for characteristic: Characteristic<Value>,
62 | bufferingPolicy: AsyncThrowingStream<Data, Error>.Continuation.BufferingPolicy =
63 | .bufferingNewest(256)
64 | ) async throws -> AsyncThrowingMapSequence<AsyncThrowingStream<Data, Error>, Value> {
| `- error: 'AsyncThrowingMapSequence' is only available in macOS 10.15 or newer
65 | // `map` rather than a second stream fed by a pump task: the transform is 1:1, so a
66 | // second buffer would only mean the caller's bound was applied twice — and decoding
/Users/admin/builder/spi-builder-workspace/Sources/AsyncBLE/Public/Connection+Typed.swift:69:14: error: 'map' is only available in macOS 10.15 or newer
8 | import Foundation
9 |
10 | extension Connection {
| `- note: add '@available' attribute to enclosing extension
11 | /// Reads a characteristic and decodes it.
12 | ///
:
58 | /// - Returns: A stream of decoded values.
59 | /// - Throws: Everything ``notifications(for:bufferingPolicy:)->AsyncThrowingStream<Data,Error>`` throws.
60 | public func notifications<Value: CharacteristicDecodable>(
| `- note: add '@available' attribute to enclosing instance method
61 | for characteristic: Characteristic<Value>,
62 | bufferingPolicy: AsyncThrowingStream<Data, Error>.Continuation.BufferingPolicy =
:
67 | // in the consumer's own context saves a hop off the library queue per packet.
68 | try await notifications(for: characteristic.id, bufferingPolicy: bufferingPolicy)
69 | .map { try Self.decode($0, for: characteristic) }
| |- error: 'map' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
70 | }
71 |
/Users/admin/builder/spi-builder-workspace/Sources/AsyncBLE/Public/Connection.swift:75:45: error: 'UnownedSerialExecutor' is only available in macOS 10.15 or newer
39 | /// Without it, actor reentrancy would let concurrent callers interleave at suspension points
40 | /// and reorder packets.
41 | public actor Connection {
| `- note: add '@available' attribute to enclosing actor
42 | /// Whether a write waits for the peripheral to acknowledge it.
43 | public enum WriteMode: Sendable, Equatable {
:
73 | /// this actor and CoreBluetooth's delegate callbacks mutually exclusive, which in turn is
74 | /// what makes ``withRaw(_:)`` safe.
75 | nonisolated public var unownedExecutor: UnownedSerialExecutor {
| | `- error: 'UnownedSerialExecutor' is only available in macOS 10.15 or newer
| `- note: add '@available' attribute to enclosing property
76 | library.unownedExecutor
77 | }
/Users/admin/builder/spi-builder-workspace/Sources/AsyncBLE/Public/Connection.swift:98:36: error: 'AsyncStream' is only available in macOS 10.15 or newer
39 | /// Without it, actor reentrancy would let concurrent callers interleave at suspension points
40 | /// and reorder packets.
41 | public actor Connection {
| `- note: add '@available' attribute to enclosing actor
42 | /// Whether a write waits for the peripheral to acknowledge it.
43 | public enum WriteMode: Sendable, Equatable {
:
96 | /// }
97 | /// ```
98 | nonisolated public var states: AsyncStream<ConnectionState> {
| | `- error: 'AsyncStream' is only available in macOS 10.15 or newer
| `- note: add '@available' attribute to enclosing property
99 | core.states.stream()
100 | }
/Users/admin/builder/spi-builder-workspace/Sources/AsyncBLE/Public/Connection.swift:239:26: error: 'AsyncThrowingStream' is only available in macOS 10.15 or newer
39 | /// Without it, actor reentrancy would let concurrent callers interleave at suspension points
40 | /// and reorder packets.
41 | public actor Connection {
| `- note: add '@available' attribute to enclosing actor
42 | /// Whether a write waits for the peripheral to acknowledge it.
43 | public enum WriteMode: Sendable, Equatable {
:
235 | /// ``BluetoothError/operationFailed(underlying:)`` if the peripheral refuses the
236 | /// subscription, or ``BluetoothError/disconnected(reason:)`` if the link is down.
237 | public func notifications(
| `- note: add '@available' attribute to enclosing instance method
238 | for characteristic: CharacteristicID,
239 | bufferingPolicy: AsyncThrowingStream<Data, Error>.Continuation.BufferingPolicy = .bufferingNewest(256)
| `- error: 'AsyncThrowingStream' is only available in macOS 10.15 or newer
240 | ) async throws -> AsyncThrowingStream<Data, Error> {
241 | let ticket = core.enqueue()
/Users/admin/builder/spi-builder-workspace/Sources/AsyncBLE/Public/Connection.swift:240:23: error: 'AsyncThrowingStream' is only available in macOS 10.15 or newer
39 | /// Without it, actor reentrancy would let concurrent callers interleave at suspension points
40 | /// and reorder packets.
41 | public actor Connection {
| `- note: add '@available' attribute to enclosing actor
42 | /// Whether a write waits for the peripheral to acknowledge it.
43 | public enum WriteMode: Sendable, Equatable {
:
235 | /// ``BluetoothError/operationFailed(underlying:)`` if the peripheral refuses the
236 | /// subscription, or ``BluetoothError/disconnected(reason:)`` if the link is down.
237 | public func notifications(
| `- note: add '@available' attribute to enclosing instance method
238 | for characteristic: CharacteristicID,
239 | bufferingPolicy: AsyncThrowingStream<Data, Error>.Continuation.BufferingPolicy = .bufferingNewest(256)
240 | ) async throws -> AsyncThrowingStream<Data, Error> {
| `- error: 'AsyncThrowingStream' is only available in macOS 10.15 or newer
241 | let ticket = core.enqueue()
242 | defer { core.complete(ticket) }
[25/43] Compiling AsyncBLE Connection.swift
/Users/admin/builder/spi-builder-workspace/Sources/AsyncBLE/Public/Connection+Typed.swift:62:26: error: 'AsyncThrowingStream' is only available in macOS 10.15 or newer
8 | import Foundation
9 |
10 | extension Connection {
| `- note: add '@available' attribute to enclosing extension
11 | /// Reads a characteristic and decodes it.
12 | ///
:
58 | /// - Returns: A stream of decoded values.
59 | /// - Throws: Everything ``notifications(for:bufferingPolicy:)->AsyncThrowingStream<Data,Error>`` throws.
60 | public func notifications<Value: CharacteristicDecodable>(
| `- note: add '@available' attribute to enclosing instance method
61 | for characteristic: Characteristic<Value>,
62 | bufferingPolicy: AsyncThrowingStream<Data, Error>.Continuation.BufferingPolicy =
| `- error: 'AsyncThrowingStream' is only available in macOS 10.15 or newer
63 | .bufferingNewest(256)
64 | ) async throws -> AsyncThrowingMapSequence<AsyncThrowingStream<Data, Error>, Value> {
/Users/admin/builder/spi-builder-workspace/Sources/AsyncBLE/Public/Connection+Typed.swift:64:23: error: 'AsyncThrowingMapSequence' is only available in macOS 10.15 or newer
8 | import Foundation
9 |
10 | extension Connection {
| `- note: add '@available' attribute to enclosing extension
11 | /// Reads a characteristic and decodes it.
12 | ///
:
58 | /// - Returns: A stream of decoded values.
59 | /// - Throws: Everything ``notifications(for:bufferingPolicy:)->AsyncThrowingStream<Data,Error>`` throws.
60 | public func notifications<Value: CharacteristicDecodable>(
| `- note: add '@available' attribute to enclosing instance method
61 | for characteristic: Characteristic<Value>,
62 | bufferingPolicy: AsyncThrowingStream<Data, Error>.Continuation.BufferingPolicy =
63 | .bufferingNewest(256)
64 | ) async throws -> AsyncThrowingMapSequence<AsyncThrowingStream<Data, Error>, Value> {
| `- error: 'AsyncThrowingMapSequence' is only available in macOS 10.15 or newer
65 | // `map` rather than a second stream fed by a pump task: the transform is 1:1, so a
66 | // second buffer would only mean the caller's bound was applied twice — and decoding
/Users/admin/builder/spi-builder-workspace/Sources/AsyncBLE/Public/Connection+Typed.swift:69:14: error: 'map' is only available in macOS 10.15 or newer
8 | import Foundation
9 |
10 | extension Connection {
| `- note: add '@available' attribute to enclosing extension
11 | /// Reads a characteristic and decodes it.
12 | ///
:
58 | /// - Returns: A stream of decoded values.
59 | /// - Throws: Everything ``notifications(for:bufferingPolicy:)->AsyncThrowingStream<Data,Error>`` throws.
60 | public func notifications<Value: CharacteristicDecodable>(
| `- note: add '@available' attribute to enclosing instance method
61 | for characteristic: Characteristic<Value>,
62 | bufferingPolicy: AsyncThrowingStream<Data, Error>.Continuation.BufferingPolicy =
:
67 | // in the consumer's own context saves a hop off the library queue per packet.
68 | try await notifications(for: characteristic.id, bufferingPolicy: bufferingPolicy)
69 | .map { try Self.decode($0, for: characteristic) }
| |- error: 'map' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
70 | }
71 |
/Users/admin/builder/spi-builder-workspace/Sources/AsyncBLE/Public/Connection.swift:75:45: error: 'UnownedSerialExecutor' is only available in macOS 10.15 or newer
39 | /// Without it, actor reentrancy would let concurrent callers interleave at suspension points
40 | /// and reorder packets.
41 | public actor Connection {
| `- note: add '@available' attribute to enclosing actor
42 | /// Whether a write waits for the peripheral to acknowledge it.
43 | public enum WriteMode: Sendable, Equatable {
:
73 | /// this actor and CoreBluetooth's delegate callbacks mutually exclusive, which in turn is
74 | /// what makes ``withRaw(_:)`` safe.
75 | nonisolated public var unownedExecutor: UnownedSerialExecutor {
| | `- error: 'UnownedSerialExecutor' is only available in macOS 10.15 or newer
| `- note: add '@available' attribute to enclosing property
76 | library.unownedExecutor
77 | }
/Users/admin/builder/spi-builder-workspace/Sources/AsyncBLE/Public/Connection.swift:98:36: error: 'AsyncStream' is only available in macOS 10.15 or newer
39 | /// Without it, actor reentrancy would let concurrent callers interleave at suspension points
40 | /// and reorder packets.
41 | public actor Connection {
| `- note: add '@available' attribute to enclosing actor
42 | /// Whether a write waits for the peripheral to acknowledge it.
43 | public enum WriteMode: Sendable, Equatable {
:
96 | /// }
97 | /// ```
98 | nonisolated public var states: AsyncStream<ConnectionState> {
| | `- error: 'AsyncStream' is only available in macOS 10.15 or newer
| `- note: add '@available' attribute to enclosing property
99 | core.states.stream()
100 | }
/Users/admin/builder/spi-builder-workspace/Sources/AsyncBLE/Public/Connection.swift:239:26: error: 'AsyncThrowingStream' is only available in macOS 10.15 or newer
39 | /// Without it, actor reentrancy would let concurrent callers interleave at suspension points
40 | /// and reorder packets.
41 | public actor Connection {
| `- note: add '@available' attribute to enclosing actor
42 | /// Whether a write waits for the peripheral to acknowledge it.
43 | public enum WriteMode: Sendable, Equatable {
:
235 | /// ``BluetoothError/operationFailed(underlying:)`` if the peripheral refuses the
236 | /// subscription, or ``BluetoothError/disconnected(reason:)`` if the link is down.
237 | public func notifications(
| `- note: add '@available' attribute to enclosing instance method
238 | for characteristic: CharacteristicID,
239 | bufferingPolicy: AsyncThrowingStream<Data, Error>.Continuation.BufferingPolicy = .bufferingNewest(256)
| `- error: 'AsyncThrowingStream' is only available in macOS 10.15 or newer
240 | ) async throws -> AsyncThrowingStream<Data, Error> {
241 | let ticket = core.enqueue()
/Users/admin/builder/spi-builder-workspace/Sources/AsyncBLE/Public/Connection.swift:240:23: error: 'AsyncThrowingStream' is only available in macOS 10.15 or newer
39 | /// Without it, actor reentrancy would let concurrent callers interleave at suspension points
40 | /// and reorder packets.
41 | public actor Connection {
| `- note: add '@available' attribute to enclosing actor
42 | /// Whether a write waits for the peripheral to acknowledge it.
43 | public enum WriteMode: Sendable, Equatable {
:
235 | /// ``BluetoothError/operationFailed(underlying:)`` if the peripheral refuses the
236 | /// subscription, or ``BluetoothError/disconnected(reason:)`` if the link is down.
237 | public func notifications(
| `- note: add '@available' attribute to enclosing instance method
238 | for characteristic: CharacteristicID,
239 | bufferingPolicy: AsyncThrowingStream<Data, Error>.Continuation.BufferingPolicy = .bufferingNewest(256)
240 | ) async throws -> AsyncThrowingStream<Data, Error> {
| `- error: 'AsyncThrowingStream' is only available in macOS 10.15 or newer
241 | let ticket = core.enqueue()
242 | defer { core.complete(ticket) }
[26/43] Compiling AsyncBLE ConnectionState.swift
/Users/admin/builder/spi-builder-workspace/Sources/AsyncBLE/Public/Connection+Typed.swift:62:26: error: 'AsyncThrowingStream' is only available in macOS 10.15 or newer
8 | import Foundation
9 |
10 | extension Connection {
| `- note: add '@available' attribute to enclosing extension
11 | /// Reads a characteristic and decodes it.
12 | ///
:
58 | /// - Returns: A stream of decoded values.
59 | /// - Throws: Everything ``notifications(for:bufferingPolicy:)->AsyncThrowingStream<Data,Error>`` throws.
60 | public func notifications<Value: CharacteristicDecodable>(
| `- note: add '@available' attribute to enclosing instance method
61 | for characteristic: Characteristic<Value>,
62 | bufferingPolicy: AsyncThrowingStream<Data, Error>.Continuation.BufferingPolicy =
| `- error: 'AsyncThrowingStream' is only available in macOS 10.15 or newer
63 | .bufferingNewest(256)
64 | ) async throws -> AsyncThrowingMapSequence<AsyncThrowingStream<Data, Error>, Value> {
/Users/admin/builder/spi-builder-workspace/Sources/AsyncBLE/Public/Connection+Typed.swift:64:23: error: 'AsyncThrowingMapSequence' is only available in macOS 10.15 or newer
8 | import Foundation
9 |
10 | extension Connection {
| `- note: add '@available' attribute to enclosing extension
11 | /// Reads a characteristic and decodes it.
12 | ///
:
58 | /// - Returns: A stream of decoded values.
59 | /// - Throws: Everything ``notifications(for:bufferingPolicy:)->AsyncThrowingStream<Data,Error>`` throws.
60 | public func notifications<Value: CharacteristicDecodable>(
| `- note: add '@available' attribute to enclosing instance method
61 | for characteristic: Characteristic<Value>,
62 | bufferingPolicy: AsyncThrowingStream<Data, Error>.Continuation.BufferingPolicy =
63 | .bufferingNewest(256)
64 | ) async throws -> AsyncThrowingMapSequence<AsyncThrowingStream<Data, Error>, Value> {
| `- error: 'AsyncThrowingMapSequence' is only available in macOS 10.15 or newer
65 | // `map` rather than a second stream fed by a pump task: the transform is 1:1, so a
66 | // second buffer would only mean the caller's bound was applied twice — and decoding
/Users/admin/builder/spi-builder-workspace/Sources/AsyncBLE/Public/Connection+Typed.swift:69:14: error: 'map' is only available in macOS 10.15 or newer
8 | import Foundation
9 |
10 | extension Connection {
| `- note: add '@available' attribute to enclosing extension
11 | /// Reads a characteristic and decodes it.
12 | ///
:
58 | /// - Returns: A stream of decoded values.
59 | /// - Throws: Everything ``notifications(for:bufferingPolicy:)->AsyncThrowingStream<Data,Error>`` throws.
60 | public func notifications<Value: CharacteristicDecodable>(
| `- note: add '@available' attribute to enclosing instance method
61 | for characteristic: Characteristic<Value>,
62 | bufferingPolicy: AsyncThrowingStream<Data, Error>.Continuation.BufferingPolicy =
:
67 | // in the consumer's own context saves a hop off the library queue per packet.
68 | try await notifications(for: characteristic.id, bufferingPolicy: bufferingPolicy)
69 | .map { try Self.decode($0, for: characteristic) }
| |- error: 'map' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
70 | }
71 |
/Users/admin/builder/spi-builder-workspace/Sources/AsyncBLE/Public/Connection.swift:75:45: error: 'UnownedSerialExecutor' is only available in macOS 10.15 or newer
39 | /// Without it, actor reentrancy would let concurrent callers interleave at suspension points
40 | /// and reorder packets.
41 | public actor Connection {
| `- note: add '@available' attribute to enclosing actor
42 | /// Whether a write waits for the peripheral to acknowledge it.
43 | public enum WriteMode: Sendable, Equatable {
:
73 | /// this actor and CoreBluetooth's delegate callbacks mutually exclusive, which in turn is
74 | /// what makes ``withRaw(_:)`` safe.
75 | nonisolated public var unownedExecutor: UnownedSerialExecutor {
| | `- error: 'UnownedSerialExecutor' is only available in macOS 10.15 or newer
| `- note: add '@available' attribute to enclosing property
76 | library.unownedExecutor
77 | }
/Users/admin/builder/spi-builder-workspace/Sources/AsyncBLE/Public/Connection.swift:98:36: error: 'AsyncStream' is only available in macOS 10.15 or newer
39 | /// Without it, actor reentrancy would let concurrent callers interleave at suspension points
40 | /// and reorder packets.
41 | public actor Connection {
| `- note: add '@available' attribute to enclosing actor
42 | /// Whether a write waits for the peripheral to acknowledge it.
43 | public enum WriteMode: Sendable, Equatable {
:
96 | /// }
97 | /// ```
98 | nonisolated public var states: AsyncStream<ConnectionState> {
| | `- error: 'AsyncStream' is only available in macOS 10.15 or newer
| `- note: add '@available' attribute to enclosing property
99 | core.states.stream()
100 | }
/Users/admin/builder/spi-builder-workspace/Sources/AsyncBLE/Public/Connection.swift:239:26: error: 'AsyncThrowingStream' is only available in macOS 10.15 or newer
39 | /// Without it, actor reentrancy would let concurrent callers interleave at suspension points
40 | /// and reorder packets.
41 | public actor Connection {
| `- note: add '@available' attribute to enclosing actor
42 | /// Whether a write waits for the peripheral to acknowledge it.
43 | public enum WriteMode: Sendable, Equatable {
:
235 | /// ``BluetoothError/operationFailed(underlying:)`` if the peripheral refuses the
236 | /// subscription, or ``BluetoothError/disconnected(reason:)`` if the link is down.
237 | public func notifications(
| `- note: add '@available' attribute to enclosing instance method
238 | for characteristic: CharacteristicID,
239 | bufferingPolicy: AsyncThrowingStream<Data, Error>.Continuation.BufferingPolicy = .bufferingNewest(256)
| `- error: 'AsyncThrowingStream' is only available in macOS 10.15 or newer
240 | ) async throws -> AsyncThrowingStream<Data, Error> {
241 | let ticket = core.enqueue()
/Users/admin/builder/spi-builder-workspace/Sources/AsyncBLE/Public/Connection.swift:240:23: error: 'AsyncThrowingStream' is only available in macOS 10.15 or newer
39 | /// Without it, actor reentrancy would let concurrent callers interleave at suspension points
40 | /// and reorder packets.
41 | public actor Connection {
| `- note: add '@available' attribute to enclosing actor
42 | /// Whether a write waits for the peripheral to acknowledge it.
43 | public enum WriteMode: Sendable, Equatable {
:
235 | /// ``BluetoothError/operationFailed(underlying:)`` if the peripheral refuses the
236 | /// subscription, or ``BluetoothError/disconnected(reason:)`` if the link is down.
237 | public func notifications(
| `- note: add '@available' attribute to enclosing instance method
238 | for characteristic: CharacteristicID,
239 | bufferingPolicy: AsyncThrowingStream<Data, Error>.Continuation.BufferingPolicy = .bufferingNewest(256)
240 | ) async throws -> AsyncThrowingStream<Data, Error> {
| `- error: 'AsyncThrowingStream' is only available in macOS 10.15 or newer
241 | let ticket = core.enqueue()
242 | defer { core.complete(ticket) }
[27/43] Compiling AsyncBLE DisconnectReason.swift
/Users/admin/builder/spi-builder-workspace/Sources/AsyncBLE/Public/Connection+Typed.swift:62:26: error: 'AsyncThrowingStream' is only available in macOS 10.15 or newer
8 | import Foundation
9 |
10 | extension Connection {
| `- note: add '@available' attribute to enclosing extension
11 | /// Reads a characteristic and decodes it.
12 | ///
:
58 | /// - Returns: A stream of decoded values.
59 | /// - Throws: Everything ``notifications(for:bufferingPolicy:)->AsyncThrowingStream<Data,Error>`` throws.
60 | public func notifications<Value: CharacteristicDecodable>(
| `- note: add '@available' attribute to enclosing instance method
61 | for characteristic: Characteristic<Value>,
62 | bufferingPolicy: AsyncThrowingStream<Data, Error>.Continuation.BufferingPolicy =
| `- error: 'AsyncThrowingStream' is only available in macOS 10.15 or newer
63 | .bufferingNewest(256)
64 | ) async throws -> AsyncThrowingMapSequence<AsyncThrowingStream<Data, Error>, Value> {
/Users/admin/builder/spi-builder-workspace/Sources/AsyncBLE/Public/Connection+Typed.swift:64:23: error: 'AsyncThrowingMapSequence' is only available in macOS 10.15 or newer
8 | import Foundation
9 |
10 | extension Connection {
| `- note: add '@available' attribute to enclosing extension
11 | /// Reads a characteristic and decodes it.
12 | ///
:
58 | /// - Returns: A stream of decoded values.
59 | /// - Throws: Everything ``notifications(for:bufferingPolicy:)->AsyncThrowingStream<Data,Error>`` throws.
60 | public func notifications<Value: CharacteristicDecodable>(
| `- note: add '@available' attribute to enclosing instance method
61 | for characteristic: Characteristic<Value>,
62 | bufferingPolicy: AsyncThrowingStream<Data, Error>.Continuation.BufferingPolicy =
63 | .bufferingNewest(256)
64 | ) async throws -> AsyncThrowingMapSequence<AsyncThrowingStream<Data, Error>, Value> {
| `- error: 'AsyncThrowingMapSequence' is only available in macOS 10.15 or newer
65 | // `map` rather than a second stream fed by a pump task: the transform is 1:1, so a
66 | // second buffer would only mean the caller's bound was applied twice — and decoding
/Users/admin/builder/spi-builder-workspace/Sources/AsyncBLE/Public/Connection+Typed.swift:69:14: error: 'map' is only available in macOS 10.15 or newer
8 | import Foundation
9 |
10 | extension Connection {
| `- note: add '@available' attribute to enclosing extension
11 | /// Reads a characteristic and decodes it.
12 | ///
:
58 | /// - Returns: A stream of decoded values.
59 | /// - Throws: Everything ``notifications(for:bufferingPolicy:)->AsyncThrowingStream<Data,Error>`` throws.
60 | public func notifications<Value: CharacteristicDecodable>(
| `- note: add '@available' attribute to enclosing instance method
61 | for characteristic: Characteristic<Value>,
62 | bufferingPolicy: AsyncThrowingStream<Data, Error>.Continuation.BufferingPolicy =
:
67 | // in the consumer's own context saves a hop off the library queue per packet.
68 | try await notifications(for: characteristic.id, bufferingPolicy: bufferingPolicy)
69 | .map { try Self.decode($0, for: characteristic) }
| |- error: 'map' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
70 | }
71 |
/Users/admin/builder/spi-builder-workspace/Sources/AsyncBLE/Public/Connection.swift:75:45: error: 'UnownedSerialExecutor' is only available in macOS 10.15 or newer
39 | /// Without it, actor reentrancy would let concurrent callers interleave at suspension points
40 | /// and reorder packets.
41 | public actor Connection {
| `- note: add '@available' attribute to enclosing actor
42 | /// Whether a write waits for the peripheral to acknowledge it.
43 | public enum WriteMode: Sendable, Equatable {
:
73 | /// this actor and CoreBluetooth's delegate callbacks mutually exclusive, which in turn is
74 | /// what makes ``withRaw(_:)`` safe.
75 | nonisolated public var unownedExecutor: UnownedSerialExecutor {
| | `- error: 'UnownedSerialExecutor' is only available in macOS 10.15 or newer
| `- note: add '@available' attribute to enclosing property
76 | library.unownedExecutor
77 | }
/Users/admin/builder/spi-builder-workspace/Sources/AsyncBLE/Public/Connection.swift:98:36: error: 'AsyncStream' is only available in macOS 10.15 or newer
39 | /// Without it, actor reentrancy would let concurrent callers interleave at suspension points
40 | /// and reorder packets.
41 | public actor Connection {
| `- note: add '@available' attribute to enclosing actor
42 | /// Whether a write waits for the peripheral to acknowledge it.
43 | public enum WriteMode: Sendable, Equatable {
:
96 | /// }
97 | /// ```
98 | nonisolated public var states: AsyncStream<ConnectionState> {
| | `- error: 'AsyncStream' is only available in macOS 10.15 or newer
| `- note: add '@available' attribute to enclosing property
99 | core.states.stream()
100 | }
/Users/admin/builder/spi-builder-workspace/Sources/AsyncBLE/Public/Connection.swift:239:26: error: 'AsyncThrowingStream' is only available in macOS 10.15 or newer
39 | /// Without it, actor reentrancy would let concurrent callers interleave at suspension points
40 | /// and reorder packets.
41 | public actor Connection {
| `- note: add '@available' attribute to enclosing actor
42 | /// Whether a write waits for the peripheral to acknowledge it.
43 | public enum WriteMode: Sendable, Equatable {
:
235 | /// ``BluetoothError/operationFailed(underlying:)`` if the peripheral refuses the
236 | /// subscription, or ``BluetoothError/disconnected(reason:)`` if the link is down.
237 | public func notifications(
| `- note: add '@available' attribute to enclosing instance method
238 | for characteristic: CharacteristicID,
239 | bufferingPolicy: AsyncThrowingStream<Data, Error>.Continuation.BufferingPolicy = .bufferingNewest(256)
| `- error: 'AsyncThrowingStream' is only available in macOS 10.15 or newer
240 | ) async throws -> AsyncThrowingStream<Data, Error> {
241 | let ticket = core.enqueue()
/Users/admin/builder/spi-builder-workspace/Sources/AsyncBLE/Public/Connection.swift:240:23: error: 'AsyncThrowingStream' is only available in macOS 10.15 or newer
39 | /// Without it, actor reentrancy would let concurrent callers interleave at suspension points
40 | /// and reorder packets.
41 | public actor Connection {
| `- note: add '@available' attribute to enclosing actor
42 | /// Whether a write waits for the peripheral to acknowledge it.
43 | public enum WriteMode: Sendable, Equatable {
:
235 | /// ``BluetoothError/operationFailed(underlying:)`` if the peripheral refuses the
236 | /// subscription, or ``BluetoothError/disconnected(reason:)`` if the link is down.
237 | public func notifications(
| `- note: add '@available' attribute to enclosing instance method
238 | for characteristic: CharacteristicID,
239 | bufferingPolicy: AsyncThrowingStream<Data, Error>.Continuation.BufferingPolicy = .bufferingNewest(256)
240 | ) async throws -> AsyncThrowingStream<Data, Error> {
| `- error: 'AsyncThrowingStream' is only available in macOS 10.15 or newer
241 | let ticket = core.enqueue()
242 | defer { core.complete(ticket) }
[28/43] Compiling AsyncBLE Characteristic.swift
[29/43] Compiling AsyncBLE CharacteristicCodable.swift
[30/43] Compiling AsyncBLE CharacteristicID.swift
[31/43] Compiling AsyncBLE Connection+Raw.swift
[32/43] Compiling AsyncBLE LiveCentral.swift
/Users/admin/builder/spi-builder-workspace/Sources/AsyncBLE/Internal/Bridge/ScanSession.swift:21:31: error: 'AsyncStream' is only available in macOS 10.15 or newer
12 |
13 | /// One `Central.scan(_:)` call: its filter, its stream, and what it has already reported.
14 | final class ScanSession: @unchecked Sendable {
| `- note: add '@available' attribute to enclosing class
15 | /// Identifies the session in the bridge's table, and in its own termination handler.
16 | let id = UUID()
:
19 | let options: ScanOptions
20 |
21 | private let continuation: AsyncStream<Discovery>.Continuation
| `- error: 'AsyncStream' is only available in macOS 10.15 or newer
22 | private var reported: Set<UUID> = []
23 |
/Users/admin/builder/spi-builder-workspace/Sources/AsyncBLE/Internal/Bridge/ScanSession.swift:31:46: error: 'AsyncStream' is only available in macOS 10.15 or newer
12 |
13 | /// One `Central.scan(_:)` call: its filter, its stream, and what it has already reported.
14 | final class ScanSession: @unchecked Sendable {
| `- note: add '@available' attribute to enclosing class
15 | /// Identifies the session in the bridge's table, and in its own termination handler.
16 | let id = UUID()
:
29 | private let wanted: Set<ServiceID>
30 |
31 | init(options: ScanOptions, continuation: AsyncStream<Discovery>.Continuation) {
| | `- error: 'AsyncStream' is only available in macOS 10.15 or newer
| `- note: add '@available' attribute to enclosing initializer
32 | self.options = options
33 | self.continuation = continuation
[33/43] Compiling AsyncBLE LivePeripheral.swift
/Users/admin/builder/spi-builder-workspace/Sources/AsyncBLE/Internal/Bridge/ScanSession.swift:21:31: error: 'AsyncStream' is only available in macOS 10.15 or newer
12 |
13 | /// One `Central.scan(_:)` call: its filter, its stream, and what it has already reported.
14 | final class ScanSession: @unchecked Sendable {
| `- note: add '@available' attribute to enclosing class
15 | /// Identifies the session in the bridge's table, and in its own termination handler.
16 | let id = UUID()
:
19 | let options: ScanOptions
20 |
21 | private let continuation: AsyncStream<Discovery>.Continuation
| `- error: 'AsyncStream' is only available in macOS 10.15 or newer
22 | private var reported: Set<UUID> = []
23 |
/Users/admin/builder/spi-builder-workspace/Sources/AsyncBLE/Internal/Bridge/ScanSession.swift:31:46: error: 'AsyncStream' is only available in macOS 10.15 or newer
12 |
13 | /// One `Central.scan(_:)` call: its filter, its stream, and what it has already reported.
14 | final class ScanSession: @unchecked Sendable {
| `- note: add '@available' attribute to enclosing class
15 | /// Identifies the session in the bridge's table, and in its own termination handler.
16 | let id = UUID()
:
29 | private let wanted: Set<ServiceID>
30 |
31 | init(options: ScanOptions, continuation: AsyncStream<Discovery>.Continuation) {
| | `- error: 'AsyncStream' is only available in macOS 10.15 or newer
| `- note: add '@available' attribute to enclosing initializer
32 | self.options = options
33 | self.continuation = continuation
[34/43] Compiling AsyncBLE PeripheralDelegateBridge.swift
/Users/admin/builder/spi-builder-workspace/Sources/AsyncBLE/Internal/Bridge/ScanSession.swift:21:31: error: 'AsyncStream' is only available in macOS 10.15 or newer
12 |
13 | /// One `Central.scan(_:)` call: its filter, its stream, and what it has already reported.
14 | final class ScanSession: @unchecked Sendable {
| `- note: add '@available' attribute to enclosing class
15 | /// Identifies the session in the bridge's table, and in its own termination handler.
16 | let id = UUID()
:
19 | let options: ScanOptions
20 |
21 | private let continuation: AsyncStream<Discovery>.Continuation
| `- error: 'AsyncStream' is only available in macOS 10.15 or newer
22 | private var reported: Set<UUID> = []
23 |
/Users/admin/builder/spi-builder-workspace/Sources/AsyncBLE/Internal/Bridge/ScanSession.swift:31:46: error: 'AsyncStream' is only available in macOS 10.15 or newer
12 |
13 | /// One `Central.scan(_:)` call: its filter, its stream, and what it has already reported.
14 | final class ScanSession: @unchecked Sendable {
| `- note: add '@available' attribute to enclosing class
15 | /// Identifies the session in the bridge's table, and in its own termination handler.
16 | let id = UUID()
:
29 | private let wanted: Set<ServiceID>
30 |
31 | init(options: ScanOptions, continuation: AsyncStream<Discovery>.Continuation) {
| | `- error: 'AsyncStream' is only available in macOS 10.15 or newer
| `- note: add '@available' attribute to enclosing initializer
32 | self.options = options
33 | self.continuation = continuation
[35/43] Compiling AsyncBLE ScanSession.swift
/Users/admin/builder/spi-builder-workspace/Sources/AsyncBLE/Internal/Bridge/ScanSession.swift:21:31: error: 'AsyncStream' is only available in macOS 10.15 or newer
12 |
13 | /// One `Central.scan(_:)` call: its filter, its stream, and what it has already reported.
14 | final class ScanSession: @unchecked Sendable {
| `- note: add '@available' attribute to enclosing class
15 | /// Identifies the session in the bridge's table, and in its own termination handler.
16 | let id = UUID()
:
19 | let options: ScanOptions
20 |
21 | private let continuation: AsyncStream<Discovery>.Continuation
| `- error: 'AsyncStream' is only available in macOS 10.15 or newer
22 | private var reported: Set<UUID> = []
23 |
/Users/admin/builder/spi-builder-workspace/Sources/AsyncBLE/Internal/Bridge/ScanSession.swift:31:46: error: 'AsyncStream' is only available in macOS 10.15 or newer
12 |
13 | /// One `Central.scan(_:)` call: its filter, its stream, and what it has already reported.
14 | final class ScanSession: @unchecked Sendable {
| `- note: add '@available' attribute to enclosing class
15 | /// Identifies the session in the bridge's table, and in its own termination handler.
16 | let id = UUID()
:
29 | private let wanted: Set<ServiceID>
30 |
31 | init(options: ScanOptions, continuation: AsyncStream<Discovery>.Continuation) {
| | `- error: 'AsyncStream' is only available in macOS 10.15 or newer
| `- note: add '@available' attribute to enclosing initializer
32 | self.options = options
33 | self.continuation = continuation
[36/43] Compiling AsyncBLE ConnectionEvent.swift
/Users/admin/builder/spi-builder-workspace/Sources/AsyncBLE/Internal/StateMachine/ConnectionEvent.swift:26:36: error: 'Duration' is only available in macOS 13.0 or newer
19 | /// and the bridge that *built* the event is the thing that still holds the error when it comes
20 | /// time to resume a waiter with ``BluetoothError/connectionFailed(underlying:)``.
21 | enum ConnectionEvent: Sendable, Equatable {
| `- note: add '@available' attribute to enclosing enum
22 | /// Someone asked for a link.
23 | ///
24 | /// - Parameter timeout: The deadline for the attempt, or `nil` for a pending connect with
25 | /// no deadline — ``Central/connectWhenInRange(_:)``.
26 | case connectRequested(timeout: Duration?)
| `- error: 'Duration' is only available in macOS 13.0 or newer
27 |
28 | /// CoreBluetooth reported the link is up.
/Users/admin/builder/spi-builder-workspace/Sources/AsyncBLE/Internal/Support/Broadcaster.swift:18:39: error: 'AsyncStream' is only available in macOS 10.15 or newer
14 | /// Broadcasts a value to any number of independent `AsyncStream`s, replaying the latest to each
15 | /// new subscriber.
16 | final class Broadcaster<Element: Sendable>: @unchecked Sendable {
| `- note: add '@available' attribute to enclosing generic class
17 | private let lock = NSLock()
18 | private var continuations: [UUID: AsyncStream<Element>.Continuation] = [:]
| `- error: 'AsyncStream' is only available in macOS 10.15 or newer
19 | private var latest: Element
20 | private var isFinished = false
/Users/admin/builder/spi-builder-workspace/Sources/AsyncBLE/Internal/Support/Broadcaster.swift:41:26: error: 'AsyncStream' is only available in macOS 10.15 or newer
14 | /// Broadcasts a value to any number of independent `AsyncStream`s, replaying the latest to each
15 | /// new subscriber.
16 | final class Broadcaster<Element: Sendable>: @unchecked Sendable {
| `- note: add '@available' attribute to enclosing generic class
17 | private let lock = NSLock()
18 | private var continuations: [UUID: AsyncStream<Element>.Continuation] = [:]
:
38 | ///
39 | /// Iteration ending — cancelled, broken out of, or the stream dropped — unsubscribes.
40 | func stream(
| `- note: add '@available' attribute to enclosing instance method
41 | bufferingPolicy: AsyncStream<Element>.Continuation.BufferingPolicy = .unbounded
| `- error: 'AsyncStream' is only available in macOS 10.15 or newer
42 | ) -> AsyncStream<Element> {
43 | let id = UUID()
/Users/admin/builder/spi-builder-workspace/Sources/AsyncBLE/Internal/Support/Broadcaster.swift:42:10: error: 'AsyncStream' is only available in macOS 10.15 or newer
14 | /// Broadcasts a value to any number of independent `AsyncStream`s, replaying the latest to each
15 | /// new subscriber.
16 | final class Broadcaster<Element: Sendable>: @unchecked Sendable {
| `- note: add '@available' attribute to enclosing generic class
17 | private let lock = NSLock()
18 | private var continuations: [UUID: AsyncStream<Element>.Continuation] = [:]
:
38 | ///
39 | /// Iteration ending — cancelled, broken out of, or the stream dropped — unsubscribes.
40 | func stream(
| `- note: add '@available' attribute to enclosing instance method
41 | bufferingPolicy: AsyncStream<Element>.Continuation.BufferingPolicy = .unbounded
42 | ) -> AsyncStream<Element> {
| `- error: 'AsyncStream' is only available in macOS 10.15 or newer
43 | let id = UUID()
44 | return AsyncStream(bufferingPolicy: bufferingPolicy) { continuation in
/Users/admin/builder/spi-builder-workspace/Sources/AsyncBLE/Internal/Support/Broadcaster.swift:44:16: error: 'AsyncStream' is only available in macOS 10.15 or newer
14 | /// Broadcasts a value to any number of independent `AsyncStream`s, replaying the latest to each
15 | /// new subscriber.
16 | final class Broadcaster<Element: Sendable>: @unchecked Sendable {
| `- note: add '@available' attribute to enclosing generic class
17 | private let lock = NSLock()
18 | private var continuations: [UUID: AsyncStream<Element>.Continuation] = [:]
:
38 | ///
39 | /// Iteration ending — cancelled, broken out of, or the stream dropped — unsubscribes.
40 | func stream(
| `- note: add '@available' attribute to enclosing instance method
41 | bufferingPolicy: AsyncStream<Element>.Continuation.BufferingPolicy = .unbounded
42 | ) -> AsyncStream<Element> {
43 | let id = UUID()
44 | return AsyncStream(bufferingPolicy: bufferingPolicy) { continuation in
| |- error: 'AsyncStream' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
45 | lock.lock()
46 | let value = latest
/Users/admin/builder/spi-builder-workspace/Sources/AsyncBLE/Internal/Support/IOQueue.swift:55:29: error: 'CancellationError' is only available in macOS 10.15 or newer
20 |
21 | /// A serial FIFO for a connection's reads and writes.
22 | final class IOQueue: @unchecked Sendable {
| `- note: add '@available' attribute to enclosing class
23 | /// How a waiting caller is let go: with its turn, or with the reason it will never get one.
24 | ///
:
51 | /// Attaches the caller's resumption to its ticket, letting it straight through if it is
52 | /// already at the head of the line.
53 | func attach(_ resume: @escaping Resume, to ticket: Ticket) {
| `- note: add '@available' attribute to enclosing instance method
54 | if ticket.isCancelled {
55 | resume(.failure(CancellationError()))
| |- error: 'CancellationError' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
56 | return
57 | }
/Users/admin/builder/spi-builder-workspace/Sources/AsyncBLE/Internal/Support/IOQueue.swift:83:25: error: 'CancellationError' is only available in macOS 10.15 or newer
20 |
21 | /// A serial FIFO for a connection's reads and writes.
22 | final class IOQueue: @unchecked Sendable {
| `- note: add '@available' attribute to enclosing class
23 | /// How a waiting caller is let go: with its turn, or with the reason it will never get one.
24 | ///
:
74 |
75 | /// Abandons a queued operation without running it, because its caller went away.
76 | func cancel(_ ticket: Ticket) {
| `- note: add '@available' attribute to enclosing instance method
77 | ticket.isCancelled = true
78 | guard let resume = ticket.resume else {
:
81 | }
82 | ticket.resume = nil
83 | resume(.failure(CancellationError()))
| |- error: 'CancellationError' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
84 | }
85 |
[37/43] Compiling AsyncBLE ConnectionStateMachine.swift
/Users/admin/builder/spi-builder-workspace/Sources/AsyncBLE/Internal/StateMachine/ConnectionEvent.swift:26:36: error: 'Duration' is only available in macOS 13.0 or newer
19 | /// and the bridge that *built* the event is the thing that still holds the error when it comes
20 | /// time to resume a waiter with ``BluetoothError/connectionFailed(underlying:)``.
21 | enum ConnectionEvent: Sendable, Equatable {
| `- note: add '@available' attribute to enclosing enum
22 | /// Someone asked for a link.
23 | ///
24 | /// - Parameter timeout: The deadline for the attempt, or `nil` for a pending connect with
25 | /// no deadline — ``Central/connectWhenInRange(_:)``.
26 | case connectRequested(timeout: Duration?)
| `- error: 'Duration' is only available in macOS 13.0 or newer
27 |
28 | /// CoreBluetooth reported the link is up.
/Users/admin/builder/spi-builder-workspace/Sources/AsyncBLE/Internal/Support/Broadcaster.swift:18:39: error: 'AsyncStream' is only available in macOS 10.15 or newer
14 | /// Broadcasts a value to any number of independent `AsyncStream`s, replaying the latest to each
15 | /// new subscriber.
16 | final class Broadcaster<Element: Sendable>: @unchecked Sendable {
| `- note: add '@available' attribute to enclosing generic class
17 | private let lock = NSLock()
18 | private var continuations: [UUID: AsyncStream<Element>.Continuation] = [:]
| `- error: 'AsyncStream' is only available in macOS 10.15 or newer
19 | private var latest: Element
20 | private var isFinished = false
/Users/admin/builder/spi-builder-workspace/Sources/AsyncBLE/Internal/Support/Broadcaster.swift:41:26: error: 'AsyncStream' is only available in macOS 10.15 or newer
14 | /// Broadcasts a value to any number of independent `AsyncStream`s, replaying the latest to each
15 | /// new subscriber.
16 | final class Broadcaster<Element: Sendable>: @unchecked Sendable {
| `- note: add '@available' attribute to enclosing generic class
17 | private let lock = NSLock()
18 | private var continuations: [UUID: AsyncStream<Element>.Continuation] = [:]
:
38 | ///
39 | /// Iteration ending — cancelled, broken out of, or the stream dropped — unsubscribes.
40 | func stream(
| `- note: add '@available' attribute to enclosing instance method
41 | bufferingPolicy: AsyncStream<Element>.Continuation.BufferingPolicy = .unbounded
| `- error: 'AsyncStream' is only available in macOS 10.15 or newer
42 | ) -> AsyncStream<Element> {
43 | let id = UUID()
/Users/admin/builder/spi-builder-workspace/Sources/AsyncBLE/Internal/Support/Broadcaster.swift:42:10: error: 'AsyncStream' is only available in macOS 10.15 or newer
14 | /// Broadcasts a value to any number of independent `AsyncStream`s, replaying the latest to each
15 | /// new subscriber.
16 | final class Broadcaster<Element: Sendable>: @unchecked Sendable {
| `- note: add '@available' attribute to enclosing generic class
17 | private let lock = NSLock()
18 | private var continuations: [UUID: AsyncStream<Element>.Continuation] = [:]
:
38 | ///
39 | /// Iteration ending — cancelled, broken out of, or the stream dropped — unsubscribes.
40 | func stream(
| `- note: add '@available' attribute to enclosing instance method
41 | bufferingPolicy: AsyncStream<Element>.Continuation.BufferingPolicy = .unbounded
42 | ) -> AsyncStream<Element> {
| `- error: 'AsyncStream' is only available in macOS 10.15 or newer
43 | let id = UUID()
44 | return AsyncStream(bufferingPolicy: bufferingPolicy) { continuation in
/Users/admin/builder/spi-builder-workspace/Sources/AsyncBLE/Internal/Support/Broadcaster.swift:44:16: error: 'AsyncStream' is only available in macOS 10.15 or newer
14 | /// Broadcasts a value to any number of independent `AsyncStream`s, replaying the latest to each
15 | /// new subscriber.
16 | final class Broadcaster<Element: Sendable>: @unchecked Sendable {
| `- note: add '@available' attribute to enclosing generic class
17 | private let lock = NSLock()
18 | private var continuations: [UUID: AsyncStream<Element>.Continuation] = [:]
:
38 | ///
39 | /// Iteration ending — cancelled, broken out of, or the stream dropped — unsubscribes.
40 | func stream(
| `- note: add '@available' attribute to enclosing instance method
41 | bufferingPolicy: AsyncStream<Element>.Continuation.BufferingPolicy = .unbounded
42 | ) -> AsyncStream<Element> {
43 | let id = UUID()
44 | return AsyncStream(bufferingPolicy: bufferingPolicy) { continuation in
| |- error: 'AsyncStream' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
45 | lock.lock()
46 | let value = latest
/Users/admin/builder/spi-builder-workspace/Sources/AsyncBLE/Internal/Support/IOQueue.swift:55:29: error: 'CancellationError' is only available in macOS 10.15 or newer
20 |
21 | /// A serial FIFO for a connection's reads and writes.
22 | final class IOQueue: @unchecked Sendable {
| `- note: add '@available' attribute to enclosing class
23 | /// How a waiting caller is let go: with its turn, or with the reason it will never get one.
24 | ///
:
51 | /// Attaches the caller's resumption to its ticket, letting it straight through if it is
52 | /// already at the head of the line.
53 | func attach(_ resume: @escaping Resume, to ticket: Ticket) {
| `- note: add '@available' attribute to enclosing instance method
54 | if ticket.isCancelled {
55 | resume(.failure(CancellationError()))
| |- error: 'CancellationError' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
56 | return
57 | }
/Users/admin/builder/spi-builder-workspace/Sources/AsyncBLE/Internal/Support/IOQueue.swift:83:25: error: 'CancellationError' is only available in macOS 10.15 or newer
20 |
21 | /// A serial FIFO for a connection's reads and writes.
22 | final class IOQueue: @unchecked Sendable {
| `- note: add '@available' attribute to enclosing class
23 | /// How a waiting caller is let go: with its turn, or with the reason it will never get one.
24 | ///
:
74 |
75 | /// Abandons a queued operation without running it, because its caller went away.
76 | func cancel(_ ticket: Ticket) {
| `- note: add '@available' attribute to enclosing instance method
77 | ticket.isCancelled = true
78 | guard let resume = ticket.resume else {
:
81 | }
82 | ticket.resume = nil
83 | resume(.failure(CancellationError()))
| |- error: 'CancellationError' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
84 | }
85 |
[38/43] Compiling AsyncBLE Broadcaster.swift
/Users/admin/builder/spi-builder-workspace/Sources/AsyncBLE/Internal/StateMachine/ConnectionEvent.swift:26:36: error: 'Duration' is only available in macOS 13.0 or newer
19 | /// and the bridge that *built* the event is the thing that still holds the error when it comes
20 | /// time to resume a waiter with ``BluetoothError/connectionFailed(underlying:)``.
21 | enum ConnectionEvent: Sendable, Equatable {
| `- note: add '@available' attribute to enclosing enum
22 | /// Someone asked for a link.
23 | ///
24 | /// - Parameter timeout: The deadline for the attempt, or `nil` for a pending connect with
25 | /// no deadline — ``Central/connectWhenInRange(_:)``.
26 | case connectRequested(timeout: Duration?)
| `- error: 'Duration' is only available in macOS 13.0 or newer
27 |
28 | /// CoreBluetooth reported the link is up.
/Users/admin/builder/spi-builder-workspace/Sources/AsyncBLE/Internal/Support/Broadcaster.swift:18:39: error: 'AsyncStream' is only available in macOS 10.15 or newer
14 | /// Broadcasts a value to any number of independent `AsyncStream`s, replaying the latest to each
15 | /// new subscriber.
16 | final class Broadcaster<Element: Sendable>: @unchecked Sendable {
| `- note: add '@available' attribute to enclosing generic class
17 | private let lock = NSLock()
18 | private var continuations: [UUID: AsyncStream<Element>.Continuation] = [:]
| `- error: 'AsyncStream' is only available in macOS 10.15 or newer
19 | private var latest: Element
20 | private var isFinished = false
/Users/admin/builder/spi-builder-workspace/Sources/AsyncBLE/Internal/Support/Broadcaster.swift:41:26: error: 'AsyncStream' is only available in macOS 10.15 or newer
14 | /// Broadcasts a value to any number of independent `AsyncStream`s, replaying the latest to each
15 | /// new subscriber.
16 | final class Broadcaster<Element: Sendable>: @unchecked Sendable {
| `- note: add '@available' attribute to enclosing generic class
17 | private let lock = NSLock()
18 | private var continuations: [UUID: AsyncStream<Element>.Continuation] = [:]
:
38 | ///
39 | /// Iteration ending — cancelled, broken out of, or the stream dropped — unsubscribes.
40 | func stream(
| `- note: add '@available' attribute to enclosing instance method
41 | bufferingPolicy: AsyncStream<Element>.Continuation.BufferingPolicy = .unbounded
| `- error: 'AsyncStream' is only available in macOS 10.15 or newer
42 | ) -> AsyncStream<Element> {
43 | let id = UUID()
/Users/admin/builder/spi-builder-workspace/Sources/AsyncBLE/Internal/Support/Broadcaster.swift:42:10: error: 'AsyncStream' is only available in macOS 10.15 or newer
14 | /// Broadcasts a value to any number of independent `AsyncStream`s, replaying the latest to each
15 | /// new subscriber.
16 | final class Broadcaster<Element: Sendable>: @unchecked Sendable {
| `- note: add '@available' attribute to enclosing generic class
17 | private let lock = NSLock()
18 | private var continuations: [UUID: AsyncStream<Element>.Continuation] = [:]
:
38 | ///
39 | /// Iteration ending — cancelled, broken out of, or the stream dropped — unsubscribes.
40 | func stream(
| `- note: add '@available' attribute to enclosing instance method
41 | bufferingPolicy: AsyncStream<Element>.Continuation.BufferingPolicy = .unbounded
42 | ) -> AsyncStream<Element> {
| `- error: 'AsyncStream' is only available in macOS 10.15 or newer
43 | let id = UUID()
44 | return AsyncStream(bufferingPolicy: bufferingPolicy) { continuation in
/Users/admin/builder/spi-builder-workspace/Sources/AsyncBLE/Internal/Support/Broadcaster.swift:44:16: error: 'AsyncStream' is only available in macOS 10.15 or newer
14 | /// Broadcasts a value to any number of independent `AsyncStream`s, replaying the latest to each
15 | /// new subscriber.
16 | final class Broadcaster<Element: Sendable>: @unchecked Sendable {
| `- note: add '@available' attribute to enclosing generic class
17 | private let lock = NSLock()
18 | private var continuations: [UUID: AsyncStream<Element>.Continuation] = [:]
:
38 | ///
39 | /// Iteration ending — cancelled, broken out of, or the stream dropped — unsubscribes.
40 | func stream(
| `- note: add '@available' attribute to enclosing instance method
41 | bufferingPolicy: AsyncStream<Element>.Continuation.BufferingPolicy = .unbounded
42 | ) -> AsyncStream<Element> {
43 | let id = UUID()
44 | return AsyncStream(bufferingPolicy: bufferingPolicy) { continuation in
| |- error: 'AsyncStream' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
45 | lock.lock()
46 | let value = latest
/Users/admin/builder/spi-builder-workspace/Sources/AsyncBLE/Internal/Support/IOQueue.swift:55:29: error: 'CancellationError' is only available in macOS 10.15 or newer
20 |
21 | /// A serial FIFO for a connection's reads and writes.
22 | final class IOQueue: @unchecked Sendable {
| `- note: add '@available' attribute to enclosing class
23 | /// How a waiting caller is let go: with its turn, or with the reason it will never get one.
24 | ///
:
51 | /// Attaches the caller's resumption to its ticket, letting it straight through if it is
52 | /// already at the head of the line.
53 | func attach(_ resume: @escaping Resume, to ticket: Ticket) {
| `- note: add '@available' attribute to enclosing instance method
54 | if ticket.isCancelled {
55 | resume(.failure(CancellationError()))
| |- error: 'CancellationError' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
56 | return
57 | }
/Users/admin/builder/spi-builder-workspace/Sources/AsyncBLE/Internal/Support/IOQueue.swift:83:25: error: 'CancellationError' is only available in macOS 10.15 or newer
20 |
21 | /// A serial FIFO for a connection's reads and writes.
22 | final class IOQueue: @unchecked Sendable {
| `- note: add '@available' attribute to enclosing class
23 | /// How a waiting caller is let go: with its turn, or with the reason it will never get one.
24 | ///
:
74 |
75 | /// Abandons a queued operation without running it, because its caller went away.
76 | func cancel(_ ticket: Ticket) {
| `- note: add '@available' attribute to enclosing instance method
77 | ticket.isCancelled = true
78 | guard let resume = ticket.resume else {
:
81 | }
82 | ticket.resume = nil
83 | resume(.failure(CancellationError()))
| |- error: 'CancellationError' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
84 | }
85 |
[39/43] Compiling AsyncBLE IOQueue.swift
/Users/admin/builder/spi-builder-workspace/Sources/AsyncBLE/Internal/StateMachine/ConnectionEvent.swift:26:36: error: 'Duration' is only available in macOS 13.0 or newer
19 | /// and the bridge that *built* the event is the thing that still holds the error when it comes
20 | /// time to resume a waiter with ``BluetoothError/connectionFailed(underlying:)``.
21 | enum ConnectionEvent: Sendable, Equatable {
| `- note: add '@available' attribute to enclosing enum
22 | /// Someone asked for a link.
23 | ///
24 | /// - Parameter timeout: The deadline for the attempt, or `nil` for a pending connect with
25 | /// no deadline — ``Central/connectWhenInRange(_:)``.
26 | case connectRequested(timeout: Duration?)
| `- error: 'Duration' is only available in macOS 13.0 or newer
27 |
28 | /// CoreBluetooth reported the link is up.
/Users/admin/builder/spi-builder-workspace/Sources/AsyncBLE/Internal/Support/Broadcaster.swift:18:39: error: 'AsyncStream' is only available in macOS 10.15 or newer
14 | /// Broadcasts a value to any number of independent `AsyncStream`s, replaying the latest to each
15 | /// new subscriber.
16 | final class Broadcaster<Element: Sendable>: @unchecked Sendable {
| `- note: add '@available' attribute to enclosing generic class
17 | private let lock = NSLock()
18 | private var continuations: [UUID: AsyncStream<Element>.Continuation] = [:]
| `- error: 'AsyncStream' is only available in macOS 10.15 or newer
19 | private var latest: Element
20 | private var isFinished = false
/Users/admin/builder/spi-builder-workspace/Sources/AsyncBLE/Internal/Support/Broadcaster.swift:41:26: error: 'AsyncStream' is only available in macOS 10.15 or newer
14 | /// Broadcasts a value to any number of independent `AsyncStream`s, replaying the latest to each
15 | /// new subscriber.
16 | final class Broadcaster<Element: Sendable>: @unchecked Sendable {
| `- note: add '@available' attribute to enclosing generic class
17 | private let lock = NSLock()
18 | private var continuations: [UUID: AsyncStream<Element>.Continuation] = [:]
:
38 | ///
39 | /// Iteration ending — cancelled, broken out of, or the stream dropped — unsubscribes.
40 | func stream(
| `- note: add '@available' attribute to enclosing instance method
41 | bufferingPolicy: AsyncStream<Element>.Continuation.BufferingPolicy = .unbounded
| `- error: 'AsyncStream' is only available in macOS 10.15 or newer
42 | ) -> AsyncStream<Element> {
43 | let id = UUID()
/Users/admin/builder/spi-builder-workspace/Sources/AsyncBLE/Internal/Support/Broadcaster.swift:42:10: error: 'AsyncStream' is only available in macOS 10.15 or newer
14 | /// Broadcasts a value to any number of independent `AsyncStream`s, replaying the latest to each
15 | /// new subscriber.
16 | final class Broadcaster<Element: Sendable>: @unchecked Sendable {
| `- note: add '@available' attribute to enclosing generic class
17 | private let lock = NSLock()
18 | private var continuations: [UUID: AsyncStream<Element>.Continuation] = [:]
:
38 | ///
39 | /// Iteration ending — cancelled, broken out of, or the stream dropped — unsubscribes.
40 | func stream(
| `- note: add '@available' attribute to enclosing instance method
41 | bufferingPolicy: AsyncStream<Element>.Continuation.BufferingPolicy = .unbounded
42 | ) -> AsyncStream<Element> {
| `- error: 'AsyncStream' is only available in macOS 10.15 or newer
43 | let id = UUID()
44 | return AsyncStream(bufferingPolicy: bufferingPolicy) { continuation in
/Users/admin/builder/spi-builder-workspace/Sources/AsyncBLE/Internal/Support/Broadcaster.swift:44:16: error: 'AsyncStream' is only available in macOS 10.15 or newer
14 | /// Broadcasts a value to any number of independent `AsyncStream`s, replaying the latest to each
15 | /// new subscriber.
16 | final class Broadcaster<Element: Sendable>: @unchecked Sendable {
| `- note: add '@available' attribute to enclosing generic class
17 | private let lock = NSLock()
18 | private var continuations: [UUID: AsyncStream<Element>.Continuation] = [:]
:
38 | ///
39 | /// Iteration ending — cancelled, broken out of, or the stream dropped — unsubscribes.
40 | func stream(
| `- note: add '@available' attribute to enclosing instance method
41 | bufferingPolicy: AsyncStream<Element>.Continuation.BufferingPolicy = .unbounded
42 | ) -> AsyncStream<Element> {
43 | let id = UUID()
44 | return AsyncStream(bufferingPolicy: bufferingPolicy) { continuation in
| |- error: 'AsyncStream' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
45 | lock.lock()
46 | let value = latest
/Users/admin/builder/spi-builder-workspace/Sources/AsyncBLE/Internal/Support/IOQueue.swift:55:29: error: 'CancellationError' is only available in macOS 10.15 or newer
20 |
21 | /// A serial FIFO for a connection's reads and writes.
22 | final class IOQueue: @unchecked Sendable {
| `- note: add '@available' attribute to enclosing class
23 | /// How a waiting caller is let go: with its turn, or with the reason it will never get one.
24 | ///
:
51 | /// Attaches the caller's resumption to its ticket, letting it straight through if it is
52 | /// already at the head of the line.
53 | func attach(_ resume: @escaping Resume, to ticket: Ticket) {
| `- note: add '@available' attribute to enclosing instance method
54 | if ticket.isCancelled {
55 | resume(.failure(CancellationError()))
| |- error: 'CancellationError' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
56 | return
57 | }
/Users/admin/builder/spi-builder-workspace/Sources/AsyncBLE/Internal/Support/IOQueue.swift:83:25: error: 'CancellationError' is only available in macOS 10.15 or newer
20 |
21 | /// A serial FIFO for a connection's reads and writes.
22 | final class IOQueue: @unchecked Sendable {
| `- note: add '@available' attribute to enclosing class
23 | /// How a waiting caller is let go: with its turn, or with the reason it will never get one.
24 | ///
:
74 |
75 | /// Abandons a queued operation without running it, because its caller went away.
76 | func cancel(_ ticket: Ticket) {
| `- note: add '@available' attribute to enclosing instance method
77 | ticket.isCancelled = true
78 | guard let resume = ticket.resume else {
:
81 | }
82 | ticket.resume = nil
83 | resume(.failure(CancellationError()))
| |- error: 'CancellationError' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
84 | }
85 |
[40/43] Compiling AsyncBLE ConnectionCore+IO.swift
/Users/admin/builder/spi-builder-workspace/Sources/AsyncBLE/Internal/Connection/ConnectionCore+IO.swift:119:26: error: 'AsyncThrowingStream' is only available in macOS 10.15 or newer
9 | import Foundation
10 |
11 | extension ConnectionCore {
| `- note: add '@available' attribute to enclosing extension
12 | // MARK: Preconditions
13 |
:
115 |
116 | /// Creates a notification stream and registers it.
117 | func subscribe(
| `- note: add '@available' attribute to enclosing instance method
118 | to uuid: CBUUID,
119 | bufferingPolicy: AsyncThrowingStream<Data, Error>.Continuation.BufferingPolicy
| `- error: 'AsyncThrowingStream' is only available in macOS 10.15 or newer
120 | ) -> (subscription: SubscriptionRegistry.Subscription, stream: AsyncThrowingStream<Data, Error>) {
121 | subscriptions.subscribe(to: uuid, bufferingPolicy: bufferingPolicy)
/Users/admin/builder/spi-builder-workspace/Sources/AsyncBLE/Internal/Connection/ConnectionCore+IO.swift:120:68: error: 'AsyncThrowingStream' is only available in macOS 10.15 or newer
9 | import Foundation
10 |
11 | extension ConnectionCore {
| `- note: add '@available' attribute to enclosing extension
12 | // MARK: Preconditions
13 |
:
115 |
116 | /// Creates a notification stream and registers it.
117 | func subscribe(
| `- note: add '@available' attribute to enclosing instance method
118 | to uuid: CBUUID,
119 | bufferingPolicy: AsyncThrowingStream<Data, Error>.Continuation.BufferingPolicy
120 | ) -> (subscription: SubscriptionRegistry.Subscription, stream: AsyncThrowingStream<Data, Error>) {
| `- error: 'AsyncThrowingStream' is only available in macOS 10.15 or newer
121 | subscriptions.subscribe(to: uuid, bufferingPolicy: bufferingPolicy)
122 | }
/Users/admin/builder/spi-builder-workspace/Sources/AsyncBLE/Internal/Connection/ConnectionCore.swift:132:34: error: 'Duration' is only available in macOS 13.0 or newer
16 |
17 | /// The engine behind one ``Connection``.
18 | final class ConnectionCore: ConnectionSink, @unchecked Sendable {
| `- note: add '@available' attribute to enclosing class
19 | let peripheralID: UUID
20 | let library: LibraryQueue
:
130 |
131 | /// Asks for a link. `timeout` of `nil` is a pending connect with no deadline.
132 | func requestConnect(timeout: Duration?) {
| | `- error: 'Duration' is only available in macOS 13.0 or newer
| `- note: add '@available' attribute to enclosing instance method
133 | library.assertIsolated()
134 | handle(.connectRequested(timeout: timeout))
/Users/admin/builder/spi-builder-workspace/Sources/AsyncBLE/Internal/Connection/ConnectionCore.swift:318:21: error: 'Duration' is only available in macOS 13.0 or newer
16 |
17 | /// The engine behind one ``Connection``.
18 | final class ConnectionCore: ConnectionSink, @unchecked Sendable {
| `- note: add '@available' attribute to enclosing class
19 | let peripheralID: UUID
20 | let library: LibraryQueue
:
315 | }
316 |
317 | private func schedule(
| `- note: add '@available' attribute to enclosing instance method
318 | _ duration: Duration,
| `- error: 'Duration' is only available in macOS 13.0 or newer
319 | _ work: @escaping @Sendable (ConnectionCore) -> Void
320 | ) -> ScheduledWork {
/Users/admin/builder/spi-builder-workspace/Sources/AsyncBLE/Internal/Connection/ConnectionCore.swift:370:9: error: 'Task' is only available in macOS 10.15 or newer
16 |
17 | /// The engine behind one ``Connection``.
18 | final class ConnectionCore: ConnectionSink, @unchecked Sendable {
| `- note: add '@available' attribute to enclosing class
19 | let peripheralID: UUID
20 | let library: LibraryQueue
:
361 | /// the instant the link came back must not overtake the resubscribe that the caller never
362 | /// asked for but is entitled to.
363 | private func startSubscriptionRestore() {
| `- note: add '@available' attribute to enclosing instance method
364 | guard !subscriptions.pendingRestore.isEmpty else { return }
365 | reconnectLog.notice(
:
368 | )
369 | let ticket = ioQueue.enqueue()
370 | Task { [weak connection] in
| |- error: 'Task' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
371 | await connection?.restoreSubscriptions(holding: ticket)
372 | }
/Users/admin/builder/spi-builder-workspace/Sources/AsyncBLE/Internal/Connection/ConnectionCore.swift:370:9: error: 'init(name:priority:operation:)' is only available in macOS 10.15 or newer
16 |
17 | /// The engine behind one ``Connection``.
18 | final class ConnectionCore: ConnectionSink, @unchecked Sendable {
| `- note: add '@available' attribute to enclosing class
19 | let peripheralID: UUID
20 | let library: LibraryQueue
:
361 | /// the instant the link came back must not overtake the resubscribe that the caller never
362 | /// asked for but is entitled to.
363 | private func startSubscriptionRestore() {
| `- note: add '@available' attribute to enclosing instance method
364 | guard !subscriptions.pendingRestore.isEmpty else { return }
365 | reconnectLog.notice(
:
368 | )
369 | let ticket = ioQueue.enqueue()
370 | Task { [weak connection] in
| |- error: 'init(name:priority:operation:)' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
371 | await connection?.restoreSubscriptions(holding: ticket)
372 | }
/Users/admin/builder/spi-builder-workspace/Sources/AsyncBLE/Internal/StateMachine/ConnectionEffect.swift:30:30: error: 'Duration' is only available in macOS 13.0 or newer
17 | /// setup, and queued I/O is always failed before a reconnect is armed, so a caller can never
18 | /// see a write land on the far side of a drop it was queued before.
19 | enum ConnectionEffect: Sendable, Equatable {
| `- note: add '@available' attribute to enclosing enum
20 | /// Issue `connect(peripheral:options:)`. Stays pending until fulfilled or cancelled.
21 | case armConnect
:
28 | ///
29 | /// - Parameter duration: How long the attempt may run.
30 | case startConnectTimeout(Duration)
| `- error: 'Duration' is only available in macOS 13.0 or newer
31 |
32 | /// Cancel the connect attempt's deadline.
/Users/admin/builder/spi-builder-workspace/Sources/AsyncBLE/Internal/StateMachine/ConnectionEffect.swift:41:30: error: 'Duration' is only available in macOS 13.0 or newer
17 | /// setup, and queued I/O is always failed before a reconnect is armed, so a caller can never
18 | /// see a write land on the far side of a drop it was queued before.
19 | enum ConnectionEffect: Sendable, Equatable {
| `- note: add '@available' attribute to enclosing enum
20 | /// Issue `connect(peripheral:options:)`. Stays pending until fulfilled or cancelled.
21 | case armConnect
:
39 | ///
40 | /// - Parameter duration: How long to keep waiting.
41 | case startGiveUpDeadline(Duration)
| `- error: 'Duration' is only available in macOS 13.0 or newer
42 |
43 | /// Cancel the give-up deadline.
/Users/admin/builder/spi-builder-workspace/Sources/AsyncBLE/Internal/StateMachine/ConnectionEffect.swift:53:26: error: 'Duration' is only available in macOS 13.0 or newer
17 | /// setup, and queued I/O is always failed before a reconnect is armed, so a caller can never
18 | /// see a write land on the far side of a drop it was queued before.
19 | enum ConnectionEffect: Sendable, Equatable {
| `- note: add '@available' attribute to enclosing enum
20 | /// Issue `connect(peripheral:options:)`. Stays pending until fulfilled or cancelled.
21 | case armConnect
:
51 | ///
52 | /// - Parameter interval: The cadence from ``ReconnectPolicy/reArmInterval``.
53 | case startReArmTimer(Duration)
| `- error: 'Duration' is only available in macOS 13.0 or newer
54 |
55 | /// Cancel the re-arm cadence. Emitted when the adapter goes away, because re-arming
[41/43] Compiling AsyncBLE ConnectionCore.swift
/Users/admin/builder/spi-builder-workspace/Sources/AsyncBLE/Internal/Connection/ConnectionCore+IO.swift:119:26: error: 'AsyncThrowingStream' is only available in macOS 10.15 or newer
9 | import Foundation
10 |
11 | extension ConnectionCore {
| `- note: add '@available' attribute to enclosing extension
12 | // MARK: Preconditions
13 |
:
115 |
116 | /// Creates a notification stream and registers it.
117 | func subscribe(
| `- note: add '@available' attribute to enclosing instance method
118 | to uuid: CBUUID,
119 | bufferingPolicy: AsyncThrowingStream<Data, Error>.Continuation.BufferingPolicy
| `- error: 'AsyncThrowingStream' is only available in macOS 10.15 or newer
120 | ) -> (subscription: SubscriptionRegistry.Subscription, stream: AsyncThrowingStream<Data, Error>) {
121 | subscriptions.subscribe(to: uuid, bufferingPolicy: bufferingPolicy)
/Users/admin/builder/spi-builder-workspace/Sources/AsyncBLE/Internal/Connection/ConnectionCore+IO.swift:120:68: error: 'AsyncThrowingStream' is only available in macOS 10.15 or newer
9 | import Foundation
10 |
11 | extension ConnectionCore {
| `- note: add '@available' attribute to enclosing extension
12 | // MARK: Preconditions
13 |
:
115 |
116 | /// Creates a notification stream and registers it.
117 | func subscribe(
| `- note: add '@available' attribute to enclosing instance method
118 | to uuid: CBUUID,
119 | bufferingPolicy: AsyncThrowingStream<Data, Error>.Continuation.BufferingPolicy
120 | ) -> (subscription: SubscriptionRegistry.Subscription, stream: AsyncThrowingStream<Data, Error>) {
| `- error: 'AsyncThrowingStream' is only available in macOS 10.15 or newer
121 | subscriptions.subscribe(to: uuid, bufferingPolicy: bufferingPolicy)
122 | }
/Users/admin/builder/spi-builder-workspace/Sources/AsyncBLE/Internal/Connection/ConnectionCore.swift:132:34: error: 'Duration' is only available in macOS 13.0 or newer
16 |
17 | /// The engine behind one ``Connection``.
18 | final class ConnectionCore: ConnectionSink, @unchecked Sendable {
| `- note: add '@available' attribute to enclosing class
19 | let peripheralID: UUID
20 | let library: LibraryQueue
:
130 |
131 | /// Asks for a link. `timeout` of `nil` is a pending connect with no deadline.
132 | func requestConnect(timeout: Duration?) {
| | `- error: 'Duration' is only available in macOS 13.0 or newer
| `- note: add '@available' attribute to enclosing instance method
133 | library.assertIsolated()
134 | handle(.connectRequested(timeout: timeout))
/Users/admin/builder/spi-builder-workspace/Sources/AsyncBLE/Internal/Connection/ConnectionCore.swift:318:21: error: 'Duration' is only available in macOS 13.0 or newer
16 |
17 | /// The engine behind one ``Connection``.
18 | final class ConnectionCore: ConnectionSink, @unchecked Sendable {
| `- note: add '@available' attribute to enclosing class
19 | let peripheralID: UUID
20 | let library: LibraryQueue
:
315 | }
316 |
317 | private func schedule(
| `- note: add '@available' attribute to enclosing instance method
318 | _ duration: Duration,
| `- error: 'Duration' is only available in macOS 13.0 or newer
319 | _ work: @escaping @Sendable (ConnectionCore) -> Void
320 | ) -> ScheduledWork {
/Users/admin/builder/spi-builder-workspace/Sources/AsyncBLE/Internal/Connection/ConnectionCore.swift:370:9: error: 'Task' is only available in macOS 10.15 or newer
16 |
17 | /// The engine behind one ``Connection``.
18 | final class ConnectionCore: ConnectionSink, @unchecked Sendable {
| `- note: add '@available' attribute to enclosing class
19 | let peripheralID: UUID
20 | let library: LibraryQueue
:
361 | /// the instant the link came back must not overtake the resubscribe that the caller never
362 | /// asked for but is entitled to.
363 | private func startSubscriptionRestore() {
| `- note: add '@available' attribute to enclosing instance method
364 | guard !subscriptions.pendingRestore.isEmpty else { return }
365 | reconnectLog.notice(
:
368 | )
369 | let ticket = ioQueue.enqueue()
370 | Task { [weak connection] in
| |- error: 'Task' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
371 | await connection?.restoreSubscriptions(holding: ticket)
372 | }
/Users/admin/builder/spi-builder-workspace/Sources/AsyncBLE/Internal/Connection/ConnectionCore.swift:370:9: error: 'init(name:priority:operation:)' is only available in macOS 10.15 or newer
16 |
17 | /// The engine behind one ``Connection``.
18 | final class ConnectionCore: ConnectionSink, @unchecked Sendable {
| `- note: add '@available' attribute to enclosing class
19 | let peripheralID: UUID
20 | let library: LibraryQueue
:
361 | /// the instant the link came back must not overtake the resubscribe that the caller never
362 | /// asked for but is entitled to.
363 | private func startSubscriptionRestore() {
| `- note: add '@available' attribute to enclosing instance method
364 | guard !subscriptions.pendingRestore.isEmpty else { return }
365 | reconnectLog.notice(
:
368 | )
369 | let ticket = ioQueue.enqueue()
370 | Task { [weak connection] in
| |- error: 'init(name:priority:operation:)' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
371 | await connection?.restoreSubscriptions(holding: ticket)
372 | }
/Users/admin/builder/spi-builder-workspace/Sources/AsyncBLE/Internal/StateMachine/ConnectionEffect.swift:30:30: error: 'Duration' is only available in macOS 13.0 or newer
17 | /// setup, and queued I/O is always failed before a reconnect is armed, so a caller can never
18 | /// see a write land on the far side of a drop it was queued before.
19 | enum ConnectionEffect: Sendable, Equatable {
| `- note: add '@available' attribute to enclosing enum
20 | /// Issue `connect(peripheral:options:)`. Stays pending until fulfilled or cancelled.
21 | case armConnect
:
28 | ///
29 | /// - Parameter duration: How long the attempt may run.
30 | case startConnectTimeout(Duration)
| `- error: 'Duration' is only available in macOS 13.0 or newer
31 |
32 | /// Cancel the connect attempt's deadline.
/Users/admin/builder/spi-builder-workspace/Sources/AsyncBLE/Internal/StateMachine/ConnectionEffect.swift:41:30: error: 'Duration' is only available in macOS 13.0 or newer
17 | /// setup, and queued I/O is always failed before a reconnect is armed, so a caller can never
18 | /// see a write land on the far side of a drop it was queued before.
19 | enum ConnectionEffect: Sendable, Equatable {
| `- note: add '@available' attribute to enclosing enum
20 | /// Issue `connect(peripheral:options:)`. Stays pending until fulfilled or cancelled.
21 | case armConnect
:
39 | ///
40 | /// - Parameter duration: How long to keep waiting.
41 | case startGiveUpDeadline(Duration)
| `- error: 'Duration' is only available in macOS 13.0 or newer
42 |
43 | /// Cancel the give-up deadline.
/Users/admin/builder/spi-builder-workspace/Sources/AsyncBLE/Internal/StateMachine/ConnectionEffect.swift:53:26: error: 'Duration' is only available in macOS 13.0 or newer
17 | /// setup, and queued I/O is always failed before a reconnect is armed, so a caller can never
18 | /// see a write land on the far side of a drop it was queued before.
19 | enum ConnectionEffect: Sendable, Equatable {
| `- note: add '@available' attribute to enclosing enum
20 | /// Issue `connect(peripheral:options:)`. Stays pending until fulfilled or cancelled.
21 | case armConnect
:
51 | ///
52 | /// - Parameter interval: The cadence from ``ReconnectPolicy/reArmInterval``.
53 | case startReArmTimer(Duration)
| `- error: 'Duration' is only available in macOS 13.0 or newer
54 |
55 | /// Cancel the re-arm cadence. Emitted when the adapter goes away, because re-arming
[42/43] Compiling AsyncBLE ConnectionRegistry.swift
/Users/admin/builder/spi-builder-workspace/Sources/AsyncBLE/Internal/Connection/ConnectionCore+IO.swift:119:26: error: 'AsyncThrowingStream' is only available in macOS 10.15 or newer
9 | import Foundation
10 |
11 | extension ConnectionCore {
| `- note: add '@available' attribute to enclosing extension
12 | // MARK: Preconditions
13 |
:
115 |
116 | /// Creates a notification stream and registers it.
117 | func subscribe(
| `- note: add '@available' attribute to enclosing instance method
118 | to uuid: CBUUID,
119 | bufferingPolicy: AsyncThrowingStream<Data, Error>.Continuation.BufferingPolicy
| `- error: 'AsyncThrowingStream' is only available in macOS 10.15 or newer
120 | ) -> (subscription: SubscriptionRegistry.Subscription, stream: AsyncThrowingStream<Data, Error>) {
121 | subscriptions.subscribe(to: uuid, bufferingPolicy: bufferingPolicy)
/Users/admin/builder/spi-builder-workspace/Sources/AsyncBLE/Internal/Connection/ConnectionCore+IO.swift:120:68: error: 'AsyncThrowingStream' is only available in macOS 10.15 or newer
9 | import Foundation
10 |
11 | extension ConnectionCore {
| `- note: add '@available' attribute to enclosing extension
12 | // MARK: Preconditions
13 |
:
115 |
116 | /// Creates a notification stream and registers it.
117 | func subscribe(
| `- note: add '@available' attribute to enclosing instance method
118 | to uuid: CBUUID,
119 | bufferingPolicy: AsyncThrowingStream<Data, Error>.Continuation.BufferingPolicy
120 | ) -> (subscription: SubscriptionRegistry.Subscription, stream: AsyncThrowingStream<Data, Error>) {
| `- error: 'AsyncThrowingStream' is only available in macOS 10.15 or newer
121 | subscriptions.subscribe(to: uuid, bufferingPolicy: bufferingPolicy)
122 | }
/Users/admin/builder/spi-builder-workspace/Sources/AsyncBLE/Internal/Connection/ConnectionCore.swift:132:34: error: 'Duration' is only available in macOS 13.0 or newer
16 |
17 | /// The engine behind one ``Connection``.
18 | final class ConnectionCore: ConnectionSink, @unchecked Sendable {
| `- note: add '@available' attribute to enclosing class
19 | let peripheralID: UUID
20 | let library: LibraryQueue
:
130 |
131 | /// Asks for a link. `timeout` of `nil` is a pending connect with no deadline.
132 | func requestConnect(timeout: Duration?) {
| | `- error: 'Duration' is only available in macOS 13.0 or newer
| `- note: add '@available' attribute to enclosing instance method
133 | library.assertIsolated()
134 | handle(.connectRequested(timeout: timeout))
/Users/admin/builder/spi-builder-workspace/Sources/AsyncBLE/Internal/Connection/ConnectionCore.swift:318:21: error: 'Duration' is only available in macOS 13.0 or newer
16 |
17 | /// The engine behind one ``Connection``.
18 | final class ConnectionCore: ConnectionSink, @unchecked Sendable {
| `- note: add '@available' attribute to enclosing class
19 | let peripheralID: UUID
20 | let library: LibraryQueue
:
315 | }
316 |
317 | private func schedule(
| `- note: add '@available' attribute to enclosing instance method
318 | _ duration: Duration,
| `- error: 'Duration' is only available in macOS 13.0 or newer
319 | _ work: @escaping @Sendable (ConnectionCore) -> Void
320 | ) -> ScheduledWork {
/Users/admin/builder/spi-builder-workspace/Sources/AsyncBLE/Internal/Connection/ConnectionCore.swift:370:9: error: 'Task' is only available in macOS 10.15 or newer
16 |
17 | /// The engine behind one ``Connection``.
18 | final class ConnectionCore: ConnectionSink, @unchecked Sendable {
| `- note: add '@available' attribute to enclosing class
19 | let peripheralID: UUID
20 | let library: LibraryQueue
:
361 | /// the instant the link came back must not overtake the resubscribe that the caller never
362 | /// asked for but is entitled to.
363 | private func startSubscriptionRestore() {
| `- note: add '@available' attribute to enclosing instance method
364 | guard !subscriptions.pendingRestore.isEmpty else { return }
365 | reconnectLog.notice(
:
368 | )
369 | let ticket = ioQueue.enqueue()
370 | Task { [weak connection] in
| |- error: 'Task' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
371 | await connection?.restoreSubscriptions(holding: ticket)
372 | }
/Users/admin/builder/spi-builder-workspace/Sources/AsyncBLE/Internal/Connection/ConnectionCore.swift:370:9: error: 'init(name:priority:operation:)' is only available in macOS 10.15 or newer
16 |
17 | /// The engine behind one ``Connection``.
18 | final class ConnectionCore: ConnectionSink, @unchecked Sendable {
| `- note: add '@available' attribute to enclosing class
19 | let peripheralID: UUID
20 | let library: LibraryQueue
:
361 | /// the instant the link came back must not overtake the resubscribe that the caller never
362 | /// asked for but is entitled to.
363 | private func startSubscriptionRestore() {
| `- note: add '@available' attribute to enclosing instance method
364 | guard !subscriptions.pendingRestore.isEmpty else { return }
365 | reconnectLog.notice(
:
368 | )
369 | let ticket = ioQueue.enqueue()
370 | Task { [weak connection] in
| |- error: 'init(name:priority:operation:)' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
371 | await connection?.restoreSubscriptions(holding: ticket)
372 | }
/Users/admin/builder/spi-builder-workspace/Sources/AsyncBLE/Internal/StateMachine/ConnectionEffect.swift:30:30: error: 'Duration' is only available in macOS 13.0 or newer
17 | /// setup, and queued I/O is always failed before a reconnect is armed, so a caller can never
18 | /// see a write land on the far side of a drop it was queued before.
19 | enum ConnectionEffect: Sendable, Equatable {
| `- note: add '@available' attribute to enclosing enum
20 | /// Issue `connect(peripheral:options:)`. Stays pending until fulfilled or cancelled.
21 | case armConnect
:
28 | ///
29 | /// - Parameter duration: How long the attempt may run.
30 | case startConnectTimeout(Duration)
| `- error: 'Duration' is only available in macOS 13.0 or newer
31 |
32 | /// Cancel the connect attempt's deadline.
/Users/admin/builder/spi-builder-workspace/Sources/AsyncBLE/Internal/StateMachine/ConnectionEffect.swift:41:30: error: 'Duration' is only available in macOS 13.0 or newer
17 | /// setup, and queued I/O is always failed before a reconnect is armed, so a caller can never
18 | /// see a write land on the far side of a drop it was queued before.
19 | enum ConnectionEffect: Sendable, Equatable {
| `- note: add '@available' attribute to enclosing enum
20 | /// Issue `connect(peripheral:options:)`. Stays pending until fulfilled or cancelled.
21 | case armConnect
:
39 | ///
40 | /// - Parameter duration: How long to keep waiting.
41 | case startGiveUpDeadline(Duration)
| `- error: 'Duration' is only available in macOS 13.0 or newer
42 |
43 | /// Cancel the give-up deadline.
/Users/admin/builder/spi-builder-workspace/Sources/AsyncBLE/Internal/StateMachine/ConnectionEffect.swift:53:26: error: 'Duration' is only available in macOS 13.0 or newer
17 | /// setup, and queued I/O is always failed before a reconnect is armed, so a caller can never
18 | /// see a write land on the far side of a drop it was queued before.
19 | enum ConnectionEffect: Sendable, Equatable {
| `- note: add '@available' attribute to enclosing enum
20 | /// Issue `connect(peripheral:options:)`. Stays pending until fulfilled or cancelled.
21 | case armConnect
:
51 | ///
52 | /// - Parameter interval: The cadence from ``ReconnectPolicy/reArmInterval``.
53 | case startReArmTimer(Duration)
| `- error: 'Duration' is only available in macOS 13.0 or newer
54 |
55 | /// Cancel the re-arm cadence. Emitted when the adapter goes away, because re-arming
[43/43] Compiling AsyncBLE ConnectionEffect.swift
/Users/admin/builder/spi-builder-workspace/Sources/AsyncBLE/Internal/Connection/ConnectionCore+IO.swift:119:26: error: 'AsyncThrowingStream' is only available in macOS 10.15 or newer
9 | import Foundation
10 |
11 | extension ConnectionCore {
| `- note: add '@available' attribute to enclosing extension
12 | // MARK: Preconditions
13 |
:
115 |
116 | /// Creates a notification stream and registers it.
117 | func subscribe(
| `- note: add '@available' attribute to enclosing instance method
118 | to uuid: CBUUID,
119 | bufferingPolicy: AsyncThrowingStream<Data, Error>.Continuation.BufferingPolicy
| `- error: 'AsyncThrowingStream' is only available in macOS 10.15 or newer
120 | ) -> (subscription: SubscriptionRegistry.Subscription, stream: AsyncThrowingStream<Data, Error>) {
121 | subscriptions.subscribe(to: uuid, bufferingPolicy: bufferingPolicy)
/Users/admin/builder/spi-builder-workspace/Sources/AsyncBLE/Internal/Connection/ConnectionCore+IO.swift:120:68: error: 'AsyncThrowingStream' is only available in macOS 10.15 or newer
9 | import Foundation
10 |
11 | extension ConnectionCore {
| `- note: add '@available' attribute to enclosing extension
12 | // MARK: Preconditions
13 |
:
115 |
116 | /// Creates a notification stream and registers it.
117 | func subscribe(
| `- note: add '@available' attribute to enclosing instance method
118 | to uuid: CBUUID,
119 | bufferingPolicy: AsyncThrowingStream<Data, Error>.Continuation.BufferingPolicy
120 | ) -> (subscription: SubscriptionRegistry.Subscription, stream: AsyncThrowingStream<Data, Error>) {
| `- error: 'AsyncThrowingStream' is only available in macOS 10.15 or newer
121 | subscriptions.subscribe(to: uuid, bufferingPolicy: bufferingPolicy)
122 | }
/Users/admin/builder/spi-builder-workspace/Sources/AsyncBLE/Internal/Connection/ConnectionCore.swift:132:34: error: 'Duration' is only available in macOS 13.0 or newer
16 |
17 | /// The engine behind one ``Connection``.
18 | final class ConnectionCore: ConnectionSink, @unchecked Sendable {
| `- note: add '@available' attribute to enclosing class
19 | let peripheralID: UUID
20 | let library: LibraryQueue
:
130 |
131 | /// Asks for a link. `timeout` of `nil` is a pending connect with no deadline.
132 | func requestConnect(timeout: Duration?) {
| | `- error: 'Duration' is only available in macOS 13.0 or newer
| `- note: add '@available' attribute to enclosing instance method
133 | library.assertIsolated()
134 | handle(.connectRequested(timeout: timeout))
/Users/admin/builder/spi-builder-workspace/Sources/AsyncBLE/Internal/Connection/ConnectionCore.swift:318:21: error: 'Duration' is only available in macOS 13.0 or newer
16 |
17 | /// The engine behind one ``Connection``.
18 | final class ConnectionCore: ConnectionSink, @unchecked Sendable {
| `- note: add '@available' attribute to enclosing class
19 | let peripheralID: UUID
20 | let library: LibraryQueue
:
315 | }
316 |
317 | private func schedule(
| `- note: add '@available' attribute to enclosing instance method
318 | _ duration: Duration,
| `- error: 'Duration' is only available in macOS 13.0 or newer
319 | _ work: @escaping @Sendable (ConnectionCore) -> Void
320 | ) -> ScheduledWork {
/Users/admin/builder/spi-builder-workspace/Sources/AsyncBLE/Internal/Connection/ConnectionCore.swift:370:9: error: 'Task' is only available in macOS 10.15 or newer
16 |
17 | /// The engine behind one ``Connection``.
18 | final class ConnectionCore: ConnectionSink, @unchecked Sendable {
| `- note: add '@available' attribute to enclosing class
19 | let peripheralID: UUID
20 | let library: LibraryQueue
:
361 | /// the instant the link came back must not overtake the resubscribe that the caller never
362 | /// asked for but is entitled to.
363 | private func startSubscriptionRestore() {
| `- note: add '@available' attribute to enclosing instance method
364 | guard !subscriptions.pendingRestore.isEmpty else { return }
365 | reconnectLog.notice(
:
368 | )
369 | let ticket = ioQueue.enqueue()
370 | Task { [weak connection] in
| |- error: 'Task' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
371 | await connection?.restoreSubscriptions(holding: ticket)
372 | }
/Users/admin/builder/spi-builder-workspace/Sources/AsyncBLE/Internal/Connection/ConnectionCore.swift:370:9: error: 'init(name:priority:operation:)' is only available in macOS 10.15 or newer
16 |
17 | /// The engine behind one ``Connection``.
18 | final class ConnectionCore: ConnectionSink, @unchecked Sendable {
| `- note: add '@available' attribute to enclosing class
19 | let peripheralID: UUID
20 | let library: LibraryQueue
:
361 | /// the instant the link came back must not overtake the resubscribe that the caller never
362 | /// asked for but is entitled to.
363 | private func startSubscriptionRestore() {
| `- note: add '@available' attribute to enclosing instance method
364 | guard !subscriptions.pendingRestore.isEmpty else { return }
365 | reconnectLog.notice(
:
368 | )
369 | let ticket = ioQueue.enqueue()
370 | Task { [weak connection] in
| |- error: 'init(name:priority:operation:)' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
371 | await connection?.restoreSubscriptions(holding: ticket)
372 | }
/Users/admin/builder/spi-builder-workspace/Sources/AsyncBLE/Internal/StateMachine/ConnectionEffect.swift:30:30: error: 'Duration' is only available in macOS 13.0 or newer
17 | /// setup, and queued I/O is always failed before a reconnect is armed, so a caller can never
18 | /// see a write land on the far side of a drop it was queued before.
19 | enum ConnectionEffect: Sendable, Equatable {
| `- note: add '@available' attribute to enclosing enum
20 | /// Issue `connect(peripheral:options:)`. Stays pending until fulfilled or cancelled.
21 | case armConnect
:
28 | ///
29 | /// - Parameter duration: How long the attempt may run.
30 | case startConnectTimeout(Duration)
| `- error: 'Duration' is only available in macOS 13.0 or newer
31 |
32 | /// Cancel the connect attempt's deadline.
/Users/admin/builder/spi-builder-workspace/Sources/AsyncBLE/Internal/StateMachine/ConnectionEffect.swift:41:30: error: 'Duration' is only available in macOS 13.0 or newer
17 | /// setup, and queued I/O is always failed before a reconnect is armed, so a caller can never
18 | /// see a write land on the far side of a drop it was queued before.
19 | enum ConnectionEffect: Sendable, Equatable {
| `- note: add '@available' attribute to enclosing enum
20 | /// Issue `connect(peripheral:options:)`. Stays pending until fulfilled or cancelled.
21 | case armConnect
:
39 | ///
40 | /// - Parameter duration: How long to keep waiting.
41 | case startGiveUpDeadline(Duration)
| `- error: 'Duration' is only available in macOS 13.0 or newer
42 |
43 | /// Cancel the give-up deadline.
/Users/admin/builder/spi-builder-workspace/Sources/AsyncBLE/Internal/StateMachine/ConnectionEffect.swift:53:26: error: 'Duration' is only available in macOS 13.0 or newer
17 | /// setup, and queued I/O is always failed before a reconnect is armed, so a caller can never
18 | /// see a write land on the far side of a drop it was queued before.
19 | enum ConnectionEffect: Sendable, Equatable {
| `- note: add '@available' attribute to enclosing enum
20 | /// Issue `connect(peripheral:options:)`. Stays pending until fulfilled or cancelled.
21 | case armConnect
:
51 | ///
52 | /// - Parameter interval: The cadence from ``ReconnectPolicy/reArmInterval``.
53 | case startReArmTimer(Duration)
| `- error: 'Duration' is only available in macOS 13.0 or newer
54 |
55 | /// Cancel the re-arm cadence. Emitted when the adapter goes away, because re-arming
BUILD FAILURE 6.3 macosSpm