// PR c++/103057 // { dg-do compile { target c++11 } } template <class T> struct A { }; template <class T> struct B { using type = A<T>; }; template <class T> struct C { using type = typename T::foo; // { dg-error "int" } }; template <class T> using L = B<void>; template <class T> typename L<typename C<T>::type>::type f(T) { }; int main() { f(42); // { dg-error "no match" } }