mirror of
https://github.com/apple/swift.git
synced 2025-12-14 20:36:38 +01:00
[Concurrency] Deprecate extractIsolation
This commit is contained in:
@@ -125,6 +125,7 @@ public macro Task(
|
||||
#if $IsolatedAny
|
||||
@_alwaysEmitIntoClient
|
||||
@available(SwiftStdlib 5.1, *)
|
||||
@available(*, deprecated, message: "Use `.isolation` on @isolated(any) closure values instead.")
|
||||
public func extractIsolation<each Arg, Result>(
|
||||
_ fn: @escaping @isolated(any) (repeat each Arg) async throws -> Result
|
||||
) -> (any Actor)? {
|
||||
|
||||
@@ -88,12 +88,12 @@ func testConvertIsolatedAnyToMainActor(fn: @Sendable @isolated(any) () -> ()) {
|
||||
}
|
||||
|
||||
func extractFunctionIsolation(_ fn: @isolated(any) @Sendable @escaping () async -> Void) {
|
||||
let _: (any Actor)? = extractIsolation(fn)
|
||||
let _: (any Actor)? = extractIsolation(fn) // expected-warning{{'extractIsolation' is deprecated: Use `.isolation` on @isolated(any) closure values instead.}}
|
||||
|
||||
let myActor = A()
|
||||
let _: (any Actor)? = extractIsolation(myActor.asyncActorFunction)
|
||||
let _: (any Actor)? = extractIsolation(myActor.asyncThrowsActorFunction)
|
||||
let _: (any Actor)? = extractIsolation(myActor.actorFunctionWithArgs(value:))
|
||||
let _: (any Actor)? = extractIsolation(myActor.asyncActorFunction) // expected-warning{{'extractIsolation' is deprecated: Use `.isolation` on @isolated(any) closure values instead.}}
|
||||
let _: (any Actor)? = extractIsolation(myActor.asyncThrowsActorFunction) // expected-warning{{'extractIsolation' is deprecated: Use `.isolation` on @isolated(any) closure values instead.}}
|
||||
let _: (any Actor)? = extractIsolation(myActor.actorFunctionWithArgs(value:)) // expected-warning{{'extractIsolation' is deprecated: Use `.isolation` on @isolated(any) closure values instead.}}
|
||||
}
|
||||
|
||||
func extractFunctionIsolationExpr(
|
||||
|
||||
Reference in New Issue
Block a user