%module template_base_template %warnfilter(801) traits; /* Ruby, wrong class name */ %inline %{ template struct traits { typedef ArgType arg_type; typedef ResType res_type; }; template struct Function { }; // Egad! template struct Class : Function::arg_type, typename traits::res_type> { }; %} %template(traits_dd) traits ; %template(Function_dd) Function ; %template(Class_dd) Class ;