void derefByValueTest() { DerefByValue DBV; for (unsigned I = 0, E = DBV.size(); I < E; ++I) { printf("%d\n", DBV[I]); } // CHECK-MESSAGES: :[[@LINE-3]]:3: warning: use range-based for loop instead // CHECK-FIXES: for (unsigned int Elem : DBV) // CHECK-FIXES-NEXT: printf("%d\n", Elem); for (unsigned I = 0, E = DBV.size(); I < E; ++I) { auto f = [DBV, I]() {}; printf("%d\n", DBV[I]); } // CHECK-MESSAGES: :[[@LINE-4]]:3: warning: use range-based for loop instead // CHECK-FIXES: for (unsigned int Elem : DBV) // CHECK-FIXES-NEXT: auto f = [DBV, &Elem]() {}; // CHECK-FIXES-NEXT: printf("%d\n", Elem); }
void derefByValueTest() { DerefByValue DBV; for (unsigned i = 0, e = DBV.size(); i < e; ++i) { printf("%d\n", DBV[i]); } // CHECK-MESSAGES: :[[@LINE-3]]:3: warning: use range-based for loop instead // CHECK-FIXES: for (auto elem : DBV) { // CHECK-FIXES-NEXT: printf("%d\n", elem); for (unsigned i = 0, e = DBV.size(); i < e; ++i) { auto f = [DBV, i]() {}; printf("%d\n", DBV[i]); } // CHECK-MESSAGES: :[[@LINE-4]]:3: warning: use range-based for loop instead // CHECK-FIXES: for (auto elem : DBV) { // CHECK-FIXES-NEXT: auto f = [DBV, elem]() {}; // CHECK-FIXES-NEXT: printf("%d\n", elem); }