Rust 借用检查器被爆 11 年漏洞:协变字段赋值绕过生命周期约束,类型系统的承诺还剩多少
10 月 13 日,rust-lang/rust 仓库挂出一个编号 #164250 的 issue:安全代码可以绕过结构体上的生命周期约束,把一个活不满 'static 的引用塞进声明了 T: 'static 的字段里。漏洞标签 I-unsound,优先级 P-high,从 2015 年的 Rust 1.4 起就能编译通过。类型组成员 lcnr 在置顶说明里…
10 月 13 日,rust-lang/rust 仓库挂出一个编号 #164250 的 issue:安全代码可以绕过结构体上的生命周期约束,把一个活不满 'static 的引用塞进声明了 T: 'static 的字段里。漏洞标签 I-unsound,优先级 P-high,从 2015 年的 Rust 1.4 起就能编译通过。类型组成员 lcnr 在置顶说明里…
图像格式的迭代向来缓慢:JPEG 诞生于 1992 年,PNG 在 1996 年定型,此后近三十年里,浏览器处理照片的主力格式没有发生过根本变化。WebP 在 2010 年代完成了第一次替换,AVIF 在 2021 年进入 Firefox 和 Chrome,而 JPEG XL 的命运则走出了一条罕见的 U 型曲线:2022 年 10 月被 Google 从…
构建一个大型 C++ 项目时,编译阶段可以摊到几十个核上并行跑,唯独最后一步例外:所有目标文件汇到链接器里,由单个进程解析符号、处理重定位、排出最终的二进制。Firefox 的 debug 构建重新链接一次,GNU ld 要跑 92.865 秒,而这段时间里大多数 CPU 核心处于空闲状态。 10 月 5 日发布的 mold 3.0 把这个环节的耗时压到 0…
rustc 官方基准:2026-07-29 至 2026-09-28,629 项基准测试中 555 项编译耗时下降 10 月 1 日,Hacker News 上有一篇帖子爬到了首页:Nicholas Nethercote 的月度总结《How to speed up the Rust compiler in September 2026》。文章覆盖的是 202…
2026 年 8 月 24 日,rust-lang/rust 仓库的 PR #155499 完成合并,标题只有三个词:stabilize never type。这个 PR 把 Rust 的 never type(写成感叹号 !)正式推进稳定通道,同时关闭了两条跟踪了十年的 issue:#35121(2016 年 7 月开立,「promoting ! to a…
AI 爬虫的算力在指数级膨胀,防爬的一方却要照顾一部 2019 年的中端手机。Anubis 给出的答案是:把工作量证明挑战编译成 WebAssembly,换用对内存敏感的 argon2id 哈希,让同一个二进制同时跑在浏览器和服务器上。这条路作者走了一年,途中遇到职业生涯第一个编译器 bug,最终随 Anubis v1.28.0 以默认关闭的方式发布。 ![…
Cloudflare 在 8 月下旬发布的这篇工程博客,主角是 1.1.1.1 背后的 DNS 服务平台 Big Pineapple。这个平台在任意时刻持有超过 2500 亿条 DNS 缓存条目,支撑着 1.1.1.1、Gateway DNS、DNS Firewall、AS112 等一系列服务。在这个量级上,每条缓存条目哪怕多浪费 1 个字节,全舰队加起来就…
数据库圈有一条不成文的分工:查询引擎的执行层要么逐行解释执行,要么把查询表达式交给 LLVM 或先生成 C 代码再调用系统编译器。2026 年 4 月出现在 GitHub 上的开源项目 pgrust 选择了第三条路,作者 malisper 为这套 Rust 重写的 PostgreSQL 自研了一个 JIT 编译器,编译一条查询只要约 5 微秒,快到可以对每一…