<table border="1" cellspacing="0" cellpadding="8">
<tr>
<th>Issue</th>
<td>
<a href=https://github.com/llvm/llvm-project/issues/71854>71854</a>
</td>
</tr>
<tr>
<th>Summary</th>
<td>
[clang-tidy] `readability-implicit-bool-conversion` incorrectly applies fixes when both comparison and cast are needed
</td>
</tr>
<tr>
<th>Labels</th>
<td>
clang-tidy
</td>
</tr>
<tr>
<th>Assignees</th>
<td>
</td>
</tr>
<tr>
<th>Reporter</th>
<td>
felix642
</td>
</tr>
</table>
<pre>
When applying fixes from `readability-implicit-bool-conversion`, the parenthesis are not properly added.
```
#include <array>
int main()
{
std::array<char, 4> bar;
int myVal = 0;
return bar[!myVal];
}
```
````
#include <array>
int foo()
{
std::array<char, 4> bar;
int myVal = 0;
return bar[static_cast<size_type>(myVal) == 0];
}
```
godbolt: https://godbolt.org/z/Yx3qP1Wxh
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJy0k0-PmzAQxT_NcBklMnYIcOCQTZZzT131tDL2JLgyNrXNNuynryBR9496aA-VIgc0b4b3xvrJGM3FETVQPEBxyuSUeh-aM1lz3e941nk9N089OZTjaGfjLng2V4p4Dn5A2LNAUsvOWJPmjRlGa5RJm857u1HevVCIxjvYM-BHTD3hKAO51FM0EWUgdD7hGPxIwc4otSa9RWAnYIf7uWf33-2VC-OUnTQhiKMMQc4gHm814xIO0jjgFfD6ri8fbg-IiDFpEAcQh3vfUfUyLMZ2IB6xkwHEO_U6bv4qLYI4IXurBUpTcKu-eACeryIoTr8VUJ4-mcePmT4l-5twbxHP3v_vhIgfQ8Ykk1HPSsYE4hjNKz2neaTFHK9u8Xm9DLnN-bgK_PNFrufF687bBOKAfUpjXMzzFnh7L2x9uABvX4G3367ix5f86dpnuhG6FrXMqMn3dV0UZVnwrG8426lS67wQZamKnFiu95WS3Vnuu1zoOjMNZ1zkOavzmnNeb1VFmnLFWNUVleQCdowGaezW2pdh-XZmYpyoKfOq2GVWdmTjCgrnykp32SSjZ-B8ASc0S9Ommy4RdsyamOLbmGSSXRF711ac_gEfNE75EEilBZNxtGZBcAXx5wJn51OPyg-jDCZ6h9JpXK7rxhiRJp1NwTaftmxSP3Vb5Qfg7WL2_rcZg_9OKgFv1wVE4O26g18BAAD__3PdPbs">