Annex C (informative) Compatibility [diff]

C.3 C++ and ISO C++ 2020 [diff.cpp20]

C.3.6 [over]: overloading [diff.cpp20.over]

Affected subclause: [over.match.class.deduct]
Change: Deducing class template arguments from inherited constructors.

Rationale: Making class template argument deduction consistent with construction.

Effect on original feature: Valid ISO C++ 2020 code may become ill-formed or change meaning in this revision of C++.
[Example 1: template<typename T> struct B { B(T); }; template<typename T> struct D : B<T *> { D(T); using B<T *>::B; T m = "a"; // #1 }; D d(""); // ill-formed at #1 (T deduced as const char); // previously well-formed (T deduced as const char*) — end example]