https://gcc.gnu.org/bugzilla/show_bug.cgi?id=87106
--- Comment #26 from Jonathan Wakely <redi at gcc dot gnu.org> --- Or maybe that should be: template<typename _Tp, typename = void> struct __is_bitwise_relocatable : is_trivially_copyable<_Tp> { }; ... if constexpr (!is_trivial_v<T>) if (is_default_constructible_v<_Tp> && (__OPTIMIZE__+0)) std::__uninitialized_default_novalue_n(result, result + count); else { // can't do bitwise relocation today ... }