Rust 1.84.0 发布

ops/2025/1/12 20:09:47/

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/ops/149537.html

相关文章

简单易用的PDF工具箱

软件介绍 PDF24 Creator是一款简单易用的PDF工具箱&#xff0c;而且完全免费&#xff0c;没有任何功能限制。既可以访问官网在线使用各种PDF工具&#xff0c;也可以下载软件离线使用各种PDF工具。 软件功能 1、PDF转换 支持将多种文件格式&#xff08;Word、PowerPoint、Exc…

Linux:进程概念(二.查看进程、父进程与子进程、进程状态详解)

目录 1. 查看进程 1.1 准备工作 1.2 指令&#xff1a;ps—显示当前系统中运行的进程信息 1.3 查看进程属性 1.4 通过 /proc 系统文件夹看进程 2. 父进程与子进程 2.1 介绍 2.2 getpid() \getppid() 2.3 fork()函数—通过系统调用创建进程 fork()函数疑问 3. 进程状态…

Web渗透测试之XSS跨站脚本 原理 出现的原因 出现的位置 测试的方法 危害 防御手段 面试题 一篇文章给你说的明明白白

目录 XSS介绍的原理和说明 Cross Site Scripting 钓鱼 XSS攻击原理 XSS漏洞出现的原因: XSS产生的原因分析 XSS出现位置: XSS测试方法 XSS的危害 防御手段: 其它防御 面试题: 备注: XSS介绍的原理和说明 嵌入在客户端脚本 对客户端进行攻击的Owstop ten 十大漏…

【LeetCode】:删除回文子数组【困难】

class Solution { public:// 思考:能否用滚动数组进行优化int minimumMoves(vector<int>& arr) {// 定义状态dp[i][j]为i-j的最小步数int n arr.size();vector<vector<int>> dp(n, vector<int>(n, 1e9 7));// 可以把这 1 次理解为一种 最小操作单…

android ROM开发网络下载速度缓慢问题解决方案

由于近期公司项目不断有客户反馈文件下载速度太慢&#xff0c;之前一直以为是客户网络环境原因就没有太在意&#xff0c;直到有反馈说有线网络下载比wifi网络下载要慢很多&#xff0c;网络环境带宽网速等都没问题。详细对比测试后发现的确如此&#xff0c;wifi环境下载能达到10…

pdf提取文本,表格以及转图片:spire.pdf

文章目录 &#x1f412;个人主页&#xff1a;信计2102罗铠威&#x1f3c5;JavaEE系列专栏&#x1f4d6;前言&#xff1a;&#x1f380; 1. pdfbox1.1导入pdfbox 的maven依赖1.1 提取文本1.2 提取文本表格&#xff08;可自行加入逻辑处理&#xff09;1.3 pdf转换成图片代码&…

linux下的MongoDB手动安装部署详解

MongoDB数据库很常用.但是有时候难免需要手动部署。这里分享下教程笔记&#xff0c;分享给有需要的小伙伴&#xff0c;需要的可以收藏。 要解压和安装 MongoDB&#xff0c;您可以按照以下步骤操作&#xff1a; 下载&#xff1a; https://www.mongodb.com/try/download/commun…

昆虫分割数据集labelme格式9484张1类别

数据集格式&#xff1a;labelme格式(不包含mask文件&#xff0c;仅仅包含jpg图片和对应的json文件) 图片数量(jpg文件个数)&#xff1a;9484 标注数量(json文件个数)&#xff1a;9484 标注类别数&#xff1a;1 标注类别名称:["insect"] 每个类别标注的框数&…