diff --git a/src/doc/src/reference/workspaces.md b/src/doc/src/reference/workspaces.md index 004839eac7d..612b55b19db 100644 --- a/src/doc/src/reference/workspaces.md +++ b/src/doc/src/reference/workspaces.md @@ -68,8 +68,13 @@ you want to keep all the packages organized in separate directories. # [PROJECT_DIR]/Cargo.toml [workspace] members = ["hello_world"] +resolver = "2" ``` +The [`resolver`] key here effects how a package that is depended on in multiple +ways with different features are resolved. Some libraries depend on it being +set to 2. + ```toml # [PROJECT_DIR]/hello_world/Cargo.toml [package] @@ -78,6 +83,7 @@ version = "0.1.0" # the current version, obeying semver authors = ["Alice ", "Bob "] ``` + ### The `members` and `exclude` fields The `members` and `exclude` fields define which packages are members of @@ -101,6 +107,8 @@ workspace. This can be useful if some path dependencies aren't desired to be in the workspace at all, or using a glob pattern and you want to remove a directory. +### Workspace selection + When inside a subdirectory within the workspace, Cargo will automatically search the parent directories for a `Cargo.toml` file with a `[workspace]` definition to determine which workspace to use. The [`package.workspace`] @@ -128,6 +136,7 @@ used: [workspace] members = ["path/to/member1", "path/to/member2", "path/to/member3/*"] default-members = ["path/to/member2", "path/to/member3/foo"] +resolver = "2" ``` When specified, `default-members` must expand to a subset of `members`. @@ -225,6 +234,7 @@ configuration in `Cargo.toml`. For example: ```toml [workspace] members = ["member1", "member2"] +resolver = "2" [workspace.metadata.webcontents] root = "path/to/webproject" @@ -243,6 +253,7 @@ if that makes sense for the tool in question. [`Cargo.lock`]: ../guide/cargo-toml-vs-cargo-lock.md [package-metadata]: manifest.md#the-metadata-table [output directory]: ../guide/build-cache.md +[`resolver`]: resolver.md#feature-resolver-version-2 [patch]: overriding-dependencies.md#the-patch-section [replace]: overriding-dependencies.md#the-replace-section [profiles]: profiles.md