提前产出元数据,让 Rust 构建与检查快一倍
来源:github.com/PowderworksCode/headstart — 2026
📋 概述
headstart 通过给 rustc 与 cargo 打补丁,让编译器在接口检查完成后立即写出早期的 .early-rmeta 元数据,并据此提前启动下游 crate 的编译。由于依赖项的接口就足以完成类型检查,构建与检查速度最高可提升约一倍。
🔑 核心要点
- 每个 crate 只依赖前者的 接口元数据 .rmeta,不需要函数体。
- rustc 新增 -Zearly-metadata,把分析与函数体检查拆开。
- cargo 的 -Zheadstart 让下游在被依赖方完成前就开工。
- 代价是 下游工作可能被丢弃,错误报告略微延后。
💡 金句
它并不需要对方的函数体来对自己做类型检查——它编译针对的是依赖项的接口。
👍 0
👎 0
← 返回 Hacker News 首页