Skip to content

Commit e5744f0

Browse files
committed
Concurrency: Promote BuiltinCreateAsyncDiscardingTaskInGroup feature to baseline.
1 parent a4d5867 commit e5744f0

File tree

3 files changed

+7
-126
lines changed

3 files changed

+7
-126
lines changed

include/swift/Basic/Features.def

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -152,7 +152,7 @@ BASELINE_LANGUAGE_FEATURE(BuiltinBuildComplexEqualityExecutor, 0, "Executor-buil
152152
BASELINE_LANGUAGE_FEATURE(BuiltinBuildMainExecutor, 0, "MainActor executor building builtin")
153153
BASELINE_LANGUAGE_FEATURE(BuiltinCreateAsyncTaskInGroup, 0, "Task create in task group builtin with extra flags")
154154
BASELINE_LANGUAGE_FEATURE(BuiltinCreateAsyncTaskInGroupWithExecutor, 0, "Task create in task group builtin with extra flags")
155-
LANGUAGE_FEATURE(BuiltinCreateAsyncDiscardingTaskInGroup, 0, "Task create in discarding task group builtin, accounting for the Void return type")
155+
BASELINE_LANGUAGE_FEATURE(BuiltinCreateAsyncDiscardingTaskInGroup, 0, "Task create in discarding task group builtin, accounting for the Void return type")
156156
BASELINE_LANGUAGE_FEATURE(BuiltinCreateAsyncTaskWithExecutor, 0, "Task create builtin with extra executor preference")
157157
LANGUAGE_FEATURE(BuiltinCreateAsyncDiscardingTaskInGroupWithExecutor, 0, "Task create in discarding task group with extra executor preference")
158158
BASELINE_LANGUAGE_FEATURE(BuiltinStackAlloc, 0, "Builtin.stackAlloc")

lib/AST/FeatureSet.cpp

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -124,7 +124,6 @@ static bool usesFeatureRethrowsProtocol(Decl *decl) {
124124
return usesFeatureRethrowsProtocol(decl, checked);
125125
}
126126

127-
UNINTERESTING_FEATURE(BuiltinCreateAsyncDiscardingTaskInGroup)
128127
UNINTERESTING_FEATURE(BuiltinCreateAsyncDiscardingTaskInGroupWithExecutor)
129128
UNINTERESTING_FEATURE(BuiltinUnprotectedStackAlloc)
130129
UNINTERESTING_FEATURE(BuiltinAllocVector)

stdlib/public/Concurrency/DiscardingTaskGroup.swift

Lines changed: 6 additions & 124 deletions
Original file line numberDiff line numberDiff line change
@@ -231,19 +231,8 @@ public struct DiscardingTaskGroup {
231231
initialSerialExecutor: builtinSerialExecutor,
232232
taskGroup: _group,
233233
operation: operation)
234-
#elseif $BuiltinCreateAsyncDiscardingTaskInGroup
235-
_ = Builtin.createAsyncDiscardingTaskInGroup(flags, _group, operation)
236234
#else
237-
// This builtin happens to work, but the signature of the operation is
238-
// incorrect, as the discarding group uses Void, and therefore has less
239-
// generic parameters than the operation expected to be passed to
240-
// createAsyncTaskInGroup. While this happened to work on some platforms,
241-
// on others this causes issues, e.g. on wasm;
242-
//
243-
// Keep this branch for compatibility with old compilers, but use the
244-
// correct 'createAsyncDiscardingTaskInGroup' when available (and a recent
245-
// enough compiler is used).
246-
_ = Builtin.createAsyncTaskInGroup(flags, _group, operation)
235+
_ = Builtin.createAsyncDiscardingTaskInGroup(flags, _group, operation)
247236
#endif
248237
}
249238

@@ -294,19 +283,8 @@ public struct DiscardingTaskGroup {
294283
initialSerialExecutor: builtinSerialExecutor,
295284
taskGroup: _group,
296285
operation: operation)
297-
#elseif $BuiltinCreateAsyncDiscardingTaskInGroup
298-
_ = Builtin.createAsyncDiscardingTaskInGroup(flags, _group, operation)
299286
#else
300-
// This builtin happens to work, but the signature of the operation is
301-
// incorrect, as the discarding group uses Void, and therefore has less
302-
// generic parameters than the operation expected to be passed to
303-
// createAsyncTaskInGroup. While this happened to work on some platforms,
304-
// on others this causes issues, e.g. on wasm;
305-
//
306-
// Keep this branch for compatibility with old compilers, but use the
307-
// correct 'createAsyncDiscardingTaskInGroup' when available (and a recent
308-
// enough compiler is used).
309-
_ = Builtin.createAsyncTaskInGroup(flags, _group, operation)
287+
_ = Builtin.createAsyncDiscardingTaskInGroup(flags, _group, operation)
310288
#endif
311289

