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。没有你们所有人,我们不可能完成这项工作。 谢谢!