@@ -40,15 +40,12 @@ extension TaskGroup {
40
40
guard let taskExecutor else {
41
41
return self . addTask ( priority: priority, operation: operation)
42
42
}
43
- #if $BuiltinCreateAsyncTaskInGroupWithExecutor
44
43
let flags = taskCreateFlags (
45
44
priority: priority, isChildTask: true , copyTaskLocals: false ,
46
45
inheritContext: false , enqueueJob: true ,
47
46
addPendingGroupTaskUnconditionally: true ,
48
47
isDiscardingTask: false )
49
48
50
- // Create the task in this group with an executor preference.
51
- #if $BuiltinCreateTask
52
49
let builtinSerialExecutor =
53
50
Builtin . extractFunctionIsolation ( operation) ? . unownedExecutor. executor
54
51
@@ -59,7 +56,14 @@ extension TaskGroup {
59
56
initialTaskExecutorConsuming: taskExecutor,
60
57
operation: operation)
61
58
#else
62
- fatalError ( " Unsupported Swift compiler, missing support for BuiltinCreateAsyncTaskOwnedTaskExecutor " )
59
+ let executorBuiltin : Builtin . Executor =
60
+ taskExecutor. asUnownedTaskExecutor ( ) . executor
61
+
62
+ _ = Builtin . createTask ( flags: flags,
63
+ initialSerialExecutor: builtinSerialExecutor,
64
+ taskGroup: _group,
65
+ initialTaskExecutor: executorBuiltin,
66
+ operation: operation)
63
67
#endif
64
68
}
65
69
@@ -109,10 +113,18 @@ extension TaskGroup {
109
113
taskGroup: _group,
110
114
initialTaskExecutorConsuming: taskExecutor,
111
115
operation: operation)
112
- return true
113
116
#else
114
- fatalError ( " Unsupported Swift compiler, missing support for BuiltinCreateAsyncTaskOwnedTaskExecutor " )
117
+ let executorBuiltin : Builtin . Executor =
118
+ taskExecutor. asUnownedTaskExecutor ( ) . executor
119
+
120
+ _ = Builtin . createTask ( flags: flags,
121
+ initialSerialExecutor: builtinSerialExecutor,
122
+ taskGroup: _group,
123
+ initialTaskExecutor: executorBuiltin,
124
+ operation: operation)
115
125
#endif
126
+
127
+ return true
116
128
}
117
129
}
118
130
@@ -160,7 +172,14 @@ extension ThrowingTaskGroup {
160
172
initialTaskExecutorConsuming: taskExecutor,
161
173
operation: operation)
162
174
#else
163
- fatalError ( " Unsupported Swift compiler, missing support for BuiltinCreateAsyncTaskOwnedTaskExecutor " )
175
+ let executorBuiltin : Builtin . Executor =
176
+ taskExecutor. asUnownedTaskExecutor ( ) . executor
177
+
178
+ _ = Builtin . createTask ( flags: flags,
179
+ initialSerialExecutor: builtinSerialExecutor,
180
+ taskGroup: _group,
181
+ initialTaskExecutor: executorBuiltin,
182
+ operation: operation)
164
183
#endif
165
184
}
166
185
@@ -206,10 +225,18 @@ extension ThrowingTaskGroup {
206
225
taskGroup: _group,
207
226
initialTaskExecutorConsuming: taskExecutor,
208
227
operation: operation)
209
- return true
210
228
#else
211
- fatalError ( " Unsupported Swift compiler, missing support for BuiltinCreateAsyncTaskOwnedTaskExecutor " )
229
+ let executorBuiltin : Builtin . Executor =
230
+ taskExecutor. asUnownedTaskExecutor ( ) . executor
231
+
232
+ _ = Builtin . createTask ( flags: flags,
233
+ initialSerialExecutor: builtinSerialExecutor,
234
+ taskGroup: _group,
235
+ initialTaskExecutor: executorBuiltin,
236
+ operation: operation)
212
237
#endif
238
+
239
+ return true
213
240
}
214
241
}
215
242
@@ -257,7 +284,14 @@ extension DiscardingTaskGroup {
257
284
initialTaskExecutorConsuming: taskExecutor,
258
285
operation: operation)
259
286
#else
260
- fatalError ( " Unsupported Swift compiler, missing support for BuiltinCreateAsyncTaskOwnedTaskExecutor " )
287
+ let executorBuiltin : Builtin . Executor =
288
+ taskExecutor. asUnownedTaskExecutor ( ) . executor
289
+
290
+ _ = Builtin . createTask ( flags: flags,
291
+ initialSerialExecutor: builtinSerialExecutor,
292
+ taskGroup: _group,
293
+ initialTaskExecutor: executorBuiltin,
294
+ operation: operation)
261
295
#endif
262
296
}
263
297
@@ -308,10 +342,18 @@ extension DiscardingTaskGroup {
308
342
taskGroup: _group,
309
343
initialTaskExecutorConsuming: taskExecutor,
310
344
operation: operation)
311
- return true
312
345
#else
313
- fatalError ( " Unsupported Swift compiler, missing support for BuiltinCreateAsyncTaskOwnedTaskExecutor " )
346
+ let executorBuiltin : Builtin . Executor =
347
+ taskExecutor. asUnownedTaskExecutor ( ) . executor
348
+
349
+ _ = Builtin . createTask ( flags: flags,
350
+ initialSerialExecutor: builtinSerialExecutor,
351
+ taskGroup: _group,
352
+ initialTaskExecutor: executorBuiltin,
353
+ operation: operation)
314
354
#endif
355
+
356
+ return true
315
357
}
316
358
}
317
359
@@ -359,7 +401,14 @@ extension ThrowingDiscardingTaskGroup {
359
401
initialTaskExecutorConsuming: taskExecutor,
360
402
operation: operation)
361
403
#else
362
- fatalError ( " Unsupported Swift compiler, missing support for BuiltinCreateAsyncTaskOwnedTaskExecutor " )
404
+ let executorBuiltin : Builtin . Executor =
405
+ taskExecutor. asUnownedTaskExecutor ( ) . executor
406
+
407
+ _ = Builtin . createTask ( flags: flags,
408
+ initialSerialExecutor: builtinSerialExecutor,
409
+ taskGroup: _group,
410
+ initialTaskExecutor: executorBuiltin,
411
+ operation: operation)
363
412
#endif
364
413
}
365
414
@@ -410,10 +459,18 @@ extension ThrowingDiscardingTaskGroup {
410
459
taskGroup: _group,
411
460
initialTaskExecutorConsuming: taskExecutor,
412
461
operation: operation)
413
- return true
414
462
#else
415
- fatalError ( " Unsupported Swift compiler, missing support for BuiltinCreateAsyncTaskOwnedTaskExecutor " )
463
+ let executorBuiltin : Builtin . Executor =
464
+ taskExecutor. asUnownedTaskExecutor ( ) . executor
465
+
466
+ _ = Builtin . createTask ( flags: flags,
467
+ initialSerialExecutor: builtinSerialExecutor,
468
+ taskGroup: _group,
469
+ initialTaskExecutor: executorBuiltin,
470
+ operation: operation)
416
471
#endif
472
+
473
+ return true
417
474
}
418
475
}
419
476
0 commit comments