forked from boostorg/optional
Added meta test for buggy type trait
This commit is contained in:
@ -19,6 +19,7 @@ import testing ;
|
|||||||
test-suite optional :
|
test-suite optional :
|
||||||
[ run optional_test.cpp ]
|
[ run optional_test.cpp ]
|
||||||
[ run ak_test_vc14_noexcept.cpp ]
|
[ run ak_test_vc14_noexcept.cpp ]
|
||||||
|
[ run ak_test_trait_noexcept_default.cpp ]
|
||||||
[ run optional_test_swap.cpp ]
|
[ run optional_test_swap.cpp ]
|
||||||
[ run optional_test_conversions_from_U.cpp ]
|
[ run optional_test_conversions_from_U.cpp ]
|
||||||
[ run optional_test_tie.cpp ]
|
[ run optional_test_tie.cpp ]
|
||||||
|
26
test/ak_test_trait_noexcept_default.cpp
Normal file
26
test/ak_test_trait_noexcept_default.cpp
Normal file
@ -0,0 +1,26 @@
|
|||||||
|
#include <boost/type_traits/has_nothrow_constructor.hpp>
|
||||||
|
#include <boost/core/lightweight_test.hpp>
|
||||||
|
#include <boost/core/lightweight_test_trait.hpp>
|
||||||
|
|
||||||
|
namespace some_namespace
|
||||||
|
{
|
||||||
|
class base_class
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
base_class & operator=(const base_class &){ throw int(); }
|
||||||
|
virtual ~base_class() {}
|
||||||
|
};
|
||||||
|
|
||||||
|
class class_without_default_ctor : public base_class
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
char data;
|
||||||
|
explicit class_without_default_ctor(char arg) : data(arg) {}
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
|
int main()
|
||||||
|
{
|
||||||
|
BOOST_TEST_TRAIT_FALSE((boost::has_nothrow_default_constructor<some_namespace::class_without_default_ctor>));
|
||||||
|
return boost::report_errors();
|
||||||
|
}
|
Reference in New Issue
Block a user