1 /* -*- C++ -*- */ 2 template <typename T> class Base {}; 3 template <typename T> struct A : public Base<A<T>> { 4 void f(); 5 }; 6 7 class F {}; 8 typedef A<F> AF; 9