Function template
pow has additional constexpr overloads sufficient to ensure,
for a call with one argument of type
complex<T1> and
the other argument of type
T2 or
complex<T2>,
both arguments are effectively cast to
complex<common_type_t<T1, T3>>,
where
T3 is
double if
T2 is an integer type and
T2 otherwise
.