Title
Non-deducible parameters in partial specializations
Status
drafting
Section
13.7.6.2 [temp.spec.partial.match]
Submitter
Martin Sebor

Created on 2005-11-18.00:00:00 last changed 28 months ago

Messages

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.)

History
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