1 // { dg-options "-std=c++17 -fconcepts" }
4 concept bool One() { return sizeof(T) >= 4; }
7 concept bool Two() { return One<T>() && sizeof(T) >= 8; }
9 // Check ordering of partial specializaitons
11 struct S2 { static const int value = 0; };
14 struct S2<T> { static const int value = 1; };
17 struct S2<T> { static const int value = 2; };
19 struct one_type { char x[4]; };
20 struct two_type { char x[8]; };
22 static_assert(S2<char>::value == 0, "");
23 static_assert(S2<one_type>::value == 1, "");
24 static_assert(S2<two_type>::value == 2, "");