diff --git a/include/boost/multiprecision/traits/is_backend.hpp b/include/boost/multiprecision/traits/is_backend.hpp index bd9458c9..bb332b3e 100644 --- a/include/boost/multiprecision/traits/is_backend.hpp +++ b/include/boost/multiprecision/traits/is_backend.hpp @@ -50,7 +50,7 @@ namespace boost{ namespace multiprecision{ namespace detail{ template struct is_second_backend_imp{ static const bool value = false; }; template - struct is_second_backend_imp{ static const bool value = is_convertible >::value || is_convertible >::value; }; + struct is_second_backend_imp{ static const bool value = (is_convertible >::value || is_convertible >::value) && !is_first_backend::value; }; template struct is_second_backend : is_second_backend_imp::value, T, U> {};