diff --git a/test/optional_test_static_properties.cpp b/test/optional_test_static_properties.cpp index d9a0b69..5c7ad5b 100644 --- a/test/optional_test_static_properties.cpp +++ b/test/optional_test_static_properties.cpp @@ -36,6 +36,11 @@ struct CustomizedTrivial CustomizedTrivial() {} }; +struct DeletedDefault +{ + BOOST_DELETED_FUNCTION(DeletedDefault()) +}; + namespace boost { namespace optional_config { template <> struct is_type_trivial : boost::true_type {}; @@ -72,7 +77,6 @@ void test_type_traits() // this only tests if type traits are implemented correctly BOOST_TEST_TRAIT_TRUE(( boost::optional_config::is_type_trivial )); BOOST_TEST_TRAIT_TRUE(( boost::optional_config::is_type_trivial )); - BOOST_TEST_TRAIT_TRUE(( boost::optional_config::is_type_trivial )); @@ -103,8 +107,13 @@ void test_type_traits() BOOST_TEST_TRAIT_TRUE(( boost::optional_detail::is_type_trivially_copyable )); BOOST_TEST_TRAIT_TRUE(( boost::optional_detail::is_type_trivially_copyable )); BOOST_TEST_TRAIT_TRUE(( boost::optional_detail::is_type_trivially_copyable > )); + BOOST_TEST_TRAIT_TRUE(( boost::optional_detail::is_type_trivially_copyable )); + BOOST_TEST_TRAIT_TRUE(( boost::optional_detail::is_type_trivially_copyable > )); #endif + BOOST_TEST_TRAIT_FALSE(( boost::optional_config::is_type_trivial )); + BOOST_TEST_TRAIT_FALSE(( boost::optional_config::is_type_trivial > )); + BOOST_TEST_TRAIT_FALSE(( boost::optional_detail::is_type_trivially_copyable )); BOOST_TEST_TRAIT_FALSE(( boost::optional_detail::is_type_trivially_copyable )); BOOST_TEST_TRAIT_FALSE(( boost::optional_detail::is_type_trivially_copyable )); @@ -116,6 +125,7 @@ void test_trivial_copyability() BOOST_TEST_TRAIT_TRUE((boost::is_base_of, boost::optional > )); BOOST_TEST_TRAIT_TRUE((boost::is_base_of, boost::optional > )); BOOST_TEST_TRAIT_TRUE((boost::is_base_of, boost::optional > )); + BOOST_TEST_TRAIT_FALSE((boost::is_base_of, boost::optional > )); #ifndef BOOST_OPTIONAL_DETAIL_NO_SPEC_FOR_TRIVIAL_TYPES BOOST_TEST_TRAIT_TRUE(( boost::optional_detail::is_type_trivially_copyable > )); @@ -124,6 +134,8 @@ void test_trivial_copyability() BOOST_TEST_TRAIT_TRUE(( boost::optional_detail::is_type_trivially_copyable > )); BOOST_TEST_TRAIT_TRUE(( boost::optional_detail::is_type_trivially_copyable > > )); BOOST_TEST_TRAIT_TRUE(( boost::optional_detail::is_type_trivially_copyable, double> > > )); + + BOOST_TEST_TRAIT_FALSE(( boost::optional_detail::is_type_trivially_copyable > )); #endif }