For example when crate has dependencies on both winapi 0.2 and winapi 0.3, you may want to determine why you have winapi 0.2
Surprisingly, that's already possible, as long as you know the full version of the crate:
PS D:\Melody\Projects\old projects\cargo-why> cargo why "libc 0.2.66" cargo-why -> failure -> backtrace -> backtrace-sys -> libc 0.2.66 cargo-why -> failure -> backtrace -> libc 0.2.66
This works because the package ID is "
<name> <version> (<source>)
" (e.g.libc 0.2.66 (registry+https://github.com/rust-lang/crates.io-index)
) and so the test here still worksI'll think about giving this more robust support at some point, but as it stands it's technically possible already.