You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The current situation is this: Since AFAIK there are no transitive dependencies in Cargo, if someone wants to use reaper-medium (medium-level API), they also have to depend on reaper-low. And not just that. It must be exactly the version that reaper-medium uses. The situation gets worse if one wants to use reaper-high.
I don't know what's the perfect way to handle this in Rust. I've seen that some crates re-export stuff. E.g. reaper-medium could re-export some things from reaper-low. But one thing I really don't like about this is that suddenly for one symbol there are two ways to address that symbol. The same symbol is available in 2 crates. That's very confusing.
The current situation is this: Since AFAIK there are no transitive dependencies in Cargo, if someone wants to use
reaper-medium
(medium-level API), they also have to depend onreaper-low
. And not just that. It must be exactly the version thatreaper-medium
uses. The situation gets worse if one wants to usereaper-high
.I don't know what's the perfect way to handle this in Rust. I've seen that some crates re-export stuff. E.g.
reaper-medium
could re-export some things fromreaper-low
. But one thing I really don't like about this is that suddenly for one symbol there are two ways to address that symbol. The same symbol is available in 2 crates. That's very confusing.There's an RFC that might help: rust-lang/rust#44663
If anyone has an idea, please let me know.
The text was updated successfully, but these errors were encountered: