diff --git a/include/boost/fusion/support/detail/propagate_trivialness.hpp b/include/boost/fusion/support/detail/propagate_trivialness.hpp index fdb6b57a..a1c22bea 100644 --- a/include/boost/fusion/support/detail/propagate_trivialness.hpp +++ b/include/boost/fusion/support/detail/propagate_trivialness.hpp @@ -19,6 +19,9 @@ struct trivial_base { }; struct non_trivial_base { + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + BOOST_DEFAULTED_FUNCTION(non_trivial_base() BOOST_NOEXCEPT, {}) + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED non_trivial_base(non_trivial_base const&) BOOST_NOEXCEPT { } }; diff --git a/test/support/propagate_trivialness.cpp b/test/support/propagate_trivialness.cpp index e4d90af2..17050ca4 100644 --- a/test/support/propagate_trivialness.cpp +++ b/test/support/propagate_trivialness.cpp @@ -11,12 +11,16 @@ #include #include #include +#include #include "trivial.hpp" using namespace boost; using namespace boost::fusion::detail; +BOOST_MPL_ASSERT((is_default_constructible)); +BOOST_MPL_ASSERT((is_default_constructible)); + BOOST_FUSION_ASSERT_FALLBACK((is_trivially_copyable)); BOOST_MPL_ASSERT_NOT((is_trivially_copyable));