Skip to content

Commit bf27392

Browse files
committed
abi cleanup
1 parent d9b864b commit bf27392

File tree

4 files changed

+23
-30
lines changed

4 files changed

+23
-30
lines changed

stdlib/public/Concurrency/CheckedContinuation.swift

Lines changed: 11 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -281,9 +281,9 @@ extension CheckedContinuation {
281281
/// - SeeAlso: `withCheckedThrowingContinuation(function:_:)`
282282
/// - SeeAlso: `withUnsafeContinuation(function:_:)`
283283
/// - SeeAlso: `withUnsafeThrowingContinuation(function:_:)`
284-
@available(SwiftStdlib 5.1, *)
285284
@inlinable
286285
@_unavailableInEmbedded
286+
@available(SwiftStdlib 5.1, *)
287287
public func withCheckedContinuation<T>(
288288
isolation: isolated (any Actor)? = #isolation,
289289
function: String = #function,
@@ -295,14 +295,15 @@ public func withCheckedContinuation<T>(
295295
}
296296

297297
@available(SwiftStdlib 5.1, *)
298+
@usableFromInline
298299
@_unsafeInheritExecutor // ABI compatibility with Swift 5.1
299-
@inlinable
300300
@_unavailableInEmbedded
301-
public func __abi_withCheckedContinuation<T>(
301+
@_silgen_name("$ss23withCheckedContinuation8function_xSS_yScCyxs5NeverOGXEtYalF")
302+
internal func __abi_withCheckedContinuation<T>(
302303
function: String = #function,
303304
_ body: (CheckedContinuation<T, Never>) -> Void
304305
) async -> T {
305-
return await __abi_withUnsafeContinuation {
306+
return await withUnsafeContinuation {
306307
body(CheckedContinuation(continuation: $0, function: function))
307308
}
308309
}
@@ -336,9 +337,10 @@ public func __abi_withCheckedContinuation<T>(
336337
/// - SeeAlso: `withCheckedContinuation(function:_:)`
337338
/// - SeeAlso: `withUnsafeContinuation(function:_:)`
338339
/// - SeeAlso: `withUnsafeThrowingContinuation(function:_:)`
339-
@available(SwiftStdlib 5.1, *)
340340
@inlinable
341341
@_unavailableInEmbedded
342+
@available(SwiftStdlib 5.1, *)
343+
@backDeployed(before: SwiftStdlib 6.0)
342344
public func withCheckedThrowingContinuation<T>(
343345
isolation: isolated (any Actor)? = #isolation,
344346
function: String = #function,
@@ -350,14 +352,15 @@ public func withCheckedThrowingContinuation<T>(
350352
}
351353

352354
@available(SwiftStdlib 5.1, *)
355+
@usableFromInline
353356
@_unsafeInheritExecutor // ABI compatibility with Swift 5.1
354-
@inlinable
355357
@_unavailableInEmbedded
356-
public func __abi_withCheckedThrowingContinuation<T>(
358+
@_silgen_name("$ss31withCheckedThrowingContinuation8function_xSS_yScCyxs5Error_pGXEtYaKlF")
359+
internal func __abi_withCheckedThrowingContinuation<T>(
357360
function: String = #function,
358361
_ body: (CheckedContinuation<T, Error>) -> Void
359362
) async throws -> T {
360-
return try await __abi_withUnsafeThrowingContinuation {
363+
return try await withUnsafeThrowingContinuation {
361364
body(CheckedContinuation(continuation: $0, function: function))
362365
}
363366
}

stdlib/public/Concurrency/PartialAsyncTask.swift

Lines changed: 0 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -608,17 +608,6 @@ public func withUnsafeContinuation<T>(
608608
}
609609
}
610610

611-
@available(SwiftStdlib 5.1, *)
612-
@_unsafeInheritExecutor
613-
@_alwaysEmitIntoClient
614-
public func __abi_withUnsafeContinuation<T>(
615-
_ fn: (UnsafeContinuation<T, Never>) -> Void
616-
) async -> T {
617-
return await Builtin.withUnsafeContinuation {
618-
fn(UnsafeContinuation<T, Never>($0))
619-
}
620-
}
621-
622611
/// Invokes the passed in closure with a unsafe continuation for the current task.
623612
///
624613
/// The body of the closure executes synchronously on the calling task, and once it returns
@@ -655,17 +644,6 @@ public func withUnsafeThrowingContinuation<T>(
655644
}
656645
}
657646

658-
@available(SwiftStdlib 5.1, *)
659-
@_unsafeInheritExecutor
660-
@_alwaysEmitIntoClient
661-
public func __abi_withUnsafeThrowingContinuation<T>(
662-
_ fn: (UnsafeContinuation<T, Error>) -> Void
663-
) async throws -> T {
664-
return try await Builtin.withUnsafeThrowingContinuation {
665-
fn(UnsafeContinuation<T, Error>($0))
666-
}
667-
}
668-
669647
/// A hack to mark an SDK that supports swift_continuation_await.
670648
@available(SwiftStdlib 5.1, *)
671649
@_alwaysEmitIntoClient

test/abi/macOS/arm64/concurrency.swift

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -270,6 +270,14 @@ Added: _swift_task_getPreferredTaskExecutor
270270
Added: _swift_task_popTaskExecutorPreference
271271
Added: _swift_task_pushTaskExecutorPreference
272272

273+
// Adopt #isolation in with...Continuation APIs
274+
// Swift.withCheckedThrowingContinuation<A>(isolation: isolated Swift.Actor?, function: Swift.String, _: (Swift.CheckedContinuation<A, Swift.Error>) -> ()) async throws -> A
275+
Added: _$ss31withCheckedThrowingContinuation9isolation8function_xScA_pSgYi_SSyScCyxs5Error_pGXEtYaKlF
276+
Added: _$ss31withCheckedThrowingContinuation9isolation8function_xScA_pSgYi_SSyScCyxs5Error_pGXEtYaKlFTu
277+
// Swift.withCheckedContinuation<A>(isolation: isolated Swift.Actor?, function: Swift.String, _: (Swift.CheckedContinuation<A, Swift.Never>) -> ()) async -> A
278+
Added: _$ss23withCheckedContinuation9isolation8function_xScA_pSgYi_SSyScCyxs5NeverOGXEtYalF
279+
Added: _$ss23withCheckedContinuation9isolation8function_xScA_pSgYi_SSyScCyxs5NeverOGXEtYalFTu
280+
273281
// Updated signature for withTaskExecutorPreference to used typed throws and #isolation
274282
// Swift.withTaskExecutorPreference<A, B where B: Swift.Error>(_: Swift.TaskExecutor?, isolation: isolated Swift.Actor?, operation: () async throws(B) -> A) async throws(B) -> A
275283
Added: _$ss26withTaskExecutorPreference_9isolation9operationxSch_pSg_ScA_pSgYixyYaq_YKXEtYaq_YKs5ErrorR_r0_lF

test/api-digester/stability-concurrency-abi.test

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -78,6 +78,10 @@ Protocol SerialExecutor has added inherited protocol Copyable
7878
Protocol SerialExecutor has added inherited protocol Escapable
7979
Protocol AsyncSequence is now without @rethrows
8080

81+
// #isolated was adopted and the old methods kept: $ss31withCheckedThrowingContinuation8function_xSS_yScCyxs5Error_pGXEtYaKlF
82+
Func withCheckedContinuation(function:_:) has been renamed to Func withCheckedContinuation(isolation:function:_:)
83+
Func withCheckedContinuation(function:_:) has mangled name changing from '_Concurrency.withCheckedContinuation<A>(function: Swift.String, _: (Swift.CheckedContinuation<A, Swift.Never>) -> ()) async -> A' to '_Concurrency.withCheckedContinuation<A>(isolation: isolated Swift.Optional<Swift.Actor>, function: Swift.String, _: (Swift.CheckedContinuation<A, Swift.Never>) -> ()) async -> A'
84+
8185
// SerialExecutor gained `enqueue(_: __owned Job)`, protocol requirements got default implementations
8286
Func SerialExecutor.enqueue(_:) has been added as a protocol requirement
8387

0 commit comments

Comments
 (0)