%module template_forward %{ namespace foo { template class bar { }; } %} namespace foo { template class bar; }; %inline %{ namespace foo { double test1(const bar &x) { return 0; } bar test2() { return bar(); } } %}