On Fri, 15 May 2026 at 18:22, Tomasz Kaminski <[email protected]> wrote: > > Changed locally to: > libstdc++: Include range_access.h from <optional> and <stacktrace>
Thanks! > > This implements resolutions for LWG4131 and LWG3625 (also part of 4.8. section > of the P3016R6). As for any other issues LWG issue changes are applied as DR > for the oldest applicable standards: > * <optional> (LWG4131): C++26, since optional range support > * <stacktrace> (LWG3625): C++23, since introduction > > > On Fri, May 15, 2026 at 7:05 PM Tomasz Kaminski <[email protected]> wrote: >> >> >> >> On Fri, May 15, 2026 at 6:55 PM Jonathan Wakely <[email protected]> wrote: >>> >>> Oh, the subject line says "and <valarray>" but that isn't covered by the >>> patch. >> >> Thanks; I will fix that. Planned to have `valarray` here but decided to >> separate it. >>> >>> >>> On Fri, 15 May 2026 at 16:10, Tomasz Kamiński <[email protected]> wrote: >>> > >>> > As the range accessor all already conditionally noexcept, this implements >>> > LWG4131 and LWG3625 (also part 4.8. section of the P3016R6). As for any >>> > LWG issue resolutions, changes are applied as DR for oldest applicable >>> > standards: >>> > * <optional> (LWG4131): C++26, since optional range support >>> > * <stacktrace> (LWG3625): C++23, since introduction >>> > >>> > libstdc++-v3/ChangeLog: >>> > >>> > * include/std/optional [__cpp_lib_optional_range_support]: >>> > Replace <bits/stl_iterator.h> include with <bits/range_access.h>. >>> > * include/std/stacktrace: Likewise. >>> > --- >>> > libstdc++-v3/include/std/optional | 2 +- >>> > libstdc++-v3/include/std/stacktrace | 2 +- >>> > 2 files changed, 2 insertions(+), 2 deletions(-) >>> > >>> > diff --git a/libstdc++-v3/include/std/optional >>> > b/libstdc++-v3/include/std/optional >>> > index e3c6ea20988..8d6d049e8cc 100644 >>> > --- a/libstdc++-v3/include/std/optional >>> > +++ b/libstdc++-v3/include/std/optional >>> > @@ -62,7 +62,7 @@ >>> > #ifdef __cpp_lib_optional_range_support // C++ >= 26 >>> > # include <bits/formatfwd.h> >>> > # include <bits/ranges_base.h> >>> > -# include <bits/stl_iterator.h> >>> > +# include <bits/range_access.h> >>> > #endif >>> > >>> > namespace std _GLIBCXX_VISIBILITY(default) >>> > diff --git a/libstdc++-v3/include/std/stacktrace >>> > b/libstdc++-v3/include/std/stacktrace >>> > index 587a163e976..79941d93b88 100644 >>> > --- a/libstdc++-v3/include/std/stacktrace >>> > +++ b/libstdc++-v3/include/std/stacktrace >>> > @@ -45,9 +45,9 @@ >>> > #include <bits/memory_resource.h> >>> > #include <bits/stl_algobase.h> >>> > #include <bits/stl_algo.h> >>> > -#include <bits/stl_iterator.h> >>> > #include <bits/stl_uninitialized.h> >>> > #include <bits/stl_tempbuf.h> // __get_temporary_buffer >>> > +#include <bits/range_access.h> >>> > #include <ext/numeric_traits.h> >>> > >>> > namespace std _GLIBCXX_VISIBILITY(default) >>> > -- >>> > 2.54.0 >>> > >>>
