[libcxx-commits] [PATCH] D139900: [libc++][ranges] Mark completed Ranges papers and issues as done, finish implementing P2325.

Konstantin Varlamov via Phabricator via libcxx-commits libcxx-commits at lists.llvm.org
Mon Dec 12 17:31:57 PST 2022


var-const added inline comments.


================
Comment at: libcxx/docs/ReleaseNotes.rst:44
 - P2273R3 - Making ``std::unique_ptr`` constexpr
 - P0591R4 - Utility functions to implement uses-allocator construction
 - P2291R3 - Add Constexpr Modifiers to Functions ``to_chars`` and
----------------
This patch relies on https://reviews.llvm.org/D136268 being submitted.


================
Comment at: libcxx/docs/ReleaseNotes.rst:52
 - P0339R6 - ``polymorphic_allocator<>`` as a vocabulary type
+- P2325R3 - Views should not be required to be default constructible
 
----------------
Should we add any other papers that this patch marks as done (or that were marked as done recently) here? This one is probably worth calling out because it bumps the ranges version macro. I'm not sure if others are worth calling out since they focus on fixing defects rather than adding new features, what do you think?


================
Comment at: libcxx/docs/Status/Cxx20Issues.csv:247
 "`3321 <https://wg21.link/LWG3321>`__","``uninitialized_construct_using_allocator``\  should use ``construct_at``\ ","Prague","|Complete|","16.0"
-"`3323 <https://wg21.link/LWG3323>`__","``*has-tuple-element*``\  helper concept needs ``convertible_to``\ ","Prague","","","|ranges|"
+"`3323 <https://wg21.link/LWG3323>`__","``*has-tuple-element*``\  helper concept needs ``convertible_to``\ ","Prague","|Nothing To Do|","","|ranges|"
 "`3324 <https://wg21.link/LWG3324>`__","Special-case ``std::strong/weak/partial_order``\  for pointers","Prague","|Complete|","14.0","|spaceship|"
----------------
It looks like `has-tuple-element`'s definition has been completely revamped in the Standard since that paper. I haven't done too much archeology on this, just verified that what we have is same as the current draft of the Standard.


================
Comment at: libcxx/include/__ranges/join_view.h:231
     _LIBCPP_HIDE_FROM_ABI
-    __iterator() requires default_initializable<_Outer> = default;
+    __iterator() requires default_initializable<_Outer> && default_initializable<_Inner> = default;
 
----------------
This is the only thing I found that was missing.


================
Comment at: libcxx/include/version:139
 __cpp_lib_quoted_string_io                              201304L <iomanip>
-__cpp_lib_ranges                                        201811L <algorithm> <functional> <iterator>
+__cpp_lib_ranges                                        202106L <algorithm> <functional> <iterator>
                                                                 <memory> <ranges>
----------------
If we follow the suggestion from https://github.com/cplusplus/papers/issues/1007 to apply the change to C++20 retroactively, I presume it means we don't need different values of the macro for C++20 and C++23.

(Unfortunately, we missed the previous version bump of this macro to `201911L` that should have happened when we marked P1716R3 as implemented)


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D139900/new/

https://reviews.llvm.org/D139900



More information about the libcxx-commits mailing list