// Build don't link:
template<class T>
struct A {
    typedef T T1;
};

template<class T>
struct B : T::T1 {           // insert `typename' before T::T1
};

struct C { };

B<A<C> > z;

