// { dg-do assemble } template class a { public : int k; template int f() const { return this->f(); } int g() const { return f(); } }; template <> template <> int a<2>::f<0>() const { return 0; } int main() { a<2> x; return x.g(); }