写点什么

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:524429

评论

发布
暂无评论

团队管理之git提交规范:commit记录那点事儿

南极一块修炼千年的大冰块

7月月更

YLearn因果学习开源项目「贡献者计划」精彩来袭!

九章云极DataCanvas

AI 开发者 因果学习 YLearn

Wallys/WiFi6 MiniPCIe Module 2T2R 2×2.4GHz 2x5GHz MT7915 MT7975

wallys-wifi6

IPQ4019 IPQ6010 ipq6018 QCN9074 MT7975

不知道这4种缓存模式,你可能并不是真的懂缓存

Java永远的神

Java 缓存 程序员 面试 后端

【C语言】进阶指针seven

謓泽

7月月更

JAVA编程规范之OOP规约

源字节1号

后端开发

Python爬虫挺刑的,去VX公众某位置,平台登录加密参数扣取

梦想橡皮擦

Python 爬虫 python 爬虫 7月月更

Android 自动化测试

沃德

android 程序员 7月月更

从预测到决策,九章云极DataCanvas推出YLearn因果学习开源项目

九章云极DataCanvas

人工智能 YLearn 开源工具包 因果推断

这一次带你透彻解析RocketMQ消息中间件

Java永远的神

Java 程序员 面试 RocketMQ 消息中间件

好家伙!阿里人用5个案例就彻底讲清了SpringSecurity安全框架

程序员小毕

Java spring 程序员 面试 springsecurity

户外全彩LED显示屏显示功能

Dylan

全彩LED显示屏 户外LED显示屏

Neuron 2.1.0发布:支持Sparkplug B规范,更完善的工业协议支持

EMQ映云科技

物联网 IoT 工业 7月月更 版本发布

面试官:小伙子你来说下缓存穿透、缓存雪崩、缓存击穿

Java永远的神

Java redis 程序员 面试 程序人生

首届京东科技合作伙伴大会召开,博云携手京东科技共创产业数字化新增长

BoCloud博云

容器 云原生 PaaS

浅谈:NFT元宇宙链游系统开发原理

开发微hkkf5566

mysql进阶(二)你真的了解索引吗?

No Silver Bullet

索引 MySQL 数据库 7月月更

wallys/2×2 MIMO 802.11ac Mini PCIe Wi-Fi Module, Dual Band, 2,4GHz / 5GHz

wallys-wifi6

IPQ4019 QCA9880 QCA9882 QCN9074 IPQ9072a

浅析eTS的起源和演进

HarmonyOS开发者

HarmonyOS

简述Serverless原理及运用

南城FE

Serverless 前端 7月月更

30岁被裁,我想明白的几件事

老张

职业第二曲线 职场发展

博云入选Gartner中国云管理工具市场指南代表厂商

BoCloud博云

云原生 Gartner 云管理平台 云管理

用什么承受全部的数据-RDD、DataFrame还是Dataset

怀瑾握瑜的嘉与嘉

spark 7月月更

2022最新面试八股文,共计12w字,200多页,16个Java技术栈

Java全栈架构师

Java spring 程序员 面试 程序人生

电商订单支付时防止重复支付的原理

程序员小毕

Java 程序员 面试 程序人生 后端

你玩过轻量系统软总线应用吗?

OpenHarmony开发者

OpenHarmony

数据治理实战篇!选择什么样的工具让数据治理落地更简单

雨果

数据治理

语音驱动嘴型与面部动画生成的现状和趋势

行者AI

算法 人工智能’

什么是微软 Edge 浏览器 Tracking Prevention 的 Org Relationship Mitigation 策略

汪子熙

JavaScript html 前端开发 web开发 7月月更

助力人工智能迈向新阶段,YLearn因果学习开源项目重磅发布!

九章云极DataCanvas

人工智能 开源项目 因果学习 YLearn

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