It came pretty close to happening in Rust 2024, but it was determined that there just wasn't enough time left before the end-of-year deadline to roll out such a big change.
When the new edition rolls around that swaps to the new type, I expect a bunch of libraries are going to get really annoying to use. And vice-versa for new libraries with the old editions.
Both types have the `From` conversion traits implemented between each other, so in most cases interoperating with APIs using the old type should be as simple as doing `(1...4).into()`. And, probably because of the warts of the old types, I haven't seen them used much in APIs, so even that I don't think will happen very often.
Woohoo, assert_matches! After all these years!
I honestly didn't expect the ranges to be ever fixed, I just expected they would remain as an eternal wart.
I wonder how painless the transition will be.
It came pretty close to happening in Rust 2024, but it was determined that there just wasn't enough time left before the end-of-year deadline to roll out such a big change.
When the new edition rolls around that swaps to the new type, I expect a bunch of libraries are going to get really annoying to use. And vice-versa for new libraries with the old editions.
Both types have the `From` conversion traits implemented between each other, so in most cases interoperating with APIs using the old type should be as simple as doing `(1...4).into()`. And, probably because of the warts of the old types, I haven't seen them used much in APIs, so even that I don't think will happen very often.
The full transition won't be completed until 2027 edition, when the meaning of the `..` operator is expected to swap to the new type.
i came here to comment the same! could not be happier!