By having fewer API variants, I find them easier to learn and use. I was also trying to limit top-level Unsafe*
and withUnsafe*
APIs, for better auto-completion of the existing pointer APIs.
I now understand your concern, but that wasn't my intention. My earlier example uses try result.get()
immediately.
Could this be improved by adding a static suspend
method to each continuation type?
try await UnsafeThrowingContinuation.suspend { continuation in
/* ... */
continuation.resume(returning: value)
}