|
| 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 | +- [You can now rename packages in your Cargo.toml][cargo/6319] We have a guide |
| 49 | + on [how to use the `package` key in your dependencies.][cargo-rename-reference] |
| 50 | + |
| 51 | +[52813]: https://github.com/rust-lang/rust/pull/52813/ |
| 52 | +[53218]: https://github.com/rust-lang/rust/pull/53218/ |
| 53 | +[53555]: https://github.com/rust-lang/rust/issues/53555/ |
| 54 | +[54057]: https://github.com/rust-lang/rust/pull/54057/ |
| 55 | +[54240]: https://github.com/rust-lang/rust/pull/54240/ |
| 56 | +[54430]: https://github.com/rust-lang/rust/pull/54430/ |
| 57 | +[54451]: https://github.com/rust-lang/rust/pull/54451/ |
| 58 | +[54497]: https://github.com/rust-lang/rust/pull/54497/ |
| 59 | +[54778]: https://github.com/rust-lang/rust/pull/54778/ |
| 60 | +[54835]: https://github.com/rust-lang/rust/pull/54835/ |
| 61 | +[54870]: https://github.com/rust-lang/rust/pull/54870/ |
| 62 | +[RFC-911]: https://github.com/rust-lang/rfcs/pull/911 |
| 63 | +[`Option::replace`]: https://doc.rust-lang.org/std/option/enum.Option.html#method.replace |
| 64 | +[`slice::align_to_mut`]: https://doc.rust-lang.org/std/primitive.slice.html#method.align_to_mut |
| 65 | +[`slice::align_to`]: https://doc.rust-lang.org/std/primitive.slice.html#method.align_to |
| 66 | +[`slice::chunks_exact_mut`]: https://doc.rust-lang.org/std/primitive.slice.html#method.chunks_exact_mut |
| 67 | +[`slice::chunks_exact`]: https://doc.rust-lang.org/std/primitive.slice.html#method.chunks_exact |
| 68 | +[`slice::rchunks_exact_mut`]: https://doc.rust-lang.org/std/primitive.slice.html#method.rchunks_mut |
| 69 | +[`slice::rchunks_exact`]: https://doc.rust-lang.org/std/primitive.slice.html#method.rchunks_exact |
| 70 | +[`slice::rchunks_mut`]: https://doc.rust-lang.org/std/primitive.slice.html#method.rchunks_mut |
| 71 | +[`slice::rchunks`]: https://doc.rust-lang.org/std/primitive.slice.html#method.rchunks |
| 72 | +[cargo/6005]: https://github.com/rust-lang/cargo/pull/6005/ |
| 73 | +[cargo/6319]: https://github.com/rust-lang/cargo/pull/6319/ |
| 74 | +[cargo-rename-reference]: https://doc.rust-lang.org/cargo/reference/specifying-dependencies.html#renaming-dependencies-in-cargotoml |
| 75 | +[const-reference]: https://doc.rust-lang.org/reference/items/functions.html#const-functions |
| 76 | + |
| 77 | + |
1 | 78 | Version 1.30.0 (2018-10-25)
|
2 | 79 | ==========================
|
3 | 80 |
|
|
0 commit comments