[clang] [Clang][NFC] Avoid repeating copy of std::string in lambda implementation (PR #153863)

via cfe-commits cfe-commits at lists.llvm.org
Fri Aug 15 12:47:05 PDT 2025


llvmbot wrote:


<!--LLVM PR SUMMARY COMMENT-->

@llvm/pr-subscribers-clang

Author: Shafik Yaghmour (shafik)

<details>
<summary>Changes</summary>

Static analysis flagged this code because it will cause unneeded copies of std::string. This fix is merely to use const auto & in the trailing return type.

---
Full diff: https://github.com/llvm/llvm-project/pull/153863.diff


1 Files Affected:

- (modified) clang/include/clang/Tooling/DependencyScanning/DependencyScanningTool.h (+1-1) 


``````````diff
diff --git a/clang/include/clang/Tooling/DependencyScanning/DependencyScanningTool.h b/clang/include/clang/Tooling/DependencyScanning/DependencyScanningTool.h
index c3601a4e73e1f..81177a04654bb 100644
--- a/clang/include/clang/Tooling/DependencyScanning/DependencyScanningTool.h
+++ b/clang/include/clang/Tooling/DependencyScanning/DependencyScanningTool.h
@@ -205,7 +205,7 @@ class FullDependencyConsumer : public DependencyConsumer {
       std::vector<P1689ModuleInfo> Requires) override {
     ModuleName = Provided ? Provided->ModuleName : "";
     llvm::transform(Requires, std::back_inserter(NamedModuleDeps),
-                    [](const auto &Module) { return Module.ModuleName; });
+                    [](const auto &Module) -> const auto & { return Module.ModuleName; });
   }
 
   TranslationUnitDeps takeTranslationUnitDeps();

``````````

</details>


https://github.com/llvm/llvm-project/pull/153863


More information about the cfe-commits mailing list