<table border="1" cellspacing="0" cellpadding="8">
<tr>
<th>Issue</th>
<td>
<a href=https://github.com/llvm/llvm-project/issues/81121>81121</a>
</td>
</tr>
<tr>
<th>Summary</th>
<td>
[clang-tidy] google-explicit-constructor check with already specified `explicit(false)`
</td>
</tr>
<tr>
<th>Labels</th>
<td>
clang-tidy
</td>
</tr>
<tr>
<th>Assignees</th>
<td>
</td>
</tr>
<tr>
<th>Reporter</th>
<td>
schaumb
</td>
</tr>
</table>
<pre>
Explicit constructor check fix is wrong when already specified `explicit(false)` on that constructor
```cpp
struct A {};
struct B {
explicit(false) B(A) {}
};
```
The [checker](https://github.com/llvm/llvm-project/blob/main/clang-tools-extra/clang-tidy/google/ExplicitConstructorCheck.cpp) tries to fix it with adding a new `explicit` keyword which makes compilation error.
```cpp
struct A {};
struct B {
explicit(false) explicit B(A) {}
};
```
No warning/error should exist when specifying the `explicit(false)` attribute.
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJysk8GOozgQhp-muJSCjAkBDhySznLc076AbSrY2w5GthmStx8BiTqt6ZFmRiNFAZXNb1f93y9CMP1A1EBxguKciClq55ugtJiuMpGuuzf_3EZrlImo3BCin1R0HpUm9Y4Xc0MTcPZu6HHWNKCwnkR3xzCSMhdDHcKB0UMBeHURNhDwGg4M3YBRi0-6wM7Ajo__A9t-ahy3yrYLjwjlCcoz5KfX_Y_V07q6VvCLg_EEvDouLw-RTeFV7Xnuq_h_mhCK09o2eSjOwCsd4xggPwJvgbe9iXqSqXJX4K21356P3ejd_6Qi8FZaJ4G3V2EG4K2yYuh30TkbdnSLXnzUTHdfFJ3rLQFvnw68fQzqbblIukyG1xi9oYDRbX5EnE3UKLrODD0KHGj-ZMKB4TvdZ-c7nLVRGq_inQIqdx2NFdG4Acl759O_bMaXbjxrf2jLvw5n4Qcz9MDb9dYYtJtsh3QzIW5Mbizel2nExcafAili9EZOkdKka_KuzmuRUJOVrMyr6lBWiW4YqYzvRZbXlMlsX14KycqSlwVjVX7hVWIazviecVZlLC-LKq2llFnBJFcZHaq6gD2jqzA2XeBIne8TE8JETZVlPEuskGTDGkfOX2ngSzx9sxIlpz7AnlkTYviQiSbaNcgvnxVn3CjaPVve_ZjiDZdfD24yedv8NvxrlwF4uzb6PQAA__9NhmTS">