https://gcc.gnu.org/bugzilla/show_bug.cgi?id=109442
--- Comment #2 from Jonathan Wakely <redi at gcc dot gnu.org> --- Neither v nor v1 escapes the function, so I don't think operator delete can inspect them. The destructor doesn't inspect the contents, it just destroys the elements (which is a no-op for int) and then calls operator delete to free the storage.