1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24
// { dg-do compile { target c++2a } } template<typename T> concept A = sizeof(T) >= 4; template<typename T> concept B = __is_class(T); template<A T> void ok1(T a) { return; } template<typename T> requires B<T> void ok2(T a) { return; } template<A T> requires B<T> void fun(T a) { return; }