Non-deducible parameters in partial specializations
_N4868_. [temp.class.spec.match]
Martin Sebor

Created on 2005-11-18.00:00:00 last changed 3 weeks ago


Date: 2022-01-06.00:00:00

Additional note, December, 2021:

The original issue, but not the *#8220;similar issues *#8221; pointed out in the 2006-04 note, was resolved by the changes for issue 1315 and paper P0127R2.

Date: 2006-04-15.00:00:00

Notes from the April, 2006 meeting:

It was noted that there are similar issues for constructors and conversion operators with non-deducible parameters, and that they should probably be dealt with similarly.

Date: 2011-04-10.00:00:00

In the following example, the template parameter in the partial specialization is non-deducible:

    template <class T> struct A { typedef T U; };
    template <class T> struct C { };
    template <class T> struct C<typename A<T>::U> { };

Several compilers issue errors for this case, but there appears to be nothing in the Standard that would make this ill-formed; it simply seems that the partial specialization will never be matched, so the primary template will be used for all specializations. Should it be ill-formed?

(See also issue 1246.)

Date User Action Args
2022-01-06 00:00:00adminsetmessages: + msg6610
2006-04-22 00:00:00adminsetmessages: + msg1334
2006-04-22 00:00:00adminsetstatus: open -> drafting
2005-11-18 00:00:00admincreate