@@ -125,12 +125,6 @@ swift_task_escalate(AsyncTask *task, JobPriority newPriority);
125125// TODO: "async let wait" and "async let destroy" would be expressed
126126// similar to like TaskFutureWait;
127127
128- // / This matches the ABI of a closure `<T>(Builtin.NativeObject) async -> T`
129- using TaskFutureWaitSignature =
130- SWIFT_CC (swiftasync)
131- void (OpaqueValue *,
132- SWIFT_ASYNC_CONTEXT AsyncContext *, AsyncTask *, Metadata *);
133-
134128// / Wait for a non-throwing future task to complete.
135129// /
136130// / This can be called from any thread. Its Swift signature is
@@ -141,12 +135,9 @@ using TaskFutureWaitSignature =
141135// / \endcode
142136SWIFT_EXPORT_FROM (swift_Concurrency) SWIFT_CC(swiftasync)
143137void swift_task_future_wait (OpaqueValue *,
144- SWIFT_ASYNC_CONTEXT AsyncContext *, AsyncTask *, Metadata *);
145-
146- using TaskFutureWaitThrowingSignature =
147- SWIFT_CC (swiftasync)
148- void (OpaqueValue *,
149- SWIFT_ASYNC_CONTEXT AsyncContext *, AsyncTask *, Metadata *);
138+ SWIFT_ASYNC_CONTEXT AsyncContext *, AsyncTask *,
139+ TaskContinuationFunction *,
140+ AsyncContext *);
150141
151142// / Wait for a potentially-throwing future task to complete.
152143// /
@@ -157,15 +148,12 @@ using TaskFutureWaitThrowingSignature =
157148// / async throws -> Success
158149// / \endcode
159150SWIFT_EXPORT_FROM (swift_Concurrency) SWIFT_CC(swiftasync)
160- void swift_task_future_wait_throwing (OpaqueValue *,
161- SWIFT_ASYNC_CONTEXT AsyncContext *,
162- AsyncTask *, Metadata *);
163-
164- using TaskGroupFutureWaitThrowingSignature =
165- SWIFT_CC (swiftasync)
166- void (OpaqueValue *,
167- SWIFT_ASYNC_CONTEXT AsyncContext *, AsyncTask *, TaskGroup *,
168- const Metadata *successType);
151+ void swift_task_future_wait_throwing (
152+ OpaqueValue *,
153+ SWIFT_ASYNC_CONTEXT AsyncContext *,
154+ AsyncTask *,
155+ ThrowingTaskFutureWaitContinuationFunction *,
156+ AsyncContext *);
169157
170158// / Wait for a readyQueue of a Channel to become non empty.
171159// /
@@ -180,8 +168,9 @@ SWIFT_CC(swiftasync)
180168SWIFT_EXPORT_FROM (swift_Concurrency)
181169SWIFT_CC (swiftasync)
182170void swift_taskGroup_wait_next_throwing (
183- OpaqueValue *resultPointer, SWIFT_ASYNC_CONTEXT AsyncContext *rawContext,
184- TaskGroup *group, const Metadata *successType);
171+ OpaqueValue *resultPointer, SWIFT_ASYNC_CONTEXT AsyncContext *callerContext,
172+ TaskGroup *group, ThrowingTaskFutureWaitContinuationFunction *resumeFn,
173+ AsyncContext *callContext);
185174
186175// / Initialize a `TaskGroup` in the passed `group` memory location.
187176// / The caller is responsible for retaining and managing the group's lifecycle.
@@ -192,7 +181,7 @@ void swift_taskGroup_wait_next_throwing(
192181// / func swift_taskGroup_initialize(group: Builtin.RawPointer)
193182// / \endcode
194183SWIFT_EXPORT_FROM (swift_Concurrency) SWIFT_CC(swift)
195- void swift_taskGroup_initialize (TaskGroup *group);
184+ void swift_taskGroup_initialize (TaskGroup *group, const Metadata *T );
196185
197186// / Attach a child task to the parent task's task group record.
198187// /
@@ -310,7 +299,8 @@ using AsyncLetWaitSignature =
310299SWIFT_EXPORT_FROM (swift_Concurrency) SWIFT_CC(swiftasync)
311300void swift_asyncLet_wait (OpaqueValue *,
312301 SWIFT_ASYNC_CONTEXT AsyncContext *,
313- AsyncLet *, Metadata *);
302+ AsyncLet *, TaskContinuationFunction *,
303+ AsyncContext *);
314304
315305// / Wait for a potentially-throwing async-let to complete.
316306// /
@@ -324,7 +314,9 @@ void swift_asyncLet_wait(OpaqueValue *,
324314SWIFT_EXPORT_FROM (swift_Concurrency) SWIFT_CC(swiftasync)
325315void swift_asyncLet_wait_throwing (OpaqueValue *,
326316 SWIFT_ASYNC_CONTEXT AsyncContext *,
327- AsyncLet *, Metadata *);
317+ AsyncLet *,
318+ ThrowingTaskFutureWaitContinuationFunction *,
319+ AsyncContext *);
328320
329321// / Its Swift signature is
330322// /
0 commit comments