diff --git a/include/boost/move/traits.hpp b/include/boost/move/traits.hpp index b094827..ced1cdd 100644 --- a/include/boost/move/traits.hpp +++ b/include/boost/move/traits.hpp @@ -41,14 +41,14 @@ struct has_trivial_destructor_after_move {}; //! By default this traits returns -//!
boost::is_nothrow_move_constructible::value || boost::is_nothrow_move_assignable::value 
. +//!
boost::is_nothrow_move_constructible::value && boost::is_nothrow_move_assignable::value 
. //! Classes with non-throwing move constructor //! and assignment can specialize this trait to obtain some performance improvements. template struct has_nothrow_move : public ::boost::move_detail::integral_constant < bool - , boost::is_nothrow_move_constructible::value || + , boost::is_nothrow_move_constructible::value && boost::is_nothrow_move_assignable::value > {}; diff --git a/test/move.cpp b/test/move.cpp index a48b4ef..4d6eae7 100644 --- a/test/move.cpp +++ b/test/move.cpp @@ -66,7 +66,6 @@ int main() { #if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) BOOST_STATIC_ASSERT((boost::has_nothrow_move::value == true)); - BOOST_STATIC_ASSERT((boost::has_nothrow_move::value == false)); BOOST_STATIC_ASSERT((boost::has_move_emulation_enabled::value == false)); BOOST_STATIC_ASSERT((boost::has_move_emulation_enabled::value == false)); BOOST_STATIC_ASSERT((boost::has_move_emulation_enabled::value == false));