[libcxx-commits] [PATCH] D117371: [libcxx][test] {move, reverse}_iterator cannot be instantiated for a type with no `operator*` in C++20
Arthur O'Dwyer via Phabricator via libcxx-commits
libcxx-commits at lists.llvm.org
Sat Jan 15 06:39:11 PST 2022
Quuxplusone added subscribers: ldionne, Quuxplusone.
Quuxplusone added a comment.
I'd like @ldionne to make an executive decision about whether libc++ should continue to compile `move_iterator<ToIter>`, as an extension, in pre-C++20 modes. (`class ToIter` does not have an `operator*`: //dereferencing// such a `move_iterator` wouldn't compile, but merely forming the //type// is currently legal in libc++ pre-C++20.)
If we think our "extension" is important, then this PR is removing test coverage. If we think no sane user would ever make a move_iterator of a non-iterator type, then this PR is a great simplification.
Scope creep: Same question but in re the fact that `ToIter` doesn't have an `operator++` either. If we discover we also need to add an `operator++` to `ToIter`, would //that// be removing test coverage?
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