1 %module template_retvalue 2 %inline %{ 3 4 enum Hello 5 { 6 Hi, Hola 7 }; 8 9 struct C 10 { CC11 C(int) {} 12 }; 13 14 template <Hello> 15 class A 16 { 17 public: A(int)18 A(int) {} 19 }; 20 21 22 template <Hello h> 23 struct B 24 { get_cB25 C get_c() { return C(0); } // this works get_aB26 A<h> get_a() { return A<h>(0); } // this doesn't 27 }; 28 29 %} 30 31 %template(A_Hi) A<Hi>; 32 %template(B_Hola) B<Hola>; 33