当前位置: 首页 > news >正文

2411rust,1.80

1.80.0稳定版

LazyCellLazyLock

这些"懒"类型会延迟初化其数据,直到第一次访问.它们类似1.70中稳定的OnceCellOnceLock类型,但单元包含初化函数.

这稳定化了从流行的lazy_staticonce_cell中进入标准库.

LazyLock线安选项,使其适合静态值等位置.如,产生线程主域都会看见如下完全相同持续时间,因为无论谁最终先访问,都会初化一次LAZY_TIME.

与用OnceLock::get_or_init()不同,这两个用户不必知道如何初化它.

use std::sync::LazyLock;
use std::time::Instant;
static LAZY_TIME: LazyLock<Instant> = LazyLock::new(Instant::now);
fn main() {let start = Instant::now();std::thread::scope(|s| {s.spawn(|| {println!("Thread lazy time is {:?}", LAZY_TIME.duration_since(start));});println!("Main lazy time is {:?}", LAZY_TIME.duration_since(start));});
}

LazyCell不同步线程时,也是一样的,所以它没有实现需要的同步,但仍可在thread_local!静使用它(每线程有不同初化).

根据线安需求,也可在其他数据结构中用这两个类,因此懒初化无处不在!

检查配置名和值

1.79中,rustc稳定了一个--check-cfg标志,现在Cargo1.80对它知道的所有配置名和值(除了rustc周知名和值),都允许这些检查.

这包括Cargo.toml中的函数名构建脚本的新的cargo::rustc-check-cfg输出.

默认警告抓拼写错误或其他错误配置unexpected_cfgs检查器报告意外的配置.如,在有可选rayon依赖的项目中,为错误的特征配置此代码:

fn main() {println!("Hello, world!");#[cfg(feature = "crayon")]rayon::join(|| println!("Hello, Thing One!"),|| println!("Hello, Thing Two!"),);
}

警告:意外的"配置"条件值:"Crayon".

Cargo.toml清单中的[lints]表也可用来扩展自定义配置已知名和值列表.rustc自动提供要在警告中使用的语法.

[lints.rust]
unexpected_cfgs = { level = "warn", checkcfg = ['cfg(foo, values("bar"))'] }

模式中的独占区间

Rust区间模式现在可用独占端点,写成类似RangeRangeTo式类型的a..b..b.如,以下模式现在可对一个模式结束下个模式开始使用相同常数:

pub fn size_prefix(n: u32) -> &'static str {const K: u32 = 10u32.pow(3);const M: u32 = 10u32.pow(6);const G: u32 = 10u32.pow(9);match n {..K => "",K..M => "k",M..G => "M",G.. => "G",}
}

稳定的API

impl Default for Rc<CStr>
impl Default for Rc<str>
impl Default for Rc<[T]>
impl Default for Arc<str>
impl Default for Arc<CStr>
impl Default for Arc<[T]>
impl IntoIterator for Box<[T]>
impl FromIterator<String> for Box<str>
impl FromIterator<char> for Box<str>
LazyCell
LazyLock
Duration::div_duration_f32
Duration::div_duration_f64
Option::take_if
Seek::seek_relative
BinaryHeap::as_slice
NonNull::offset
NonNull::byte_offset
NonNull::add
NonNull::byte_add
NonNull::sub
NonNull::byte_sub
NonNull::offset_from
NonNull::byte_offset_from
NonNull::read
NonNull::read_volatile
NonNull::read_unaligned
NonNull::write
NonNull::write_volatile
NonNull::write_unaligned
NonNull::write_bytes
NonNull::copy_to
NonNull::copy_to_nonoverlapping
NonNull::copy_from
NonNull::copy_from_nonoverlapping
NonNull::replace
NonNull::swap
NonNull::drop_in_place
NonNull::align_offset
<[T]>::split_at_checked
<[T]>::split_at_mut_checked
str::split_at_checked
str::split_at_mut_checked
str::trim_ascii
str::trim_ascii_start
str::trim_ascii_end
<[u8]>::trim_ascii
<[u8]>::trim_ascii_start
<[u8]>::trim_ascii_end
Ipv4Addr::BITS
Ipv4Addr::to_bits
Ipv4Addr::from_bits
Ipv6Addr::BITS
Ipv6Addr::to_bits
Ipv6Addr::from_bits
Vec::<[T; N]>::into_flattened
<[[T; N]]>::as_flattened
<[[T; N]]>::as_flattened_mut

