Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

Note that it wasn't a simple cargo update, but an update between two semver incompatible releases of the futures crate, from 0.1 which supported edition 2015 and provided combinators, to 0.3 which was built on the async/await feature, and required its use, because the combinators were removed. I guess it would have been hard to provide them compatibly to async/await but I'm not sure about it. Anyways, they weren't available, and as async/await is not available on the 2015 edition, I had to update the edition of the crate. The code got a lot simpler thanks to async/await so I'm very thankful for its existence.


Ah yes, that makes perfect sense. I was thinking purely from the "you can still use the keywords because of the raw syntax" perspective, but in this case, that wouldn't quite work. Thank you.


Yeah there is a raw r#ident identifier syntax, but no raw keyword k#kwd syntax.


Yeah rather than supporting backporting things like that they instead decided that every feature should have a lint that shows you how to update your edition.

Basically the idea was rather than making it as easy as possible to stay on the oldest version they focused that effort on making it as easy as possible to update once you decided that was what you wanted to do.


We do backport all kinds of things, and we also the vast majority of things land on all editions.

This one is tricky for a few reasons that don't apply to most things.


Fair sorry to paint too broad a stroke. Should have made the fact that I was implying "everything" there...

Especially after NLL landed on 2015 ><


It’s all good :)




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: