// Only print template subst context when it isn't redundant. | |
// { dg-require-effective-target c++11 } | |
// { dg-prune-output "error" } | |
template<class T> struct A { typedef typename T::type type; }; | |
template <class T, class U = typename A<T>::type> | |
void f(T); | |
template <class T, class U = typename T::type> | |
void g(T); | |
int main() | |
{ | |
f(1); // { dg-message "required from here" } | |
g(1); // { dg-bogus "required from here" } | |
} |