稳定的常API

<[T]>::last_chunk
BinaryHeap::new

相关文章:

2411rust,1.80

1.80.0稳定版 LazyCell和LazyLock 这些"懒"类型会延迟初化其数据,直到第一次访问.它们类似1.70中稳定的OnceCell和OnceLock类型,但单元中包含初化函数. 这稳定化了从流行的lazy_static和once_cell中进入标准库. LazyLock是线安选项,使其适合静态值等位置.如,产生…...

FPGA 第6讲 简单组合逻辑多路选择器

时间&#xff1a;2024.11.11-11.14 一、学习内容 1.组合逻辑 组合逻辑是VerilgHDL设计中一个重要组成部分。从电路本质上讲&#xff0c;组合逻辑电路的特点是输出信号只是当前时刻输入信号的函数&#xff0c;与其他时刻的输入状态无关&#xff0c;无存储电路&#xff0c;也没…...

Android Studio开发学习(五)———LinearLayout(线性布局)

一、布局 认识了解一下Android中的布局&#xff0c;分别是: LinearLayout(线性布局)&#xff0c;RelativeLayout(相对布局)&#xff0c;TableLayout(表格布局)&#xff0c; FrameLayout(帧布局)&#xff0c;AbsoluteLayout(绝对布局)&#xff0c;GridLayout(网格布局) 等。 二、…...

大模型(LLMs)RAG 版面分析------文本分块面

一、为什么需要对文本分块&#xff1f; 使用大型语言模型&#xff08;LLM&#xff09;时&#xff0c;切勿忽略文本分块的重要性&#xff0c;其对处理结果的好坏有重大影响。 考虑以下场景&#xff1a;你面临一个几百页的文档&#xff0c;其中充满了文字&#xff0c;你希望对其…...

Web3游戏先锋 Big Time Studios 重磅推出 $OL 通证,赋能 Open Loot 游戏平台

作为 Web3 游戏领域的领军者&#xff0c;Big Time Studios 不仅创造了热门游戏《Big Time》&#xff0c;还开发了 Open Loot 平台&#xff0c;至今交易量已超过 5 亿美元。如今&#xff0c;Open Loot 平台的活跃用户可以获得 $OL 代币&#xff0c;这是该平台推出的首个实用型代…...

Linux—ln(link files)命令使用方法(How to create links on Linux)

Linux—ln&#xff08;link files&#xff09;命令使用方法 在 Linux 系统中工作时&#xff0c;需要在不同的目录中使用相同的文件时&#xff0c;不必在每个目录下都复制一份文件&#xff0c;这样不仅浪费磁盘空间&#xff0c;还会导致文件管理上的混乱。 ln(link files) 便是…...

学习日记_20241110_聚类方法(K-Means)

前言 提醒&#xff1a; 文章内容为方便作者自己后日复习与查阅而进行的书写与发布&#xff0c;其中引用内容都会使用链接表明出处&#xff08;如有侵权问题&#xff0c;请及时联系&#xff09;。 其中内容多为一次书写&#xff0c;缺少检查与订正&#xff0c;如有问题或其他拓展…...

解决Oracle DECODE函数字符串截断问题的深度剖析20241113

解决Oracle DECODE函数字符串截断问题的深度剖析 在使用Oracle数据库进行开发时&#xff0c;开发者可能会遇到一些令人困惑的问题。其中&#xff0c;在使用DECODE函数时&#xff0c;返回的字符串被截断就是一个典型的案例。本文将以学生管理系统为背景&#xff0c;深入探讨这个…...

开源模型应用落地-语音转文本-whisper模型-AIGC应用探索(二)

一、前言 语音转文本技术具有重要价值。它能提高信息记录和处理的效率,使人们可以快速将语音内容转换为可编辑、可存储的文本形式,方便后续查阅和分析。在教育领域,可帮助学生更好地记录课堂重点;在办公场景中,能简化会议记录工作。同时,该技术也为残障人士提供了便利,让…...

PHP框架 单一入口和多入口以及优缺点

在PHP框架中&#xff0c;单一入口和多入口是两种不同的应用架构设计方式&#xff0c;以下是关于这两者及其优缺点的详细解释&#xff1a; 一、单一入口 定义&#xff1a; 单一入口&#xff08;Single Entry Point&#xff09;指的是应用程序通过一个统一的文件&#xff08;通…...

