@@ -16,10 +16,10 @@ website, and check out the [detailed release notes for 1.14.0][notes] on GitHub.
16
16
17
17
### What's in 1.14.0 stable
18
18
19
- One of the biggest features in Rust 1.14 isn't actually in Rust 1.14: the
20
- [ rustup tool has reached a 1.0 release] [ rustup ] , and is now the recomended way
21
- to install Rust from the project directly. Rustup does a bit more than just
22
- install Rust:
19
+ One of the biggest features in Rust 1.14 isn't actually in the language or
20
+ compiler: the [ rustup tool has reached a 1.0 release] [ rustup ] , and is now the
21
+ recommended way to install Rust from the project directly. Rustup does a bit
22
+ more than just install Rust:
23
23
24
24
> rustup installs The Rust Programming Language from the official release
25
25
> channels, enabling you to easily switch between stable, beta, and nightly
@@ -31,14 +31,14 @@ install Rust:
31
31
32
32
We had [ a previous post about Rustup] [ prev ] back in May. You can learn more
33
33
about it there, or by checking it out [ on
34
- GitHub] ( https://github.com/rust-lang-nursery/rustup.rs )
34
+ GitHub] ( https://github.com/rust-lang-nursery/rustup.rs ) .
35
35
36
36
[ prev ] : https://blog.rust-lang.org/2016/05/13/rustup.html
37
37
38
38
Another exciting feature is [ experimental support for WebAssembly] [ wasm ] as a
39
39
target, ` wasm32-unknown-emscripten ` . It is still early days, and there's a lot
40
40
of bugs to shake out, so please give it a try and report them! To give you a
41
- small taste of how it works, one you have [ emscripten] installed, compiling
41
+ small taste of how it works, once you have [ emscripten] installed, compiling
42
42
some Rust code to WebAssembly is as easy as:
43
43
44
44
``` bash
@@ -51,7 +51,7 @@ $ node hello.js
51
51
[ wasm ] : https://users.rust-lang.org/t/compiling-to-the-web-with-rust-and-emscripten/7627
52
52
[ emscripten ] : http://kripken.github.io/emscripten-site/docs/getting_started/downloads.html
53
53
54
- The community has been doing intertesting , experimental work in this area: see
54
+ The community has been doing interesting , experimental work in this area: see
55
55
[ Jan-Erik's slides] for the workshop he ran at [ Rust Belt Rust] for some
56
56
examples, or check out [ Tim's example of the classic TodoMVC project] [ todomvc ] .
57
57
This implementation builds off of his [ webplatform
@@ -61,6 +61,13 @@ crate](https://crates.io/crates/webplatform), which exposes the DOM to Rust.
61
61
[ Rust Belt Rust ] : http://www.rust-belt-rust.com/sessions/
62
62
[ todomvc ] : http://timryan.org/rust-todomvc/
63
63
64
+ Also of interest is [ xargo] , which allows for easy cross-compilation of Rust
65
+ to bare-metal targets. If you're writing an operating system in Rust, or
66
+ doing something interesting on a microcontroller, xargo can make your life a
67
+ lot simpler.
68
+
69
+ [ xargo ] : https://github.com/japaric/xargo
70
+
64
71
Speaking of platforms, a large number of platforms have gained additional
65
72
support:
66
73
@@ -92,8 +99,6 @@ more details.
92
99
93
100
The landing of MIR over the last few releases means that a [ number of
94
101
improvements to compile times] have landed, with more coming in the future.
95
- Exact numbers are hard, as they depend on what code you're compiling, but
96
- broadly speaking, compile times should be the same or faster.
97
102
98
103
[ numer of improvements to compile times ] : https://github.com/rust-lang/rust/blob/master/RELEASES.md#compile-time-optimizations
99
104
@@ -148,7 +153,7 @@ match p {
148
153
}
149
154
```
150
155
151
- This was a inconsistency, and so with RFC 1492 stabilized, compiles fine as of
156
+ This was an inconsistency, and so with RFC 1492 stabilized, compiles fine as of
152
157
this release. This applies to more situations than tuples; please see [ the
153
158
RFC] [ RFC 1492 ] for more details.
154
159
@@ -161,14 +166,15 @@ fit into particularly nice categories for this release. Here's the highlights:
161
166
162
167
* [ ` println!() ` , with no arguments, prints newline] [ 36825 ] .
163
168
Previously, an empty string was required to achieve the same.
164
- * [ ` Wrapping ` impls standard binary and unary operators, as well as
165
- the ` Sum ` and ` Product ` iterators] [ 37356 ]
169
+ * [ ` Wrapping ` impls standard binary and unary operators on references , as well
170
+ as the ` Sum ` and ` Product ` iterators] [ 37356 ]
166
171
* [ Implement ` From<Cow<str>> for String ` and `From<Cow<[ T] >> for
167
172
Vec<T >`] [ 37326 ]
168
173
* [ Expand ` .zip() ` specialization to ` .map() ` and ` .cloned() ` ] [ 37230 ]
169
174
* [ Implement ` RefUnwindSafe ` for atomic types] [ 37178 ]
170
175
* [ Specialize ` Vec::extend ` to ` Vec::extend_from_slice ` ] [ 37094 ]
171
- * [ Don't reuse ` HashMap ` random seeds] [ 37470 ]
176
+ * [ Don't reuse ` HashMap ` random seeds] [ 37470 ] . This helps to mitigate one type
177
+ of DDoS attack.
172
178
* [ The internal memory layout of ` HashMap ` is more cache-friendly, for
173
179
significant improvements in some operations] [ 36692 ]
174
180
* [ Impl ` Add<{str, Cow<str>}> ` for ` Cow<str> ` ] [ 36430 ]
@@ -189,7 +195,7 @@ See the [detailed release notes][notes] for more.
189
195
190
196
As for Cargo, [ RFC 1721] has been implemented. The motivation for this feature
191
197
is that Cargo can now compile objects for statically linking against the msvcrt
192
- on the MSVC platform. But, meachnically speaking, this means that Cargo will
198
+ on the MSVC platform. But, mechanically speaking, this means that Cargo will
193
199
now pass along the values printed by ` rustc --print cfg ` to build scripts.
194
200
195
201
[ RFC 1721 ] : https://github.com/rust-lang/rfcs/blob/master/text/1721-crt-static.md
0 commit comments