diff --git a/Examples/test-suite/common.mk b/Examples/test-suite/common.mk index ed8cebcd7..45f127b66 100644 --- a/Examples/test-suite/common.mk +++ b/Examples/test-suite/common.mk @@ -46,6 +46,7 @@ CPP_TEST_BROKEN = \ abstract_typedef \ namespace_nested \ template_default_arg \ + template_specialization_defarg \ using_namespace CPP_TEST_CASES += $(CPP_TEST_BROKEN) diff --git a/Examples/test-suite/template_specialization_defarg.i b/Examples/test-suite/template_specialization_defarg.i new file mode 100644 index 000000000..0c944df01 --- /dev/null +++ b/Examples/test-suite/template_specialization_defarg.i @@ -0,0 +1,60 @@ +%module template_specialization_defarg + +%inline %{ + + template + struct C + { + }; + + + template + struct C + { + int hi() + { + return 0; + } + + C(int a = 0) + { + } + + protected: + C() + { + } + }; + + + template + struct C + { + int hello() + { + return 0; + } + + C(double a = 0) + { + } + + protected: + C() + { + } + }; + + +%} + + +// +// This works fine +// +%template(C_i) C; + +// +// This one fails +// +%template(C_d) C;