Index: boost/variant/detail/apply_visitor_binary.hpp =================================================================== --- boost/variant/detail/apply_visitor_binary.hpp (revision 57543) +++ boost/variant/detail/apply_visitor_binary.hpp (working copy) @@ -63,6 +63,9 @@ return visitor_(value1_, value2); } +private: + apply_visitor_binary_invoke& operator=(const apply_visitor_binary_invoke&); + }; template @@ -100,6 +103,9 @@ return boost::apply_visitor(invoker, visitable2_); } +private: + apply_visitor_binary_unwrap& operator=(const apply_visitor_binary_unwrap&); + }; }} // namespace detail::variant Index: boost/variant/detail/apply_visitor_delayed.hpp =================================================================== --- boost/variant/detail/apply_visitor_delayed.hpp (revision 57543) +++ boost/variant/detail/apply_visitor_delayed.hpp (working copy) @@ -72,6 +72,9 @@ return apply_visitor(visitor_, visitable1, visitable2); } +private: + apply_visitor_delayed_t& operator=(const apply_visitor_delayed_t&); + }; template Index: boost/variant/detail/variant_io.hpp =================================================================== --- boost/variant/detail/variant_io.hpp (revision 57543) +++ boost/variant/detail/variant_io.hpp (working copy) @@ -64,6 +64,9 @@ out_ << operand; } +private: + printer& operator=(const printer&); + }; }} // namespace detail::variant Index: boost/variant/detail/visitation_impl.hpp =================================================================== --- boost/variant/detail/visitation_impl.hpp (revision 57543) +++ boost/variant/detail/visitation_impl.hpp (working copy) @@ -35,6 +35,10 @@ #include "boost/type_traits/has_nothrow_copy.hpp" #include "boost/variant/detail/has_nothrow_move.hpp" +#if BOOST_WORKAROUND(BOOST_MSVC, >= 1400) +# pragma warning (push) +# pragma warning (disable : 4702) //unreachable code +#endif /////////////////////////////////////////////////////////////////////////////// // BOOST_VARIANT_VISITATION_UNROLLING_LIMIT @@ -283,4 +287,8 @@ }} // namespace detail::variant } // namespace boost +#if BOOST_WORKAROUND(BOOST_MSVC, >= 1400) +# pragma warning(pop) +#endif + #endif // BOOST_VARIANT_DETAIL_VISITATION_IMPL_HPP Index: boost/variant/variant.hpp =================================================================== --- boost/variant/variant.hpp (revision 57543) +++ boost/variant/variant.hpp (working copy) @@ -698,6 +698,9 @@ ::boost::detail::variant::move_swap( operand, other ); } +private: + swap_with& operator=(const swap_with&); + }; /////////////////////////////////////////////////////////////////////////////// @@ -759,6 +762,9 @@ return Comp()(lhs_content, rhs_content); } +private: + comparer& operator=(const comparer&); + }; /////////////////////////////////////////////////////////////////////////////// Index: libs/variant/test/test7.cpp =================================================================== --- libs/variant/test/test7.cpp (revision 57543) +++ libs/variant/test/test7.cpp (working copy) @@ -197,6 +197,9 @@ ValueType& expected_; +private: + compare_helper& operator=(const compare_helper&); + }; template