diff --git a/libcxx/include/__algorithm/copy.h b/libcxx/include/__algorithm/copy.h --- a/libcxx/include/__algorithm/copy.h +++ b/libcxx/include/__algorithm/copy.h @@ -56,16 +56,11 @@ return std::make_pair(__first + __n, __result + __n); } -template -using __is_trivially_copy_assignable_unwrapped = - _And<__is_cpp17_contiguous_iterator<_Iter>, is_trivially_copy_assignable<__iter_value_type<_Iter> > >; - -template ::value_type>::type, - typename iterator_traits<_OutIter>::value_type>::value - && __is_trivially_copy_assignable_unwrapped<_InIter>::value - && __is_trivially_copy_assignable_unwrapped<_OutIter>::value> > +template >::type, __iter_value_type<_OutIter> >::value + && __is_cpp17_contiguous_iterator<_InIter>::value + && __is_cpp17_contiguous_iterator<_OutIter>::value + && is_trivially_copy_assignable<__iter_value_type<_OutIter> >::value, int> = 0> inline _LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_AFTER_CXX11 pair, reverse_iterator<_OutIter> > __copy_impl(reverse_iterator<_InIter> __first,