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

    MIR 层的 move 语义正在被重写:Rust 编译器性能优化的下一站

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

    如果你写过 Rust,应该对 move 语义不陌生。把一个非 Copy 类型的值赋给另一个变量,原来的变量就不再可用——这是 Rust 所有权模型的基础规则。但你可能没想过,编译器在底层处理 move

    阅读全文
  • 文章封面

    Rust 编译器正在把新一代 trait solver 默认打开

    作者:Rust开发笔记发布日期:2026-07-19 08:13:02

    Rust 的类型系统一直以"严格但可靠"著称,但如果你写过复杂的泛型代码,多半遇到过 trait 解析失败时编译器给出一段让人摸不着头脑的错误信息,或者明明语义上应该能通过的代码,编译器却拒绝接受。这

    阅读全文
  • 文章封面

    Bun 为什么要从 Zig 换成 Rust:535,000 行代码迁移的工程复盘

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

    Bun 这个 JavaScript 运行时过去一直用 Zig 写。今年 7 月,他们宣布完成了整个代码库向 Rust 的迁移——535,000 行 Zig 代码、1,448 个 .zig 文件全部转为

    阅读全文
  • 文章封面

    一个潜伏十五个月的 LLVM 误优化,Rust 1.97.1 修复了什么

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

    你的 Rust 项目升级了编译器版本,一切看起来正常——debug 模式跑测试全部通过,CI 全绿。但你隐约觉得 release 构建的行为有点不对劲:某个循环少跑了几次,或者某些条件分支没有被执行。

    阅读全文
  • 文章封面

    Rust 1.95 的 match 终于能直接用 if let 守卫了

    作者:Rust开发笔记发布日期:2026-07-16 08:16:59

    在 Rust 里写模式匹配,你大概率碰到过这个场景:需要根据某个条件进一步筛选 match 里的一个分支。一直以来 match 的 guard 只接受布尔表达式,所以想对绑定值做额外的模式匹配,只能手

    阅读全文
  • 文章封面

    后量子时代,你的 Rust TLS 服务准备好了吗

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

    除非过去半年完全没关注密码学新闻,不然你应该已经注意到:NIST 在 2024 年定下来的三个后量子密码标准(ML-KEM、ML-DSA、SLH-DSA),正在从纸面规格变成真实的生产流量。2026

    阅读全文
  • 文章封面

    crates.io 的源码浏览功能做好了,但它背后的存储方案才更值得聊

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

    ❝crates.io 最近上线了 crate 源码在线浏览功能——每个包页面多了一个"Code"标签,点进去就能看到完整文件树、语法高亮代码,甚至支持 #L10-L20 这种行号链接。这个功能本身很有

    阅读全文
  • 文章封面

    `#[my_macro] mod foo;` —— Rust proc macro 补齐最后一块拼图

    作者:Rust开发笔记发布日期:2026-07-13 08:19:08

    如果你写过 Rust 的 attribute proc macro,可能碰到过一个有点反直觉的限制:一个声明为 #[proc_macro_attribute] 的宏,在没有参数的情况下,无法直接用在

    阅读全文
  • 文章封面

    Burn 没有照搬 PyTorch 的架构——Rust 深度学习框架应该怎么做

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

    如果你的团队正在 Rust 里做 AI 推理,或者考虑在 Rust 里训练模型,第一步往往会去翻 PyTorch 能不能嵌入 Rust、ONNX Runtime 的 Rust 绑定好不好用、或者有没有

    阅读全文
  • 文章封面

    Rust 1.97 把安全检查推进到了编译之后:链接器警告、FFI 属性校验与跨 crate lint 传播

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

    Rust 1.97 在七月九号发布了。在这之前,很多开发者已经把目光放在了几个大特性上 —— dead_code_pub_in_binary lint、pin! 的 unsoundness 修复、整数

    阅读全文
  • 文章封面

    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 和

    阅读全文
下一页