github / stack-graphs

Rust implementation of stack graphs
https://docs.rs/stack-graphs/*/stack_graphs/
Apache License 2.0
717 stars 122 forks source link

Dependency version cleanup #411

Closed hendrikvanantwerpen closed 4 months ago

hendrikvanantwerpen commented 4 months ago

Tweak the dependencies to prevent install problems such as those reported in #407.

The main change is to ensure that all tree-sitter have the same minor version, which prevents the Cargo resolver picking multiple versions for different crates.

The underlying problem is that there seems to be no way to teel Cargo that two transitive dependencies of the same crate should be the same version. However, if types from that crate are part of the API, things break if values are passed from one to the other. So far, the only solution I've found is to ensure that if the minor versions are the same, the resolver will only pick one patch version, thus ensuring the same version is used everywhere. (For non-zero major versions it might be enough if the major version is the same?)

Main changes: