https://gcc.gnu.org/bugzilla/show_bug.cgi?id=97207
--- Comment #7 from Jonathan Wakely <redi at gcc dot gnu.org> --- (In reply to Richard Biener from comment #4) > That swap couldn't have worked before because auto_vec eventually contains a > pointer into itself. So the patch has improved things from broken to > rejected. Rejected because while there's a move CTOR now, std::swap isn't > happy with just that. > > No idea why - Jonathan? Because swap requires assignment, not just construction. I don't see a libstdc++ bug here.