Recover non-virtual default-members doc
authorPeter Marheine <peter@taricorp.net>
Mon, 8 Jan 2018 05:29:07 +0000 (16:29 +1100)
committerPeter Marheine <peter@taricorp.net>
Mon, 8 Jan 2018 05:29:07 +0000 (16:29 +1100)
First changed in f9a27fc1f7ef0e4360c878a0209370a86b310b5e which failed
to update the book and was replaced in
1271bb4de0c0e0a085be239c2418af9c673ffc87.

src/doc/src/reference/manifest.md

index 95b120e4a2dc58d845410b85d620296c3af75fca..be69f967910c581ae6e9e0585421223f68dde82d 100644 (file)
@@ -536,21 +536,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.
+
 #TODO: move this to a more appropriate place
 ### The project layout