Почему N3421 не предоставляет квалификатор noexcept?
ВN3421 - Расширение функторов операторов <>новая специализация для объектов функции std:
template <> struct plus<void> {
template <class T, class U> auto operator()(T&& t, U&& u) const
-> decltype(std::forward<T>(t) + std::forward<U>(u));
};
вместо
template <> struct plus<void> {
template <class T, class U> auto operator()(T&& t, U&& u) const
noexcept(noexcept(decltype(std::forward<T>(t) + std::forward<U>(u))
(std::move(std::forward<T>(t) + std::forward<U>(u)))))
-> decltype(std::forward<T>(t) + std::forward<U>(u));
};
Есть ли причина для этого?Ли упущениеnoexcept
дело в этом случае использования?Редактировать:ссылка на рабочий черновик в github.
Изменить 2:ссылка на libc ++ плюс специализация.