William Fulton - 2012-12-04

This bug is related to a few template and typedef problems. The code is inconsistent as to when it does typedef reduction and the fix does not look particularly simple. Currently the "decl" attribute in the node is typedef reduced and hence added into the symbol tables as such. The %rename does not do the appropriate typedef reduction (%feature too) so there is no match.

Currently the following will work because of the typedef reduced parameters:

%ignore Vector(signed char, signed char);
%ignore Vector(signed char, signed char, signed char, signed char);

or fully qualified class:

%ignore PolyVox::Vector<3, int8_t>::Vector(signed char, signed char);
%ignore PolyVox::Vector<3, int8_t>::Vector(signed char, signed char, signed char, signed char);

For future reference the relevant code is in parser.y add_symbols_copy() which calls add_symbols() which in turn calls make_name().