================ @@ -0,0 +1,47 @@ +.. title:: clang-tidy - bugprone-loop-variable-copied-then-modified + +bugprone-loop-variable-copied-then-modified +=========================================== + +Warns when a loop variable is copied and subsequently modified. + +This pattern is considered bugprone because, frequently, programmers do not +realize that they are modifying a *copy* rather than an underlying value, +resulting in subtly erroneous code. + +For instance, the following code attempts to null out a value in a map, but only +succeeds in + +.. code-block:: c++ + + for (auto target : target_map) { + target.value = nullptr; + } + +The programmer is likely to have intended this code instead: + +.. code-block:: c++ + + for (const auto& target : target_map) { + target.value = nullptr; + } + +This warning can be suppressed in one of two ways: + - In cases where the programmer did not intend to create a copy, they can + convert the loop variable to a const reference. A FixIt message will ---------------- EugeneZelenko wrote:
```suggestion convert the loop variable to a ``const`` reference. A fix-it message will ``` https://github.com/llvm/llvm-project/pull/157213 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits