// PR c++/17324 // { dg-do assemble } template struct A { template void foo(const A&) {} }; template struct B { template void bar(const A&); void baz() { A<0,B>().foo(A<0,B>()); } }; template struct B; template struct B;