You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Cargo工作区中查找无用代码(Dead Code)?

Rust工作区中检测跨crate无用代码的方法

Rust默认的未使用项警告仅针对单个crate内部的非公开项,在多crate工作区场景下,无法自动识别跨crate的未使用公开代码。以下是几种实用的解决方法:

1. 使用cargo deadcode工具

  • 这是一款第三方cargo扩展,支持扫描整个工作区,可指定主crate作为入口,分析所有间接被主crate引用的项,标记出未被使用的代码(包括公开项)。
  • 安装命令:cargo install cargo-deadcode
  • 使用方式:在工作区根目录执行 cargo deadcode --main-crate <你的主crate名称>,也可直接指定入口二进制或库目标。

2. 结合cargo tree快速定位未被依赖的crate

  • cargo tree可展示工作区的依赖关系,通过 cargo tree --invert <主crate名称> 反向查看未被主crate间接依赖的crate,快速定位整个未被使用的子crate。
  • 若要深入单个crate内部的公开未使用项,搭配cargo deadcode扫描即可。

3. 启用Rust原生的unused-pub lint(Rust 1.68+)

  • Rust 1.68及以上版本新增了unused-pub lint,默认处于允许级别,可通过工作区的Cargo.toml配置开启警告:
    [workspace]
    rustflags = ["-W", "unused-pub"]
    
  • 注意:该lint仅检查公开项是否被其他crate引用,若要精准关联到主crate的依赖链,仍需结合工具扫描。

内容的提问来源于stack exchange,提问作者orlp

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.22 07:47:02