
2021 年 5 月 6 日,Rust 发布团队官宣 Rust 发布 1.52.0 稳定版:Announcing Rust 1.52.0。
以下为官方公告原文——
Rust 团队很高兴地宣布,Rust 语言有了新版本:1.52.0。Rust 是一门编程语言,它使每个人都能够构建安全、高效的软件。
如果你已通过 rustup 安装了 Rust 的早期版本,那么更新到 Rust 1.52.0 相当容易:
rustup update stable如果您还未安装过 Rust,可以从 Rust 官网页面获取 rustup,并可以在 GitHub 站点查阅 Rust 1.52.0 的详细发行说明。
Rust 1.52.0 稳定版中,最重要的变化不是语法或标准库,而是对 Clippy 工具支持的增强。
先前的版本中,先运行 cargo check,然后再运行 cargo clippy 时,实际上并未运行 Clippy:cargo 在构建缓存时,没有区分两者。然而,在 1.52 中,这一点已经被修复。这意味着用户将获得预期的行为,不再因为运行这两个命令的顺序而受到影响。
其中语法、编译器、库的新特性,由笔者整理自 Rust 发布团队的内部论坛帖子 Rust 1.52.0 稳定版预发布测试中,关键新特性一瞥。
unsafe_op_in_unsafe_fn,用于检查 unsafe fn 中的不安全(unsafe)代码,是否被包裹在 unsafe 代码块中。此代码分析(lint)特性默认开启,未来的版本中,可能会成为警告或错误。对以下目标提供 3* 层架构支持:
s390x-unknown-linux-muslriscv32gc-unknown-linux-musl 和 riscv64gc-unknown-linux-muslpowerpc-unknown-openbsdOsString 实现了 Extend 和 FromIteratorcmp::Reverse 增加 #[repr(transparent)] 属性表示Arc<impl Error> 实现 error::Errorconst下列方法已经稳定。
Arguments::as_strchar::MAXchar::REPLACEMENT_CHARACTERchar::UNICODE_VERSIONchar::decode_utf16char::from_digitchar::from_u32_uncheckedchar::from_u32slice::partition_pointstr::rsplit_oncestr::split_once上个版本中,稳定的如下 APIs,现在为 const:
char::len_utf8char::len_utf16char::to_ascii_uppercasechar::to_ascii_lowercasechar::eq_ignore_ascii_caseu8::to_ascii_uppercaseu8::to_ascii_lowercaseu8::eq_ignore_ascii_caseRust 1.52.0 版本中,还有些其它更新。请查阅如下页面:Rust、Cargo、Clippy。
很多人共同协作,才创造了 Rust 1.52.0。没有你们,我们不可能成功。谢谢您们!
谢谢您的阅读,欢迎交流。