template<typename, typename = int> struct A; template<typename T> struct B; template<typename, typename> struct A {}; template<typename T> struct B : A<T> {}; inline void f() { B<int> bi; }