Rust 筛选自 26 条资讯

Rust 日报 · 2026-08-01

All Hands 2026 回顾发出来了,166 人 5 月在 Utrecht 碰头。编译器继续快:半年里 rustc 平均 wall-time 降了 5.59%,rustdoc 砍掉 37.92%,Clippy 也明显提速。webrtc 给了 v0.20.0 正式版,新架构把协议逻辑抽出来,异步不再绑 Tokio,数据通道性能立竿见影。还有一篇讲为什么有人 fork rand 做 urandom。

官方动态

  • All Hands 2026 回顾 — 5 月,166 名 Rust 贡献者和特邀嘉宾在 Utrecht 待了几天,讨论项目方向、清阻塞、建跨团队联系,不做最终决策。RustNL 第二次操办这个活动,上一次是 2025 年,都跟 RustWeek 同期。
  • BorrowSanitizer 七月更新 — 这个 clang sanitizer 能抓跨语言别名违规。本月它复现了 Servo 里一个已知 bug,还揪出一个全新的,进展很快。
  • 2026 年 7 月 Rust 编译器速度报告 — 从去年 12 月 3 日到现在,rustc 的 mean wall-time 减了 5.59%。大头在 rustdoc,直降 37.92%。主要靠 Noah Lev 对 impl 处理的大幅精简(#159623、#159721、#159779、#159854)、Jakub Beránek 把 rustdoc 基准加进 PGO 训练集(#159091),以及排序键优化(#157179)。刨掉 rustdoc,整体仍然快了 2.90%。Clippy 提速不如 rustc-perf 上的数字显眼,但实际感受提升不小。

版本发布

  • webrtc v0.20.0 — 异步 WebRTC,基于 Sans-I/O 核心,可自选运行时 — 1 月启动重写后第一个非预发布版。新架构把协议逻辑抽进 Sans-I/O 核心 rtc 0.8.0,上层异步不再跟 Tokio 绑定,运行时自己选,数据通道性能也上来了。旧 Tokio 版 v0.17.x 进入维护模式。
  • mimalloc-pprof v3 — 基于社区 mimalloc v3 分支,加入 TCMalloc 风格的采样堆分析,输出兼容 pprof。第一次把 Windows 当一等公民。直接用 pprof -http 出火焰图,Linux、macOS、Windows 三端都可用。
  • Fory 1.5.0:容许给外部类型做序列化 — 这个序列化库现在能给改不了的第三方 struct 定义本地序列化器或 schema 声明,直接读写目标值,不用手写 wrapper 或镜像类型。
  • Keel 0.4 — 加了可选类型参数、匿名函数和高阶函数的快速脚本语言 — 用 Rust 写的静态类型解释语言,语法像 Rust,手感接近 Python。比 CPython 快 2–10 倍,跟关掉 JIT 的 LuaJIT 性能相当。v0.4 新增可选类型标注、匿名函数、高阶函数,FFI 调动态库的体验和性能都有改善,报错也更友好。

新项目 & 工具

  • Sirraya QuTub Transpiler:用 Rust 写的量子编译器 — 能把 OpenQASM 电路编译到多种硬件后端。最近重写了后端架构,从封闭枚举加散落 match 的做法改成基于 BackendSpec trait 的可扩展设计,加新硬件目标不用动已有逻辑。
  • fcmaes-rust:纯 Rust 并行黑盒优化库 — 原版 C++ fcmaes 优化器的完整 Rust 重写,不链接、不包裹、不调外部 C 代码。核心 crate 只依赖 rand、rand_pcg、rand_distr、rayon,零 unsafe,不用 CMake 或 C 编译器。内置 DE、CMA-ES(含 active CMA)、CR-FM-NES、PGPE、BiteOpt、Dual Annealing、MODE(多目标)和 MAP-Elites。
  • rust-in-peace:针对 Rust 的安全漏洞发现流水线 — 基于 Anthropic 的 defending-code-reference-harness 改造,专注真实 crate 里的几类问题:unsafe/FFI 的内存安全缺陷、不可信输入触发的 panic-DoS、反序列化信任问题、Send/Sync 与 panic 安全性导致的 soundness 漏洞。是一套“侦察→多遍种子搜索→诚实评分”的研究型循环,不替代通用 SAST。
  • Mirador:终端仪表盘 — 一个界面里塞进时钟、日历、天气、笔记、.ics 日程、RSS、行情、CPU 和网络图表。布局可自定义网格,非聚焦面板自动变暗,当前查看项保持全亮。Rust 1.95+,MIT,cargo install mirador。
  • Knok:编译期静态形状张量图编译器 — 在 build.rs 里像写普通 Rust 函数一样定义计算图,用属性标记后,构建期 Knok 以 traced tensor 值运行函数、建图,经 MLIR 降至 IREE 编译,最后产出类型安全的 Rust 包装器。后端支持 LLVM CPU 等。

深度阅读

  • 为什么分叉 rand:从 rand 到 urandom 的设计取舍 — rand 是 Rust 的默认随机库,日常操作散在不同 trait 里——某个方法是 RNG 的、切片还是迭代器的,得先知道哪个 trait 提供。作者因此 fork 出 urandom,把 uniform、choose、shuffle、sample 这类高层 API 全集中在 Random 结构体的固有方法上,编辑器补完就能看见全部,不用导任何扩展 trait。底层 RNG trait 仍然公开,但日常不用再绕。
  • 用 Typestate 模式实验 B-Tree — 通过 PhantomData<L> 和 PhantomData<S> 在 B-Tree 类型参数里标记锁状态和常规状态,状态转换时返回新类型,用类型系统约束操作的合法性。
  • Rust in Production 播客:JetBrains 谈 RustRover 与解析器测试基础设施 — 本季最后一集。JetBrains 的 Orhun Parmaksız 讲了为什么不用 Rust 重写 IntelliJ 平台、Fleet 如何用 Rust 做文件系统守护进程、RustRover 调试器中怎么用 MIR 做表达式求值、给过程宏加沙箱,以及 JetBrains 的索引模型跟 rust-analyzer 用 Salsa 的方案在工程上的实际权衡。