1// { dg-do assemble } 2// GROUPS passed templates membertemplates 3template<int N, class T> 4struct B { 5}; 6 7template<int N1, int N2, int N3> 8struct D { 9 struct E { 10 template<int N4, class T> 11 static void f(B<N4,T>) 12 { } 13 }; 14}; 15 16template<int N> 17struct A { 18 template<int N2, class T, int N3> 19 static void f(B<N2,T>, B<N3,T> b) 20 { 21 typedef typename D<N2,N3,N>::E E; 22 E::f(b); 23 } 24}; 25 26void foo() 27{ 28 A<5>::f(B<5,float>(),B<3,float>()); 29} 30 31