Skip to content

Commit efad877

Browse files
author
Aaron Power
committed
Updated RELEASES.md for 1.31.0
1 parent ac70882 commit efad877

File tree

1 file changed

+73
-0
lines changed

1 file changed

+73
-0
lines changed

RELEASES.md

+73
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,76 @@
1+
Version 1.31.0 (2018-12-06)
2+
==========================
3+
4+
Language
5+
--------
6+
- 🎉 [This version marks the release of the 2018 edition of Rust.][54057] 🎉
7+
- [New lifetime elision rules now allow for eliding lifetimes in functions and
8+
impl headers.][54778] E.g. `impl<'a> Reader for BufReader<'a> {}` can now be
9+
`impl Reader for BufReader<'_> {}`. Lifetimes are still required to be defined
10+
in structs.
11+
- [You can now define and use `const` functions.][54835] These are currently
12+
a strict minimal subset of the [const fn RFC][RFC-911]. Refer to the
13+
[language reference][const-reference] for what exactly is available.
14+
- [You can now use tool lints, which allow you to scope lints from external
15+
tools using attributes.][54870] E.g. `#[allow(clippy::filter_map)]`.
16+
- [`#[no_mangle]` and `#[export_name]` attributes can now be located anywhere in
17+
a crate, not just in exported functions.][54451]
18+
- [You can now use parentheses in pattern matches.][54497]
19+
20+
Compiler
21+
--------
22+
- [Updated musl to 1.1.20][54430]
23+
24+
Libraries
25+
---------
26+
- [You can now convert `num::NonZero*` types to their raw equivalvents using the
27+
`From` trait.][54240] E.g. `u8` now implements `From<NonZeroU8>`.
28+
- [You can now convert a `&Option<T>` into `Option<&T>` and `&mut Option<T>`
29+
into `Option<&mut T>` using the `From` trait.][53218]
30+
- [You can now multiply (`*`) a `time::Duration` by a `u32`.][52813]
31+
32+
33+
Stabilized APIs
34+
---------------
35+
- [`slice::align_to`]
36+
- [`slice::align_to_mut`]
37+
- [`slice::chunks_exact`]
38+
- [`slice::chunks_exact_mut`]
39+
- [`slice::rchunks`]
40+
- [`slice::rchunks_mut`]
41+
- [`slice::rchunks_exact`]
42+
- [`slice::rchunks_exact_mut`]
43+
- [`Option::replace`]
44+
45+
Cargo
46+
-----
47+
- [Cargo will now download crates in parallel using HTTP/2.][cargo/6005]
48+
49+
[52813]: https://github.com/rust-lang/rust/pull/52813/
50+
[53218]: https://github.com/rust-lang/rust/pull/53218/
51+
[53555]: https://github.com/rust-lang/rust/issues/53555/
52+
[54057]: https://github.com/rust-lang/rust/pull/54057/
53+
[54240]: https://github.com/rust-lang/rust/pull/54240/
54+
[54430]: https://github.com/rust-lang/rust/pull/54430/
55+
[54451]: https://github.com/rust-lang/rust/pull/54451/
56+
[54497]: https://github.com/rust-lang/rust/pull/54497/
57+
[54778]: https://github.com/rust-lang/rust/pull/54778/
58+
[54835]: https://github.com/rust-lang/rust/pull/54835/
59+
[54870]: https://github.com/rust-lang/rust/pull/54870/
60+
[RFC-911]: https://github.com/rust-lang/rfcs/pull/911
61+
[`Option::replace`]: https://doc.rust-lang.org/std/option/enum.Option.html#method.replace
62+
[`slice::align_to_mut`]: https://doc.rust-lang.org/std/primitive.slice.html#method.align_to_mut
63+
[`slice::align_to`]: https://doc.rust-lang.org/std/primitive.slice.html#method.align_to
64+
[`slice::chunks_exact_mut`]: https://doc.rust-lang.org/std/primitive.slice.html#method.chunks_exact_mut
65+
[`slice::chunks_exact`]: https://doc.rust-lang.org/std/primitive.slice.html#method.chunks_exact
66+
[`slice::rchunks_exact_mut`]: https://doc.rust-lang.org/std/primitive.slice.html#method.rchunks_mut
67+
[`slice::rchunks_exact`]: https://doc.rust-lang.org/std/primitive.slice.html#method.rchunks_exact
68+
[`slice::rchunks_mut`]: https://doc.rust-lang.org/std/primitive.slice.html#method.rchunks_mut
69+
[`slice::rchunks`]: https://doc.rust-lang.org/std/primitive.slice.html#method.rchunks
70+
[cargo/6005]: https://github.com/rust-lang/cargo/pull/6005/
71+
[const-reference]: https://doc.rust-lang.org/reference/items/functions.html#const-functions
72+
73+
174
Version 1.30.0 (2018-10-25)
275
==========================
376

0 commit comments

Comments
 (0)