PhpSpreadsheet导出图片

PhpSpreadsheet导出图片 //导出public function pdf($ids){$jzInfo $this->model->where(id,$ids)->find();try {//巡检人员$staff_ids \app\admin\model\inspection\Plan::where(id,$jzInfo[plan_id])->value(staff_id);$staff_names \app\admin\model\inspect…...

AI 提示词(Prompt)入门 十:最佳实践|详细询问,提供细节!

1、原则解释 当与 ChatGPT 交流时&#xff0c;提供具体和详细的信息非常重要。 这样做可以帮助 ChatGPT 更准确地理解你的需求和上下文&#xff0c;从而生成更相关和有用的回答 明确的信息可以包括具体的问题背景、相关领域的说明、你所期望的答案类型等。 2、如何实践 明…...

web应用安全和信息泄露预防

文章目录 1&#xff1a;spring actuator导致的信息泄露1.1、Endpoint配置启用检测1.2、信息泄露复现1.3、防御 2&#xff1a;服务端口的合理使用3&#xff1a;弱口令&#xff08;密码&#xff09;管理4&#xff1a;服务端攻击4.1、短信业务&#xff0c;文件上传等资源型接口1、…...

《人工智能深度学习的基本路线图》

《人工智能深度学习的基本路线图》 基础准备阶段 数学基础&#xff1a; 线性代数&#xff1a;深度学习中大量涉及矩阵运算、向量空间等概念&#xff0c;线性代数是理解和处理这些的基础。例如&#xff0c;神经网络中的权重矩阵、输入向量的运算等都依赖于线性代数知识。学习内容…...

基于Java Springboot宠物猫售卖管理系统

一、作品包含 源码数据库全套环境和工具资源部署教程 二、项目技术 前端技术&#xff1a;Html、Css、Js、Vue、Element-ui 数据库&#xff1a;MySQL 后端技术&#xff1a;Java、Spring Boot、MyBatis 三、运行环境 开发工具&#xff1a;IDEA/eclipse 数据库&#xff1a;…...

力扣-Hot100-链表其三【算法学习day.36】

前言 ###我做这类文档一个重要的目的还是给正在学习的大家提供方向&#xff08;例如想要掌握基础用法&#xff0c;该刷哪些题&#xff1f;&#xff09;我的解析也不会做的非常详细&#xff0c;只会提供思路和一些关键点&#xff0c;力扣上的大佬们的题解质量是非常非常高滴&am…...

iOS逆向入门:使用theos注入第三方依赖库

背景 theos是一个跨平台的软件开发框架&#xff0c;常用于管理&#xff0c;开发和部署iOS项目&#xff0c;同时也是开发iOS越狱插件的主要工具。和MonkeyDev不同的是&#xff0c;它不依赖于xcode&#xff0c;可以在多个操作系统上运行。一个完整的iOS越狱开发流程包括&#xf…...

JavaScript 原型

JavaScript 的原型&#xff08;Prototype&#xff09;是其面向对象编程模型的核心概念之一&#xff0c;它决定了对象如何继承属性和方法。通过理解 JavaScript 的原型&#xff0c;你可以更好地理解对象之间的关系以及如何扩展对象功能。 核心概念 [[Prototype]]&#xff08;内部…...

力扣 LeetCode 20. 有效的括号(Day5:栈与队列)

解题思路&#xff1a; 使用栈 只有三种情况 1. ( [ { } ] ( ( 左括号多了 -> 最后栈中经过抵消会剩下括号 2. [ { ( ] } ] 括号不匹配 -> return false 3. [ { } ] ( ) ) ) 右括号多了 -> 未遍历完时&#xff0c;栈提前为空&#xff0c;…...

git使用及上线流程(仅为我工作中常用)

推荐软件或者直接终端 ⚠️注意&#xff1a;在确保远程和本地分支都可使用的情况下 git常见使用命令 ls---查看所有目录 pwd---本机密码 cd 目录名---进入目录 Touch ---创建文本文件 git status---查看状态 git branch---查看分支 git pull---拉取远程最新代码 git checkou…...

3天刷完2026最新Java高频面试题(1000 道附答案解析)

