[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