На днях столкнулся с особенностью std::exchange.
Как оказывается функция не является noexcept, а почему использовать её в конструкторе перемещения нельзя.
Очевидно напрашивается написать свой аналог exchange_no_except.
Почему об этом не подумали в стандарте и как пишете вы ?