宣布 Rust 1.90.0
2025年9月18日 · Rust 发布团队
Rust 团队很高兴宣布新版本 Rust 1.90.0 的发布。Rust 是一种编程语言,旨在让每个人都能构建可靠且高效的软件。
如果您已通过 rustup 安装了旧版 Rust,可以通过以下命令获取 1.90.0 版本:
|
|
如果尚未安装 rustup,可以从我们网站的相应页面获取,并查看 1.90.0 的详细发布说明。
如果您想通过测试未来版本来帮助我们,可以考虑在本地更新以使用 beta 频道(rustup default beta
)或 nightly 频道(rustup default nightly
)。请报告您可能遇到的任何错误!
1.90.0 稳定版中的新内容
LLD 现为 x86_64-unknown-linux-gnu 的默认链接器
x86_64-unknown-linux-gnu 目标现在将默认使用 LLD 链接器来链接 Rust crate。与默认的 Linux 链接器(BFD)相比,这应能提高链接性能,特别是对于大型二进制文件、包含大量调试信息的二进制文件以及增量重建。
在绝大多数情况下,LLD 应与 BFD 向后兼容,您除了减少编译时间外不应看到任何差异。但是,如果您遇到任何新的链接器问题,始终可以使用 -C linker-features=-lld
编译器标志选择退出。可以通过将其添加到通常的 RUSTFLAGS
环境变量中,或添加到项目的 .cargo/config.toml
配置文件中,如下所示:
|
|
如果您遇到 LLD 链接器的任何问题,请告知我们。您可以在此处阅读有关切换到 LLD、一些基准测试数据以及选择退出机制的更多信息。
Cargo 新增对工作区发布的本机支持
现在支持 cargo publish --workspace
,自动按正确顺序(遵循它们之间的任何依赖关系)发布工作区中的所有 crate。
长期以来,这可以通过外部工具或手动排序单个发布来实现,但此功能现已纳入 Cargo 本身。本机集成允许 Cargo 的发布验证在完整待发布 crate 集上运行构建,就像它们已发布一样,包括在试运行期间。请注意,发布仍然不是原子的——网络错误或服务器端故障仍可能导致工作区部分发布。
将 x86_64-apple-darwin 降级为 Tier 2 并保留主机工具
GitHub 将很快停止为公共仓库提供免费的 macOS x86_64 运行器。Apple 也宣布了停止支持 x86_64 架构的计划。
根据这些变化,从 Rust 1.90 开始,我们将 x86_64-apple-darwin 目标从 Tier 1(含主机工具)降级为 Tier 2(含主机工具)。这意味着该目标(包括 rustc 和 cargo 等工具)将保证能够构建,但不保证通过我们的自动化测试套件。
对于用户而言,此更改不会立即造成影响。在该目标保持 Tier 2 期间,Rust 项目仍将分发标准库和编译器的构建,供通过 rustup 或其他安装方法使用。随着时间的推移,该目标测试覆盖率的减少很可能导致问题出现或失去兼容性,且不再另行公告。
稳定的 API
u{n}::checked_sub_signed
u{n}::overflowing_sub_signed
u{n}::saturating_sub_signed
u{n}::wrapping_sub_signed
impl Copy for IntErrorKind
impl Hash for IntErrorKind
impl PartialEq<&CStr> for CStr
impl PartialEq<CString> for CStr
impl PartialEq<Cow<CStr>> for CStr
impl PartialEq<&CStr> for CString
impl PartialEq<CStr> for CString
impl PartialEq<Cow<CStr>> for CString
impl PartialEq<&CStr> for Cow<CStr>
impl PartialEq<CStr> for Cow<CStr>
impl PartialEq<CString> for Cow<CStr>
这些先前稳定的 API 现在在常量上下文中稳定:
<[T]>::reverse
f32::floor
f32::ceil
f32::trunc
f32::fract
f32::round
f32::round_ties_even
f64::floor
f64::ceil
f64::trunc
f64::fract
f64::round
f64::round_ties_even
平台支持
- x86_64-apple-darwin 现在是一个 Tier 2 目标
有关 Rust 分层平台支持的更多信息,请参阅 Rust 的平台支持页面。
其他更改
查看 Rust、Cargo 和 Clippy 中的所有更改。
1.90.0 的贡献者
许多人共同创建了 Rust 1.90.0。没有大家,我们无法完成这项工作。谢谢!