Como usar noexcept no operador de atribuição com idioma copy-and-swap?

O operador de atribuição de movimento deve ser muitas vezes declarado noexcept (ou seja, para armazenar o tipo em contêineres STL). Mas a linguagem copy-and-swap permite que os operadores de atribuição de cópia e movimentação sejam definidos em uma única parte do código. O que fazer com noexcept especificador neste caso? A construção da cópia pode lançar, mas duvido que possa violar o especificador noexcept.

// Is it correct considering that T copy constructor can throw?
T& operator=(T other) noexcept;

questionAnswers(2)

yourAnswerToTheQuestion