1+ Version 1.42.0 (2020-03-12)
2+ ==========================
3+
4+ Language
5+ --------
6+ - [You can now use the slice pattern syntax with subslices.][67712] e.g.
7+ ```rust
8+ fn foo(words: &[&str]) {
9+ match words {
10+ ["Hello", "World", "!", ..] => println!("Hello World!"),
11+ ["Foo", "Bar", ..] => println!("Baz"),
12+ rest => println!("{:?}", rest),
13+ }
14+ }
15+ ```
16+ - [You can now use `#[repr(transparent)]` on univariant `enum`s.][68122] Meaning
17+ that you can create an enum that has the exact layout and ABI of the type
18+ it contains.
19+ - [There are some *syntax-only* changes:][67131]
20+ - `default` is syntactically allowed before items in `trait` definitions.
21+ - Items in `impl`s (i.e. `const`s, `type`s, and `fn`s) may syntactically
22+ leave out their bodies in favor of `;`.
23+ - Bounds on associated types in `impl`s are now syntactically allowed
24+ (e.g. `type Foo: Ord;`).
25+ - `...` (the C-variadic type) may occur syntactically directly as the type of
26+ any function parameter.
27+
28+ These are still rejected *semantically*, so you will likely receive an error
29+ but these changes can be seen and parsed by procedural macros and
30+ conditional compilation.
31+
32+ Compiler
33+ --------
34+ - [Added tier 2\* support for `armv7a-none-eabi`.][68253]
35+ - [Added tier 2 support for `riscv64gc-unknown-linux-gnu`.][68339]
36+ - [`Option::{expect,unwrap}` and
37+ `Result::{expect, expect_err, unwrap, unwrap_err}` now produce panic messages
38+ pointing to the location where they were called, rather than
39+ `core`'s internals. ][67887]
40+
41+ \* Refer to Rust's [platform support page][forge-platform-support] for more
42+ information on Rust's tiered platform support.
43+
44+ Libraries
45+ ---------
46+ - [`iter::Empty<T>` now implements `Send` and `Sync` for any `T`.][68348]
47+ - [`Pin::{map_unchecked, map_unchecked_mut}` no longer require the return type
48+ to implement `Sized`.][67935]
49+ - [`io::Cursor` now derives `PartialEq` and `Eq`.][67233]
50+ - [`Layout::new` is now `const`.][66254]
51+ - [Added Standard Library support for `riscv64gc-unknown-linux-gnu`.][66899]
52+
53+
54+ Stabilized APIs
55+ ---------------
56+ - [`CondVar::wait_while`]
57+ - [`CondVar::wait_timeout_while`]
58+ - [`DebugMap::key`]
59+ - [`DebugMap::value`]
60+ - [`ManuallyDrop::take`]
61+ - [`matches!`]
62+ - [`ptr::slice_from_raw_parts_mut`]
63+ - [`ptr::slice_from_raw_parts`]
64+
65+ Cargo
66+ -----
67+ - [You no longer need to include `extern crate proc_macro;` to be able to
68+ `use proc_macro;` in the `2018` edition.][cargo/7700]
69+
70+ Compatibility Notes
71+ -------------------
72+ - [`Error::description` has been deprecated, and its use will now produce a
73+ warning.][66919] It's recommended to use `Display`/`to_string` instead.
74+
75+ [68253]: https://github.com/rust-lang/rust/pull/68253/
76+ [68348]: https://github.com/rust-lang/rust/pull/68348/
77+ [67935]: https://github.com/rust-lang/rust/pull/67935/
78+ [68339]: https://github.com/rust-lang/rust/pull/68339/
79+ [68122]: https://github.com/rust-lang/rust/pull/68122/
80+ [67712]: https://github.com/rust-lang/rust/pull/67712/
81+ [67887]: https://github.com/rust-lang/rust/pull/67887/
82+ [67131]: https://github.com/rust-lang/rust/pull/67131/
83+ [67233]: https://github.com/rust-lang/rust/pull/67233/
84+ [66899]: https://github.com/rust-lang/rust/pull/66899/
85+ [66919]: https://github.com/rust-lang/rust/pull/66919/
86+ [66254]: https://github.com/rust-lang/rust/pull/66254/
87+ [cargo/7700]: https://github.com/rust-lang/cargo/pull/7700
88+ [`DebugMap::key`]: https://doc.rust-lang.org/stable/std/fmt/struct.DebugMap.html#method.key
89+ [`DebugMap::value`]: https://doc.rust-lang.org/stable/std/fmt/struct.DebugMap.html#method.value
90+ [`ManuallyDrop::take`]: https://doc.rust-lang.org/stable/std/mem/struct.ManuallyDrop.html#method.take
91+ [`matches!`]: https://doc.rust-lang.org/stable/std/macro.matches.html
92+ [`ptr::slice_from_raw_parts_mut`]: https://doc.rust-lang.org/stable/std/ptr/fn.slice_from_raw_parts_mut.html
93+ [`ptr::slice_from_raw_parts`]: https://doc.rust-lang.org/stable/std/ptr/fn.slice_from_raw_parts.html
94+ [`CondVar::wait_while`]: https://doc.rust-lang.org/stable/std/sync/struct.Condvar.html#method.wait_while
95+ [`CondVar::wait_timeout_while`]: https://doc.rust-lang.org/stable/std/sync/struct.Condvar.html#method.wait_timeout_while
96+
97+
198Version 1.41.1 (2020-02-27)
299===========================
3100
@@ -8,6 +105,7 @@ Version 1.41.1 (2020-02-27)
8105[69225]: https://github.com/rust-lang/rust/issues/69225
9106[69145]: https://github.com/rust-lang/rust/pull/69145
10107
108+
11109Version 1.41.0 (2020-01-30)
12110===========================
13111
0 commit comments