An issue we do not think often about:
by Eric Niebler
From the article:
TL;DR: In addition to the usual rule about move operations leaving the source object in a valid but unspecified state, we can add an additional guideline (not quite a rule, but follow it anyway):
Self-move assignment should “work” and leave the object in a valid but unspecified state.