This is an unofficial snapshot of the ISO/IEC JTC1 SC22 WG21 Core Issues List revision 108h. See http://www.open-std.org/jtc1/sc22/wg21/ for the official list.

2022-07-01


1315. Restrictions on non-type template arguments in partial specializations

Section: 13.7.6.1  [temp.spec.partial.general]     Status: CD4     Submitter: Johannes Schaub     Date: 2011-05-12

[Adopted at the February, 2016 meeting.]

The rationale for the restriction in 13.7.6.1 [temp.spec.partial.general] bullet 9.1 is not clear:

In the example, it's clear that I is non-deducible, but this rule prevents plausible uses like:

  template <int I, int J> struct A {};
  template <int I> struct A<I, I*2> {};

(See also issues 1647, 2033, and 2127.)

Proposed resolution (September, 2015):

Change 13.7.6.1 [temp.spec.partial.general] bullet 9.1 as follows: