// { dg-do assemble } | |
// Default arguments containing more than one non-nested explicit | |
// template argument leads to parse error | |
// This might be ill formed. See DR 325 (which would like to make it | |
// so) | |
template <class T> class foo1; | |
template <class T, class U> class foo2; // { dg-error "" } | |
struct bar { | |
template <class T, class U> | |
bar(int i = foo1<T>::baz, // { dg-bogus "" } - | |
int j = int(foo2<T, U>::baz), // ok | |
int k = foo2<T, U>::baz) {} // { dg-error "" } | |
}; |