1 // { dg-do compile { target c++11 } }
2 // { dg-options "-fconcepts" }
6 typename T::template C<void> tcv = t;
7 typename T::template C<auto> u = tcv;
8 T::template C<auto>::f (tcv, u); // { dg-error "incomplete" }
9 (typename T::template D<auto> (t)); // { dg-error "invalid" }
13 template <typename T> struct C {
15 static void f(T1&, C&);
17 template <typename T> struct D {
24 typename T::template C<void> tcv = t;
25 typename T::template C<auto> u = tcv;
26 T::template C<auto>::f (tcv, u); // { dg-error "incomplete" }
27 T::template D<auto> (t); // { dg-error "invalid" }
31 template <typename T> struct C {
33 static void f(T2&, C&);
35 template <typename T> static void D(T2&);
38 void f(T1& t1, T2& t2) {