【Rust日报】2026-08-27 首批 Maintainers in Residence 公布
内容提要
Rust项目宣布首批“维护者驻留”计划入选者,为关键基础设施维护提供资助,涵盖Rustup、标准库、Clippy等方向。同时介绍tellus框架的actor状态机设计、用bpftrace验证SQLx语句缓存的方法,以及build-rs-gacha工具用于调研crates.io上的build.rs脚本模式。
延伸解读
MiR计划的意义与资助规模
Rust基金会通过MiR计划为关键基础设施维护提供至少12个月资助,本轮投入约35万美元。首批入选者覆盖Rustup、标准库、Clippy、rustdoc等方向,档位分为全职、半职和Maintainer Grant。这一举措旨在缓解维护者压力,确保核心工具链的持续发展。赞助方包括Google、AWS、OpenAI等,显示行业对Rust生态的重视。
tellus的actor设计理念
tellus框架将actor建模为状态机,而非带可变字段的对象。通过关联类型Message、State、Error,将可变数据放在State中按值传递,避免使用&mut self或内部可变性。这种设计简化了并发安全,使状态转换更显式。对于无消息的actor,可使用Nothing类型作为Message,体现了类型系统在框架设计中的灵活运用。
SQLx缓存验证方法
文章展示了如何用bpftrace验证SQLx的statement cache行为。通过探针监控prepare和sendto,并利用Postgres协议首字节区分cache miss与hit。实验表明,SQL文本变化(如IN列表长度)会影响缓存键。这种方法为开发者提供了可复现的调试手段,有助于理解数据库驱动缓存机制的实际运行。
build.rs生态调研工具
build-rs-gacha在arrayref供应链事件背景下启动,旨在调研crates.io上build.rs脚本的常见模式。工具将约700MB的数据打包成zip,提供交互式界面随机抽看真实脚本。这有助于社区评估构建脚本的可审计性,并推动Cargo在设计上减少不必要的build.rs使用,提升供应链安全。
Q&A
Rust 的 Maintainers in Residence 计划是什么?首批入选者有哪些?
Maintainers in Residence(MiR)是 Rust 官方为关键基础设施维护者提供至少 12 个月资助的计划。首批入选者包括:Gen Li(全职,负责 Rustup)、Chris Denton(半职,负责标准库/编译器/Rustup 与 Windows)、Alejandra González(半职,负责 Clippy)、León Liehr(半职,负责 rustdoc 与编译器),以及 Maintainer Grant 获得者 Jason Newcomb 和 Jonas Böttiger。
Maintainers in Residence 计划的资金来源和资助档位是怎样的?
该计划由 RFC 3931 确立,资金来自 Rust Foundation Maintainers Fund,赞助方包括 Google、AWS、OpenAI、Rust Project Leadership Council 及个人赞助者。资助档位分为全职 MiR(约每周 5 天)、半职 MiR(约每周 2.5 天)和 Maintainer Grant(约每周 1 天)。本轮投入约 35 万美元。
tellus 框架的核心建模思想是什么?
tellus 是一个基于 Tokio 的 Rust actor 框架,其核心建模思想是:actor 是状态机,而不是带可变字段的对象。实现 Actor 时使用三个关联类型:Message、State、Error。可变数据放在 State 中在消息间传递,actor 值本身可以是 unit struct。状态按值传入,可直接 move 修改再组装下一状态,无需 &mut self 或内部可变性。
如何用 bpftrace 验证 SQLx 的语句缓存?
作者使用单连接实验,配合 RUSTFLAGS="-C symbol-mangling-version=v0" 与 bpftrace,对 get_or_prepare / prepare 以及 socket sendto 做探针。通过观察 Postgres 前端消息首字节 P(Parse)与 B(Bind)来区分 cache miss 与 hit。SQL 文本变化会形成不同缓存键。文中提供了可复现实验与探针脚本。
SQLx 的 statement cache 默认配置是怎样的?
SQLx 在 PostgreSQL 上的 statement cache 默认开启,每个连接按 SQL 文本进行 LRU 缓存,容量默认约 100,可通过 statement_cache_capacity 配置。
build-rs-gacha 工具是做什么的?
build-rs-gacha 是一个调研工具,用于观察 crates.io 上真实 build.rs 脚本的模式。它汇总了 crates.io 上带 build.rs 的包版本,整理为 package/version 目录树,并打成约 700MB 的 zip 文件。提供交互式“扭蛋”界面随机抽看真实 build.rs,以讨论如何提升可审计性、减少不必要 build.rs,以及给 Cargo 更多设计关注。