Skip to content
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

Use workspace inheritance for dependencies #1645

Open
vmx opened this issue Nov 18, 2022 · 0 comments
Open

Use workspace inheritance for dependencies #1645

vmx opened this issue Nov 18, 2022 · 0 comments
Labels
good first issue Good for newcomers help wanted Extra attention is needed

Comments

@vmx
Copy link
Contributor

vmx commented Nov 18, 2022

Description

Cargo 1.64.0 has a new feature called workspace inheritance. You can define dependencies in your workspace and then crates within your workspace can refer to them. This way you define the version only once. This makes version upgrades way easier, while making sure all crates are on the same version.

For more information see https://doc.rust-lang.org/cargo/reference/specifying-dependencies.html#inheriting-a-dependency-from-a-workspace

Acceptance criteria

All shared dependencies are defined in the workspace and the individual crates refer to them.

Risks + pitfalls

I'm not sure how tricky it is to get everything right, given we use features and optional dependencies quite a bit. But as soon as CI is green, I'm confident that things are correct.

Where to begin

Increase the rust-toolchain version to 1.64.0. Then look at the dependencies of the crates and determine shared dependencies. Put those into the workspace and inherit their values from the crates themselves.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
good first issue Good for newcomers help wanted Extra attention is needed
Projects
None yet
Development

No branches or pull requests

1 participant