1 // { dg-do compile { target c++2a } } 2 3 template <class T> struct A { static const int x = 42; }; 4 5 template <class Ta> concept A42 = A<Ta>::x == 42; 6 template <class Tv> concept Void = __is_same_as(Tv, void); 7 template <class Tb, class Ub> concept A42b = Void<Tb> || A42<Ub>; 8 template <class Tc> concept R42c = A42b<Tc, Tc&>; 9 10 static_assert (R42c<void>); 11