Tested on x86_64-pc-linux-gnu, does this look OK for trunk and branches?

libstdc++-v3/ChangeLog:

        * include/std/ranges (iota_view::operator+): Adjust definition
        as per LWG 3580.
        (iota_view::operator-): Likewise.
---
 libstdc++-v3/include/std/ranges | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/libstdc++-v3/include/std/ranges b/libstdc++-v3/include/std/ranges
index 18bd087985c..5e18c98eb2f 100644
--- a/libstdc++-v3/include/std/ranges
+++ b/libstdc++-v3/include/std/ranges
@@ -497,7 +497,10 @@ namespace ranges
        friend constexpr _Iterator
        operator+(_Iterator __i, difference_type __n)
          requires __detail::__advanceable<_Winc>
-       { return __i += __n; }
+       {
+         __i += __n;
+         return __i;
+       }
 
        friend constexpr _Iterator
        operator+(difference_type __n, _Iterator __i)
@@ -507,7 +510,10 @@ namespace ranges
        friend constexpr _Iterator
        operator-(_Iterator __i, difference_type __n)
          requires __detail::__advanceable<_Winc>
-       { return __i -= __n; }
+       {
+         __i -= __n;
+         return __i;
+       }
 
        friend constexpr difference_type
        operator-(const _Iterator& __x, const _Iterator& __y)
-- 
2.33.1.711.g9d530dc002

Reply via email to