diff -ur a/include/boost/type_traits/has_minus.hpp b/include/boost/type_traits/has_minus.hpp --- a/include/boost/type_traits/has_minus.hpp 2018-04-11 15:49:10.000000000 +0200 +++ b/include/boost/type_traits/has_minus.hpp 2018-07-30 12:47:08.425957600 +0200 @@ -88,10 +88,10 @@ } template - struct has_minus : + struct has_minus : public boost::binary_op_detail::has_minus_void_ptr_filter< - T, U, Ret, - boost::is_void::type>::type>::value + T, U, Ret, + boost::is_void::type>::type>::value || boost::is_void::type>::type>::value> {}; @@ -150,4 +150,9 @@ #undef BOOST_TT_FORBIDDEN_IF #endif + +#if defined(BOOST_MSVC) +# pragma warning ( pop ) +#endif + #endif diff -ur a/include/boost/type_traits/has_minus_assign.hpp b/include/boost/type_traits/has_minus_assign.hpp --- a/include/boost/type_traits/has_minus_assign.hpp 2018-04-11 15:49:10.000000000 +0200 +++ b/include/boost/type_traits/has_minus_assign.hpp 2018-07-30 12:47:24.084473300 +0200 @@ -155,4 +155,9 @@ #undef BOOST_TT_FORBIDDEN_IF #endif + +#if defined(BOOST_MSVC) +# pragma warning ( pop ) +#endif + #endif diff -ur a/include/boost/type_traits/has_plus_assign.hpp b/include/boost/type_traits/has_plus_assign.hpp --- a/include/boost/type_traits/has_plus_assign.hpp 2018-04-11 15:49:10.000000000 +0200 +++ b/include/boost/type_traits/has_plus_assign.hpp 2018-07-30 12:47:29.324610400 +0200 @@ -153,4 +153,9 @@ #undef BOOST_TT_FORBIDDEN_IF #endif + +#if defined(BOOST_MSVC) +# pragma warning ( pop ) +#endif + #endif