Skip to content

Commit d7d9307

Browse files
committed
more fixes
1 parent 8aea705 commit d7d9307

File tree

1 file changed

+23
-17
lines changed

1 file changed

+23
-17
lines changed

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

Lines changed: 23 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -61,13 +61,6 @@ 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-
7164
Speaking of platforms, a large number of platforms have gained additional
7265
support:
7366

@@ -97,6 +90,16 @@ more details.
9790

9891
[platform support]: https://forge.rust-lang.org/platform-support.html
9992

93+
Just like how the community is doing interesting work on the WebAssembly
94+
target, there's also neat things going on with increasing Rust's target support
95+
beyond what's listed above. [xargo] allows for easy cross-compilation of Rust
96+
to bare-metal targets. If you're writing an operating system in Rust, or doing
97+
something interesting on a microcontroller, xargo can make your life a lot
98+
simpler.
99+
100+
[xargo]: https://github.com/japaric/xargo
101+
102+
100103
The landing of MIR over the last few releases means that a [number of
101104
improvements to compile times] have landed, with more coming in the future.
102105

@@ -167,17 +170,20 @@ fit into particularly nice categories for this release. Here's the highlights:
167170
* [`println!()`, with no arguments, prints newline][36825].
168171
Previously, an empty string was required to achieve the same.
169172
* [`Wrapping` impls standard binary and unary operators on references, as well
170-
as the `Sum` and `Product` iterators][37356]
173+
as the `Sum` and `Product` iterators][37356], making references to these
174+
types easier to use.
171175
* [Implement `From<Cow<str>> for String` and `From<Cow<[T]>> for
172-
Vec<T>`][37326]
173-
* [Expand `.zip()` specialization to `.map()` and `.cloned()`][37230]
174-
* [Implement `RefUnwindSafe` for atomic types][37178]
175-
* [Specialize `Vec::extend` to `Vec::extend_from_slice`][37094]
176+
Vec<T>`][37326]. These implementations make sense, but were not yet added.
177+
* [Expand `.zip()` specialization to `.map()` and `.cloned()`][37230] for improved performance.
178+
* [Implement `RefUnwindSafe` for atomic types][37178], as these types are
179+
"unwind safe," though that wasn't obvious at first.
180+
* [Specialize `Vec::extend` to `Vec::extend_from_slice`][37094] for performance gains.
176181
* [Don't reuse `HashMap` random seeds][37470]. This helps to mitigate one type
177182
of DDoS attack.
178183
* [The internal memory layout of `HashMap` is more cache-friendly, for
179184
significant improvements in some operations][36692]
180-
* [Impl `Add<{str, Cow<str>}>` for `Cow<str>`][36430]
185+
* [Impl `Add<{str, Cow<str>}>` for `Cow<str>`][36430]. We already support `Add`
186+
for other string types, so not having it on `Cow` is inconsistent.
181187

182188
[36825]: https://github.com/rust-lang/rust/issues/36825
183189
[37356]: https://github.com/rust-lang/rust/issues/37356
@@ -193,10 +199,10 @@ See the [detailed release notes][notes] for more.
193199

194200
#### Cargo features
195201

196-
As for Cargo, [RFC 1721] has been implemented. The motivation for this feature
197-
is that Cargo can now compile objects for statically linking against the msvcrt
198-
on the MSVC platform. But, mechanically speaking, this means that Cargo will
199-
now pass along the values printed by `rustc --print cfg` to build scripts.
202+
As for Cargo, [RFC 1721] has been implemented. Cargo will now pass along the
203+
values printed by `rustc --print cfg` to build scripts. The motivation for this
204+
feature is that Cargo can now compile objects for statically linking against
205+
the msvcrt on the MSVC platform.
200206

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

0 commit comments

Comments
 (0)