new lint: workspace_dependencies
#15923
Draft
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Adds a new cargo lint that enforces using
workspace = true
for dependencies that are defined in[workspace.dependencies]
.What it does
Checks that dependencies defined in
[workspace.dependencies]
are referenced withworkspace = true
in package dependency declarations instead of specifying version, git, or path information directly.Why is this useful
When using workspace dependencies, all version information should be centralized in the workspace's
Cargo.toml
to ensure consistency across all crates in the workspace. Specifying version information in individual packages defeats this purpose and can lead to version mismatches.Example
Use instead:
The lint checks
[dependencies]
,[dev-dependencies]
, and[build-dependencies]
sections.