diff --git a/include/boost/variant2/variant.hpp b/include/boost/variant2/variant.hpp index 8c1c308..cf56207 100644 --- a/include/boost/variant2/variant.hpp +++ b/include/boost/variant2/variant.hpp @@ -1530,27 +1530,9 @@ public: { } -#if !BOOST_WORKAROUND( BOOST_MSVC, < 1910 ) - // variant( variant const& ) = default; // variant( variant && ) = default; -#else - -private: - - variant( variant const volatile& ) = delete; - -public: - - template::value >::type> - constexpr variant( variant const& r ) noexcept( std::is_nothrow_copy_constructible::value ): variant_base( static_cast( r ) ) {} - - template::value >::type> - constexpr variant( variant && r ) noexcept( std::is_nothrow_move_constructible::value ): variant_base( static_cast( r ) ) {} - -#endif - template::type, class E1 = typename std::enable_if< !std::is_same::value && !detail::is_in_place_index::value && !detail::is_in_place_type::value >::type, @@ -1585,35 +1567,9 @@ public: // assignment -#if !BOOST_WORKAROUND( BOOST_MSVC, < 1910 ) - // variant& operator=( variant const& ) = default; // variant& operator=( variant && ) = default; -#else - -private: - - variant& operator=( variant const volatile& ) = delete; - -public: - - template::value >::type> - variant& operator=( variant const& r ) noexcept( std::is_nothrow_copy_assignable::value ) - { - static_cast< variant_base& >( *this ) = static_cast< variant_base const& >( r ); - return *this; - } - - template::value >::type> - variant& operator=( variant && r ) noexcept( std::is_nothrow_move_assignable::value ) - { - static_cast< variant_base& >( *this ) = static_cast< variant_base && >( r ); - return *this; - } - -#endif - template::type, variant>::value>::type, class V = detail::resolve_overload_type,