Rust / 版本发布

Rust 1.97 发布:Cargo 与构建系统改进

07-11 22:49

原文链接:https://blog.rust-lang.org/2026/07/09/Rust-1.97.0/

根据 Rust 官方博客,1.97.0 版本已于 2026 年 7 月 9 日发布。此次更新的核心是默认启用全新的符号混淆方案 (v0),并显著改善了构建过程中的警告和链接器输出管理

下面是该版本主要新特性的总结:

🚀 核心语言特性

  • 默认启用新版符号混淆 (Symbol Mangling v0):从本版本开始,Rust 编译器在编译时默认使用 v0 方案来生成符号名。这取代了基于 Itanium ABI 的历史方案,能更准确地保留泛型参数等完整上下文信息,并解决了旧方案中的不一致性问题。旧的混淆方案仅能在 Nightly 版本中使用,并计划在未来被完全移除。

🛠️ Cargo 与构建系统改进

  • Cargo 原生支持控制警告处理:新增了通过 CARGO_BUILD_WARNINGS 环境变量来控制构建时警告的行为,可选 allow(忽略)、warn(警告,默认)和 deny(拒绝,导致构建失败)。这使得在 CI 中拒绝警告 (CARGO_BUILD_WARNINGS=deny) 或临时屏蔽噪音警告 (CARGO_BUILD_WARNINGS=allow) 更加方便,且不会使构建缓存失效
  • 默认显示链接器 (Linker) 输出:过去,若链接成功,rustc 会默认隐藏链接器的输出信息。现在,这些信息会默认以警告 (linker_messages lint) 的形式输出,有助于暴露被忽略的潜在问题。如果确认是误报,可以通过在 Cargo.toml 中设置 [lints.rust] linker_messages = "allow" 来临时关闭。

📚 稳定化的 API

以下这些已有稳定 API 现在可以在常量 (const) 上下文中使用:

  • char::encode_utf8
  • char::encode_utf16
  • <[T]>::first_chunk
  • <[T]>::last_chunk
  • <[T]>::split_first_chunk
  • <[T]>::split_last_chunk

🔧 其他变更

  • 完整的变更列表,包括 Rust、Cargo 和 Clippy 的详细更新,请查阅官方详细发布说明

你可以通过 rustup update stable 命令升级到最新版本。如果想体验或帮助测试后续版本,也可以切换到 Beta 或 Nightly 渠道。

加入开源交流群

请加站长微信,免费进入交流群,和开源爱好者一起讨论。

站长微信二维码