宣布 Rust 1.45.1

2020年7月30日 · Rust 发布团队

Rust 团队很高兴宣布 Rust 的新版本 1.45.1。Rust 是一门赋予每个人构建可靠且高效软件能力的编程语言。

如果您之前已经通过 rustup 安装了 Rust,那么获取 Rust 1.45.1 非常简单,只需运行

$ rustup update stable

如果您还没有安装,可以从我们网站的相应页面获取 rustup,并在 GitHub 上查看1.45.1 的详细发布说明

1.45.1 稳定版包含的内容

1.45.1 包含一系列修复,其中包括一个健全性修复。1.45.1 中的所有补丁都解决了仅影响 1.45.0 版本的错误;此版本修复的错误不影响之前的版本。

修复引用相关的常量传播问题

在 Rust 1.45.0 中,rustc 的常量传播过程在判断是否传播给定常量时,未能正确处理遇到引用的情况,这可能导致不正确的行为。我们的版本会通过 crater 进行测试,我们没有检测到这个问题,这让我们相当有信心它仅影响到极少数的实际代码(如果存在的话)。

触发此错误所需的条件在实际中极不可能发生:代码的输入必须完全由常量值组成,并且中间没有控制流或函数调用。

struct Foo {
    x: u32,
}

fn main() {
    let mut foo = Foo { x: 42 };
    let x = &mut foo.x;
    *x = 13;
    let y = foo;
    println!("{}", y.x); // -> 42; expected result: 13
}

1.45.1 的贡献者

许多人共同努力创建了 Rust 1.45.1。没有你们所有人,我们不可能做到这一点。感谢!