News for hackers. Stuff that matters.
Re:I can't keep up with idiomatic Rust by Ar-Curunir on Thursday April 09, 2020 @12:19AM (#22819726)
Rust has only become more uniform and contains less special cases than just a couple of years ago.

The rate of adding features is quite slow, as demonstrated elsewhere in this thread. Important features spend a long time baking, and a long time in testing before they are piecewise stabilized.

> When a new version of Rust is released, the core Rust devs write a blog post gleefully explaining all the new "features" the current version has.

Of course when someone talks about a CHANGELOG, they'll talk (rather happily) about the things that have changed/improved.

Re:I can't keep up with idiomatic Rust by lmm on Thursday April 09, 2020 @02:28AM (#22820301)
> Rust has only become more uniform and contains less special cases than just a couple of years ago.

How so? Aren't await and ? both new special cases?

Re:I can't keep up with idiomatic Rust by steveklabnik on Thursday April 09, 2020 @10:24AM (#22822800)
They are new features, so in some sense, they're "special cases", but even then, okay, so that's adding two special cases. Rust is still removing special cases all the time.

Take the Rust 1.42 release, for example. Way back in Rust 1.31, we removed the need for you to write `extern crate`. But when you were writing a procedural macro, you still had to write "extern crate proc_macro;". With Rust 1.42, you no longer have to, and it just works, like everything else. This removed a special case.

Rust has been doing a lot of the "this was special cased to ship, now we are making it more general like we always planned" lately.

Re:I can't keep up with idiomatic Rust by kibwen on Thursday April 09, 2020 @09:53AM (#22822538)
What the GP means there is that when the list of new "features" comes out with each Rust release, if we discard the features that are just new stdlib APIs (~75% of the total count for an average release), most of the remaining "features" are just tweaks to existing language features that remove edge cases, e.g. non-lexical lifetimes.

As for your second question, async/await is absolutely the biggest thing added since 1.0 (and is an outlier in new features in that regard); the ? operator is just an improved version of the try! macro that shipped with 1.0.

Re:I can't keep up with idiomatic Rust by lmm on Thursday April 09, 2020 @07:37PM (#22828390)
The way I see it NLL added a huge number of edge cases. Pre-NLL it was clear what kind of lifetimes were possible; now I have no clue what the different lifetimes are and every keyword interacts with lifetimes in a different way.
Re:I can't keep up with idiomatic Rust by mrpf1ster on Friday April 10, 2020 @02:24PM (#22835897)
Pre-NLL made the language incredibly clunky to use, with a lot of code acrobatics required to do something you know should work logically according to ownership but the scope lifetime rules wouldn't allow.
Re:I can't keep up with idiomatic Rust by lmm on Thursday April 16, 2020 @12:06AM (#22885943)
I don't disagree. But IMO a lot of clarity and comprehensibility has been sacrificed in the current implementation. I'd rather have seen a style that de-emphasised control flow keywords and made it easier to use closures, or simply blocks, to express the behaviour that people wanted. I've yet to see a case where what was really needed was NLL rather than better support for lexical lifetimes.
Re:I can't keep up with idiomatic Rust by umanwizard on Thursday April 09, 2020 @08:42AM (#22821960)
I don’t know any other “systems” language whose language definition changes every six weeks. When you say Rust changes slowly, what are you comparing it to?
Re:I can't keep up with idiomatic Rust by rcxdude on Thursday April 09, 2020 @10:08AM (#22822657)
Frequency of change and rate of change are very different. C++ (now) changes at about the same rate but in larger, less frequenct increments.
Re:I can't keep up with idiomatic Rust by Ar-Curunir on Thursday April 09, 2020 @10:42AM (#22822972)
Do you think C and C++ didn’t change in their first five years?