从棉绒中找出当前版本的箱子?

llo*_*giq 5 internals rust rust-crates

我正在研究一个扩展的弃用lint,它可以决定是否已经将要弃用的东西.但是还有一个问题:Crates似乎没有版本信息.我知道我可以使用货物将设置的一些环境变量来获取当前的Crate版本,但这还不足以区分已弃用的依赖项部分.

我至少可以通过当前的箱子路径ctx.sess.local_crate_source_file(如fhahn 当前的PR.

因此,除非获取文件路径并Cargo.lock手动查找和解析(我认为这是脆弱和hacky),有没有办法获取依赖项的版本号,如果是这样,如何?

Jan*_*cki 0

#[deprecated]请使用Rust lang rfc 1270获取文档。自 Rust 1.9 以来,这是稳定的。然后编译器会完成您想要创建的 lint 工作。

在不接触编译器或使用编译器功能的情况下实现您所要求的内容的一种方法是将版本包含在其公共 API 的包中,并从您的 lint 中使用它。