From: Simon Sapin Date: Wed, 6 Dec 2017 10:59:06 +0000 (+0100) Subject: Fix `default-members` docs: it also applies to non-virtual workspaces. X-Git-Tag: archive/raspbian/0.35.0-2+rpi1~3^2^2^2^2^2^2^2~22^2~4^2~30^2 X-Git-Url: https://dgit.raspbian.org/?a=commitdiff_plain;h=f9a27fc1f7ef0e4360c878a0209370a86b310b5e;p=cargo.git Fix `default-members` docs: it also applies to non-virtual workspaces. --- diff --git a/src/doc/manifest.md b/src/doc/manifest.md index fbf575f43..e7e1defae 100644 --- a/src/doc/manifest.md +++ b/src/doc/manifest.md @@ -519,21 +519,24 @@ crate will be treated as a normal package, as well as a workspace. If the `package` table is not present in a workspace manifest, it is called a *virtual manifest*. -When working with *virtual manifests*, package-related cargo commands, like -`cargo build`, default to the set of packages specified by the `default-members` -configuration: +## Package selection + +In a workspace, package-related cargo commands like `cargo build` apply to +packages selected by `-p` / `--package` or `--all` command-line parameters. +When neither is specified, the optional `default-members` configuration is used: ```toml [workspace] members = ["path/to/member1", "path/to/member2", "path/to/member3/*"] - -# The members that commands like `cargo build` apply to by deault. -# This must expand to a subset of `members`. -# Optional key, defaults to the same as `members` -# (as if `--all` were used on the command line). -default-members = ["path/to/member2", "path/to/member3/*"] +default-members = ["path/to/member2", "path/to/member3/foo"] ``` +When specified, `default-members` must expand to a subset of `members`. + +When `default-members` is not specified, the default is the root manifest +if it is a package, or every member manifest (as if `--all` were specified +on the command-line) for virtual workspaces. + # The project layout If your project is an executable, name the main source file `src/main.rs`. If it