4 ms·
How many of the language improvements called out in the 2018 roadmap https://blog.rust-lang.org/2018/03/12/roadmap.html https://blog.rust-lang.org/2018/03/12/ro
by dfabulich 8y ago
How many of the language improvements called out in the 2018 roadmap https://blog.rust-lang.org/2018/03/12/roadmap.html https://blog.rust-lang.org/2018/03/12/roadmap.html are done? Seems like async/await still isn't.
- dbrgn 8y agoRegarding async, see https://areweasyncyet.rs/ https://areweasyncyet.rs/. The foundations are mostly done, currently the syntax is still being bikeshedded.
- CryZe 8y agoAnd Futures are about to be stabilized any moment now (and with that I mean within a few hours probably).
- steveklabnik 8y agoThe futures stabilization is very close as well, see https://github.com/rust-lang/rust/issues/59725 https://github.com/rust-lang/rust/issues/59725 and https://github.com/rust-lang/rust/pull/59739 https://github.com/rust-lang/rust/pull/59739 . Very soon! Like, hours. But yes, after that, the big issue is the syntax issues around async/await. Working on it!
- steveklabnik 8y agoFew plans survive contact with the enemy :) Out of the stuff called out there, everything other than async/await shipped, most in total, some in part. Custom allocators didn't fully ship, only the global custom allocators did so far. Hygene didn't ship for macros 2.0, but the non-hygenic ones did.
- Buttons840 8y agoIt looks to me like the 2018 roadmap was followed pretty well. A few exceptions are that async/await was not finished, but that is not for lack of trying (from what I gather), so this is excusable. The 2018 roadmap did correctly indicate what would be worked on throughout most of 2018, even if some things took longer than expected. I think a roadmap is only a failure if it gets ignored and none of the stuff mentioned in the roadmap gets worked on at all. I've been at some dysfunctional startups like this, for a time the company tries to rally the developers, a roadmap is made, people feel good, the next week the CEO decides to go in a completely different direction and then things are back to being dysfunctional, and nobody ever thinks about the roadmap again. It does seem like "macros 2.0" might have fallen through the cracks? As far as I know they were never finished and I haven't heard much about their progress.
- steveklabnik 8y ago> It does seem like "macros 2.0" might have fallen through the cracks? As far as I know they were never finished and I haven't heard much about their progress. We shipped the biggest part, which is "procedural macros," which shipped in 1.30. https://blog.rust-lang.org/2018/10/25/Rust-1.30.0.html#procedural-macros https://blog.rust-lang.org/2018/10/25/Rust-1.30.0.html#proce... As I said below, we didn't ship hygiene for them, so there's more work to be done. There's also future work around "macros by example 2.0", but this item on the roadmap was mostly talking about proc macros.
- ksec 8y agoAsync, Macros 2.0, const generics, most of the languages changes are already well baked and could be ready to land in 2019. All the other improvements are tooling and compilers. So what other languages features are coming? Or could Rust enjoy a stable period of little to no changes for a few years. After all Rust is modern enough in almost all cases. Unlike other languages still trying to get features in within their own constrain.
- steveklabnik 8y agoThe big ones being looked at are const generics, async/await, specialization, and GATs. As you said, they're sort of all pre-baked, though to very different degrees. And, while it's not "no changes", it's much fewer than in past years.
- estebank 8y ago> It does seem like "macros 2.0" might have fallen through the cracks? As far as I know they were never finished and I haven't heard much about their progress. People are working on it, it's just that its pure development work, nothing worthy of being announced yet.