@@ -3,9 +3,6 @@ Version 1.42.0 (2020-03-12)
3
3
4
4
Language
5
5
--------
6
- - [You can now use `#[repr(transparent)]` on univariant `enum`s.][68122] Meaning
7
- that you can create an enum that has the exact layout and ABI of the type
8
- it contains.
9
6
- [You can now use the slice pattern syntax with subslices.][67712] e.g.
10
7
```rust
11
8
fn foo(words: &[&str]) {
@@ -16,18 +13,34 @@ Language
16
13
}
17
14
}
18
15
```
19
- <!-- TODO -->
20
- - [Merge `TraitItem` & `ImplItem into `AssocItem`][67131]
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.
21
31
22
32
Compiler
23
33
--------
24
- - [Added tier 3 \* support for `armv7a-none-eabi`.][68253]
25
- - [Added tier 3 support for `riscv64gc-unknown-linux-gnu`.][68037 ]
34
+ - [Added tier 2 \* support for `armv7a-none-eabi`.][68253]
35
+ - [Added tier 2 support for `riscv64gc-unknown-linux-gnu`.][68339 ]
26
36
- [`Option::{expect,unwrap}` and
27
37
`Result::{expect, expect_err, unwrap, unwrap_err}` now produce panic messages
28
38
pointing to the location where they were called, rather than
29
39
`core`'s internals. ][67887]
30
40
41
+ \* Refer to Rust's [platform support page][forge-platform-support] for more
42
+ information on Rust's tiered platform support.
43
+
31
44
Libraries
32
45
---------
33
46
- [`iter::Empty<T>` now implements `Send` and `Sync` for any `T`.][68348]
@@ -40,14 +53,14 @@ Libraries
40
53
41
54
Stabilized APIs
42
55
---------------
56
+ - [`CondVar::wait_while`]
57
+ - [`CondVar::wait_timeout_while`]
43
58
- [`DebugMap::key`]
44
59
- [`DebugMap::value`]
45
60
- [`ManuallyDrop::take`]
46
61
- [`matches!`]
47
62
- [`ptr::slice_from_raw_parts_mut`]
48
63
- [`ptr::slice_from_raw_parts`]
49
- - [`wait_timeout_while`]
50
- - [`wait_while`]
51
64
52
65
Cargo
53
66
-----
@@ -62,7 +75,7 @@ Compatibility Notes
62
75
[68253]: https://github.com/rust-lang/rust/pull/68253/
63
76
[68348]: https://github.com/rust-lang/rust/pull/68348/
64
77
[67935]: https://github.com/rust-lang/rust/pull/67935/
65
- [68037 ]: https://github.com/rust-lang/rust/pull/68037 /
78
+ [68339 ]: https://github.com/rust-lang/rust/pull/68339 /
66
79
[68122]: https://github.com/rust-lang/rust/pull/68122/
67
80
[67712]: https://github.com/rust-lang/rust/pull/67712/
68
81
[67887]: https://github.com/rust-lang/rust/pull/67887/
@@ -78,7 +91,8 @@ Compatibility Notes
78
91
[`matches!`]: https://doc.rust-lang.org/stable/std/macro.matches.html
79
92
[`ptr::slice_from_raw_parts_mut`]: https://doc.rust-lang.org/stable/std/ptr/fn.slice_from_raw_parts_mut.html
80
93
[`ptr::slice_from_raw_parts`]: https://doc.rust-lang.org/stable/std/ptr/fn.slice_from_raw_parts.html
81
- [`wait_while`]: https://doc.rust-lang.org/stable/std/sync/struct.Condvar.html#method.wait_while
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
82
96
83
97
84
98
Version 1.41.0 (2020-01-30)
0 commit comments