William S Fulton
|
9924c5c3e1
|
Partial template specialization fixes to support default arguments
Default argments come from the primary template's parameter list.
Example:
template<class Y, class T=int> struct X { void primary() {} };
// Previously the specialization below resulted in:
// Error: Inconsistent argument count in template partial specialization. 1 2
template<class YY> struct X<YY*> { void special(YY*) {} };
// Both of these correctly wrap the partially specialized template
%template(StringPtr) X<const char *>;
%template(ShortPtr) X<short *, int>;
|
2023-03-01 19:42:00 +00:00 |