%module xxx template class Space::A::Anest { public: Anest(); }; namespace N { template class C {}; } namespace unrelated { %template(cin) N::C; template class N::C; } struct Outer { struct Unrelated { %template(cin) N::C; template class N::C; }; }; struct ::X::Y { }; using namespace Nope; template struct NotANamespace { }; %template(NotANamespaceInt) NotANamespace; %template() NotANamespace; using namespace NotANamespace; namespace BadEquivalent = NotANamespace; namespace AwfulEquivalent = Nope;