docs(ref): Index differences between virtual / real manifests

For a user to read the reference and to understand when each type of
workspace might be right for them, they have to know to also read the
section on Package Selection.

This reframes the section on needing to set `resolver = "2"` to being
about differences when there isn't a root package and extends it to
summarize a part of Package Selection, linking out to it.
The hope is that this will make it all of the differences more
discoverable without retreading too much of the same ground within
Reference-style documentation.

Part of #13580
This commit is contained in:
Ed Page 2024-04-23 15:14:33 -05:00
parent 50adf47c18
commit 5f5e0fc504

View file

@ -80,10 +80,14 @@ edition = "2021" # the edition, will have no effect on a resolver used in th
authors = ["Alice <a@example.com>", "Bob <b@example.com>"]
```
Note that in a virtual manifest the [`resolver = "2"`](resolver.md#resolver-versions)
should be specified manually. It is usually deduced from the [`package.edition`][package-edition]
field which is absent in virtual manifests and the edition field of a member
won't affect the resolver used by the workspace.
By having a workspace without a root package,
- [`resolver`](resolver.md#resolver-versions) must be
set explicitly in virtual workspaces as they have no
[`package.edition`][package-edition] to infer it from
[resolver version](resolver.md#resolver-versions).
- Commands run in the workspace root will run against all workspace
members by default, see [`default-members`](#the-default-members-field).
## The `members` and `exclude` fields