Rust 日报 · 2026-07-29
今日速览
Kata Containers 把默认运行时全切到 Rust,Go 运行时直接标为弃用。Bun 那场号称用 Rust 重写的事,合并进主分支快两个月了还没发布新版本,有分析算了笔账:$165,000 的 API 开销、1.23GB 的仓库,远没宣传中轻巧。JetBrains 的博客把 C/C++ 到 Rust 的增量迁移拆得很细,适合正在动工的人。社区项目这边,SteelMC 拿 Rust 写的 Minecraft 服务端区块生成速度干到了原版的 18.8 倍,OMQ.rs 用纯 Rust 复现了完整的 ZeroMQ。
重要新闻
-
Kata Containers 4.0 发布:平台级切到 Rust
Kata Containers 4.0 的默认运行时已完全用 Rust 重写,旧的 Go 运行时被弃用,将在 5.0 里移除。新运行时覆盖 x86_64、ARM aarch64 和 IBM s390x,内置了一个叫 Dragonball 的轻量级 Rust 虚拟机管理程序,和 QEMU、Cloud Hypervisor 并列可选。目标还是那件事——提升容器内虚拟机隔离的安全性和资源利用率。 -
Bun 的 Rust 重写进行到哪了?
合并进主分支已经六周,至今没打新标签,上次发版还在 5 月 12 号。仓库克隆下来 1.23GB,宣称的 15,000,普通维护者根本扛不住。文章觉得这更像一场围绕 AI 编码能力的公关,当前这状态很难叫“已完成”。 -
怎么把 C/C++ 项目迁到 Rust?
JetBrains RustRover 团队跟 Luca Palmieri 的直播内容整理:真实项目里最稳的路线不是全量重写,而是从独立模块开始增量迁移,让 Rust 嵌进现有的构建和发布流程,再逐步扩大范围。文末附了 Mainmatter 的《C to Rust Migration》和《100 Exercises To Learn Rust》课程链接。
版本与更新
-
新 RFC:为 Wasm 目标引入 externref 语言项
打算新增core::arch::wasm32::externref类型,一个不透明、不可伪造的 WebAssembly 宿主引用,语义对齐 Clang 的__externref_t。这个类型只能做函数参数、返回值、局部绑定的顶层类型,在类型检查阶段就直接卡住。 -
rust-analyzer 更新日志 #338
v0.3.2989 支持了 HRTB 降级、结构体模式缺字段的诊断、未实现 trait 的义务链展示。性能上把hir::Expr从 56 字节压到 48 字节,修了一堆崩溃:泛型参数处理、宏定义结构体里加未知字段、merge_imports在无效路径下的 panic 等。
项目与工具
-
SteelMC:区块生成速度是原版 18.8 倍的 Rust Minecraft 服务端
2025 年 10 月开写,现在跟 Minecraft 26.2 版本的方块地形完全一致,7500 个随机区块能通过奇偶校验。支持持久化世界、多人连接、方块和物品栏交互。生存模式玩法还没做完,也没有插件系统。 -
OMQ.rs:纯 Rust 实现的 ZeroMQ,接口贴近 libzmq
完全用 Rust 重写了 ZeroMQ 的套接字模型,connect/bind/send/recv 接口不变,支持 connect-before-bind 和自动重连。作者之前用 Ruby 做过类似实验,这次用 Rust 更细粒度地控制队列、解析和传输。 -
PidgeIoT:端到端 Rust 开源物联网平台
AGPL-3.0 协议,Cloudflare Workers(workers-rs)做后端,Dioxus 做前端。提供设备供应、配置推送、遥测历史查询、邮件告警和 OTA 固件升级。设备端库用 C/Zephyr RTOS,云端全部 Rust。 -
Tock:安全的嵌入式操作系统
专为低功耗、低内存微控制器设计,能同时跑多个互不信任的应用,适用于传感器网络、安全器件和可穿戴设备。Tock 靠 Rust 的类型系统保证驱动或内核扩展即便崩溃也不会泄漏机密数据。 -
multicalc:面向实时嵌入式系统的 no_std 科学计算库
在无标准库、无堆分配、无恐慌、无 unsafe 的稳定版 Rust 里集成了估计、控制、运动学、李群、微积分、自动微分和线性代数。演示用了一个 2000 粒子的滤波器,在噪点激光雷达上做 2D 机器人定位。 -
Taetype-WASM:纯 Rust 浏览器字体引擎
把内存安全的字体引擎编译到 WebAssembly,支持 TTF、OTF、TTC 解码、可变字体实例化、子集化和 CPU 光栅化,复杂文本整形通过 rustybuzz 完成。所有事情都在浏览器本地做完,不碰服务端。 -
Rogg:用 Rust 写的 BGP 协议栈
在 DN42 上以 AS4242423930 运行的实际 BGP 发言器。带 gRPC API 和专用 shell 工具 ggsh,能输出 Prometheus、CloudWatch 等原生指标,支持配置提交与回滚。 -
Gitwig:Rust 开发的 Git TUI 及多仓库仪表板
用 Ratatui 构建,键盘驱动分支、工作树和暂存区管理,提供全局代码搜索、会话统计和 52 周活动热力图。 -
uncurses:框架无关的终端 UI 库
提供逐单元格绘制和输入的底层控制,自带只重绘变更区域的 diff 渲染器,支持真彩色、超链接和全屏/内联模式混合。不靠 terminfo 数据库,直接询问终端能力,保证 Linux、macOS、Windows 上一致运行。 -
MindSafe:本地优先的知识库
基于 Tauri 和 React 的 Markdown 笔记应用,数据完全本地加密存储,没有云服务、没有账户、没有遥测。作者正在考虑开源。 -
Purple Hammer:建筑量算与估算工具
基于 Tauri 2、Rust 和 SolidJS,自定义渲染和电子表格引擎编译到 WASM。能在 PDF 图纸上测量工程量,直接关联数据库和公式出报价。
值得一读
-
工作窃取 vs 每线程执行器:在不同 HTTP 服务器负载下评估
测试了 tokio(工作窃取/每线程执行器)、smol 和基于 io_uring 的 glommio,覆盖 90 种不同负载。给异步运行时选型提供了量化的参考。 -
从零实现 Rust 内存 Arena
一步步讲怎么在 Rust 里实现 Arena 分配器,包括传统 Arena 为什么和所有权模型冲突、怎么用向量模拟简单实现,以及这类结构在数据库和脚本语言里降低分配开销的原理。 -
安全世界中的不安全(博客版)
RustConf 2024 演讲的文字版。里面提到 Fuchsia OS 的 Rust 网络栈 Netstack3 已部署在数百万台设备上,单机每日崩溃率比前任降了大约 20 倍,内存占用减少 50%。 -
为什么 Lean 比 Rust 更快?
对比了纯 Rust 的 miniz_oxide 和经过形式化验证的 Lean-Zip DEFLATE 实现。验证加持下允许 AI 自主优化代码,Lean-Zip 在压缩比和吞吐量的帕累托前沿上明显优于 Rust 版本。 -
我先用 Rust 加速 Json2xml,又用 C 重写了
不是在争语言好坏,而是解释两种产品定位的不同:Python 包里的 Rust 扩展适合保留原有 API,独立的 C 实现目标是零依赖的单二进制 CLI 和嵌入式库。基准测试里 C 版本的全流程解析加序列化比 Python/Rust 路径更快。 -
建议为数字类型文档补充数值范围 — 社区提议在 std 文档里给 u8、i32 这类类型直接标出可表示的数值区间,比如 u16 注明“0 到 65,535”,方便新手在悬停提示里看。