mark assignment as noexcept