Isn't that what move semantics is supposed to do, leave the source in a valid but indeterminate state? Meaning the object can be reused, but the data inside it can't.