Introduce a way to construct Range from start + length
Rust Internals [Unofficial]
March 12, 2026
I think that this would be a useful feature. My code has several examples of converting a start and length to Range to pass it elsewhere. (Many of them are start..start + 1 to specify a single element.)
However, the computation can have a numeric overflow, if start + length overflows. The appropriate behavior would need to be considered in the design of this function. Since data[start..][..length] reliably panics if the length is too large, it might be appropriate for Range::from_len(start, length) to panic too, even if overflow-checks are disabled.
This means that your point "Doesn't have a possibility to express an invalid (start > end) range" doesn’t quite hold: on overflow, it will have to deal with that invalid input.
Discussion in the ATmosphere