diff --git a/include/boost/fusion/container/vector/detail/cpp03/vector.hpp b/include/boost/fusion/container/vector/detail/cpp03/vector.hpp index 8a7a4e5d..33b87bfb 100644 --- a/include/boost/fusion/container/vector/detail/cpp03/vector.hpp +++ b/include/boost/fusion/container/vector/detail/cpp03/vector.hpp @@ -177,7 +177,10 @@ FUSION_HASH if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - vector& + typename boost::disable_if_c< + boost::is_same::type const>::value + , vector& + >::type operator=(T&& rhs) { vec = BOOST_FUSION_FWD_ELEM(T, rhs); diff --git a/include/boost/fusion/container/vector/detail/cpp03/vector_forward_ctor.hpp b/include/boost/fusion/container/vector/detail/cpp03/vector_forward_ctor.hpp index 682f0ce3..e0f9d83c 100644 --- a/include/boost/fusion/container/vector/detail/cpp03/vector_forward_ctor.hpp +++ b/include/boost/fusion/container/vector/detail/cpp03/vector_forward_ctor.hpp @@ -64,7 +64,11 @@ FUSION_HASH endif #if M == 1 explicit #endif - vector(BOOST_PP_ENUM_BINARY_PARAMS(M, U, && arg)) + vector(BOOST_PP_ENUM_BINARY_PARAMS(M, U, && arg) +#if M == 1 + , typename boost::disable_if_c::type const>::value, detail::enabler_>::type = detail::enabler +#endif + ) : vec(BOOST_PP_ENUM(M, FUSION_FORWARD_CTOR_FORWARD, arg)) {} #endif #if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES)