【Rust日报】2026-10-10 Deno 团队加入 Cloudflare

💡 原文中文,约3200字,阅读约需8分钟。
📝

内容提要

Deno团队加入Cloudflare,Deno运行时将于一年后停止开发,Deno Deploy六个月后关闭,JSR迁至Cloudflare。Zeta语言发布借用检查模型,支持&mut、不可变引用和&alias。Kalem是约30万行代码的Rust多格式编辑器,性能优异。skeptic 0.14大幅提速文档代码块测试,生成阶段从1.1秒降至2.4毫秒。

🔎

延伸解读

Deno 团队加入 Cloudflare 后的时间线与影响

根据 Deno 官方博客,Deno 团队整体加入 Cloudflare。Deno 运行时还将获得一年支持,每月发布 bug 修复和安全更新,之后团队停止开发,但项目保持开源,其他人可继续开发。Deno Deploy 将在六个月后关闭,付费客户迁移到 Cloudflare Workers 时可获得迁移支持。JSR 继续运行,基础设施迁至 Cloudflare。rusty_v8 继续维护并推进接入 workerd。后续开发集中在 Cloudflare Workers、Durable Objects 和 celld 共享

Zeta 借用检查模型的特点与限制

Zeta 语言发布了借用检查模型,已在最新编译器、LSP 和工具链管理器 zetaup 中实现。模型支持 &mut、不可变引用和 &alias 三种引用,基础规则仍是共享与可变互斥。不相交证明允许同时获取 list.get_mut(0) 和 list.get_mut(1),证明来源包括常量、循环下标、运行时守卫和算术。&alias 允许同一数据有多个可变别名,但不提供 noalias,默认不能跨线程共享。作者指出该模型很难直接贡献回 Rust,转成 Rust 或 Rust MIR 的编译器也做不到。

Kalem 编辑器的工程规模与性能表现

Kalem 是一个约 30 万行 Rust 代码的多格式编辑器,当前为 alpha 阶段。它能在同一二进制中打开 Org、Markdown、LaTeX、CSV、PDF、图片和 Excel,只保存修改部分。工程包含 24 个 crate,使用 Rust 1.96 工具链,打成一个二进制。性能方面,100 MB 纯文本在终端 135 毫秒内可交互,窗口版 430 毫秒,按键中位数 2.7 毫秒。测试覆盖广泛,包括 Org 和 LaTeX 的字节级往返属性测试、4 个 fuzz target,以及对照 Emacs 的 1

skeptic 0.14 的提速与兼容性改进

skeptic 0.14 将文档代码块测试的生成阶段从 1.1 秒大幅降至 2.4 毫秒,主要得益于测试提取从平方时间改为线性,以及行号计算优化。该版本支持 Cargo 1.77 及以后的依赖查找和目录布局,修复了 0.13 在 rustc 1.77 后失效的问题。缓存文件从 bincode 换成 JSON,旧缓存会重建。依赖缓存复用前会检查 rlib 是否还在,写入使用临时文件再改名。MSRV 为 1.85,去掉了 once_cell、num_cpus 和 semver 依赖。一个 panic 的片段不再阻塞后续

❓

Q&A

Deno 团队加入 Cloudflare 后,Deno 运行时和 Deno Deploy 还会继续维护吗?

Deno 运行时还会再支持一年,每月发布包含 bug 修复和安全更新。一年之后,Deno 团队结束对 Deno 运行时的开发。Deno 保持开源,其他人可以继续开发。Deno Deploy 继续运行六个月后关闭。付费客户迁到 Cloudflare Workers 时会得到迁移支持。

Zeta 语言的借用检查模型支持哪些引用类型?

模型有三种引用:&mut、不可变引用和 &alias。基础规则仍是共享与可变互斥。&alias 允许对同一数据持有多个可变别名,但不提供 noalias,默认不能跨线程共享,除非 T 实现 Send 和 Sync。

Kalem 编辑器支持哪些文件格式?

Kalem 在同一个二进制里打开 Org、Markdown、LaTeX、CSV、PDF、图片和 Excel。文件本身不转换,也不整篇重写,只保存改过的部分。

skeptic 0.14 在性能上有哪些提升?

生成阶段从 1.1 秒降至 2.4 毫秒(单页 1000 个代码块)。冷启动:无依赖从 123 毫秒降到 83 毫秒,12 个依赖从 420 毫秒降到 238 毫秒,同一 crate 的两个版本从 200 毫秒降到 106 毫秒,8 成员 workspace 从 351 毫秒降到 146 毫秒。热路径基本没变。

Kalem 编辑器的性能表现如何?

100 MB 纯文本在终端 135 毫秒内可交互,窗口版 430 毫秒,按键中位数 2.7 毫秒。1 MB LaTeX 论文解析 32 毫秒,按键重解析段落 0.64 毫秒。10 MB Markdown 的按键是 10 毫秒。

skeptic 0.14 修复了哪些问题?

0.13 在 rustc 1.77 之后失效:编译器元数据指纹变化后,确定性选择 rlib 不再正确。0.14 支持 Cargo 1.77 及以后的依赖查找,以及 build/<pkg>/<hash>/ 目录布局。测试提取从按页大小的平方时间改成线性。rustc 设置每个进程只解析一次,代码片段跑在有上限的 worker 池上。缓存文件从 bincode 换成 JSON,旧缓存会重建。依赖缓存复用前会检查每个 rlib 是否还在,写入用临时文件再改名。同一版本有多份构建时,按有多少其他单元对着它编译来选择,新鲜度只用于打破平局。MSRV 是 1.85。依赖里去掉了 once_cell、num_cpus 和 semver。一个 panic 的片段不再把后面的测试挂住。

🏷️

标签

➡️

继续阅读