[diff.cpp20.temp] # Annex C (informative) Compatibility [[diff]](./#diff) ## C.2 C++ and ISO C++ 2020 [[diff.cpp20]](diff.cpp20#temp) ### C.2.6 [[temp]](temp "13 Templates"): templates [diff.cpp20.temp] [1](#1) [#](http://github.com/Eelis/draft/tree/9adde4bc1c62ec234483e63ea3b70a59724c745a/source/compatibility.tex#L588) **Affected subclause:** [[temp.deduct.type]](temp.deduct.type) **Change:** Deducing template arguments from exception specifications[.](#1.sentence-1) **Rationale:** Facilitate generic handling of throwing and non-throwing functions[.](#1.sentence-2) **Effect on original feature:** Valid ISO C++ 2020 code may be ill-formed in this revision of C++[.](#1.sentence-3) [*Example [1](#example-1)*: template struct A { };template void f(void (*)(A) noexcept(B));void g(A) noexcept;void h() { f(g); // ill-formed; previously well-formed} — *end example*]