diff --git a/libcxx/include/__iterator/distance.h b/libcxx/include/__iterator/distance.h --- a/libcxx/include/__iterator/distance.h +++ b/libcxx/include/__iterator/distance.h @@ -74,12 +74,8 @@ template> _Sp> _LIBCPP_HIDE_FROM_ABI - constexpr iter_difference_t<_Ip> operator()(_Ip&& __first, _Sp __last) const { - if constexpr (sized_sentinel_for<_Sp, __uncvref_t<_Ip>>) { - return __last - __first; - } else { - return __last - decay_t<_Ip>(__first); - } + constexpr iter_difference_t> operator()(_Ip&& __first, _Sp __last) const { + return __last - static_cast&>(__first); } template