aboutsummaryrefslogtreecommitdiff
path: root/gcc/testsuite/g++.dg/cpp2a/concepts-template-parm1.C
blob: 39e0d7d8ac7519b9d42ad0ffeeeafcda2c8f9d2d (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
// { dg-do compile { target c++20 } }

template<typename T>
concept Int = __is_same_as(T, int);

// Type template parameters
template<Int T = int> struct S1 { };
template<Int = int> struct S2;
template<Int T> struct S2 { };

// Non-type template parameters
template<Int auto N = 0> struct S3 { };
template<Int auto = 0> struct S4;
template<Int auto N> struct S4 { };

S1<> s1;
S2<> s2;
S3<> s3;
S4<> s4;