1// { dg-do assemble  }
2// GROUPS passed templates membertemplates
3template<class T, int N>
4class A { };
5
6template<int N>
7struct X {
8    template<class T2, int N2>
9    void f(A<T2,N>&, A<int,N2>&)
10    { }
11};
12
13
14void foo()
15{
16  X<3> x;
17  A<char*, 3> a1;
18  A<int, 2> a2;
19  x.f(a1, a2);
20}
21