Rust:新版本 1.91.1 版本修复解析

Rust 1.91.1:紧急修正 Wasm 链接风险与平台兼容性

发布日期: 2025 年 11 月 10 日 官方博客原文: Announcing Rust 1.91.1

一、 综述:精准修复两大回归(Regressions)

Rust 1.91.1 是一个专门针对 1.91.0 版本引入的两个严重错误而发布的补丁版本。它的任务非常明确:

  1. 挽救 Wasm 运行时的安全性:修复了可能导致"静默数据损坏"或"崩溃"的链接错误。
  2. 恢复 illumos 平台的工程能力 :修复了在该操作系统上由于 File::lock 报错导致的 Cargo 无法并行构建的问题。

二、 核心更新深度解析

1. 修复 Wasm 的链接器与运行时错误

原文参考: Wasm linker and runtime errors

这是本次补丁中最关键的安全修复。在 Wasm 环境中,符号是通过"名称"和"模块名"双重识别的。

  • 问题所在: 在 1.91.0 中,#[link(wasm_import_module = "...")] 属性出现回归。当从多个不同的 Rust crate 导入相同的符号名称时,编译器可能会搞混它们所属的模块。

  • 后果: * 链接失败: 报"导入模块不匹配(Import module mismatch)"错误。

    • 致命隐患: 在运行时调用了错误的函数 。这会导致未定义行为(UB),包括程序直接崩溃或更可怕的静默数据损坏。
  • 修复方案: 1.91.1 修正了该属性的处理逻辑,确保了多模块 Wasm 开发的符号隔离。

  • 详情参考: Issue #148347

2. 修复 illumos 上的 Cargo 构建目录锁定故障

原文参考: Broken Cargo target directory locking on illumos

Cargo 会锁定 target/ 目录以防止多个 Cargo 进程互相踩踏(例如你同时在两个终端跑构建)。

  • 技术背景: Rust 1.89.0 稳定了标准库的 File::lock 方法。在 1.91.0 中,Cargo 切换到了这个标准库实现。
  • 回归原因: 由于代码实现上的疏忽,File::lock 在 illumos 目标平台上始终返回 Unsupported 错误。
  • 影响: 这导致 Cargo 无法在 illumos 上锁定构建目录,使得并发构建变得极不稳定。
  • 修复方案: 1.91.1 在标准库中为 illumos 启用了正确的函数族支持,从而修复了 Cargo 的锁定机制。

三、 总结与建议:哪些人必须立即升级?

虽然 1.91.1 只有两个修复,但其涉及的都是底层稳定性的"地基"。

1. 针对不同开发者的行动指南

  • WebAssembly (Wasm) 开发者: 必须立即升级。 如果你在开发复杂的 Wasm 应用,特别是涉及跨 crate 调用的,1.91.0 可能潜伏着数据损坏的风险。
  • illumos 用户: 强烈建议升级。 解决 Cargo 的锁定问题能显著提升你在该平台上的开发稳定性。
  • 其他平台(Linux/macOS/Windows)开发者: 如果你不涉及 Wasm 开发,此版本对你的影响微乎其微。但本着"能升就升"的原则,建议使用 rustup update stable 保持最新。
相关推荐
学长毕设3 小时前
基于springboot的食品仓库管理系统
java·spring boot·后端
滴滴答答哒3 小时前
ASP.NET Core + FaceRecognitionDotNet 人脸识别实战:DI 单例、特征向量持久化与 1:N 比对
后端·asp.net
captain3766 小时前
MyBatis操作数据库(入门2)
java·数据库·spring boot·后端·spring·mybatis
IT_陈寒7 小时前
Java序列化踩坑记:对象循环引用让我加班两小时
前端·人工智能·后端
泡海椒7 小时前
05-雷达图多维画像-信用评级多维画像
后端
王中阳Go7 小时前
5.27 分钟干完后端和全部测试:一场三小时笔试的五个失分点,四个不在代码上
大数据·数据库·人工智能·后端·大语言模型
大哥43097 小时前
Modbus 的"字序":一个配错就变成天文数字,或者干脆变成 0
后端
岩钧7 小时前
New API 源码解析:一个生产级 AI 网关的架构与实现
后端
学到老活到老7 小时前
第 24 集:配置文件写了 80,Spring Boot 为什么读到 90?
java·后端·spring
用户360055579007 小时前
Kestrel_VLLM - 25 · 全注意力层设备化、整层对拍与访存粒度
后端