Hacker News new | ask | show | jobs
by Tuna-Fish 25 days ago
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.

5 comments

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.
The full transition won't be completed until 2027 edition, when the meaning of the `..` operator is expected to swap to the new type.
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.
Unlikely, since library interfaces need to use a trait to accept all of the open/closed inclusive/exclusive syntax variations. If the only accept one specific named range type, they're clunky already.
I will watch it quite interested, as it tends to be an example I give where editions don't really work as people expect.
i came here to comment the same! could not be happier!
With AI assisted coding I imagine no one will notice

It’s a new world for breaking things