1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
// Testcase for printing typename bindings as well as template args // in diagnostics (PR c++/25185) template <class T> struct A { typename T::type f(); // { dg-message "typename T::type = void*" } void f(int i = 0); // { dg-message "" } }; struct B { typedef void* type; }; int main() { A<B> a; a.f(); // { dg-error "" } }