@@ -252,17 +252,32 @@ extension CheckedContinuation {
252252 }
253253}
254254
255- /// Invokes the passed in closure and provides with a checked continuation for the current task.
255+ /// Invokes the passed in closure with a checked continuation for the current task.
256+ ///
256257/// The body of the closure executes synchronously on the calling task, and once it returns
257258/// the calling task is suspended. It is possible to immediately resume the task, or escape the
258- /// continuation in order to complete it afterwards, and thus resuming the suspended task.
259+ /// continuation in order to complete it afterwards, which will them resume suspended task.
260+ ///
261+ /// You must invoke the continuation's `resume` method exactly once.
262+ ///
263+ /// Missing to invoke it (eventually) will cause the calling task to remain suspended
264+ /// indefinitely which will result in the task "hanging" as well as being leaked with
265+ /// no possibility to destroy it.
266+ ///
267+ /// The checked continuation offers detection of mis-use, and dropping the last reference
268+ /// to it, without having resumed it will trigger a warning. Resuming a continuation twice
269+ /// is also diagnosed and will cause a crash.
259270///
260271/// - Parameters:
261272/// - function: A string identifying the declaration that is the notional
262273/// source for the continuation, used to identify the continuation in
263274/// runtime diagnostics related to misuse of this continuation.
264275/// - body: A closure that takes a `CheckedContinuation` parameter.
265- /// You must resume the continuation exactly once.
276+ /// - Returns: The value continuation is resumed with.
277+ ///
278+ /// - SeeAlso: `withCheckedThrowingContinuation(function:_:)`
279+ /// - SeeAlso: `withUnsafeContinuation(function:_:)`
280+ /// - SeeAlso: `withUnsafeThrowingContinuation(function:_:)`
266281@available ( SwiftStdlib 5 . 1 , * )
267282@_unsafeInheritExecutor // ABI compatibility with Swift 5.1
268283@inlinable
@@ -275,20 +290,34 @@ public func withCheckedContinuation<T>(
275290 }
276291}
277292
278- /// Invokes the passed in closure and provides with a checked throwing continuation for the current task.
293+ /// Invokes the passed in closure with a checked continuation for the current task.
294+ ///
279295/// The body of the closure executes synchronously on the calling task, and once it returns
280296/// the calling task is suspended. It is possible to immediately resume the task, or escape the
281- /// continuation in order to complete it afterwards, and thus resuming the suspended task.
297+ /// continuation in order to complete it afterwards, which will them resume suspended task.
298+ ///
299+ /// If `resume(throwing:)` is called on the continuation, this function throws that error.
300+ ///
301+ /// You must invoke the continuation's `resume` method exactly once.
302+ ///
303+ /// Missing to invoke it (eventually) will cause the calling task to remain suspended
304+ /// indefinitely which will result in the task "hanging" as well as being leaked with
305+ /// no possibility to destroy it.
306+ ///
307+ /// The checked continuation offers detection of mis-use, and dropping the last reference
308+ /// to it, without having resumed it will trigger a warning. Resuming a continuation twice
309+ /// is also diagnosed and will cause a crash.
282310///
283311/// - Parameters:
284312/// - function: A string identifying the declaration that is the notional
285313/// source for the continuation, used to identify the continuation in
286314/// runtime diagnostics related to misuse of this continuation.
287315/// - body: A closure that takes a `CheckedContinuation` parameter.
288- /// You must resume the continuation exactly once .
316+ /// - Returns: The value continuation is resumed with .
289317///
290- /// If `resume(throwing:)` is called on the continuation,
291- /// this function throws that error.
318+ /// - SeeAlso: `withCheckedContinuation(function:_:)`
319+ /// - SeeAlso: `withUnsafeContinuation(function:_:)`
320+ /// - SeeAlso: `withUnsafeThrowingContinuation(function:_:)`
292321@available ( SwiftStdlib 5 . 1 , * )
293322@_unsafeInheritExecutor // ABI compatibility with Swift 5.1
294323@inlinable
0 commit comments