summaryrefslogtreecommitdiff
path: root/Examples/test-suite/template_retvalue.i
diff options
context:
space:
mode:
Diffstat (limited to 'Examples/test-suite/template_retvalue.i')
-rw-r--r--Examples/test-suite/template_retvalue.i32
1 files changed, 32 insertions, 0 deletions
diff --git a/Examples/test-suite/template_retvalue.i b/Examples/test-suite/template_retvalue.i
new file mode 100644
index 0000000..9c15fea
--- /dev/null
+++ b/Examples/test-suite/template_retvalue.i
@@ -0,0 +1,32 @@
+%module template_retvalue
+%inline %{
+
+ enum Hello
+ {
+ Hi, Hola
+ };
+
+ struct C
+ {
+ C(int) {}
+ };
+
+ template <Hello>
+ class A
+ {
+ public:
+ A(int) {}
+ };
+
+
+ template <Hello h>
+ struct B
+ {
+ C get_c() { return C(0); } // this works
+ A<h> get_a() { return A<h>(0); } // this doesn't
+ };
+
+ %}
+
+%template(A_Hi) A<Hi>;
+%template(B_Hola) B<Hola>;