https://gcc.gnu.org/bugzilla/show_bug.cgi?id=119814
--- Comment #2 from Andrew Pinski <pinskia at gcc dot gnu.org> ---
Interesting take the following:
```
void a(...);
template<typename T = void>
bool b1()
{ return requires (void (*v)(...)) { v(v(1)); }; }
bool c() { return b1(); }
```
Clang and GCC both say this returns 1 but MSVC returns 0. I think MSVC is
correct here ....
Unless I misunderstand how requires works. So I found a bug in clang too.
This is correctly rejected:
```
template<typename T = void>
concept b1 = requires (void (*v)(...)) { v(v(1)); };
bool c() { return b1; }
```
GCC gives the wrong value for this though:
```
template<typename T = void>
concept b1 = requires (T (*v)(...)) { v(v(1)); };
bool c() { return b1<void>; }
```
Which proves PR 119813 is the same.