1// { dg-do assemble  }
2
3template <int i> class a
4{
5public :
6int  k;
7
8template <int j> int f() const { return this->f<j-1>(); }
9
10int g() const { return f<i>(); }
11};
12
13template <>
14template <>
15int a<2>::f<0>() const {
16  return 0;
17}
18
19int main()
20{
21a<2> x;
22return x.g();
23}
24
25