// { dg-do compile { target c++11 } } template class TT> struct X { }; template struct Y { }; template using Z = Y; void f(X); void g(X); void foo() { // Below x and y have the same type (DR 1286) X y; X z; // ... So these must compile. f(z); // { dg-bogus "" } g(y); // { dg-bogus "" } } template struct A0 {}; template using AA0 = A0; template using AAA0 = AA0; void f0(A0); void g0() { AA0 a; AAA0 b; f0(a); f0(b); }