Rust 1.25.0 prerelease testing


#1

Rust 1.25 is released on Thursday (during the Berlin All-Hands!) and builds are available now for testing. Release artifacts are uploaded to dev (dev-static.rust-lang.org) currently and will be promoted to prod (static.rust-lang.org) this Thursday. The URL is https://dev-static.rust-lang.org/dist/2018-03-25/

You can test rustup with

RUSTUP_DIST_SERVER=https://dev-static.rust-lang.org rustup update stable

Please let us know if you run into any issues! Pending any detected regressions these are likely to be the exact artifacts that we’ll release on Thursday.

You can find the release notes on GitHub as well:


#2

I see there’s a new match syntax, what’s the motivation for it?

I don’t really buy the argument that it’s easier to spot the match arms, but I’m inclined to agree with this comment.


#3

https://github.com/rust-lang/rfcs/blob/master/text/1925-optional-match-vert.md is the accepted RFC, which has a motivation section.

One are that isn’t filled in is macros; the more consistent you can make a syntax, the easier it is to generate code in that form. This is one reason you can declare structs ‘struct LikeThis;’ or ‘struct LikeThis {};’ for example.


#4

After reading through the GitHub comments on RFC 1925 I’m unclear if this will be recommended formatting? Will this update the preferred style and formatting for matches?

I’m new to the language and want to make sure I’m following best practices. Having rustfmt and consistent style has been a huge attraction to the language.


#5

@jesselucas It likely has no effect on style. This comment is probably the most direct clarification: https://github.com/rust-lang/rfcs/pull/1925#issuecomment-293681943

I think its clear that this isn’t going to be the recommended style, but in general we’ve taken a very liberal approach to the grammar, accepting all kinds of things that would be bad style (as Niko says the most practical reason for this is to make writing macros easier).


#6

Are you sure it actually helps macros? In the RFC I only see an example which makes writing macros worse: https://github.com/rust-lang/rfcs/pull/1925#issuecomment-326717633


#7

Looking through RELEASES.md, I see the following stabilizations are shown as since="1.24.0":

Is this correct? It seems like these PRs landed a bit late and weren’t updated to since="1.25.0".