On Mon, May 17, 2021 at 2:59 PM Patrick Palka <ppa...@redhat.com> wrote: > > + constexpr _CachedPosition& > + operator=(_CachedPosition&& __other) noexcept > + { > + if (std::__addressof(__other) != this)
I don't think we need this check - self-move-assigning the underlying view isn't required to be a no-op, so we should still invalidate. > + { > + // Propagate the cached offset, but invalidate the source. > + this->_M_offset = __other._M_offset; > + __other._M_offset = -1; > + } > + return *this; > + }