// { dg-do assemble } | |
// GROUPS passed templates membertemplates | |
template<int N, class T> | |
struct B { | |
}; | |
template<int N1, int N2, int N3> | |
struct D { | |
struct E { | |
template<int N4, class T> | |
static void f(B<N4,T>) | |
{ } | |
}; | |
}; | |
template<int N> | |
struct A { | |
template<int N2, class T, int N3> | |
static void f(B<N2,T>, B<N3,T> b) | |
{ | |
typedef typename D<N2,N3,N>::E E; | |
E::f(b); | |
} | |
}; | |
void foo() | |
{ | |
A<5>::f(B<5,float>(),B<3,float>()); | |
} | |