Skip to content

Commit 85eff41

Browse files
committed
[stdlib] Adopt @_inheritActorContext(always) on Task.immediate
This change aligns implementation with the current SE-0472 proposal.
1 parent f4a2e46 commit 85eff41

File tree

4 files changed

+7
-10
lines changed

4 files changed

+7
-10
lines changed

stdlib/public/Concurrency/Task+immediate.swift.gyb

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -38,9 +38,9 @@ extension Task where Failure == ${FAILURE_TYPE} {
3838
public static func startSynchronously(
3939
name: String? = nil,
4040
priority: TaskPriority? = nil,
41-
@_implicitSelfCapture _ operation: __owned @isolated(any) @escaping () async throws -> Success
41+
@_inheritActorContext(always) _ operation: sending @isolated(any) @escaping () async throws -> Success
4242
) -> Task<Success, ${FAILURE_TYPE}> {
43-
immediate(name: name, priority: priority, operation)
43+
immediate(name: name, priority: priority, operation: operation)
4444
}
4545

4646
/// Create and immediately start running a new task in the context of the calling thread/task.
@@ -72,7 +72,7 @@ extension Task where Failure == ${FAILURE_TYPE} {
7272
priority: TaskPriority? = nil,
7373
% # NOTE: This closure cannot be 'sending' because we'll trigger ' pattern that the region based isolation checker does not understand how to check'
7474
% # In this case: `func syncOnMyGlobalActor() { Task.immediate { @MyGlobalActor in } }`
75-
@_implicitSelfCapture _ operation: __owned @isolated(any) @escaping () async throws -> Success
75+
@_inheritActorContext(always) operation: sending @isolated(any) @escaping () async throws -> Success
7676
) -> Task<Success, ${FAILURE_TYPE}> {
7777

7878
let builtinSerialExecutor =

test/Concurrency/Runtime/startImmediately.swift

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,3 @@
1-
// FIXME: Marking this disabled since we're reworking the semantics and the test is a bit racy until we do
2-
// REQUIRES: rdar149506152
3-
41
// RUN: %empty-directory(%t)
52
// RUN: %target-build-swift -Xfrontend -disable-availability-checking %s %import-libdispatch -swift-version 6 -o %t/a.out
63
// RUN: %target-codesign %t/a.out

test/abi/macOS/arm64/concurrency.swift

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -396,8 +396,8 @@ Added: _$sScTss5NeverORs_rlE18startSynchronously4name8priority_ScTyxABGSSSg_ScPS
396396
Added: _$sScG16addImmediateTask4name8priority9operationySSSg_ScPSgxyYaYAcntF
397397
Added: _$sScg31addImmediateTaskUnlessCancelled4name8priority9operationySSSg_ScPSgxyYaKYAcntF
398398
Added: _$sScG31addImmediateTaskUnlessCancelled4name8priority9operationySSSg_ScPSgxyYaYAcntF
399-
Added: _$sScTss5NeverORs_rlE9immediate4name8priority_ScTyxABGSSSg_ScPSgxyYaKYAcntFZ
400-
Added: _$sScTss5Error_pRs_rlE9immediate4name8priority_ScTyxsAA_pGSSSg_ScPSgxyYaKYAcntFZ
399+
Added: _$sScTss5NeverORs_rlE9immediate4name8priority9operationScTyxABGSSSg_ScPSgxyYaKYAcntFZ
400+
Added: _$sScTss5Error_pRs_rlE9immediate4name8priority9operationScTyxsAA_pGSSSg_ScPSgxyYaKYAcntFZ
401401
Added: _$sScg16addImmediateTask4name8priority9operationySSSg_ScPSgxyYaKYAcntF
402402
Added: _$ss19DiscardingTaskGroupV012addImmediateB04name8priority9operationySSSg_ScPSgyyYaYAcntF
403403
Added: _$ss19DiscardingTaskGroupV012addImmediateB15UnlessCancelled4name8priority9operationySSSg_ScPSgyyYaYAcntF

test/abi/macOS/x86_64/concurrency.swift

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -396,8 +396,8 @@ Added: _$sScTss5NeverORs_rlE18startSynchronously4name8priority_ScTyxABGSSSg_ScPS
396396
Added: _$sScG16addImmediateTask4name8priority9operationySSSg_ScPSgxyYaYAcntF
397397
Added: _$sScg31addImmediateTaskUnlessCancelled4name8priority9operationySSSg_ScPSgxyYaKYAcntF
398398
Added: _$sScG31addImmediateTaskUnlessCancelled4name8priority9operationySSSg_ScPSgxyYaYAcntF
399-
Added: _$sScTss5NeverORs_rlE9immediate4name8priority_ScTyxABGSSSg_ScPSgxyYaKYAcntFZ
400-
Added: _$sScTss5Error_pRs_rlE9immediate4name8priority_ScTyxsAA_pGSSSg_ScPSgxyYaKYAcntFZ
399+
Added: _$sScTss5NeverORs_rlE9immediate4name8priority9operationScTyxABGSSSg_ScPSgxyYaKYAcntFZ
400+
Added: _$sScTss5Error_pRs_rlE9immediate4name8priority9operationScTyxsAA_pGSSSg_ScPSgxyYaKYAcntFZ
401401
Added: _$sScg16addImmediateTask4name8priority9operationySSSg_ScPSgxyYaKYAcntF
402402
Added: _$ss19DiscardingTaskGroupV012addImmediateB04name8priority9operationySSSg_ScPSgyyYaYAcntF
403403
Added: _$ss19DiscardingTaskGroupV012addImmediateB15UnlessCancelled4name8priority9operationySSSg_ScPSgyyYaYAcntF

0 commit comments

Comments
 (0)