1// { dg-options "-fno-pretty-templates" } 2 3template <class T, int N=0, int X=1> 4struct A 5{ 6 struct AN; 7}; 8 9void foo(void) 10{ 11 A<void> a = 0; // { dg-error "A<void, 0, 1>" } 12} 13 14template <class T> T f(T); // { dg-message "int f<int>.int." } 15template <class T> T f(T, int = 0); // { dg-message "" } 16 17template <class T> 18struct B 19{ 20 typedef typename T::AN BN; 21 22 BN f(); // { dg-message "AN" } 23 BN f(int = 0); // { dg-message "" } 24}; 25 26int main() 27{ 28 f(1); // { dg-error "" } 29 B<A<int> >().f(); // { dg-error "" } 30} 31