我正在开发一个扩展的弃用 lint,它可以决定某些东西是否已经被弃用或将被弃用。但是还有一个问题:Crates 似乎没有版本信息。我知道我可以使用 cargo 将设置的一些环境变量来获取当前 Crate 的版本,但这不足以区分依赖项的弃用部分。
我至少可以通过ctx.sess.local_crate_source_file
(如 fhahn 的当前 PR .
因此,除非获取文件路径并手动查找和解析Cargo.lock
(我认为这很脆弱而且很笨拙),有没有办法获取依赖项的版本号,如果有,怎么做?