Skip to content

Commit afa1427

Browse files
committed
[embedded] Fix build breakage in swift_task_run_inline related to ResultTypeInfo
1 parent 4926485 commit afa1427

File tree

1 file changed

+6
-4
lines changed

1 file changed

+6
-4
lines changed

stdlib/public/Concurrency/Task.cpp

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1036,12 +1036,15 @@ getAsyncClosureEntryPointAndContextSize(void *function) {
10361036
SWIFT_CC(swift)
10371037
void swift::swift_task_run_inline(OpaqueValue *result, void *closureAFP,
10381038
OpaqueValue *closureContext,
1039-
const Metadata *futureResultType) {
1039+
const Metadata *futureResultTypeMetadata) {
10401040
// Ensure that we're currently in a synchronous context.
10411041
if (swift_task_getCurrent()) {
10421042
swift_Concurrency_fatalError(0, "called runInline within an async context");
10431043
}
10441044

1045+
ResultTypeInfo futureResultType;
1046+
futureResultType.metadata = futureResultTypeMetadata;
1047+
10451048
// Unpack the asynchronous function pointer.
10461049
FutureAsyncSignature::FunctionType *closure;
10471050
size_t closureContextSize;
@@ -1073,7 +1076,7 @@ void swift::swift_task_run_inline(OpaqueValue *result, void *closureAFP,
10731076
size_t taskCreateFlags = 1 << TaskCreateFlags::Task_IsInlineTask;
10741077

10751078
auto taskAndContext = swift_task_create_common(
1076-
taskCreateFlags, &option, futureResultType,
1079+
taskCreateFlags, &option, futureResultType.metadata,
10771080
reinterpret_cast<TaskContinuationFunction *>(closure), closureContext,
10781081
/*initialContextSize=*/closureContextSize);
10791082

@@ -1084,8 +1087,7 @@ void swift::swift_task_run_inline(OpaqueValue *result, void *closureAFP,
10841087

10851088
// Copy the result out to our caller.
10861089
auto *futureResult = taskAndContext.Task->futureFragment()->getStoragePtr();
1087-
futureResultType->getValueWitnesses()->initializeWithCopy(
1088-
result, futureResult, futureResultType);
1090+
futureResultType.vw_initializeWithCopy(result, futureResult);
10891091

10901092
// Destroy the task.
10911093
taskAndContext.Task->~AsyncTask();

0 commit comments

Comments
 (0)