Ответ 1
Если я правильно понял, стандарт не указывает noexcept
на функции с узким контрактом (с предварительным условием, нарушение которого приводит к UB). N3279 и совсем недавно P0884 говорят об этом и о том, как решить, должна ли функция быть noexcept
или нет (или условно).
Это относится к std::deque
pop_front
и pop_back
но также к front
и back
где нет вызова деструктору. То же самое для std::vector
pop_back
, front
и back
например.