DNS320 marked an inline comment as done.
DNS320 added a comment.

In D100092#2726808 <https://reviews.llvm.org/D100092#2726808>, @steveire wrote:

> I implemented something like this recently too. The code I was trying to 
> refactor was something like
>
>   auto ii = 0;
>   for (ii = 0; ii < thing.size(); ++ii)
>   {
>       // code
>   }
>   // code
>   for (ii = 0; ii < thing.size(); ++ii)
>   {
>       // code
>   }
>   // code
>   for (ii = 0; ii < thing.size(); ++ii)
>   {
>       // code
>   }
>
> ie, the variable was used repeatedly, but always initialized in the loop.
>
> I also had code like
>
>   auto ii = 0;
>   for (ii = 0; ii < thing.size(); ++ii)
>   {
>       // code
>   }
>   // code
>   ii = getNumber();
>   doSomething(ii);
>
> ie, the next statement referring to `ii` outside the loop was an assignment, 
> so I could just change it to
>
>   for (auto ii = 0; ii < thing.size(); ++ii)
>   {
>       // code
>   }
>   // code
>   auto ii = getNumber();
>   doSomething(ii);
>
> You don't necessarily have to handle these cases in the initial version of 
> this check, but you could consider them in the future.

Thank you for your comment!
I agree with you and I can see the need to cover such code with a style check.
The initial check was contributed to implement the ES.74 C++ Core Guideline. As 
I think, your code examples should be covered by a check that implements the 
ES.26 rule of the C++ Core Guidelines, which could be implemented in the future.
Due to your comment, I noticed the link to the ES.26 rule in the description of 
this check is not accurate, so I will remove it.



================
Comment at: 
clang-tools-extra/clang-tidy/cppcoreguidelines/DeclareLoopVariableInTheInitializerCheck.cpp:37
+  bool VisitDeclRefExpr(DeclRefExpr *D) {
+    if (const VarDecl *To = dyn_cast<VarDecl>(D->getDecl())) {
+      if (To == MatchedDecl &&
----------------
Eugene.Zelenko wrote:
> `const auto*` could be used because type is spelled in same statement.
Thanks!


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D100092/new/

https://reviews.llvm.org/D100092

_______________________________________________
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to