Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

docs: Feature resolver version 2: clarify use of 'target' #14540

Merged
merged 2 commits into from
Sep 12, 2024
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 4 additions & 2 deletions src/doc/src/reference/features.md
Original file line number Diff line number Diff line change
Expand Up @@ -365,11 +365,11 @@ that unification can be unwanted. The exact situations are described in the
[resolver chapter][resolver-v2], but in short, it avoids unifying in these
situations:

* Features enabled on [platform-specific dependencies] for targets not
* Features enabled on [platform-specific dependencies] for [target architectures][target] not
currently being built are ignored.
* [Build-dependencies] and proc-macros do not share features with normal
dependencies.
* [Dev-dependencies] do not activate features unless building a target that
* [Dev-dependencies] do not activate features unless building a [Cargo target][target] that
needs them (like tests or examples).

Avoiding the unification is necessary for some situations. For example, if a
Expand All @@ -393,6 +393,8 @@ the resolved features. For build dependencies, this is not necessary if you
are cross-compiling with the `--target` flag because build dependencies are
always built separately from normal dependencies in that scenario.

[target]: ../appendix/glossary.md#target

### Resolver version 2 command-line flags

The `resolver = "2"` setting also changes the behavior of the `--features` and
Expand Down