[libcxx-commits] [PATCH] D117371: [libcxx][test] {move, reverse}_iterator cannot be instantiated for a type with no `operator*` in C++20

Louis Dionne via Phabricator via libcxx-commits libcxx-commits at lists.llvm.org
Mon Jan 24 07:56:00 PST 2022


ldionne accepted this revision.
ldionne added a comment.
This revision is now accepted and ready to land.

IMO this is a low value extension that we probably never intended to provide, and I think it would be 100% OK to remove that extension. I doubt it would create any downstream breakage too, because nobody should be instantiating `move_iterator<It>` where `It` isn't an iterator.

Just curious, why does it not work with MSVC? The most naive implementation of `move_iterator` would allow instantiating it without an `operator*` as long as you don't try to instantiate `operator*`. Does MSVC do it differently?


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D117371



More information about the libcxx-commits mailing list