1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
//Check instantiation of templates outside their namespace namespace A{ template <class T>void g(){} template <class T> struct B { B(){ f(); } void f() { g<T>(); } }; } template class A::B<int>; A::B<int> s; int main() { return 0; }