Split off from #27741 because the stabilization path for step_by has moved to being on iterators (#41439), and thus not using the Step trait.
- Remove
step,steps_between, andis_negativeonce Range::step_by is deleted - Replace
replace_zeroandreplace_onewith something more useful (some options: Make RangeInclusive just a two-field struct (amend 1192) rfcs#1980 (comment)) - Change
steps_between_by_oneso thatRange<u128>can beTrustedLen(rather than it only working well with types that fit inusize) - Make a decision on how
steps_betweenshould work Step::steps_between does not distinguish overflow and unimplemented (unstable) #48117 - Should this live in
core::iterorcore::range?
(and probably more)