https://gcc.gnu.org/bugzilla/show_bug.cgi?id=111055
--- Comment #3 from CVS Commits <cvs-commit at gcc dot gnu.org> --- The master branch has been updated by Jonathan Wakely <r...@gcc.gnu.org>: https://gcc.gnu.org/g:7a6a29c455e7755b501c0006e39beb4e56ec2729 commit r14-5794-g7a6a29c455e7755b501c0006e39beb4e56ec2729 Author: Jonathan Wakely <jwak...@redhat.com> Date: Tue Sep 19 13:23:13 2023 +0100 libstdc++: Define std::ranges::to for C++23 (P1206R7) [PR111055] This adds the std::ranges::to functions for C++23. The rest of P1206R7 is not yet implemented, i.e. the new constructors taking the std::from_range tag, and the new insert_range, assign_range, etc. member functions. std::ranges::to works with the standard containers even without the new constructors, so this is useful immediately. The __cpp_lib_ranges_to_container feature test macro can be defined now, because that only indicates support for the changes in <ranges>, which are implemented by this patch. The __cpp_lib_containers_ranges macro will be defined once all containers support the new member functions. libstdc++-v3/ChangeLog: PR libstdc++/111055 * include/bits/ranges_base.h (from_range_t): Define new tag type. (from_range): Define new tag object. * include/bits/version.def (ranges_to_container): Define. * include/bits/version.h: Regenerate. * include/std/ranges (ranges::to): Define. * testsuite/std/ranges/conv/1.cc: New test. * testsuite/std/ranges/conv/2_neg.cc: New test. * testsuite/std/ranges/conv/version.cc: New test.