diff --git a/stdlib/public/Concurrency/Task.cpp b/stdlib/public/Concurrency/Task.cpp index 1d4d57d40b022..89250c81e828f 100644 --- a/stdlib/public/Concurrency/Task.cpp +++ b/stdlib/public/Concurrency/Task.cpp @@ -832,7 +832,7 @@ static AsyncTaskAndContext swift_task_create_commonImpl( // the async context to get at the parameters. // See e.g. FutureAsyncContextPrefix. - if (!futureResultType) { + if (!futureResultType || taskCreateFlags.isDiscardingTask()) { auto asyncContextPrefix = reinterpret_cast( reinterpret_cast(allocation) + headerSize - sizeof(AsyncContextPrefix));