https://gcc.gnu.org/bugzilla/show_bug.cgi?id=120622

--- Comment #3 from Jonathan Wakely <redi at gcc dot gnu.org> ---
Previously std::copy with random access iterators would find the distance
between the iterators and then loops that many times, i.e.

for (auto n = last - first; n > 0; --n)

now we just loop on the iterators directly:

for (; first != last; ++first)


So the code now has a requirement that != works correctly, and the
map_iterator::operator!= uses map_iterator::equal which is where the error
happens.

But all iterators are required to support operator== and operator!= so that
fact that it fails suggests the map_iterator<I> is just not a valid iterator,
where I is:

const
{anonymous}::pythonic::numpy::ndenumerate_iterator<{anonymous}::pythonic::types::ndarray<long
int, {anonymous}::pythonic::types::pshape<long int, long int>>

Reply via email to