@@ -23,12 +23,12 @@ appropriate page on our website, and check out the [detailed release notes for
23
23
### What's in 1.19.0 stable
24
24
25
25
Rust 1.19.0 has some long-awaited features, but first, a note for our Windows
26
- users. On Windows, Rust relies on ` link.exe ` for linking, which you can get
27
- via the "Microsoft Visual C++ Build Tools." With the recent release of Visual
28
- Studio 2017, the directory structure for these tools has changed. As such, you
29
- had to stick with the 2015 tools to use Rust, or use a workaround (such as running
30
- ` vcvars.bat ` ). In 1.19.0, ` rustc ` now knows how to find the 2017 tools, and so
31
- they work without a workaround.
26
+ users. On Windows, Rust relies on ` link.exe ` for linking, which you can get via
27
+ the "Microsoft Visual C++ Build Tools." With the recent release of Visual
28
+ Studio 2017, the directory structure for these tools has changed. As such, to
29
+ use Rust, you had to stick with the 2015 tools or use a workaround (such as
30
+ running ` vcvars.bat ` ). In 1.19.0, ` rustc ` now knows how to find the 2017 tools,
31
+ and so they work without a workaround.
32
32
33
33
On to new features! Rust 1.19.0 is the first release that supports [ ` union ` s] :
34
34
@@ -52,7 +52,7 @@ unsafe { u.f1 = 5 };
52
52
let value = unsafe { u . f1 };
53
53
```
54
54
55
- Pattern matching works too:
55
+ Pattern matching works too:
56
56
57
57
``` rust
58
58
fn f (u : MyUnion ) {
@@ -75,7 +75,7 @@ API wrappers for those libraries significantly easier. Additionally, from [its R
75
75
> bits of aligned pointers to distinguish cases.
76
76
77
77
This feature has been long awaited, and there's still more improvements to come.
78
- For now, ` union ` s can only include ` Copy ` types, and may not implement ` Drop ` .
78
+ For now, ` union ` s can only include ` Copy ` types and may not implement ` Drop ` .
79
79
We expect to lift these restrictions in the future.
80
80
81
81
[ `union`s ] : https://github.com/rust-lang/rust/pull/42068
@@ -101,7 +101,7 @@ loop {
101
101
let x = loop { break 7 ; };
102
102
```
103
103
104
- Rust has tradititionally positioned itself as an "expression oriented language", that is,
104
+ Rust has traditionally positioned itself as an "expression oriented language", that is,
105
105
most things are expressions that evaluate to a value, rather than statements. ` loop ` stuck
106
106
out as strange in this way, as it was previously a statement.
107
107
@@ -116,28 +116,28 @@ to a function pointer](https://github.com/rust-lang/rust/pull/42162):
116
116
let f : fn (i32 ) -> i32 = | x | x + 1 ;
117
117
```
118
118
119
- We now produce [ xz compressed tarballs] ( https://github.com/rust-lang/rust-installer/pull/57 ) , and prefer them by default,
120
- making the data transfer smaller and faster. ` gzip ` 'd tarballs are still produced,
119
+ We now produce [ xz compressed tarballs] ( https://github.com/rust-lang/rust-installer/pull/57 ) and prefer them by default,
120
+ making the data transfer smaller and faster. ` gzip ` 'd tarballs are still produced
121
121
in case you can't use ` xz ` for some reason.
122
122
123
123
The compiler can now [ bootstrap on
124
124
Android] ( https://github.com/rust-lang/rust/pull/41370 ) . We've long supported Android
125
125
in various ways, and this continues to improve our support.
126
126
127
127
Finally, a compatibility note. Way back when we were running up to Rust 1.0, we did
128
- a huge push to verify everything that was being marked as stable, and as unstable.
128
+ a huge push to verify everything that was being marked as stable and as unstable.
129
129
We overlooked one thing, however: ` -Z ` flags. The ` -Z ` flag to the compiler enables
130
130
unstable flags. Unlike the rest of our stability story, you could still use ` -Z ` on
131
131
stable Rust. Back in April of 2016, in Rust 1.8, we made the use of ` -Z ` on stable
132
- or beta produce a warning, and over a year later, we're fixing this hole in our
132
+ or beta produce a warning. Over a year later, we're fixing this hole in our
133
133
stability story by [ disallowing ` -Z ` on stable and beta] ( https://github.com/rust-lang/rust/pull/41751 ) .
134
134
135
135
See the [ detailed release notes] [ notes ] for more.
136
136
137
137
#### Library stabilizations
138
138
139
139
The largest new library feature is the [ ` eprint! ` and ` eprintln! ` macros] .
140
- These work exactly the same as ` print! ` and ` printn! ` , but instead write
140
+ These work exactly the same as ` print! ` and ` printn! ` but instead write
141
141
to standard error, as opposed to standard output.
142
142
143
143
[ `eprint!` and `eprintln!` macros ] : https://github.com/rust-lang/rust/pull/41192
@@ -174,10 +174,10 @@ See the [detailed release notes][notes] for more.
174
174
175
175
#### Cargo features
176
176
177
- Cargo mostly recieved small but valuable improvements in this relase . The
177
+ Cargo mostly received small but valuable improvements in this release . The
178
178
largest is possibly that [ Cargo no longer checks out a local working
179
- directory for the crates.io index] [ cargo/4026 ] This should provide smaller
180
- file size for the registry, and improve cloning times, especially on Windows
179
+ directory for the crates.io index] [ cargo/4026 ] . This should provide smaller
180
+ file size for the registry and improve cloning times, especially on Windows
181
181
machines.
182
182
183
183
Other improvements:
0 commit comments