Lobsters | 📄 原文链接 | 2026-10-23 收录

给不需要 GC 的语言写一个垃圾回收器:Rust 里的 dumpster

来源:claytonwramsey.com — 2026-10-19

📋 概述

Rc 和 Arc 都是引用计数,碰到循环引用就永久泄漏——一个结构体用 OnceCell 存住自己的 Rc 就够了。作者于是用 Rust 写了一个能处理循环的 Gc 容器,API 尽量贴近 Rc/Arc,并以 dumpster 的名字发布到 crates.io。可用的武器只有 Drop 和自定义 trait,而障碍是三重:Rust 无法感知值被移动、作者坚持支持 ?Sized 类型、泛型单态化之后运行期没有任何类型信息。

🔑 核心要点

💡 金句

If carcinization happens when languages evolve to be more like Rust, then what do you call it when Rust evolves to be more like Java? Caffeination?
← 返回 Lobsters 首页