https://gcc.gnu.org/bugzilla/show_bug.cgi?id=107871
--- Comment #4 from Jonathan Wakely <redi at gcc dot gnu.org> --- Maybe you could legally do: using difference_type = iterator_t<iota_view<__int128, __int128>>; but maybe just don't do that. If things break when you do dumb things, don't do those things.