As a result of after move-constructing an allocator x from an allocator y the standard will require that x and y compare equal. My understanding is that this is because moving a container also moves the allocator, but (some?) moved-from containers still need a functioning allocator.

But doesn't this effectively mean that moving from an allocator is impossible and in the vast majority of cases moving needs to be implemented as copying?

Wouldn't it make more sense for the containers that need an allocator in their moved-from state to copy their allocator instead of moving?

As-is, I feel like there's a big trap when implementing an allocator that you have to take very special care with the move constructor (or in practice just not have one)

Would there be any interest in an issue report for this?