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
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.
Reviewed-by: Jonathan Wakely <jwakely@redhat.com>
Signed-off-by: Tomasz Kamiński <tkaminsk@redhat.com>
#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)
#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)