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

    <tr>
        <th>Summary</th>
        <td>
            [clang-tidy] non-zero-enum-to-bool-conversion should ignore enums with underlying type bool
        </td>
    </tr>

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

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

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

<pre>
    For example, an enum like `enum class SnakesOnPlane : bool {}` is a reasonable way to express a strongly-typed bool to ensure that all callers of `void takeoff(SnakesOnPlane)` are intentional about whether that is really what they want to do. Unfortunately, that idiom runs afoul of the `non-zero-enum-to-bool-conversion` clang-tidy check, even though conversion to bool is intentionally part of the type.
</pre>
<img width="1" height="1" alt="" src="http://email.email.llvm.org/o/eJyEkkFvpDgQhX-NuZRogWnocOCQbNTXXe1ofkCBC_C029Wyy91hfv3IJKNkTnNCFvWq3vv0MEa7eKJBtS-qfS0wycph-J_MC2EwVdvUxchmG84cgN7wenOk9D-AHsinKzh7IVBdtT8mhzHCN48Xiv_6_xx6AtU8w8jsQJ1e1OlVdRXYCAiBMLLH0RE8cANhoLdboJj_RQnsF7eVst3IvMvzgI8pEMiKAugcTOgchQg8Zwd3tgYEL8TzrPTTHy6U7vNhDATWC3mx7NEBjpwEHivJSuF9r43ZmXMbPPJTVtrggV7yfcMH-O5nDpI8Crktg3hXGctXCMlHwJmTy5Zk3cF49uVPClxmQqVwmdOUE_s7hWjZZ1-TQ7-UYs0G00rTJe-lO3mQldOywud0trHjsPFrErfBDYP8PpuxHQozNKZveixoqE_HuuvbvtPFOrQ9zd1cda0ep-NYY0VTRRr1qTppM099YQdd6bZq6rrWuqv0QT_pRhvEltqxmk2tjhVd0bqDc_frgcNS2BgTDXVTnTpdOBzJxb1RWn9mU1rnhoUhq8oxLVEdK2ejxM89YsXtXfwia1_hbxAhrpycAbt4DrQ3M8LDygrJGwpus37ZqezwihTcsIrcomqelT4rfV6srGk8THxV-pzdfHzKW-AfNInS5z1iVPr8kfI-6F8BAAD__yEhGuA">