[diff.cpp14.temp] # Annex C (informative) Compatibility [[diff]](./#diff) ## C.4 C++ and ISO C++ 2014 [[diff.cpp14]](diff.cpp14#temp) ### C.4.6 [[temp]](temp "13 Templates"): templates [diff.cpp14.temp] [1](#1) [#](http://github.com/Eelis/draft/tree/9adde4bc1c62ec234483e63ea3b70a59724c745a/source/compatibility.tex#L1764) **Affected subclause:** [[temp.deduct.type]](temp.deduct.type) **Change:** Allowance to deduce from the type of a constant template argument[.](#1.sentence-1) **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[.](#1.sentence-2) **Effect on original feature:** Valid C++ 2014 code may fail to compile or produce different results in this revision of C++[.](#1.sentence-3) [*Example [1](#example-1)*: template struct A;template int foo(A *) = delete;void foo(void *);void bar(A<0> *p) { foo(p); // ill-formed; previously well-formed} — *end example*]