2015-05-08 Andrew Sutton <andrew.n.sutton@gmail.com>
[official-gcc.git] / gcc / testsuite / g++.dg / concepts / pr66091.C
blobce0eb33bac0bac3301205843093cf261d57b0fa4
1 // { dg-options "-std=c++1z" }
3 template<typename T>
4 concept bool C1() 
6   return requires() { typename T::type1; };
9 template<typename T>
10 concept bool C2() 
12   return C1<T>() && requires() { typename T::type2; };
15 template<C1 T>
16 struct S {
17   S& operator++() { return *this; }
18   S& operator++() requires C2<T>() { return *this; }