-
-
Notifications
You must be signed in to change notification settings - Fork 78
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Tracking issue: Checking cross-crate items #638
Labels
C-enhancement
Category: raise the bar on expectations
Comments
1 task
This was referenced Sep 8, 2024
This was referenced Sep 20, 2024
1 task
3 tasks
Open
3 tasks
1 task
3 tasks
1 task
1 task
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
cargo-semver-checks
currently only generates and analyzes a single crate's rustdoc JSON at a time. If that crate's public API exposes or relies on items from other crates, those foreign items are not present in the rustdoc JSON we get to see.This can cause both false-positives (e.g. #609) and false-negatives (e.g. #629).
The purpose of this issue is to have a single place to link to when this conversation comes up, and to have a single location where interested folks can track progress.
The underlying technical reasons for the lack of cross-crate checking are the following:
--orchestrator-id
flag to rustc rust-lang/compiler-team#635cargo-semver-checks
, I'll be much more able to work on time-consuming improvements like this.A note on resolver v1 vs v2: using
cargo metadata
implicitly uses resolver v1 (regardless of the resolver version selected by the crate), which in some cases may disagree on which features are enabled in downstream crates for crates that use resolver v2. When we analyze more broadly across the dependency graph, keep this in mind and make sure we get this right.The text was updated successfully, but these errors were encountered: