# Private nested Cargo packages

**URL:** https://internals.rust-lang.org/t/private-nested-cargo-packages/19042
**Category:** cargo
**Created:** [June 21, 2023, 10:42pm UTC](https://internals.rust-lang.org/t/private-nested-cargo-packages/19042 "2023-06-21T22:42:17Z")
**Posts on this page:** 1
**Showing post:** 17

<div class="post-metadata">

### Author: ![kpreid](https://sea2.discourse-cdn.com/flex002/user_avatar/internals.rust-lang.org/kpreid/32/8484_2.png) [@kpreid](https://internals.rust-lang.org/u/kpreid)
#### Post date: [June 22, 2023, 2:41pm UTC](https://internals.rust-lang.org/t/private-nested-cargo-packages/19042/17 "2023-06-22T14:41:05Z")

</div>

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 `version`s from such packages. If so, then local workspace `path` dependencies should also not require `version`s.)

---

_[View the full topic](https://internals.rust-lang.org/t/private-nested-cargo-packages/19042)._
