diff --git a/test/variant_trivial.cpp b/test/variant_trivial.cpp index 48148e3..bd36001 100644 --- a/test/variant_trivial.cpp +++ b/test/variant_trivial.cpp @@ -8,6 +8,7 @@ #include #include +#include #include using namespace boost::mp11; @@ -37,7 +38,6 @@ template class L, class T1, class... T> struct mp_power_set_i // using namespace boost::variant2; -namespace v2d = boost::variant2::detail; struct D { @@ -90,11 +90,16 @@ struct test { using U = mp_inherit; - BOOST_TEST_EQ( v2d::is_trivially_copy_constructible>::value, v2d::is_trivially_copy_constructible::value ); - BOOST_TEST_EQ( v2d::is_trivially_move_constructible>::value, v2d::is_trivially_move_constructible::value ); - BOOST_TEST_EQ( v2d::is_trivially_copy_assignable>::value, std::is_trivially_destructible::value && v2d::is_trivially_copy_constructible::value && v2d::is_trivially_copy_assignable::value ); - BOOST_TEST_EQ( v2d::is_trivially_move_assignable>::value, std::is_trivially_destructible::value && v2d::is_trivially_move_constructible::value && v2d::is_trivially_move_assignable::value ); + BOOST_TEST_EQ( std::is_trivially_copy_constructible>::value, std::is_trivially_copy_constructible::value ); + BOOST_TEST_EQ( std::is_trivially_copy_assignable>::value, std::is_trivially_destructible::value && std::is_trivially_copy_constructible::value && std::is_trivially_copy_assignable::value ); BOOST_TEST_EQ( std::is_trivially_destructible>::value, std::is_trivially_destructible::value ); + +#if !BOOST_WORKAROUND(BOOST_LIBSTDCXX_VERSION < 50000) + + BOOST_TEST_EQ( std::is_trivially_move_constructible>::value, std::is_trivially_move_constructible::value ); + BOOST_TEST_EQ( std::is_trivially_move_assignable>::value, std::is_trivially_destructible::value && std::is_trivially_move_constructible::value && std::is_trivially_move_assignable::value ); + +#endif } };