https://gcc.gnu.org/bugzilla/show_bug.cgi?id=107871
--- Comment #8 from 康桓瑋 <hewillk at gmail dot com> --- (In reply to Jonathan Wakely from comment #4) > 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. A more uncontrived example would be: std::vector<char> v(10); auto r = std::views::iota((unsigned __int128)0) | std::views::transform([&](auto i) -> auto& { return v[i]; }); auto s = std::format_to_n(r.begin(), 5, "{}", "");