1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
// { dg-do run } template <class T> struct A { template <class U> void f(U); }; template <int i> struct B { }; template <class T> template <class U> void A<T>::f (U) { enum { foo }; B<foo> b; } int main () { A<char> a; a.f (42); }