[diff.cpp14.temp] (original) (raw)

Affected subclause: [temp.deduct.type]

Change: Allowance to deduce from the type of a constant template argument.

Rationale: In combination with the ability to declare constant template arguments with placeholder types, allows partial specializations to decompose from the type deduced for the constant template argument.

Effect on original feature: Valid C++ 2014 code may fail to compile or produce different results in this revision of C++.

[Example 1: template <int N> struct A;template <typename T, T N> int foo(A<N> *) = delete;void foo(void *);void bar(A<0> *p) { foo(p); } — _end example_]