diff --git a/test/has_trivial_constr_test.cpp b/test/has_trivial_constr_test.cpp index 9328b51..ddde815 100644 --- a/test/has_trivial_constr_test.cpp +++ b/test/has_trivial_constr_test.cpp @@ -12,6 +12,7 @@ #include "test.hpp" #include "check_integral_constant.hpp" +#include class bug11324_base { @@ -44,6 +45,18 @@ struct deleted_construct #endif +template class holder +{ +private: + + T t_; + +public: + + holder(): t_() {} + explicit holder( T const& t ): t_( t ) {} +}; + TT_TEST_BEGIN(has_trivial_constructor) BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_trivial_constructor::value, true); @@ -207,6 +220,8 @@ BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_trivial_constructor::v BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_trivial_constructor::value, false); #ifndef BOOST_NO_CXX11_DELETED_FUNCTIONS BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_trivial_constructor::value, false); +BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_trivial_constructor< holder >::value, false); +BOOST_CHECK_INTEGRAL_CONSTANT((::tt::has_trivial_constructor< std::pair >::value), false); #endif TT_TEST_END