https://gcc.gnu.org/bugzilla/show_bug.cgi?id=114817
--- Comment #1 from Arthur O'Dwyer <arthur.j.odwyer at gmail dot com> --- Yes, vector reallocation has analogous trouble with types that are "trivial, but not trivially copy constructible." https://godbolt.org/z/Psboqf3MP (libc++ happens to sidestep this pitfall *on Clang 15+,* because libc++ gates their vector reallocation optimization differently depending on whether `__has_builtin(__is_trivially_relocatable)`; but libc++ would have the same bug as libstdc++ when compiled on GCC.)