X-Git-Url: https://git.lizzy.rs/?a=blobdiff_plain;f=RELEASES.md;h=7e18f1befddecb3afc8ebbd4f9549912baa15c49;hb=c839a7b4c26e58319b0c40448dd423facff34cd0;hp=5d10e658f901555b1ef432f5a9c4d3d66019d8ae;hpb=32daa2aa38fafd731ddc27374dece22f38069bc8;p=rust.git diff --git a/RELEASES.md b/RELEASES.md index 5d10e658f90..7e18f1befdd 100644 --- a/RELEASES.md +++ b/RELEASES.md @@ -3,9 +3,6 @@ Version 1.42.0 (2020-03-12) Language -------- -- [You can now use `#[repr(transparent)]` on univariant `enum`s.][68122] Meaning - that you can create an enum that has the exact layout and ABI of the type - it contains. - [You can now use the slice pattern syntax with subslices.][67712] e.g. ```rust fn foo(words: &[&str]) { @@ -16,18 +13,34 @@ Language } } ``` - -- [Merge `TraitItem` & `ImplItem into `AssocItem`][67131] +- [You can now use `#[repr(transparent)]` on univariant `enum`s.][68122] Meaning + that you can create an enum that has the exact layout and ABI of the type + it contains. +- [There are some *syntax-only* changes:][67131] + - `default` is syntactically allowed before items in `trait` definitions. + - Items in `impl`s (i.e. `const`s, `type`s, and `fn`s) may syntactically + leave out their bodies in favor of `;`. + - Bounds on associated types in `impl`s are now syntactically allowed + (e.g. `type Foo: Ord;`). + - `...` (the C-variadic type) may occur syntactically directly as the type of + any function parameter. + + These are still rejected *semantically*, so you will likely receive an error + but these changes can be seen and parsed by procedural macros and + conditional compilation. Compiler -------- -- [Added tier 3\* support for `armv7a-none-eabi`.][68253] -- [Added tier 3 support for `riscv64gc-unknown-linux-gnu`.][68037] +- [Added tier 2\* support for `armv7a-none-eabi`.][68253] +- [Added tier 2 support for `riscv64gc-unknown-linux-gnu`.][68339] - [`Option::{expect,unwrap}` and `Result::{expect, expect_err, unwrap, unwrap_err}` now produce panic messages pointing to the location where they were called, rather than `core`'s internals. ][67887] +\* Refer to Rust's [platform support page][forge-platform-support] for more +information on Rust's tiered platform support. + Libraries --------- - [`iter::Empty` now implements `Send` and `Sync` for any `T`.][68348] @@ -40,14 +53,14 @@ Libraries Stabilized APIs --------------- +- [`CondVar::wait_while`] +- [`CondVar::wait_timeout_while`] - [`DebugMap::key`] - [`DebugMap::value`] - [`ManuallyDrop::take`] - [`matches!`] - [`ptr::slice_from_raw_parts_mut`] - [`ptr::slice_from_raw_parts`] -- [`wait_timeout_while`] -- [`wait_while`] Cargo ----- @@ -62,7 +75,7 @@ Compatibility Notes [68253]: https://github.com/rust-lang/rust/pull/68253/ [68348]: https://github.com/rust-lang/rust/pull/68348/ [67935]: https://github.com/rust-lang/rust/pull/67935/ -[68037]: https://github.com/rust-lang/rust/pull/68037/ +[68339]: https://github.com/rust-lang/rust/pull/68339/ [68122]: https://github.com/rust-lang/rust/pull/68122/ [67712]: https://github.com/rust-lang/rust/pull/67712/ [67887]: https://github.com/rust-lang/rust/pull/67887/ @@ -78,7 +91,19 @@ Compatibility Notes [`matches!`]: https://doc.rust-lang.org/stable/std/macro.matches.html [`ptr::slice_from_raw_parts_mut`]: https://doc.rust-lang.org/stable/std/ptr/fn.slice_from_raw_parts_mut.html [`ptr::slice_from_raw_parts`]: https://doc.rust-lang.org/stable/std/ptr/fn.slice_from_raw_parts.html -[`wait_while`]: https://doc.rust-lang.org/stable/std/sync/struct.Condvar.html#method.wait_while +[`CondVar::wait_while`]: https://doc.rust-lang.org/stable/std/sync/struct.Condvar.html#method.wait_while +[`CondVar::wait_timeout_while`]: https://doc.rust-lang.org/stable/std/sync/struct.Condvar.html#method.wait_timeout_while + + +Version 1.41.1 (2020-02-27) +=========================== + +* [Always check types of static items][69145] +* [Always check lifetime bounds of `Copy` impls][69145] +* [Fix miscompilation in callers of `Layout::repeat`][69225] + +[69225]: https://github.com/rust-lang/rust/issues/69225 +[69145]: https://github.com/rust-lang/rust/pull/69145 Version 1.41.0 (2020-01-30)