check for self-assignment in move operator=