%module xxx template struct X { void primary() {} }; template struct X { void special(YY*) {} }; %template(Xbad1) X<>; %template(Xokay1) X; %template(Xokay2) X; %template(Xbad2) X;