Remarks: If the initializer T() in the declaration auto x = T();
is a constant initializer ([expr.const]),
then these constructors are constexpr constructors.
Remarks: An invocation of this constructor may be used in a core constant expression
if and only if the initialization of value from x.value
is a constant subexpression ([defns.const.subexpr]).
The exception specification is equivalent to
is_nothrow_copy_constructible_v<T>.