写点什么

Rust 1.84 已发布,包括可能会破坏工具链的 WASI 目标更名

  • 2025-03-05
    北京
  • 本文字数:946 字

    阅读完需:约 3 分钟

大小:435.31K时长:02:28
Rust 1.84 已发布,包括可能会破坏工具链的 WASI 目标更名

本文最初发布于 DEV CLASS。



Rust 团队发布了 1.84.0 稳定版,带来下一代 trait 求解器和依赖版本检查改进方面的进展。不过,如果开发人员尚未进行必要的更新,那么 WebAssembly 系统接口(WASI)目标名称的变更可能会破坏工具链。

 

新版 Rust 主要有三个特性。首先是 Cargo 解析器可以感知支持的最小 Rust 版本(MRSV)。虽然该特性在默认情况下并未启用,但现在已经稳定。Cargo 是 Rust 官方的软件包管理器。如果升级后的软件包需要新一些的 Rust 版本,那么 Cargo 现在可以自动忽略它。在软件包清单中,MSRV 使用了可选的 rust-version 字段。

 

接下来是下一代 trait 求解器的进展。新的 trait 求解器是 Rust 类型系统的一部分,用于确定类型是否以及如何实现 trait (类似于其他语言中的接口)。按照 Rust 类型团队的说法,新求解器“应能修复许多长期存在的(稳定性)Bug,赋能未来类型系统的改进,并改善编译时间”。新求解器尚未完成,但现在将用于一致性检查,确保任何给定类型的 trait 最多只有一种实现。

 

第三,Rust 正在添加用于对指针出处进行严格检查的 API,尤其是在将指针转换为整数和返回整数时。该团队解释说,这个问题本身就存在模糊性。新 API 将有利于 Miri 等工具检测 Rust 代码中的未定义行为,也有利于证明 Rust 代码的形式正确性。

 

一些开发人员在升级 Rust 时会收到错误信息,因为目标 wasm32-wasi 已不再可用。这是因为该目标在 Rust 1.71 中已更名为 was32-wasip1 [zero point 1]。解决方法是升级前进行以下操作 :

rustup target remove wasm32-wasi
复制代码

 

这背后的故事是,还有一个 wasm-wasip2 [zero point 2] 目标,与 WASI(WebAssembly 系统接口)的里程碑版本相匹配。将初始目标命名为 wasm32-wasi(当时它还是早期预览版)是个错误,这掩盖了它还是一个正在开发中的接口这一事实。去年 4 月,开发人员收到了有关更改的预警,并有 8 个月的过渡期在项目中改用新的目标名称。不可避免的是,有些开发者还没有这样做,wasm32-wasi 的消失会造成一些麻烦,不过这也可能促使开发者在可能的情况下转向更新的 warm-wasip2 目标。

 

声明:本文为 InfoQ 翻译,未经许可禁止转载。

 

原文链接:https://devclass.com/2025/01/14/rust-1-84-released-including-name-change-to-wasi-target-that-may-break-toolchains/

2025-03-05 17:524550

评论

发布
暂无评论

AI能代替软件工程师吗?

小齐写代码

如何使用Java代码混淆技术保护您的应用程序

SD-WAN如何适应运营商网络

Ogcloud

SD-WAN 企业组网 SD-WAN组网 SD-WAN服务商 SDWAN

软件测试学习笔记丨HttpRunnerV4 用例转换

测试人

软件测试

请查收!一份Go代码优化实用指南

伤感汤姆布利柏

发现数据异常波动怎么办?别慌,指标监控和归因分析来帮你

袋鼠云数栈

指标体系 指标监控 指标 指标管理 归因分析

一步一步搭建,功能最全的权限管理系统之动态路由菜单

不在线第一只蜗牛

Java vue.js 前端

观测云产品更新 | 监控、场景图表、链路、查看器、工单管理等

观测云

监控 链路

CAE科普!电池仿真的必要性

智造软件

CAE CAE软件 有限元技术

iOS系统下最佳的3款HTTP抓包工具:Thor、克魔助手和Http Catcher

泛娱乐出海利器:即构Web端1v1方案

ZEGO即构

企业出海 出海社交 音视频开发 音视频通话 直播间

ETLCloud结合Oracle实现CDC

谷云科技RestCloud

oracle 数据同步 ETL CDC

XPath攻略:从入门到精通,告别查找困难!

测吧(北京)科技有限公司

测试

成都晨云信息技术完成阿里云PolarDB数据库产品生态集成认证

阿里云数据库开源

数据库 阿里云 polarDB PolarDB-PG

低代码平台,用拖拽让开发变得更简单

互联网工科生

如何做好信息化和数字化建设,看这一篇就够了

同道说

架构 职场 数字化 信息化 CIO

Rust 1.84 已发布,包括可能会破坏工具链的 WASI 目标更名_编程语言_Tim Anderson_InfoQ精选文章