This is an unofficial snapshot of the ISO/IEC JTC1 SC22 WG21 Core Issues List revision 112c. See for the official list.


2425. Confusing wording for deduction from a type

Section:  [over.match.class.deduct]     Status: open     Submitter: Dawn Perchik     Date: 2019-08-06

In [over.match.class.deduct] paragraph 3 we read:

The arguments of a template A are said to be deducible from a type T if, given a class template

  template <typename> class AA;

with a single partial specialization whose template parameter list is that of A and whose template argument list is a specialization of A with the template argument list of A ( [temp.dep.type]), AA<T> matches the partial specialization.

The relationship between A, AA and its partial specialization, and the argument list of A is not clear. An example would be very helpful here. Also, using a different name than A would help, since A is used in close proximity to this wording to denote an alias template, while this wording applies to both class and alias templates. Finally, there should be a cross-reference to [temp.spec.partial.match] for matching the partial specialization.