'std::vector move assignment vs construction: why is the state of 'other' not consistent?

For move construction:

After the move, other is guaranteed to be empty(). 1

For move assignment, the oft-quoted:

other is in a valid but unspecified state afterwards. 2

Why is the state of other different in these two cases?



Sources

This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.

Source: Stack Overflow

Solution Source