[clang-tools-extra] [clang-tidy] loop convert can handle lambda init capture (PR #109159)
Julian Schmidt via cfe-commits
cfe-commits at lists.llvm.org
Wed Oct 2 11:01:44 PDT 2024
================
@@ -980,3 +980,30 @@ namespace PR78381 {
}
}
}
+
+namespace GH109083 {
+void test() {
+ const int N = 6;
+ int Arr[N] = {1, 2, 3, 4, 5, 6};
+
+ for (int I = 0; I < N; ++I) {
+ auto V = [T = Arr[I]]() {};
+ }
+ // CHECK-MESSAGES: :[[@LINE-3]]:3: warning: use range-based for loop instead [modernize-loop-convert]
+ // CHECK-FIXES: for (int I : Arr)
+ // CHECK-FIXES-NEXT: auto V = [T = I]() {};
+ for (int I = 0; I < N; ++I) {
+ auto V = [T = 10 + Arr[I]]() {};
+ }
+ // CHECK-MESSAGES: :[[@LINE-3]]:3: warning: use range-based for loop instead [modernize-loop-convert]
+ // CHECK-FIXES: for (int I : Arr)
+ // CHECK-FIXES-NEXT: auto V = [T = 10 + I]() {};
+
+ for (int I = 0; I < N; ++I) {
+ auto V = [T = I]() {};
+ }
+ for (int I = 0; I < N; ++I) {
+ auto V = [T = I + 10]() {};
+ }
+}
+} // namespace GH109083
----------------
5chmidti wrote:
Nit: please add the missing newline
https://github.com/llvm/llvm-project/pull/109159
More information about the cfe-commits
mailing list