全部安全开发新闻数码摄影汽车北京AIIT其他
  • 文章封面

    Rust 1.97 修复了 pin!() 的一个隐蔽未定义行为:Deref 强制转换如何绕过 Pin 的保证

    作者:Rust开发笔记发布日期:2026-07-10 08:10:30

    Rust 1.97 在 7 月 9 日发布,从变更列表看,有个修复很容易被当成细节改动一带而过:阻止 pin!() 宏中的 Deref 强制转换(PR #153457)。但这个"细节"实际上修复了一个

    阅读全文
  • 文章封面

    Cargo 的 build.warnings 配置稳定了:一个更好的方式管理编译警告

    作者:Rust开发笔记发布日期:2026-07-09 09:07:38

    在 Rust 项目的 CI 配置里,RUSTFLAGS="-D warnings" 几乎成了标配。它的逻辑很直接:把警告当成错误,确保代码库保持干净。但这个用法其实是 hack,不是 Cargo 设计

    阅读全文
  • 文章封面

    Rust 符号命名的 v0 时代已来:从调试兼容到工具链适配

    作者:Rust开发笔记发布日期:2026-07-08 08:25:35

    Rust 1.97.0 在 7 月 9 日正式发布,其中一个变更值得每个 Rust 开发者停下来看一眼:v0 符号命名方案已经成为唯一的默认选项,旧版命名被彻底移除。这个变化不像新语法特性那样显眼,但

    阅读全文
  • 文章封面

    Rust LLM 工具调用的类型安全路径:从手写 Schema 到 derive macro

    作者:Rust开发笔记发布日期:2026-07-07 10:59:50

    当开发者想让 LLM 调用外部工具时,需要向模型提供工具的定义——通常是一份 JSON Schema,描述函数的名称、参数类型和约束。这个过程在 Python 生态中有成熟的方案:Pydantic 模

    阅读全文
  • 文章封面

    Rust 结构体默认字段值:告别冗余的 Default 实现

    作者:Rust开发笔记发布日期:2026-07-06 17:20:08

    如果你写过中等规模的 Rust 项目,一定见过这样的代码:一个结构体有七八个字段,其中大部分可以用 Default::default() 初始化,但总有一两个字段需要特定的初始值。于是要么写一个手动的

    阅读全文
  • 文章封面

    当 cfg!() 遇上宏变量:Rust 宏编程的关键改进

    作者:Rust开发笔记发布日期:2026-07-05 14:50:31

    在 Rust 1.96.0 的更新列表中,有一项改动看起来不起眼,却触及了 Rust 宏系统与条件编译机制之间一个长期存在的缝隙:**允许将 expr 元变量传递给 cfg!()**。如果你写过复杂的

    阅读全文
  • 文章封面

    Rust 的 Range 类型终于可以 Copy 了:core::range 模块的价值

    作者:Rust开发笔记发布日期:2026-07-04 13:30:09

    如果你写过 Rust,大概率遇到过这样一个场景:定义一个结构体来存储区间信息,结构体想实现 Copy,但 Range<usize> 却不是 Copy 的。#[derive(Clone, Copy)]s

    阅读全文
  • 文章封面

    MIR 优化中的无声陷阱:Rust 编译器一次编译错误的修复记录

    作者:Rust开发笔记发布日期:2026-07-03 17:58:09

    2026 年 6 月 30 日,Rust 团队发布了 1.96.1 点版本。这个版本同时修复了三个层面的问题:libssh2 的安全漏洞、Cargo HTTP 客户端的可靠性缺陷,以及一个 MIR 优

    阅读全文
  • 文章封面

    extern "tail" 进入 Rust nightly:当函数调用不再消耗栈空间

    作者:Rust开发笔记发布日期:2026-06-16 08:10:09

    任何一个写过递归算法的开发者,都曾被栈溢出困扰过。编译器承诺会做尾调用优化(Tail Call Optimization, TCO),但它的实现从来不是一项保证——优化器今天做、明天可能不做,换个架构

    阅读全文
  • 文章封面

    Miri 打通 FFI 检测:Rust 不安全代码的最后一块测试拼图

    作者:Rust开发笔记发布日期:2026-06-15 17:21:10

    如果你是 Rust 开发者,大概率在 CI 里见过这行命令:cargo +nightly miri test。Miri,Rust 的 MIR 解释器,能在不真正编译运行的情况下模拟执行代码,检测各式各

    阅读全文
  • 文章封面

    Rust 的 comptime 落地了:编译期函数执行与类型反射进入新阶段

    作者:Rust开发笔记发布日期:2026-06-12 08:22:47

    上周,一个标记为"非常基础"的 PR 合入了 Rust 主线:Add very basic "comptime" fn implementation。这行提交信息的背后,是 Rust 编译器团队已经推

    阅读全文
  • 文章封面

    Grit:当 AI Agent 用 Rust 把 Git 重写了一遍

    作者:Rust开发笔记发布日期:2026-06-10 08:11:22

    Git 的底层实现一直是个「只可远观」的庞然大物——二十年间由上千名贡献者以 C 语言渐进式堆叠而成,测试套件超过 42000 项。现在,有人用 Rust 把它从零重写了一遍,而且整个过程大部分由 A

    阅读全文
  • 文章封面

    Vec::from_fn:从函数构建集合的模式,Rust 终于给了原生答案

    作者:Rust开发笔记发布日期:2026-06-09 08:11:03

    创建 Vec 的方式有很多种:vec![] 宏、从迭代器 collect、反复 push。但有一个场景,长期以来只能用拼凑的方式解决——生成一个固定长度的 Vec,其中每个元素由下标决定。现在,Vec

    阅读全文
  • 文章封面

    docs.rs 默认构建目标缩减:一个影响每个 Rust crate 维护者的基础设施变化

    作者:Rust开发笔记发布日期:2026-06-08 08:22:53

    如果你在 crates.io 上发布过 Rust crate,那么你的文档很可能托管在 docs.rs 上。2026 年 5 月起,docs.rs 调整了一项持续多年的默认行为——从为 5 个目标平台

    阅读全文
  • 文章封面

    当 AI 学会挖漏洞:内存安全的紧迫性正在被重新定义

    作者:Rust开发笔记发布日期:2026-06-07 08:23:09

    如果你维护过一个 Rust 项目,大概率被问过这样一个问题:"Rust 的所有权系统真的值得学吗?用 C 加 Sanitizer 不也一样?"在过去的十年里,这个问题的答案一直停留在"更安全"和"足够

    阅读全文
  • 文章封面

    gRPC-Rust 路线图:从客户端预览到生产就绪的最后一公里

    作者:Rust开发笔记发布日期:2026-06-06 20:08:48

    2026 年 6 月 2 日,gRPC 官方团队发布了 gRPC-Rust 的正式路线图,明确了从客户端预览走向生产就绪的关键节点。这是继 5 月 Tonic 正式加入 CNCF gRPC 项目之后,

    阅读全文
  • 文章封面

    Rust 项目的多仓库同步方案:从 git subtree 到 Josh

    作者:Rust开发笔记发布日期:2026-06-05 08:38:29

    维护一个像 Rust 编译器这样的大型项目,一个经常被低估的挑战是:如何管理那些依赖编译器内部 API、但又独立发展的子项目。Miri(未定义行为检测工具)、rust-analyzer(语言服务器)、

    阅读全文
  • 文章封面

    Rust HTTP 生态的数据快照:从 hyper 用户调查看服务端编程的成熟化之路

    作者:Rust开发笔记发布日期:2026-06-04 08:11:22

    hyper 是 Rust HTTP 生态中承上启下的核心层:上层是 Axum、reqwest、Tower 这些开发者直接接触的框架与工具,下层是 Tokio 这类异步运行时。理解了 hyper 的用户

    阅读全文
  • 文章封面

    zstd 的纯 Rust 实现来了:Trifecta 的压缩库三部曲收官

    作者:Rust开发笔记发布日期:2026-06-03 08:13:01

    如果你在过去一年关注过 Rust 生态中的"系统库重写"趋势,大概率知道 Trifecta Tech Foundation 的名字。这个非营利组织先后用 Rust 重写了 zlib(zlib-rs)和

    阅读全文
  • 文章封面

    rust-analyzer 正在成为更敏锐的「编译期前哨」

    作者:Rust开发笔记发布日期:2026-06-02 08:16:02

    写 Rust 代码时,你从什么时候开始知道自己的代码有问题的?是在 cargo check 的输出里,还是在 IDE 的红色波浪线出现的瞬间?这两个时间点的差距,就是 rust-analyzer 和

    阅读全文
  • 文章封面

    Rust 标准库的 Copy 化进程:从 Range 到核心类型的零成本可复制

    作者:Rust开发笔记发布日期:2026-06-01 08:14:23

    Rust 的 Copy trait 是一个看似简单但影响深远的标记——它意味着一个类型的值可以通过简单的内存复制来传递,而无需调用 clone 或考虑所有权转移。过去几年里,标准库中一个不太起眼但持续

    阅读全文
  • 文章封面

    从 2025 年度调查看 Rust 社区的 AI 拐点

    作者:Rust开发笔记发布日期:2026-05-31 08:13:55

    Rust 社区的年度调查已经走到了第十个年头。2025 年末的这次调查收集了七千多份有效回复,数字本身或许不算惊艳,但当这些数据折射出开发者行为的变化——尤其是 AI 工具对学习方式、编码习惯乃至工具

    阅读全文
  • 文章封面

    Rust 的 Niche 优化:Option 的零开销抽象是如何炼成的

    作者:Rust开发笔记发布日期:2026-05-30 08:16:18

    每个 Rust 开发者都知道 Option<&T> 的大小和 &T 完全一样——一个指针大小,没有任何额外字节。但如果你深究一下:None 不需要存储任何数据,而 Some(&x) 需要一个指针,编译

    阅读全文
  • 文章封面

    Rust 编译器把最低 LLVM 版本升到 21 了

    作者:Rust开发笔记发布日期:2026-05-29 08:09:05

    翻开 Rust 1.96 的发布说明,兼容性部分有一行不起眼的条目:最低外部 LLVM 版本提升到 21。对于大多数用 rustup 安装 Rust 的开发者来说,这行字甚至不会出现在他们的编译流程里

    阅读全文
  • 文章封面

    NonZero 类型终于能迭代了:Rust 1.96 的零成本抽象完整性补全

    作者:Rust开发笔记发布日期:2026-05-28 08:14:10

    在 Rust 的类型系统中,NonZero 是一类特殊的存在。它们存在的唯一理由就是性能——通过 niche 优化让 Option<NonZero<u32>> 和 u32 自身占据相同的内存空间。但长

    阅读全文
  • 文章封面

    Rust 条件编译的宏困局:一个 expr 如何打破多年的限制

    作者:Rust开发笔记发布日期:2026-05-27 08:15:47

    Rust 的条件编译一直是这门语言最实用的设计之一。#[cfg(target_os = "linux")] 这类属性看似简单,但当它遇到 Rust 的宏系统时,一个深层矛盾长期存在:宏的片段规格(fr

    阅读全文
  • 文章封面

    Rust 生态的隐形成本:2500 亿次下载与开源可持续性之问

    作者:Rust开发笔记发布日期:2026-05-26 08:15:32

    2025 年底,crates.io 累计下载量突破 1000 亿次。这个数字本身已经是开源世界的一个里程碑。但仅仅几个月后,这个数字变成了 2500 亿。不是 1100 亿,不是 1200 亿——是

    阅读全文
  • 文章封面

    Rust 图像处理优化战记:51ms 到 8.6ms,fast_blur 的 5 倍加速之路

    作者:Rust开发笔记发布日期:2026-05-25 08:07:01

    一个调用了超过两亿次的函数,还能再快 5 倍吗?image-rs 是 Rust 生态中最基础的图像处理库,几乎任何需要读图、写图、处理像素的 Rust 项目都会间接依赖它。它的 fast_blur 方

    阅读全文
  • 文章封面

    Rust 1.96 前瞻:文档工具链、Cargo 诊断与多项标准库改进

    作者:Rust开发笔记发布日期:2026-05-24 08:12:36

    Rust 1.95 于 4 月中旬发布后,下一个稳定版 1.96 预计在 5 月底与开发者见面。这个版本虽然没有颠覆性的语法大改,但在工具链、文档生成和标准库能力上有多项值得关注的改进。与此同时,Ru

    阅读全文
  • 文章封面

    Toasty 0.6.0 发布:Tokio 团队的异步 ORM 如何重塑 Rust 数据访问

    作者:Rust开发笔记发布日期:2026-05-23 08:17:07

    Rust 的 ORM 生态一直处在一个尴尬的位置。Diesel 功能强大但同步且学习曲线陡峭,SeaORM 覆盖了异步场景但构建偏重,SQLx 灵活但不是完整的 ORM。开发者经常面临一个选择:要么忍

    阅读全文
下一页