From 0067696c6777f4917a262b7dadefa7fd110de26e Mon Sep 17 00:00:00 2001 From: Jonathan Wakely Date: Mon, 15 Sep 2025 14:18:04 +0100 Subject: [PATCH] libstdc++: Fix more missing uses of iter_difference_t [PR119820] libstdc++-v3/ChangeLog: PR libstdc++/119820 * include/bits/ranges_algo.h (__shuffle_fn): Use ranges::distance to get difference type value to add to iterator. * include/std/format (__formatter_str::_M_format_range): Use ranges::next to increment iterator by a size_t value. Reviewed-by: Patrick Palka --- libstdc++-v3/include/bits/ranges_algo.h | 2 +- libstdc++-v3/include/std/format | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/libstdc++-v3/include/bits/ranges_algo.h b/libstdc++-v3/include/bits/ranges_algo.h index 6ec233f19df..ea933be2f60 100644 --- a/libstdc++-v3/include/bits/ranges_algo.h +++ b/libstdc++-v3/include/bits/ranges_algo.h @@ -2028,7 +2028,7 @@ namespace ranges && !sized_sentinel_for, iterator_t<_Range>>) return (*this)(ranges::begin(__r), - ranges::begin(__r) + ranges::size(__r), + ranges::begin(__r) + ranges::distance(__r), std::forward<_Gen>(__g)); else return (*this)(ranges::begin(__r), ranges::end(__r), diff --git a/libstdc++-v3/include/std/format b/libstdc++-v3/include/std/format index d6a2170e45d..842972eed4c 100644 --- a/libstdc++-v3/include/std/format +++ b/libstdc++-v3/include/std/format @@ -1440,7 +1440,7 @@ namespace __format else if constexpr (ranges::random_access_range<_Rg>) { ranges::iterator_t<_Rg> __first = ranges::begin(__rg); - ranges::subrange __sub(__first, __first + __w); + ranges::subrange __sub(__first, ranges::next(__first, __w)); return _M_format_escaped(_String(from_range, __sub), __fc); } else if (__w <= __n) -- 2.47.3