1// Only print template subst context when it isn't redundant. 2// { dg-require-effective-target c++11 } 3// { dg-prune-output "error" } 4 5template<class T> struct A { typedef typename T::type type; }; 6 7template <class T, class U = typename A<T>::type> 8void f(T); 9 10template <class T, class U = typename T::type> 11void g(T); 12 13int main() 14{ 15 f(1); // { dg-message "required from here" } 16 g(1); // { dg-bogus "required from here" } 17} 18