https://gcc.gnu.org/bugzilla/show_bug.cgi?id=119323
--- Comment #2 from Jonathan Wakely <redi at gcc dot gnu.org> --- More important than the missing self-assignment check and the missing copy constructor, there's no destructor. The missing check and copy ctor only matter if the type actually is assigned to itself or copied, which maybe they aren't in the current code. The missing dtor means the array is always leaked.