%module template_arg_typename %inline %{ template struct UnaryFunction { typedef void* vptr_type; }; template struct BoolUnaryFunction : UnaryFunction { typedef UnaryFunction base; BoolUnaryFunction(const typename base::vptr_type* vptrf) {} }; %} %template(UnaryFunction_bool_bool) UnaryFunction; %template(BoolUnaryFunction_bool) BoolUnaryFunction;