https://gcc.gnu.org/bugzilla/show_bug.cgi?id=106612
--- Comment #2 from Jonathan Wakely <redi at gcc dot gnu.org> --- This type fails to satisfy std::indirectly_readable so isn't an iterator. I don't see why we should care about the result of ranges::iter_move on such a type, it should be ill-formed. The fact that the standard currently requires it to "work" seems like a defect.