I'm not totally clear on how dependencies are merged into a final binary.
By way of example, let's say there's a binary that depends on two crates A
and B
Furthermore, A
depends on C
with some features, and the binary also depends on C
but with other features, and B
depends on C
with the same features as A
but a different minor version.
In what situations will C
be duplicated and bloat the final binary size vs. be re-used across all the things that depend on it?
I'm looking more for a general understanding of how features and versions affect this, rather than the specific answer to the example here. Thanks!