1// PR c++/14912 2// Bug: We were instantiating A<B> in order to compare it to the matching 3// argument for C<B,B>, which fails. 4 5template <class T> 6struct A 7{ 8 typedef typename T::F F; 9}; 10 11struct B { }; 12 13template <class T, class U = typename A<T>::F > 14struct C 15{ 16 typename T::F f; // { dg-error "no type" } 17}; 18 19C<B, B> c; // { dg-message "required" } 20