Obtain
P from
T by replacing the occurrences of
type-constraintopt auto either with
a new invented type template parameter
U or,
if the initialization is copy-list-initialization, with
std::initializer_list<U>. If the deduction fails, the declaration is ill-formed
. Otherwise,
T′ is obtained by
substituting the deduced
U into
P. [
Example 1:
auto x1 = { 1, 2 };
auto x2 = { 1, 2.0 };
auto x3{ 1, 2 };
auto x4 = { 3 };
auto x5{ 3 };
—
end example]