diff --git a/include/boost/type_traits/has_trivial_move_constructor.hpp b/include/boost/type_traits/has_trivial_move_constructor.hpp index e37dfe3..d5f5dee 100644 --- a/include/boost/type_traits/has_trivial_move_constructor.hpp +++ b/include/boost/type_traits/has_trivial_move_constructor.hpp @@ -33,13 +33,25 @@ template struct has_trivial_move_constructor : public integral_cons #else +#ifdef __SUNPRO_CC +#include +#include +#if __cplusplus >= 201103 +#define SOLARIS_EXTRA_CHECK && is_assignable::type&, typename remove_const::type&&>::value +#endif +#endif + +#ifndef SOLARIS_EXTRA_CHECK +#define SOLARIS_EXTRA_CHECK +#endif + #include #include namespace boost { template struct has_trivial_move_constructor - : public integral_constant::value && !::boost::is_volatile::value>{}; + : public integral_constant::value && !::boost::is_volatile::value SOLARIS_EXTRA_CHECK>{}; #endif template <> struct has_trivial_move_constructor : public false_type{};