3 ms·
FWIW, I would consider a good chunk of Rust 2018 to be refinements on the language and the syntax. The amount of thought that has gone into those changes is eno
by burntsushi 8y ago
FWIW, I would consider a good chunk of Rust 2018 to be refinements on the language and the syntax. The amount of thought that has gone into those changes is enormous. I mean, if you just look at the new things in Rust 2018[1], then basically every single one of those is a refinement or clarification on an existing idea. The major exceptions are async/await, SIMD and maybe impl Trait. SIMD isn't a language change though; just an incredibly large std::arch library module. :-) impl Trait has fairly limited scope in my view. I think its primary advantage at this point is to make it easier to write compositional code when dealing with futures.
It is hard to say "no" to some new language features because many of them are very very strongly motivated by incredibly compelling use cases. async/await is the big one. Rust's direction is nothing if not pragmatic, and async/await is kind of the obvious direction to head in if we want people to be able to write asynchronous code happily.
[1] - https://rust-lang-nursery.github.io/edition-guide/2018/status.html https://rust-lang-nursery.github.io/edition-guide/2018/statu...
- chrismorgan 8y ago`impl Trait` syntax has been used casually in conversation on irc://irc.mozilla.org/#rust since long before Rust 1.0, and some at least of us had hoped to have it before Rust 1.0. It took a while, but we finally got it, so now we’re fairly happy. (I think the turbofish issue hadn’t occurred to those of us that casually wrote it before, but once it was being implemented it became obvious.)
- burntsushi 8y agoI know. I was there. ;-) What I meant was that `impl Trait` hasn't existed yet on Rust stable, and it gives folks legitimately new powers, so it seems like it was on the line between it being a refinement and it being a legitimately new language feature. But this is splitting hairs; the classification doesn't matter much.