Rust 1.84.0 发布

news/2025/1/13 3:24:15/

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 的详细发布说明。


http://www.ppmy.cn/news/1562689.html

相关文章

halcon3d 如何计算平面法向量!确实很简单

这个问题其实一直困扰了我很长时间,之前是怎么算的呢 对于一个平面,我会先求它的fit_primitives_object_model_3d去将它拟合,接下来用surface_normals_object_model_3d 算子生成它的法线,后用get_object_model_3d_params (ObjectModel3DNormals, ‘point_normal_x’, GenP…

Spring Boot教程之五十二:CrudRepository 和 JpaRepository 之间的区别

Spring Boot – CrudRepository 和 JpaRepository 之间的区别 Spring Boot建立在 Spring 之上&#xff0c;包含 Spring 的所有功能。由于其快速的生产就绪环境&#xff0c;使开发人员能够直接专注于逻辑&#xff0c;而不必费力配置和设置&#xff0c;因此如今它正成为开发人员…

探索Java爬虫:获取淘宝App商品详情原数据API接口的实现

在当今的互联网时代&#xff0c;数据是最宝贵的资源之一。对于电商平台而言&#xff0c;商品详情数据更是重中之重。本文将带你深入了解如何使用Java爬虫获取淘宝App商品详情的原数据API接口&#xff0c;帮助你掌握这一技术&#xff0c;提升数据获取能力。 一、为什么选择Java…

Python Matplotlib 教程-Matplotlib 如何绘制常见图表

Python Matplotlib 如何绘制常见图表 Matplotlib 是 Python 中最流行的数据可视化库之一&#xff0c;提供了多种方式绘制各种图表&#xff0c;如折线图、柱状图、散点图、饼图等。本篇文章将从基础入门开始&#xff0c;逐步介绍如何使用 Matplotlib 绘制这些常见图表&#xff…

切比雪夫插值

切比雪夫插值是一种基于切比雪夫节点的多项式插值方法&#xff0c;其优势是减少插值误差(特别是龙格现象&#xff1a;表现为高维插值时在边缘处插值误差骤增)。本文对其基本操作进行说明。 1. 切比雪夫节点 切比雪夫插值的核心是使用切比雪夫节点作为插值点。切比雪夫节点是切…

Ungoogled Chromium127 编译指南 MacOS篇(八)- 开始编译

1. 引言 完成了所有依赖包的安装后&#xff0c;我们终于来到了最关键的编译阶段。在开始编译之前&#xff0c;有一些重要的配置信息需要了解。本文将指导您完成整个编译过程。 2. 签名相关说明 虽然在我们的测试编译中不需要进行签名操作&#xff0c;但了解官方的签名要求仍…

Linux (CentOS) 安装 Docker 和 Docker Compose

&#x1f680; 作者主页&#xff1a; 有来技术 &#x1f525; 开源项目&#xff1a; youlai-mall ︱vue3-element-admin︱youlai-boot︱vue-uniapp-template &#x1f33a; 仓库主页&#xff1a; GitCode︱ Gitee ︱ Github &#x1f496; 欢迎点赞 &#x1f44d; 收藏 ⭐评论 …

【广西乡镇界】arcgis格式shp数据乡镇名称和编码2020年内容测评

【广西乡镇界】arcgis格式shp数据乡镇名称和编码2020年内容测评