[libcxx-commits] [PATCH] D135248: [libc++] implement move_iterator<T*> should be a random access iterator

Igor Zhukov via Phabricator via libcxx-commits libcxx-commits at lists.llvm.org
Sun Feb 26 15:53:28 PST 2023


fsb4000 accepted this revision.
fsb4000 added a comment.

Microsoft STL treats this paper as a DR and I agree with Casey Carter that the code breakage will be minimal because the `move_iterators` are still input iterators in C++20.

libc++ already gives more guaranties for things than the standard says, for example for the 'std::filesystem::path::iterator'.

from https://github.com/microsoft/STL/pull/2958#discussion_r931710527

> This paper is effectively an admission that artificially depressing the category of `move_iterator` was a failed experiment. There's no value in preserving the undesired behavior in C++20 mode, and we suspect the potential for breakage to be very small given that `move_iterator`s are still input iterators even if they now sometimes satisfy stronger concepts. We therefore decided to implement this change in all pertinent language modes.

What do other reviewers think?


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D135248



More information about the libcxx-commits mailing list