Clang intrinsic needs to be filtered through is_constructible.

This commit is contained in:
jzmaddock
2015-06-09 19:33:07 +01:00
parent c1d885edbd
commit ade5857d78

View File

@ -183,7 +183,7 @@
# define BOOST_HAS_NOTHROW_CONSTRUCTOR(T) __has_nothrow_constructor(T)
# endif
# if __has_feature(has_nothrow_copy)
# define BOOST_HAS_NOTHROW_COPY(T) (__has_nothrow_copy(T) && !is_volatile<T>::value && !is_reference<T>::value)
# define BOOST_HAS_NOTHROW_COPY(T) (__has_nothrow_copy(T) && !is_volatile<T>::value && !is_reference<T>::value && is_constructible<T, const T&>::value)
# endif
# if __has_feature(has_nothrow_assign)
# define BOOST_HAS_NOTHROW_ASSIGN(T) (__has_nothrow_assign(T) && !is_volatile<T>::value)