https://gcc.gnu.org/bugzilla/show_bug.cgi?id=110167
--- Comment #10 from Jonathan Wakely <redi at gcc dot gnu.org> --- (In reply to Jonathan Wakely from comment #6) > if constexpr (_Nm > 1024 && is_trivially_default_constructible_v<_Tp> > && is_trivially_assignable_v<_Tp&, _Tp&>) > { > array<_Tp, _Nm> __arr; > for (size_t __i = 0; __i < _Nm; ++i) > __arr[__i] = __a[__i]; > return __arr; I wonder if we should do this for any N, and rely on the compiler to DTRT for the loop.