Right now, a workspace root automatically includes all of its path dependencies as workspace members. It would be nice if we could disable this somehow.
This is a follow-up to #3156.
Use case:
Assume that we have a local library crate that we don't want to publish (yet). We include it in multiple executable crates through path = "../our_library" dependencies:
├── our_library
│ ├── Cargo.toml
│ └── src
├── executable_1
│ ├── Cargo.toml
│ └── src
└── executable_2
├── Cargo.toml
└── src
Now we want to make the executables workspace roots. This leads to the following errors:
error: workspace member /home/…/our_library/Cargo.toml is not hierarchically below the workspace root /home/…/executable_{1,2}/Cargo.toml
So each executable requires that we make our_library a workspace member of its own workspace. But a crate can't be part of multiple workspaces.
Right now, there is no way to resolve this problem, since there is no way to disable the automatic inclusion of path dependencies.
Right now, a workspace root automatically includes all of its path dependencies as workspace members. It would be nice if we could disable this somehow.
This is a follow-up to #3156.
Use case:
Assume that we have a local library crate that we don't want to publish (yet). We include it in multiple executable crates through
path = "../our_library"dependencies:Now we want to make the executables workspace roots. This leads to the following errors:
So each executable requires that we make
our_librarya workspace member of its own workspace. But a crate can't be part of multiple workspaces.Right now, there is no way to resolve this problem, since there is no way to disable the automatic inclusion of path dependencies.