[clang-tools-extra] [llvm] [clang-tidy] Add bugprone-lambda-capture-lifetime check (PR #203757)
via cfe-commits
cfe-commits at lists.llvm.org
Sun Jun 14 02:51:50 PDT 2026
github-actions[bot] wrote:
<!--LLVM CODE LINT COMMENT: clang-tidy-->
:warning: C/C++ code linter, clang-tidy found issues in your code. :warning:
<details>
<summary>
You can test this locally with the following command:
</summary>
```bash
git diff -U0 origin/main...HEAD -- clang-tools-extra/clang-tidy/bugprone/LambdaCaptureLifetimeCheck.cpp clang-tools-extra/clang-tidy/bugprone/LambdaCaptureLifetimeCheck.h clang-tools-extra/clang-tidy/bugprone/BugproneTidyModule.cpp |
python3 clang-tools-extra/clang-tidy/tool/clang-tidy-diff.py -path build -p1 -quiet
```
</details>
<details>
<summary>
View the output from clang-tidy here.
</summary>
```
clang-tools-extra/clang-tidy/bugprone/LambdaCaptureLifetimeCheck.cpp:19:19: warning: function 'getEscapingLambdaFromArgument' is declared in an anonymous namespace; prefer using 'static' for restricting visibility [llvm-prefer-static-over-anonymous-namespace]
19 | const LambdaExpr *getEscapingLambdaFromArgument(const Expr *E) {
| ^
clang-tools-extra/clang-tidy/bugprone/LambdaCaptureLifetimeCheck.cpp:55:19: warning: function 'getEscapingLambda' is declared in an anonymous namespace; prefer using 'static' for restricting visibility [llvm-prefer-static-over-anonymous-namespace]
55 | const LambdaExpr *getEscapingLambda(const CXXConstructExpr *Construct) {
| ^
clang-tools-extra/clang-tidy/bugprone/LambdaCaptureLifetimeCheck.cpp:62:19: warning: function 'getEscapingLambda' is declared in an anonymous namespace; prefer using 'static' for restricting visibility [llvm-prefer-static-over-anonymous-namespace]
62 | const LambdaExpr *getEscapingLambda(const CallExpr *Call) {
| ^
clang-tools-extra/clang-tidy/bugprone/LambdaCaptureLifetimeCheck.cpp:69:6: warning: function 'capturesLocalVariableByReference' is declared in an anonymous namespace; prefer using 'static' for restricting visibility [llvm-prefer-static-over-anonymous-namespace]
69 | bool capturesLocalVariableByReference(const LambdaExpr *Lambda) {
| ^
clang-tools-extra/clang-tidy/bugprone/LambdaCaptureLifetimeCheck.cpp:70:3: warning: replace loop by 'std::any_of()' [readability-use-anyofallof]
70 | for (const LambdaCapture &Capture : Lambda->captures()) {
| ^
```
</details>
https://github.com/llvm/llvm-project/pull/203757
More information about the cfe-commits
mailing list