[libcxx-commits] [PATCH] D140920: [libc++] Fix ranges::uninitialized_move{, _n} for move-only types

Nikolas Klauser via Phabricator via libcxx-commits libcxx-commits at lists.llvm.org
Sun Jan 8 05:18:03 PST 2023


philnik added inline comments.


================
Comment at: libcxx/include/__memory/ranges_uninitialized_algorithms.h:259
             __nothrow_sentinel_for<_OutputIterator> _Sentinel2>
-    requires constructible_from<iter_value_t<_OutputIterator>, iter_reference_t<_InputIterator>>
+    requires constructible_from<iter_value_t<_OutputIterator>, iter_rvalue_reference_t<_InputIterator>>
   uninitialized_move_result<_InputIterator, _OutputIterator>
----------------
huixie90 wrote:
> The fix looks good to me. But I think it would be good to add some tests (static_assert tests) for the constraints. (both positive and negative test for the constraints), where `iter_rvalue_reference_t` and `iter_reference_t` are different (.e.g types with specialized `iter_move`)
I think I'd rather do that in a separate PR, since it's only tangentially related to the bug.


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D140920



More information about the libcxx-commits mailing list