%module xxx template struct A {}; %template(Aint) A; %template(Aint2) A; // Now ignored and issues a warning template struct B {}; %template() B; %template(Bint) B; // OK template struct C {}; %template() C; %template() C; // Quietly ignored now %template(Cint) C; // OK template struct D {}; %template(Dint) D; %template(Dintshort) D; template struct E {}; %template(Eint) E; %template(Eint) E; // Always has been ignored as a redefined identifier template struct F {}; %template(Fint) F; %template() F; // Quietly ignored %template() F; // Quietly ignored template struct G {}; %template() G; %template() G; // Quietly ignored %template(Gint) G; %template() G; // Quietly ignored