https://gcc.gnu.org/bugzilla/show_bug.cgi?id=109337
Andrew Pinski <pinskia at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|UNCONFIRMED |NEW Last reconfirmed| |2023-03-29 Ever confirmed|0 |1 --- Comment #1 from Andrew Pinski <pinskia at gcc dot gnu.org> --- Confirmed. Changing R42c to be a bool rather than a concept causes GCC to catch the failure ... That is: ``` template <class T> struct A { static const int x = 42; }; template <class Ta> concept A42 = A<Ta>::x == 42; template <class Tv> concept Void = __is_same_as(Tv, void); template <class Tb, class Ub> concept A42b = Void<Tb> || A42<Ub>; template <class Tc> bool R42c = A42b<Tc, Tc&>; static_assert (R42c<void>); ```