<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">