diff --git a/clang-tools-extra/clangd/TUScheduler.cpp b/clang-tools-extra/clangd/TUScheduler.cpp --- a/clang-tools-extra/clangd/TUScheduler.cpp +++ b/clang-tools-extra/clangd/TUScheduler.cpp @@ -919,7 +919,9 @@ llvm::unique_function Action) { if (!PreambleTasks) return Action(); - PreambleTasks->runAsync(Name, std::move(Action)); + auto ActionWithCtx = [Ctx = Context::current().clone(), + Action = std::move(Action)]() mutable { Action(); }; + PreambleTasks->runAsync(Name, std::move(ActionWithCtx)); } void TUScheduler::runWithAST(