2026年金三银四一半儿快要过去了&#xff0c;总结了上半年各类 Java 面试题&#xff0c;初中级和中高级都有&#xff0c;包括 Java 基础&#xff0c;JVM 知识面试题库&#xff0c;开源框架面试题库&#xff0c;操作系统面试题库&#xff0c;多线程面试题库&#xff0c;Tcp 面试…...

智能电商客服中台系统实战:高并发场景下的架构设计与性能优化

背景痛点&#xff1a;大促下的客服系统之困 每年双十一、618这类电商大促&#xff0c;对技术团队来说都是一场“大考”。作为直接面对海量用户的客服系统&#xff0c;更是压力山大。我经历过几次大促保障&#xff0c;发现客服系统在峰值流量下&#xff0c;通常会暴露出几个典型…...

2026年高性价比个人网盘盘点:告别“空间焦虑”,谁才是真正的效率神器?

在预算有限的情况下寻找个人网盘&#xff0c;大多数人的第一反应是打开计算器&#xff0c;算出“每 GB 只要几分钱”。但作为一个在存储行业摸爬滚打多年的老兵&#xff0c;我要告诉你一个反直觉的事实&#xff1a;对于 90% 的办公族和学生来说&#xff0c;网盘的“空间大小”是…...

OpenClaw批量处理妙用:Qwen3.5-9B同时校对100篇Markdown格式

OpenClaw批量处理妙用&#xff1a;Qwen3.5-9B同时校对100篇Markdown格式 1. 为什么需要批量Markdown校对 作为技术文档写作者&#xff0c;我经常需要处理大量Markdown文件。最让我头疼的问题不是内容创作&#xff0c;而是格式规范——标题层级错乱、中英文混排空格缺失、列表…...

YOLOv8鹰眼检测效果展示:看AI如何从复杂场景中找出所有目标

YOLOv8鹰眼检测效果展示&#xff1a;看AI如何从复杂场景中找出所有目标 1. 引言&#xff1a;当AI拥有“鹰眼” 想象一下&#xff0c;在一张熙熙攘攘的街景照片里&#xff0c;你能一眼就数清有多少行人、多少车辆、多少交通标志吗&#xff1f;或者&#xff0c;在一张布满微小电…...

vLLM推理服务搭建指南:从环境配置到模型上线,一步不漏

vLLM推理服务搭建指南&#xff1a;从环境配置到模型上线&#xff0c;一步不漏 1. vLLM框架简介 vLLM是一个专为大型语言模型(LLM)设计的高性能推理和服务库&#xff0c;以其出色的吞吐量和易用性在AI社区广受欢迎。这个最初由加州大学伯克利分校开发的框架&#xff0c;如今已…...

从马达驱动到手机快充:聊聊电荷泵(Charge Pump)这个‘老古董’技术是怎么翻红的

从马达驱动到手机快充&#xff1a;电荷泵技术的跨时代复兴 在电子工程领域&#xff0c;很少有技术能像电荷泵这样经历如此戏剧性的复兴。这个诞生于上世纪70年代的电路设计&#xff0c;最初只是工程师工具箱里一个不起眼的模块&#xff0c;如今却成为智能手机快充、OLED显示驱动…...

2026知网AIGC检测算法升级,降AI率工具还能有效降论文ai率吗?

2026知网AIGC检测算法升级&#xff0c;降AI率工具还能有效降论文ai率吗&#xff1f; 每到毕业季&#xff0c;关于知网AIGC检测的消息都会在各大高校论坛炸开锅。2026年春季学期刚开始&#xff0c;知网就放出了一个让无数毕业生心头一紧的消息——AIGC检测算法完成了新一轮升级。…...

从八股到实战!3月25日Python高并发面试,TaskGroup+JIT双杀通关

面试官推了推眼镜&#xff0c;盯着你的简历&#xff1a;“说说Python高并发吧&#xff0c;asyncio用过吗&#xff1f;” 你心里冷笑一声。这要是搁三年前&#xff0c;你肯定开始背诵&#xff1a;"asyncio是Python的异步IO库&#xff0c;使用事件循环机制&#xff0c;通过a…...

效率翻倍:用快马平台将你的效率工具idea一键生成

最近工作总是被各种琐事打断&#xff0c;效率直线下降。作为一个经常需要同时处理多个项目的开发者&#xff0c;我特别需要一个能结合待办事项和番茄工作法的工具。传统的待办清单缺少时间管理&#xff0c;而单独的番茄钟应用又没法直观关联具体任务。于是决定自己动手开发一个…...