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.
This had been something I'd hoped to do as part of converting to a workspace per #149, but since I didn't finish the work for that PR it wasn't included. It's maybe controversial? I'm not sure.
Anyway, this change moves us to use workspace dependency inheritance for all dependencies in the workspace crates.
The only downside to doing this that I'm aware of is that
cargo add
doesn't currently have support for adding directly at the workspace level, so if wecargo add
a new dependency, we will need to manually pull it up to the top-levelCargo.toml
, at least until rust-lang/cargo#10608 gets resolved one way or another.On the other hand, with this change in place, if we do
cargo add
of an existing dependency in a new location, it will import it with.workspace = true
, which is nice.Overall, I think this will make it easier to see what dependencies we are declaring at a glance, and easier to make upgrades in one place for crates used in multiple workspace sub-crates.