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