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, "{}", "");

Reply via email to