I think at least some people (strongly?) feel that RangeFrom is meant be infinite and never return None by definition, and the current overflow behavior is the expected one (and as such you’re always supposed to take etc to make it finite). My own intuition was that RangeFrom would indeed stop at T::MAX if T does have a maximum and I was slightly surprised that it does overflow instead. But on the other hand it is consistent that the Step impl simply does whatever += 1 does.
(Maybe it could be useful to have .wrapping(), .saturating() and .checked() adapter methods? Probably too niche.)