@@ -1255,14 +1255,25 @@ fn trim_paths_args(
1255
1255
/// [`check-cfg`]: https://doc.rust-lang.org/nightly/cargo/reference/unstable.html#check-cfg
1256
1256
fn check_cfg_args ( cx : & Context < ' _ , ' _ > , unit : & Unit ) -> Vec < OsString > {
1257
1257
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.
1261
1260
//
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()
1266
1277
1267
1278
let gross_cap_estimation = unit. pkg . summary ( ) . features ( ) . len ( ) * 7 + 25 ;
1268
1279
let mut arg_feature = OsString :: with_capacity ( gross_cap_estimation) ;
0 commit comments