mirror of
https://github.com/rust-lang/rust.git
synced 2024-11-22 06:44:35 +00:00
Handle no values cfg with --print=check-cfg
This commit is contained in:
parent
a83cf567b5
commit
5f0043ace6
@ -814,13 +814,17 @@ fn print_crate_info(
|
||||
match expected_values {
|
||||
ExpectedValues::Any => check_cfgs.push(format!("{name}=any()")),
|
||||
ExpectedValues::Some(values) => {
|
||||
check_cfgs.extend(values.iter().map(|value| {
|
||||
if let Some(value) = value {
|
||||
format!("{name}=\"{value}\"")
|
||||
} else {
|
||||
name.to_string()
|
||||
}
|
||||
}))
|
||||
if !values.is_empty() {
|
||||
check_cfgs.extend(values.iter().map(|value| {
|
||||
if let Some(value) = value {
|
||||
format!("{name}=\"{value}\"")
|
||||
} else {
|
||||
name.to_string()
|
||||
}
|
||||
}))
|
||||
} else {
|
||||
check_cfgs.push(format!("{name}="))
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -15,6 +15,7 @@ This print option works similarly to `--print=cfg` (modulo check-cfg specifics):
|
||||
- `cfg(feature, values("foo", "bar"))`: `feature="foo"` and `feature="bar"`
|
||||
- `cfg(feature, values(none(), ""))`: `feature` and `feature=""`
|
||||
- `cfg(feature, values(any()))`: `feature=any()`
|
||||
- `cfg(feature, values())`: `feature=`
|
||||
- `cfg(any())`: `any()`
|
||||
- *nothing*: `any()=any()`
|
||||
|
||||
|
@ -48,6 +48,20 @@ fn main() {
|
||||
doesnt_contain: &["any()", "any()=any()", "feature=none()", "feature="],
|
||||
},
|
||||
});
|
||||
check(CheckCfg {
|
||||
args: &["--check-cfg=cfg(feature, values())"],
|
||||
contains: Contains::Some {
|
||||
contains: &["feature="],
|
||||
doesnt_contain: &["any()", "any()=any()", "feature=none()", "feature"],
|
||||
},
|
||||
});
|
||||
check(CheckCfg {
|
||||
args: &["--check-cfg=cfg(feature, values())", "--check-cfg=cfg(feature, values(none()))"],
|
||||
contains: Contains::Some {
|
||||
contains: &["feature"],
|
||||
doesnt_contain: &["any()", "any()=any()", "feature=none()", "feature="],
|
||||
},
|
||||
});
|
||||
check(CheckCfg {
|
||||
args: &[
|
||||
r#"--check-cfg=cfg(feature, values(any()))"#,
|
||||
|
Loading…
Reference in New Issue
Block a user