Skip to content

Commit c1a4e29

Browse files
authored
Merge pull request #70851 from tshortli/async-discarding-task-builtin
[Concurrency] Fix more missing builtin guards for DiscardingTaskGroup
2 parents 774a59d + 100e5ee commit c1a4e29

File tree

3 files changed

+11
-5
lines changed

3 files changed

+11
-5
lines changed

include/swift/Basic/Features.def

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -85,6 +85,7 @@ LANGUAGE_FEATURE(BuiltinCreateAsyncTaskInGroup, 0, "Task create in task group bu
8585
LANGUAGE_FEATURE(BuiltinCreateAsyncTaskInGroupWithExecutor, 0, "Task create in task group builtin with extra flags")
8686
LANGUAGE_FEATURE(BuiltinCreateAsyncDiscardingTaskInGroup, 0, "Task create in discarding task group builtin, accounting for the Void return type")
8787
LANGUAGE_FEATURE(BuiltinCreateAsyncTaskWithExecutor, 0, "Task create builtin with extra executor preference")
88+
LANGUAGE_FEATURE(BuiltinCreateAsyncDiscardingTaskInGroupWithExecutor, 0, "Task create in discarding task group with extra executor preference")
8889
LANGUAGE_FEATURE(BuiltinCopy, 0, "Builtin.copy()")
8990
LANGUAGE_FEATURE(BuiltinStackAlloc, 0, "Builtin.stackAlloc")
9091
LANGUAGE_FEATURE(BuiltinUnprotectedStackAlloc, 0, "Builtin.unprotectedStackAlloc")

lib/AST/ASTPrinter.cpp

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3296,6 +3296,11 @@ static bool usesFeatureBuiltinCreateAsyncTaskWithExecutor(Decl *decl) {
32963296
return false;
32973297
}
32983298

3299+
static bool
3300+
usesFeatureBuiltinCreateAsyncDiscardingTaskInGroupWithExecutor(Decl *decl) {
3301+
return false;
3302+
}
3303+
32993304
static bool usesFeatureBuiltinCopy(Decl *decl) { return false; }
33003305

33013306
static bool usesFeatureBuiltinTaskRunInline(Decl *) { return false; }

stdlib/public/Concurrency/TaskGroup+TaskExecutor.swift

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -223,7 +223,7 @@ extension DiscardingTaskGroup {
223223
priority: TaskPriority? = nil,
224224
operation: __owned @Sendable @escaping () async throws -> Void
225225
) {
226-
#if $BuiltinCreateAsyncTaskInGroupWithExecutor
226+
#if $BuiltinCreateAsyncDiscardingTaskInGroupWithExecutor
227227
let flags = taskCreateFlags(
228228
priority: priority, isChildTask: true, copyTaskLocals: false,
229229
inheritContext: false, enqueueJob: true,
@@ -265,7 +265,7 @@ extension DiscardingTaskGroup {
265265
priority: TaskPriority? = nil,
266266
operation: __owned @Sendable @escaping () async -> Void
267267
) -> Bool {
268-
#if $BuiltinCreateAsyncTaskInGroupWithExecutor
268+
#if $BuiltinCreateAsyncDiscardingTaskInGroupWithExecutor
269269
let canAdd = _taskGroupAddPendingTask(group: _group, unconditionally: false)
270270

271271
guard canAdd else {
@@ -317,7 +317,7 @@ extension ThrowingDiscardingTaskGroup {
317317
priority: TaskPriority? = nil,
318318
operation: __owned @Sendable @escaping () async throws -> Void
319319
) {
320-
#if $BuiltinCreateAsyncTaskInGroupWithExecutor
320+
#if $BuiltinCreateAsyncDiscardingTaskInGroupWithExecutor
321321
let flags = taskCreateFlags(
322322
priority: priority, isChildTask: true, copyTaskLocals: false,
323323
inheritContext: false, enqueueJob: true,
@@ -359,7 +359,7 @@ extension ThrowingDiscardingTaskGroup {
359359
priority: TaskPriority? = nil,
360360
operation: __owned @Sendable @escaping () async throws -> Void
361361
) -> Bool {
362-
#if $BuiltinCreateAsyncTaskInGroupWithExecutor
362+
#if $BuiltinCreateAsyncDiscardingTaskInGroupWithExecutor
363363
let canAdd = _taskGroupAddPendingTask(group: _group, unconditionally: false)
364364

365365
guard canAdd else {
@@ -388,4 +388,4 @@ extension ThrowingDiscardingTaskGroup {
388388
}
389389
}
390390

391-
#endif
391+
#endif

0 commit comments

Comments
 (0)