Rust 1.84.0 发布

Cargo 依赖版本选择改进

稳定了最小支持 Rust 版本(MSRV)感知的解析器,该解析器会优先选择与项目声明的 MSRV 兼容的依赖版本,减少了维护者支持旧工具链的工作量,无需手动为每个依赖选择旧版本。可以通过.cargo/config.toml文件启用 MSRV 感知解析器:

收起

toml

复制代码
[resolver]
incompatible-rust-versions="fallback"

新 trait 求解器的迁移

Rust 编译器正在迁移到新的 trait 求解器实现。在 1.84.0 中,新求解器用于检查 trait 实现的连贯性,负责确保在考虑其他 crate 中尚未编写或不可见代码的情况下,最多只有一个 trait 实现适用于给定类型。此更改修复了旧实现的一些理论正确性问题,可能会导致以前未报告的 "trait 的冲突实现......" 错误,但受影响的模式非常罕见。

严格来源 API

Rust 1.84.0 引入了一组新的 API,可以在许多情况下替代整数指针转换的使用,从而避免此类转换固有的歧义,使得代码更易于推理和分析,也有利于 Miri 等工具和 Cheri 等架构检测和诊断指针滥用。

稳定化的 API

稳定了多个 API,包括:

  • ipv6addr::is_unique_local
  • ipv6addr::is_unicast_link_local
  • core::ptr::with_exposed_provenance
  • core::ptr::with_exposed_provenance_mut
  • <ptr>::addr
  • <ptr>::expose_provenance
  • <ptr>::with_addr
  • <ptr>::map_addr
  • <int>::isqrt
  • <int>::checked_isqrt
  • <uint>::isqrt
  • nonzero::isqrt
  • core::ptr::without_provenance
  • core::ptr::without_provenance_mut
  • core::ptr::dangling
  • core::ptr::dangling_mut
  • pin::as_deref_mut

这些 API 现在在常量上下文中也是稳定的。

其他变化

  • 允许在#(forbid)中使用#(deny)并将其作为无操作指令。
  • 在 Windows 上,在所有情况下都支持/作为include!
  • 添加--printhost-tuple参数来打印主机目标元组。
  • 添加wasm32v1-none目标支持,目前它属于 tier2 级别。
  • 移除了wasm32-wasi目标,因为该目标现在名为wasm32-wasip1

如果你已经通过 rustup 安装了 Rust,可以通过以下命令升级到 1.84.0 版本:

收起

bash

复制代码
rustup update stable

如果你还没有安装 rustup,可以从Rust 官方网站获取,并查看 1.84.0 的详细发布说明。

相关推荐
kkeeper~2 分钟前
0基础C语言积跬步之深入理解指针(4)
c语言·开发语言
IT_陈寒11 分钟前
Vue的v-for为什么不加key也能工作?我差点翻车
前端·人工智能·后端
GreenTea13 分钟前
【Rust 2026教程:从零构建 Mini-OLAP 引擎】第 3 章 表达式系统:把 SQL 表达式变成可执行树
后端
周末也要写八哥19 分钟前
在C++中使用预定义宏
开发语言·c++·算法
GreenTea22 分钟前
【Rust 2026教程:从零构建 Mini-OLAP 引擎】第 2 章 向量化执行:让 CPU 跑满
后端
GreenTea27 分钟前
【Rust 2026教程:从零构建 Mini-OLAP 引擎】第 1 章 列式存储:OLAP 的物理基石
后端
Data_Journal27 分钟前
使用Python lxml轻松进行网络爬取
开发语言·php
xcLeigh42 分钟前
IoTDB JDBC 完整使用教程:连接、查询、批处理与字符集配置
开发语言·数据库·qt·iotdb·查询·批处理·连接
学会870上岸华师1 小时前
C 语言程序设计——第一章课后编程题
c语言·开发语言·学习·算法
小小编程路1 小时前
新手快速学 Python 极简速成指南
开发语言·c++·python