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 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!