Description
At http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2018/p0896r4.pdf#page=121 we can see that the Effects: of split_view::outer_iterator::operator++
is supposed to use current but in the working draft [range.split.outer] p6 uses current_
which is not the same thing (see [range.split.outer] p1 and #3847).
The same problem exists in [range.split.outer] p8 (comparison with default sentinel), and [range.split.inner] in the synopsis of inner-iterator
(definition of operator*
).
The original application of P0896R4 (e85af95) was consistent with P0896R4. Then 7989bb4 got rid of current and made current_
stand in for both current_
and parent_->current_
. Then 89abe00 (fixing #3562) reintroduced current but didn't restore uses of current, leaving them incorrectly referring to current_
.
I think this must be fixed for C++20.