%module template_partial_arg %inline %{ template class Foo { public: T bar() { return T(); } T* baz() { return 0; } }; template class Foo { public: T bar() { return T(); } T* baz() { return 0; } }; class Bar {}; %} %template(Foo1) Foo; %template(Foo2) Foo;