diff --git a/Examples/test-suite/conversion_ns_template.i b/Examples/test-suite/conversion_ns_template.i index 34102f98f..57ff8a83c 100644 --- a/Examples/test-suite/conversion_ns_template.i +++ b/Examples/test-suite/conversion_ns_template.i @@ -2,12 +2,24 @@ %{ namespace oss { + struct Hi + { + Hi(){} + Hi(int){} + }; + enum Test {One, Two}; + template struct Foo { + Foo(){} }; + template struct Bar { + Bar(){ } + Bar(int){ } + operator int() { return 0; } operator int&() { static int num = 0; return num; } operator Foo() { return Foo(); } @@ -20,20 +32,35 @@ { enum Test {One, Two}; + // these works + %ignore Hi::Hi(); + %rename(create) Hi::Hi(int); + + struct Hi + { + Hi(); + Hi(int); + }; + template struct Foo { + Foo(); }; - // these two works + // these works %rename(hello1) Bar::operator int&(); %ignore Bar::operator int(); - - // these don't %rename(hello2) Bar::operator Foo&(); - %ignore Bar::operator Foo(); + %ignore Bar::operator Foo(); + + // these don't + %ignore Bar::Bar(); + %rename(create) Bar::Bar(int); template struct Bar { + Bar(); + Bar(int); operator int(); operator int&(); operator Foo();