@@ -1255,14 +1255,25 @@ fn trim_paths_args(
12551255/// [`check-cfg`]: https://doc.rust-lang.org/nightly/cargo/reference/unstable.html#check-cfg
12561256fn check_cfg_args ( cx : & Context < ' _ , ' _ > , unit : & Unit ) -> Vec < OsString > {
12571257 if cx. bcx . config . cli_unstable ( ) . check_cfg {
1258- // This generate something like this:
1259- // - cfg()
1260- // - cfg(feature, values("foo", "bar"))
1258+ // The routine below generates the --check-cfg arguments. Our goals here are to
1259+ // enable the checking of conditionals and pass the list of declared features.
12611260 //
1262- // NOTE: Despite only explicitly specifying `feature`, well known names and values
1263- // are implicitly enabled when one or more `--check-cfg` argument is passed.
1264- // NOTE: Never generate a empty `values()` since it would mean that it's possible
1265- // to have `cfg(feature)` without a feature name which is impossible.
1261+ // In the simplified case, it would resemble something like this:
1262+ //
1263+ // --check-cfg=cfg() --check-cfg=cfg(feature, values(...))
1264+ //
1265+ // but having `cfg()` is redundant with the second argument (as well-known names
1266+ // and values are implicitly enabled when one or more `--check-cfg` argument is
1267+ // passed) so we don't emit it:
1268+ //
1269+ // --check-cfg=cfg(feature, values(...))
1270+ //
1271+ // expect when there are no features declared, where we can't generate the
1272+ // `cfg(feature, values())` argument since it would mean that it is somehow
1273+ // possible to have a `#[cfg(feature)]` without a feature name, which is
1274+ // impossible and not what we want, so we just generate:
1275+ //
1276+ // --check-cfg=cfg()
12661277
12671278 let gross_cap_estimation = unit. pkg . summary ( ) . features ( ) . len ( ) * 7 + 25 ;
12681279 let mut arg_feature = OsString :: with_capacity ( gross_cap_estimation) ;
0 commit comments