Rust 1.42.0 现已发布,该版本的亮点包括:unwrap
ping 时更有用的紧急消息、分段模式、弃用Error::description
等等。具体更新内容如下:
Language
- 现在,用户可以将切片模式语法与子切片一起使用。
- 用户现在可以在单变量枚举上使用
#[repr(transparent)]
,这意味着其可以创建一个枚举,该枚举具有其所包含类型的确切布局和 ABI。 - 一些 syntax-only 更改:
- 在特性定义中,在句法之前允许使用 default
- 包含在 impls 中的项目(即 const,type 和 fns)在语法上可能会遗漏它们的主体以支持
;
. - 现在,语法上允许在 impls 中关联类型的界限(例如
type Foo: Ord;
)。 ...
(C 变量类型)可以在语法上直接作为任何函数参数的类型出现。
这些仍然在语义上被拒绝,因此用户可能会收到一个错误,但是这些更改可以通过过程宏和条件编译来查看和解析。
Compiler
- 添加 tier 2* 以支持
armv7a-none-eabi
- 添加 tier 2 以支持
riscv64gc-unknown-linux-gnu
Option::{expect,unwrap}
和Result::{expect, expect_err, unwrap, unwrap_err}
现在会产生紧急消息,这些消息指向被调用的位置,而不是内核的内部。
Libraries
iter::Empty<T>
现在为任何T
实现发送和同步。Pin::{map_unchecked, map_unchecked_mut}
不再需要返回类型来实现 Sized。io::Cursor
现在 derivesPartialEq
和Eq
Layout::new
现在是const
- 增加了对
riscv64gc-unknown-linux-gnu
的标准库支持。
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
相容性说明
Error::description
已被弃用,现在将产生警告。建议使用Display
/to_string
代替。
更多详细信息可查看发布说明: https://blog.rust-lang.org/2020/03/12/Rust-1.42.htm
转自 https://www.oschina.net/news/114076/rust-1-42-0-released