%module template_specialization_enum %warnfilter(SWIGWARN_RUBY_WRONG_NAME) Hello; /* Ruby, wrong class name */ %warnfilter(SWIGWARN_RUBY_WRONG_NAME) Hi; /* Ruby, wrong class name */ %warnfilter(SWIGWARN_GO_NAME_CONFLICT); /* Ignoring 'hello due to Go name ('Hello) conflict with 'Hello' */ %inline %{ enum Hello { hi, hello }; template struct C { }; template struct Base { }; template struct C : Base { int fhello() { return hello; } protected: C() { } }; template struct C : Base { int fhi() { return hi; } protected: C() { } }; %} %template(Base_dd) Base; %template(Base_ii) Base; %template(C_i) C; %template(C_d) C;