Считается хорошим тоном обеспечивать noexcept-swap функцию-член класса. Что делать, если появляется необходимость добавить в этой функции такую строчку std::scoped_lock < std::mutex, std::mutex > lock(m_mutex, other.m_mutex);, которая может приводить к генерации исключений?