https://gcc.gnu.org/bugzilla/show_bug.cgi?id=87106
--- Comment #20 from Marc Glisse <glisse at gcc dot gnu.org> --- TODO: specify __restrict on the arguments of __relocate_object_a. Since one is initialized and not the other, it should be safe to assume that they are disjoint, and it helps optimize move+destroy, for instance for unique_ptr<int>.