namespace NS_1 {
struct A {};
struct foo {};
}
namespace NS_2 {
template <typename T> void foo(T);
template <typename T>
void bar() {
NS_1::A a;
NS_2::foo(a);
template void bar<int>();