<table border="1" cellspacing="0" cellpadding="8">
    <tr>
        <th>Issue</th>
        <td>
            <a href=https://github.com/llvm/llvm-project/issues/105508>105508</a>
        </td>
    </tr>

    <tr>
        <th>Summary</th>
        <td>
            [clang-tidy] Fix modernize-loop-convert creates invalid code
        </td>
    </tr>

    <tr>
      <th>Labels</th>
      <td>
            clang-tidy
      </td>
    </tr>

    <tr>
      <th>Assignees</th>
      <td>
      </td>
    </tr>

    <tr>
      <th>Reporter</th>
      <td>
          VReichelt
      </td>
    </tr>
</table>

<pre>
    The clang-tidy fix for `modernize-loop-convert` sometimes creates invalid code due to missing whitespace.
Running the command `clang-tidy -fix -checks='-*,modernize-loop-convert'` on the valid code

```
#include <vector>

void foo()
{
  std::vector<int*> v;
  for (auto it = v.begin(); it != v.end(); ++it)
    delete*it;
}
```

turns it into

```
#include <vector>

void foo()
{
 std::vector<int*> v;
  for (auto & it : v)
 deleteit;
}
```

which does not compile anymore, because no whitespace was introduced between `delete` and `it`.

</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJy0VE2PozgQ_TXFpUTklIGQA4d8dH5Aa7V3Y1eCd8GOsCHd--tXTphODj3SaKSRkPkoyu-94j1UCPbimBso91AeMzXFzo_N3-9sdcd9zFpvPpu_OkbdK3fJozWfeLYfePYjQiUGb3h09j_Oe--vufZu5jFCJTD4gaMdOKAeWUUOaN2semtQe8NoJsbocbAhWHfBW2cjh6vSvAJxBLF7n5xLhZig_TAoZxLeC4s80ch1x_rfAPIItMmBdkCHn3CiTaLl3X3LJ5MH3LJWYjketySt0_1kGEEeZtbRjyDfXjtmbw2evQeqgbZLZbN_XCCGaEDuQO5-NB-si4mlfMMZ5Nd792lSrabo0UYEecR51fLFumVjub8_p_WjxM48C0B7oL2NXwQQEQ33HBloZ-MXDmyO3-u8r3EaXUgo1kX_J6fyO0MBqh6D2eH81PkQ-csKb53VHRrPAZ2PyVZX2zMq9zn4kYEO2LJWU2B0_sWReFPJvHH0ZtJssOV4Y3bJjsuUK4GLP23y_mLhzDTSbOVWZdysN1RQIUUtsq4xuq5qUwnSojRKtkIUVaHbcq1Yb8uKMtuQoELUtF4TFYVYSTKtYEnVVui64jMUggdl-1Xfz8PKj5fMhjBxsxZlKeqsVy334Z5pomdkgChlfGxSV95OlwCF6G2I4blPtLG__w1e2sojnuwHfp-rb-OdTWPfdDFeQ_rSdAI6XWzspnal_QB0SnDLKb-O_h_WEeh01xCATouMuaH_AwAA__-eJWGt">