312290
return true
@@ -332,19 +310,8 @@ public struct DiscardingTaskGroup {
332310
initialSerialExecutor: builtinSerialExecutor,
333311
taskGroup: _group,
334312
operation: operation)
335-
#elseif $BuiltinCreateAsyncDiscardingTaskInGroup
336-
_ = Builtin.createAsyncDiscardingTaskInGroup(flags, _group, operation)
337313
#else
338-
// This builtin happens to work, but the signature of the operation is
339-
// incorrect, as the discarding group uses Void, and therefore has less
340-
// generic parameters than the operation expected to be passed to
341-
// createAsyncTaskInGroup. While this happened to work on some platforms,
342-
// on others this causes issues, e.g. on wasm;
343-
//
344-
// Keep this branch for compatibility with old compilers, but use the
345-
// correct 'createAsyncDiscardingTaskInGroup' when available (and a recent
346-
// enough compiler is used).
347-
_ = Builtin.createAsyncTaskInGroup(flags, _group, operation)
314+
_ = Builtin.createAsyncDiscardingTaskInGroup(flags, _group, operation)
348315
#endif
349316
}
350317

@@ -385,19 +352,8 @@ public struct DiscardingTaskGroup {
385352
initialSerialExecutor: builtinSerialExecutor,
386353
taskGroup: _group,
387354
operation: operation)
388-
#elseif $BuiltinCreateAsyncDiscardingTaskInGroup
389-
_ = Builtin.createAsyncDiscardingTaskInGroup(flags, _group, operation)
390355
#else
391-
// This builtin happens to work, but the signature of the operation is
392-
// incorrect, as the discarding group uses Void, and therefore has less
393-
// generic parameters than the operation expected to be passed to
394-
// createAsyncTaskInGroup. While this happened to work on some platforms,
395-
// on others this causes issues, e.g. on wasm;
396-
//
397-
// Keep this branch for compatibility with old compilers, but use the
398-
// correct 'createAsyncDiscardingTaskInGroup' when available (and a recent
399-
// enough compiler is used).
400-
_ = Builtin.createAsyncTaskInGroup(flags, _group, operation)
356+
_ = Builtin.createAsyncDiscardingTaskInGroup(flags, _group, operation)
401357
#endif
402358

403359
return true
@@ -439,20 +395,7 @@ public struct DiscardingTaskGroup {
439395
#endif
440396

441397
// Create the task in this group.
442-
#if $BuiltinCreateAsyncDiscardingTaskInGroup
443398
_ = Builtin.createAsyncDiscardingTaskInGroup(flags, _group, operation)
444-
#else
445-
// This builtin happens to work, but the signature of the operation is
446-
// incorrect, as the discarding group uses Void, and therefore has less
447-
// generic parameters than the operation expected to be passed to
448-
// createAsyncTaskInGroup. While this happened to work on some platforms,
449-
// on others this causes issues, e.g. on wasm;
450-
//
451-
// Keep this branch for compatibility with old compilers, but use the
452-
// correct 'createAsyncDiscardingTaskInGroup' when available (and a recent
453-
// enough compiler is used).
454-
_ = Builtin.createAsyncTaskInGroup(flags, _group, operation)
455-
#endif
456399
}
457400

458401
/// Adds a child task to the group, unless the group has been canceled.
@@ -493,20 +436,7 @@ public struct DiscardingTaskGroup {
493436
#endif
494437

495438
// Create the task in this group.
496-
#if $BuiltinCreateAsyncDiscardingTaskInGroup
497439
_ = Builtin.createAsyncDiscardingTaskInGroup(flags, _group, operation)
498-
#else
499-
// This builtin happens to work, but the signature of the operation is
500-
// incorrect, as the discarding group uses Void, and therefore has less
501-
// generic parameters than the operation expected to be passed to
502-
// createAsyncTaskInGroup. While this happened to work on some platforms,
503-
// on others this causes issues, e.g. on wasm;
504-
//
505-
// Keep this branch for compatibility with old compilers, but use the
506-
// correct 'createAsyncDiscardingTaskInGroup' when available (and a recent
507-
// enough compiler is used).
508-
_ = Builtin.createAsyncTaskInGroup(flags, _group, operation)
509-
#endif
510440

511441
return true
512442
}
@@ -522,20 +452,7 @@ public struct DiscardingTaskGroup {
522452
)
523453

524454
// Create the task in this group.
525-
#if $BuiltinCreateAsyncDiscardingTaskInGroup
526455
_ = Builtin.createAsyncDiscardingTaskInGroup(flags, _group, operation)
527-
#else
528-
// This builtin happens to work, but the signature of the operation is
529-
// incorrect, as the discarding group uses Void, and therefore has less
530-
// generic parameters than the operation expected to be passed to
531-
// createAsyncTaskInGroup. While this happened to work on some platforms,
532-
// on others this causes issues, e.g. on wasm;
533-
//
534-
// Keep this branch for compatibility with old compilers, but use the
535-
// correct 'createAsyncDiscardingTaskInGroup' when available (and a recent
536-
// enough compiler is used).
537-
_ = Builtin.createAsyncTaskInGroup(flags, _group, operation)
538-
#endif
539456
}
540457

541458
/// Adds a child task to the group, unless the group has been canceled.
@@ -566,20 +483,7 @@ public struct DiscardingTaskGroup {
566483
)
567484

568485
// Create the task in this group.
569-
#if $BuiltinCreateAsyncDiscardingTaskInGroup
570486
_ = Builtin.createAsyncDiscardingTaskInGroup(flags, _group, operation)
571-
#else
572-
// This builtin happens to work, but the signature of the operation is
573-
// incorrect, as the discarding group uses Void, and therefore has less
574-
// generic parameters than the operation expected to be passed to
575-
// createAsyncTaskInGroup. While this happened to work on some platforms,
576-
// on others this causes issues, e.g. on wasm;
577-
//
578-
// Keep this branch for compatibility with old compilers, but use the
579-
// correct 'createAsyncDiscardingTaskInGroup' when available (and a recent
580-
// enough compiler is used).
581-
_ = Builtin.createAsyncTaskInGroup(flags, _group, operation)
582-
#endif
583487

584488
return true
585489
#else
@@ -913,19 +817,8 @@ public struct ThrowingDiscardingTaskGroup<Failure: Error> {
913817
initialSerialExecutor: builtinSerialExecutor,
914818
taskGroup: _group,
915819
operation: operation)
916-
#elseif $BuiltinCreateAsyncDiscardingTaskInGroup
917-
_ = Builtin.createAsyncDiscardingTaskInGroup(flags, _group, operation)
918820
#else
919-
// This builtin happens to work, but the signature of the operation is
920-
// incorrect, as the discarding group uses Void, and therefore has less
921-
// generic parameters than the operation expected to be passed to
922-
// createAsyncTaskInGroup. While this happened to work on some platforms,
923-
// on others this causes issues, e.g. on wasm;
924-
//
925-
// Keep this branch for compatibility with old compilers, but use the
926-
// correct 'createAsyncDiscardingTaskInGroup' when available (and a recent
927-
// enough compiler is used).
928-
_ = Builtin.createAsyncTaskInGroup(flags, _group, operation)
821+
_ = Builtin.createAsyncDiscardingTaskInGroup(flags, _group, operation)
929822
#endif
930823
#else
931824
fatalError("Unsupported Swift compiler")
@@ -964,19 +857,8 @@ public struct ThrowingDiscardingTaskGroup<Failure: Error> {
964857
initialSerialExecutor: builtinSerialExecutor,
965858
taskGroup: _group,
966859
operation: operation)
967-
#elseif $BuiltinCreateAsyncDiscardingTaskInGroup
968-
_ = Builtin.createAsyncDiscardingTaskInGroup(flags, _group, operation)
969860
#else
970-
// This builtin happens to work, but the signature of the operation is
971-
// incorrect, as the discarding group uses Void, and therefore has less
972-
// generic parameters than the operation expected to be passed to
973-
// createAsyncTaskInGroup. While this happened to work on some platforms,
974-
// on others this causes issues, e.g. on wasm;
975-
//
976-
// Keep this branch for compatibility with old compilers, but use the
977-
// correct 'createAsyncDiscardingTaskInGroup' when available (and a recent
978-
// enough compiler is used).
979-
_ = Builtin.createAsyncTaskInGroup(flags, _group, operation)
861+
_ = Builtin.createAsyncDiscardingTaskInGroup(flags, _group, operation)
980862
#endif
981863

982864
return true

0 commit comments

Comments
 (0)