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

--- Comment #1 from 康桓瑋 <hewillk at gmail dot com> ---
An example I can think of could be:

struct I {
  using difference_type = int;
  using value_type = char;
  value_type operator*() const;
  I& operator++();
  I operator++(int);
  I& operator--();
  I operator--(int);
  I& operator+=(std::signed_integral auto);
  I& operator-=(std::signed_integral auto);
  value_type operator[](std::signed_integral auto) const;
  friend I operator+(I, std::signed_integral auto);
  friend I operator+(std::signed_integral auto, I);
  friend I operator-(I, std::signed_integral auto);
  friend difference_type operator-(I, I);
  auto operator<=>(const I&) const = default;
};

int main() {
  std::ranges::subrange r{I{}, std::unreachable_sentinel};
  [[maybe_unused]] std::format("{:s}", r);
}

Although this does seem a bit nitpicking, sorry.

Reply via email to