// PR c++/15629 // { dg-do link } template class T; template void func(T * t); template void func(T * t) {} template void func<2>(T<2, 3>*); template struct T { friend void func(T * t); friend void func (T * t); void foo(); }; template void T::foo() { func((T<2,3>*)0); } int main() { T<2,3>().foo(); }