This repository has been archived by the owner on Jun 5, 2020. It is now read-only.
-
-
Notifications
You must be signed in to change notification settings - Fork 39
Misreporting of platform default dependencies? #66
Comments
Also I should mention: I get the exact same dependency tree, if I explicitly specifying my default target via |
We're probably touching some bit of cargo's internals incorrectly. Luckily, it seems like we're pretty close to cargo metadata having all of the bits of information we need to stop using cargo-the-library entirely which should remove a whole set of issues like this. |
sfackler
added a commit
that referenced
this issue
Dec 30, 2019
This both makes the crate compile way faster and avoids having to touch tons of unstable, undocumented cargo internals. This requires Rust 1.41 (the current beta) for some cargo-metadata features. There are some subtle differences in the new output (particularly in handling dependencies between crates in workspaces), but they're pretty minor. Closes #73 Closes #69 Closes #66 Closes #65 Closes #63 Closes #61 Closes #57 Closes #20
sfackler
added a commit
that referenced
this issue
Dec 30, 2019
This both makes the crate compile way faster and avoids having to touch tons of unstable, undocumented cargo internals. This requires Rust 1.41 (the current beta) for some cargo-metadata features. There are some subtle differences in the new output (particularly in handling dependencies between crates in workspaces), but they're pretty minor. Closes #73 Closes #69 Closes #66 Closes #65 Closes #63 Closes #61 Closes #57 Closes #20
sfackler
added a commit
that referenced
this issue
Dec 30, 2019
This both makes the crate compile way faster and avoids having to touch tons of unstable, undocumented cargo internals. This requires Rust 1.41 (the current beta) for some cargo-metadata features. There are some subtle differences in the new output (particularly in handling dependencies between crates in workspaces), but they're pretty minor. Closes #73 Closes #69 Closes #66 Closes #65 Closes #63 Closes #61 Closes #57 Closes #20
Sign up for free
to subscribe to this conversation on GitHub.
Already have an account?
Sign in.
Using cargo-tree 0.26.0, I noticed something strange with a project depending on flate2 and its transitive dependencies. Namely the dependency tree includes miniz_oxide_c_api even though the rust_backend feature is not enabled.
The flate2 1.0.9 Cargo.toml appears to make the otherwise non-default miniz_oxide_c_api mandatory on wasm32. But I'm not targeting wasm. See excerpt below. Is that what's confusing cargo-tree?
Here is a minimal reproduction test project:
With the following output from
cargo tree
:Note that the optional brotli dependency isn't shown, so
cargo tree
does pay attention to features. Here iscargo clean && cargo build
output showing miniz_oxide_c_api isn't built:The text was updated successfully, but these errors were encountered: