Private nested Cargo packages

Sorry, by “versioned in lockstep” I meant the actual outcome of dependency resolution, not any requirement on the packages' own version numbers.

Because the set of packages is published as one parent package, one .crate archive file, you are physically required to publish another such package that contains all of the sub-packages in order to update any one of them. The version numbers written in the sub-packages are irrelevant as long as they are valid, because they are never used in dependency resolution, just like current local path dependencies don't use version numbers.

(Perhaps it should be permissible to omit versions from such packages. If so, then local workspace path dependencies should also not require versions.)

3 Likes