Rust 团队很高兴宣布 Rust 的新版本 1.34.1 和 rustup 的新版本 1.18.1。Rust 是一种编程语言,它使每个人都能构建可靠且高效的软件。
如果您之前已通过 rustup 安装了 Rust,那么获取 Rust 1.34.1 和 rustup 1.18.1 就像
$ rustup update stable
如果您还没有,您可以从我们网站上的相应页面 获取 rustup
。
1.34.1 稳定版中的新内容
此补丁版本修复了两个误报和 在 Clippy 中检查宏时的 panic。Clippy 是一个工具,它提供了一组 lint 来捕获常见错误并改进您的 Rust 代码。
clippy::redundant_closure
中的误报
redundant_closure
lint 中的误报已 修复。该 lint 没有考虑到 借用数量的差异。
在以下代码片段中,方法 required
期望 dep: &D
,但 dep
的实际类型是 &&D
dependencies.iter().filter(|dep| dep.required());
Clippy 错误地建议使用 .filter(Dependency::required)
,但由于借用差异,编译器会拒绝此建议。
clippy::missing_const_for_fn
中的误报
missing_const_for_fn
lint 中的另一个误报已 修复。该 lint 没有考虑到 trait
实现中的函数不能是 const fn
。例如,当给出以下代码片段时,该 lint 会触发
#[derive(PartialEq, Eq)] // warning: this could be a const_fn
struct Point(isize, isize);
impl std::ops::Add for Point {
type Output = Self;
fn add(self, other: Self) -> Self { // warning: this could be a const_fn
Point(self.0 + other.0, self.1 + other.1)
}
}
rustup 1.18.1 中的新内容
最近的 rustup 版本 1.18.0 引入了 一个回归,它阻止了在旧平台上通过 shell 脚本安装 Rust。已发布了一个补丁来修复此问题,避免在不支持 TLS v1.2 的平台上强制使用 TLS v1.2。
您可以在其 完整发行说明 中查看其他 rustup 更改。