-
Notifications
You must be signed in to change notification settings - Fork 74
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
Concept: Features / Default features / add default features section to troubleshooting guide #255
Conversation
Learn Build status updates of commit 25c6d5b: ✅ Validation status: passed
For more details, please refer to the build report. For any questions, please:
|
PRMerger Results
|
|
||
### Resolution | ||
|
||
To ensure that transitive dependencies like `X` are installed without their default features, you need to promote them to direct dependencies in your top-level manifest and explicitly disable their default features. Modify your `vcpkg.json` to include `X` directly with `"default-features": false`: |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This instruction doesn't lead to the desired resolution when the user needs third port Z
which depends on X
but lacks the "default-features": false
property on the X
dependency just because Z
's maintainers weren't aware of the default features (at that time).
- The user can't override the behavior.
- The user will face difficulties to realize that this is a port bug in
Z
. - The
Z
maintainers have no tool support to check which dependencies have default features - The
Z
maintainers have no way to express that they really want to depend on default-features.
All up to brainware.
I agree with @dg0yt s comments: You basically have to remember which ports do have default features. Considering that this may change over time, it's almost impossible to avoid the kind of bug @dg0yt describes. Given that default features often lead to much more ports being built, I think this feature should be refined or entirely removed. |
See #264 for existing documentation that should be included in a standalone features article. |
Learn Build status updates of commit c099112: ✅ Validation status: passed
For more details, please refer to the build report. For any questions, please:
|
PRMerger Results
|
Learn Build status updates of commit 8aecb9f: ✅ Validation status: passed
For more details, please refer to the build report. For any questions, please:
|
PRMerger Results
|
Learn Build status updates of commit bb15527: ✅ Validation status: passed
For more details, please refer to the build report. For any questions, please:
|
PRMerger Results
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Partial review
Learn Build status updates of commit c3a636f: ✅ Validation status: passed
For more details, please refer to the build report. For any questions, please:
|
PRMerger Results
|
Learn Build status updates of commit 6001874: ✅ Validation status: passed
For more details, please refer to the build report. For any questions, please:
|
PRMerger Results
|
Learn Build status updates of commit adc02c6: ✅ Validation status: passed
For more details, please refer to the build report. For any questions, please:
|
PRMerger Results
|
No description provided.