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