https://gcc.gnu.org/g:0067696c6777f4917a262b7dadefa7fd110de26e

commit r16-3906-g0067696c6777f4917a262b7dadefa7fd110de26e
Author: Jonathan Wakely <[email protected]>
Date:   Mon Sep 15 14:18:04 2025 +0100

    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 <[email protected]>

Diff:
---
 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 6ec233f19df8..ea933be2f604 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<sentinel_t<_Range>,
                                             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 d6a2170e45d8..842972eed4ca 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)

Reply via email to