Skip to content

Commit c009461

Browse files
committed
[Concurrency] Deprecate extractIsolation
1 parent 1484f1c commit c009461

File tree

2 files changed

+5
-4
lines changed

2 files changed

+5
-4
lines changed

stdlib/public/Concurrency/Actor.swift

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -125,6 +125,7 @@ public macro Task(
125125
#if $IsolatedAny
126126
@_alwaysEmitIntoClient
127127
@available(SwiftStdlib 5.1, *)
128+
@available(*, deprecated, message: "Use `.isolation` on @isolated(any) closure values instead.")
128129
public func extractIsolation<each Arg, Result>(
129130
_ fn: @escaping @isolated(any) (repeat each Arg) async throws -> Result
130131
) -> (any Actor)? {

test/Concurrency/isolated_any.swift

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -88,12 +88,12 @@ func testConvertIsolatedAnyToMainActor(fn: @Sendable @isolated(any) () -> ()) {
8888
}
8989

9090
func extractFunctionIsolation(_ fn: @isolated(any) @Sendable @escaping () async -> Void) {
91-
let _: (any Actor)? = extractIsolation(fn)
91+
let _: (any Actor)? = extractIsolation(fn) // expected-warning{{'extractIsolation' is deprecated: Use `.isolation` on @isolated(any) closure values instead.}}
9292

9393
let myActor = A()
94-
let _: (any Actor)? = extractIsolation(myActor.asyncActorFunction)
95-
let _: (any Actor)? = extractIsolation(myActor.asyncThrowsActorFunction)
96-
let _: (any Actor)? = extractIsolation(myActor.actorFunctionWithArgs(value:))
94+
let _: (any Actor)? = extractIsolation(myActor.asyncActorFunction) // expected-warning{{'extractIsolation' is deprecated: Use `.isolation` on @isolated(any) closure values instead.}}
95+
let _: (any Actor)? = extractIsolation(myActor.asyncThrowsActorFunction) // expected-warning{{'extractIsolation' is deprecated: Use `.isolation` on @isolated(any) closure values instead.}}
96+
let _: (any Actor)? = extractIsolation(myActor.actorFunctionWithArgs(value:)) // expected-warning{{'extractIsolation' is deprecated: Use `.isolation` on @isolated(any) closure values instead.}}
9797
}
9898

9999
func extractFunctionIsolationExpr(

0 commit comments

Comments
 (0)