Rust Project 宣布首批 Maintainers in Residence
Rust 官方博客公布 Maintainers in Residence(MiR)计划首批入选者,将为 rust-lang 相关维护工作提供至少 12 个月资助。首批为:Gen Li(@rami3l,全职,聚焦 Rustup)、Chris Denton(@ChrisDenton,半职,标准库/编译器/Rustup 与 Windows)、Alejandra González(@blyxyas,半职,Clippy)、León Liehr(@fmease,半职,rustdoc 与编译器),以及 Maintainer Grant 获得者 Jason Newcomb(@Jarcho)与 Jonas Böttiger(@joboet)。
该计划由 RFC 3931 确立,资金来自 Rust Foundation Maintainers Fund。赞助方包括 Google、AWS、OpenAI、Rust Project Leadership Council 及个人赞助者。档位分为全职 MiR(约每周 5 天)、半职 MiR(约每周 2.5 天)与 Maintainer Grant(约每周 1 天)。基金会新闻稿称本轮向关键基础设施维护投入约 35 万美元。Funding 团队按团队维护基线与缺口优先覆盖 rustdoc、rustup、cargo、compiler、libs、clippy 等方向,并表示后续还会继续扩招。
原文链接:https://blog.rust-lang.org/2026/08/26/announcing-our-first-maintainers-in-residence/
tellus:把 Actor 做成无 &mut self 的状态机
tellus 是 Heiko Seeberger 基于 Tokio 实现的 Rust actor 框架。系列文第二篇说明其核心建模:actor 是状态机,而不是带可变字段的对象。
实现 Actor 时使用三个关联类型:Message、State、Error。可变数据放在 State 中在消息间传递;actor 值本身可以是 unit struct。init 生成初始状态,receive 接收当前状态与 Incoming(普通消息或 watched actor 的 Terminated),返回 Control::Continue(next_state) 或 Control::Stop。状态按值传入,可直接 move 修改再组装下一状态,无需 &mut self 或内部可变性。纯 supervisor 等无消息 actor 可用不可栖居类型 Nothing 作为 Message。
原文链接:https://heikoseeberger.de/2026-08-26-tellus-2/
用 bpftrace 验证 SQLx 语句缓存
《Proving SQLx’s Statement Cache with bpftrace》介绍 SQLx 在 PostgreSQL 上的 statement cache:默认开启,每个连接按 SQL 文本做 LRU,容量默认约 100,可通过 statement_cache_capacity 配置。
作者用单连接实验,配合 RUSTFLAGS="-C symbol-mangling-version=v0" 与 bpftrace,对 get_or_prepare / prepare 以及 socket sendto 做探针。Postgres 前端消息首字节 P(Parse)与 B(Bind)用来区分 cache miss 与 hit;SQL 文本变化(例如不同长度的 IN 列表)会形成不同缓存键。文中给出可复现实验与探针脚本。
原文链接:https://flakm.com/posts/sqlx_caches_til/
build-rs-gacha:把 crates.io 的 build.rs 做成扭蛋式调研
build-rs-gacha 是在 arrayref 供应链事件背景下启动的调研工具。作者用 get-all-crates 汇总 crates.io 上带 build.rs 的包版本,整理为 package/version 目录树,并打成约 700MB、便于随机读取的 zip。
仓库提供交互式“扭蛋”界面随机抽看真实 build.rs,用于观察生态中的 build 脚本模式,并讨论如何提升可审计性、减少不必要 build.rs,以及给 Cargo 更多设计关注。数据文件可从作者提供的下载地址获取。
原文链接:https://github.com/guineawheek/build-rs-gacha
--
From Rust中文社区 Mike
社区学习交流平台订阅:
评论区
写评论还没有评论