* doc/invoke.texi: Document -std=c++17 and -std=gnu++17 and document
[official-gcc.git] / gcc / testsuite / g++.dg / concepts / intro1.C
blobac8a708b107924eaa4092684ee2bd955c7e13de7
1 // { dg-options "-std=c++17 -fconcepts" }
3 template<typename T>
4   concept bool C = __is_class(T);
6 C{T} void f1();
8 struct S1
10   C{T} void f2();
11   C{T} static void f3();
14 int main()
16   S1 s;
18   f1<S1>();
19   s.f2<S1>();
20   S1::f3<S1>();
22   return 0;
25 template<typename T>
26   void f1() requires C<T>
27   {
28   }
30 template<typename T>
31   void S1::f2() requires C<T>
32   {
33   }
35 template<typename T>
36   void S1::f3() requires C<T>
37   {
38   }