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。没有你们,我们无法做到。 感谢!