Skip to content

Commit ffb5ff2

Browse files
committed
stuff
1 parent 9a71c15 commit ffb5ff2

File tree

1 file changed

+20
-14
lines changed

1 file changed

+20
-14
lines changed

_posts/2016-12-22-Rust-1.14.md

Lines changed: 20 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -16,10 +16,10 @@ website, and check out the [detailed release notes for 1.14.0][notes] on GitHub.
1616

1717
### What's in 1.14.0 stable
1818

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:
2323

2424
> rustup installs The Rust Programming Language from the official release
2525
> channels, enabling you to easily switch between stable, beta, and nightly
@@ -31,14 +31,14 @@ install Rust:
3131

3232
We had [a previous post about Rustup][prev] back in May. You can learn more
3333
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).
3535

3636
[prev]: https://blog.rust-lang.org/2016/05/13/rustup.html
3737

3838
Another exciting feature is [experimental support for WebAssembly][wasm] as a
3939
target, `wasm32-unknown-emscripten`. It is still early days, and there's a lot
4040
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
4242
some Rust code to WebAssembly is as easy as:
4343

4444
```bash
@@ -51,7 +51,7 @@ $ node hello.js
5151
[wasm]: https://users.rust-lang.org/t/compiling-to-the-web-with-rust-and-emscripten/7627
5252
[emscripten]: http://kripken.github.io/emscripten-site/docs/getting_started/downloads.html
5353

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
5555
[Jan-Erik's slides] for the workshop he ran at [Rust Belt Rust] for some
5656
examples, or check out [Tim's example of the classic TodoMVC project][todomvc].
5757
This implementation builds off of his [webplatform
@@ -61,6 +61,13 @@ crate](https://crates.io/crates/webplatform), which exposes the DOM to Rust.
6161
[Rust Belt Rust]: http://www.rust-belt-rust.com/sessions/
6262
[todomvc]: http://timryan.org/rust-todomvc/
6363

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+
6471
Speaking of platforms, a large number of platforms have gained additional
6572
support:
6673

@@ -92,8 +99,6 @@ more details.
9299

93100
The landing of MIR over the last few releases means that a [number of
94101
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.
97102

98103
[numer of improvements to compile times]: https://github.com/rust-lang/rust/blob/master/RELEASES.md#compile-time-optimizations
99104

@@ -148,7 +153,7 @@ match p {
148153
}
149154
```
150155

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
152157
this release. This applies to more situations than tuples; please see [the
153158
RFC][RFC 1492] for more details.
154159

@@ -161,14 +166,15 @@ fit into particularly nice categories for this release. Here's the highlights:
161166

162167
* [`println!()`, with no arguments, prints newline][36825].
163168
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]
166171
* [Implement `From<Cow<str>> for String` and `From<Cow<[T]>> for
167172
Vec<T>`][37326]
168173
* [Expand `.zip()` specialization to `.map()` and `.cloned()`][37230]
169174
* [Implement `RefUnwindSafe` for atomic types][37178]
170175
* [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.
172178
* [The internal memory layout of `HashMap` is more cache-friendly, for
173179
significant improvements in some operations][36692]
174180
* [Impl `Add<{str, Cow<str>}>` for `Cow<str>`][36430]
@@ -189,7 +195,7 @@ See the [detailed release notes][notes] for more.
189195

190196
As for Cargo, [RFC 1721] has been implemented. The motivation for this feature
191197
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
193199
now pass along the values printed by `rustc --print cfg` to build scripts.
194200

195201
[RFC 1721]: https://github.com/rust-lang/rfcs/blob/master/text/1721-crt-static.md

0 commit comments

Comments
 (0)