You’d have to file it in the RFC repo, since it’s a major API change – and we’re past the beta, so it really has to be an emergency to go through

I’ll explain why it’s not a very big deal.

The core API is this:

fn next(&mut self) -> Option<Self::Item>

It has no assumption about length and can deliver elements infinitely. So infinite or longer than current usize::MAX iterators are supported.

size_hint has one primary purpose: to size allocations well when creating collections from iterators. In general, these are limited by usize too, so the types match well. Of course it does not match with sizing other kinds of resources, for example files. Fortunately it’s just a hint. The protocol specifies you should use usize::MAX as the bound if it is known to be larger than usize (including infinite).

The other methods, nth , skip , take , position are all un/fortunately O(index) complexity methods, which means that in practice you really want to avoid using big numbers here. Position is frequently useful with vecs/slices, which use usize indices.