文章摘要
JavaScript 运行时 Bun 正式合并了将其核心从 Zig 重写为 Rust 的代码分支,旨在通过 Rust 的编译器特性解决内存泄漏和崩溃等稳定性问题。该重写涉及约 60 万行代码,目前仍需进行大量优化和清理工作才能发布正式版。作者 Jarred Sumner 表示,此举是为了获得更强大的内存管理工具,尽管目前代码中存在大量 unsafe 块。
社区讨论
社区讨论充满争议,多数开发者批评该重写过度依赖 AI 且代码极不地道,认为 1.4 万个 unsafe 块违背了切换到 Rust 的初衷。讨论还对比了 Ladybird 等项目的渐进式迁移,质疑 Bun 的全量 AI 重写可能带来难以预料的维护成本。同时,也有观点认为这反映了开发者对 Zig 内存安全痛点的无奈,以及对软件正确性实现路径的反思。