Summary
Original issue: #3494
Implementation: #8818
Documentation: https://doc.rust-lang.org/nightly/cargo/reference/unstable.html#weak-dependency-features
-Z weak-dep-features will enable "weak" dependency features, whereby dep_name?/feature_name syntax in the [features] table will not automatically enable the dep_name dependency (unlike the dep_name/feature_name syntax which always enables dep_name). This just indicates that the feature on that dependency should be enabled if something else enables that dependency on this package.
Unresolved issues
About tracking issues
Tracking issues are used to record the overall progress of implementation.
They are also used as hubs connecting to other relevant issues, e.g., bugs or open design questions.
A tracking issue is however not meant for large scale discussion, questions, or bug reports about a feature.
Instead, open a dedicated issue for the specific matter and add the relevant feature gate label.
Summary
Original issue: #3494
Implementation: #8818
Documentation: https://doc.rust-lang.org/nightly/cargo/reference/unstable.html#weak-dependency-features
-Z weak-dep-featureswill enable "weak" dependency features, wherebydep_name?/feature_namesyntax in the[features]table will not automatically enable thedep_namedependency (unlike thedep_name/feature_namesyntax which always enablesdep_name). This just indicates that the feature on that dependency should be enabled if something else enables that dependency on this package.Unresolved issues
dep_name?/feat_name?dep_name/feat_namedep_name?feat_name{dep="dep_name", feature="feat_name", enable-dep=false}if-dep:dep_name/feat_name(read this as "if dependency foo then enable feature bar").?format means people will have to look up what it means, and searching for punctuation is difficult.org_name/pkg_namesyntax, which could contribute to the punctuation soup.dep_name/feat_namesyntax on an edition boundary. A concern is that this is not an (easily) rustfix-able change.features2to the index. #9161.About tracking issues
Tracking issues are used to record the overall progress of implementation.
They are also used as hubs connecting to other relevant issues, e.g., bugs or open design questions.
A tracking issue is however not meant for large scale discussion, questions, or bug reports about a feature.
Instead, open a dedicated issue for the specific matter and add the relevant feature gate label.