[libcxx-commits] [PATCH] D126053: [libc++][ranges] Finish LWG issues directly related to the One Ranges Proposal.
Konstantin Varlamov via Phabricator via libcxx-commits
libcxx-commits at lists.llvm.org
Mon Jun 27 19:54:29 PDT 2022
var-const marked 5 inline comments as done.
var-const added inline comments.
================
Comment at: libcxx/include/__iterator/move_iterator.h:161
reference operator*() const { return static_cast<reference>(*__current_); }
- _LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_AFTER_CXX14
+ _LIBCPP_DEPRECATED_IN_CXX20 _LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_AFTER_CXX14
pointer operator->() const { return __current_; }
----------------
ldionne wrote:
> Can we add a test for this deprecation? Example in `libcxx/test/std/utilities/memory/storage.iterator/deprecated.verify.cpp`.
Done. This uncovered a significant issue -- D117656 incorrectly removed this operator completely in C++20, rather than merely deprecating it. `move_iterator::operator->` is still defined (as deprecated) even in the latest draft, in http://eel.is/c++draft/depr.move.iter.elem.
================
Comment at: libcxx/include/algorithm:463-476
+namespace ranges {
+ template<class I1, class I2>
+ using swap_ranges_result = in_in_result<I1, I2>;
+
template<input_iterator I1, sentinel_for<I1> S1, input_iterator I2, sentinel_for<I2> S2>
requires indirectly_swappable<I1, I2>
constexpr ranges::swap_ranges_result<I1, I2>
----------------
philnik wrote:
> Maybe just move this to the other algorithms?
I'd rather keep as is and do a dedicated cleanup patch for the algorithm synopsis to make sure we follow the ordering from the standard.
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D126053/new/
https://reviews.llvm.org/D126053
More information about the libcxx-commits
mailing list