mirror of
https://github.com/rust-lang/cargo
synced 2024-10-05 23:39:47 +00:00
Use blacklist instead of whitelist
This commit is contained in:
parent
bee13d604d
commit
a572f0f274
|
@ -45,19 +45,12 @@ impl Cfg {
|
|||
pub(crate) fn validate_as_target(&self) -> Result<(), ParseErrorKind> {
|
||||
match self {
|
||||
Cfg::Name(name) => match name.as_str() {
|
||||
"unix" | "windows" => Ok(()),
|
||||
_ => Err(InvalidCfgName(name.to_string())),
|
||||
"test" | "debug_assertions" | "proc_macro" => Err(InvalidCfgName(name.to_string())),
|
||||
_ => Ok(()),
|
||||
},
|
||||
Cfg::KeyPair(name, _) => match name.as_str() {
|
||||
"target_arch"
|
||||
| "target_feature"
|
||||
| "target_os"
|
||||
| "target_family"
|
||||
| "target_env"
|
||||
| "target_endian"
|
||||
| "target_pointer_width"
|
||||
| "target_vendor" => Ok(()),
|
||||
_ => Err(InvalidCfgKey(name.to_string())),
|
||||
"feature" => Err(InvalidCfgKey(name.to_string())),
|
||||
_ => Ok(()),
|
||||
},
|
||||
}
|
||||
}
|
||||
|
@ -362,6 +355,7 @@ fn cfg_validate_as_target() {
|
|||
assert!(p("unix").validate_as_target().is_ok());
|
||||
assert!(p("windows").validate_as_target().is_ok());
|
||||
assert!(p("any(not(unix), windows)").validate_as_target().is_ok());
|
||||
assert!(p("foo").validate_as_target().is_ok());
|
||||
|
||||
assert!(p("target_arch = \"abc\"").validate_as_target().is_ok());
|
||||
assert!(p("target_feature = \"abc\"").validate_as_target().is_ok());
|
||||
|
@ -373,16 +367,17 @@ fn cfg_validate_as_target() {
|
|||
.validate_as_target()
|
||||
.is_ok());
|
||||
assert!(p("target_vendor = \"abc\"").validate_as_target().is_ok());
|
||||
assert!(p("bar = \"def\"").validate_as_target().is_ok());
|
||||
|
||||
assert!(p("test").validate_as_target().is_err());
|
||||
assert!(p("debug_assertions").validate_as_target().is_err());
|
||||
assert!(p("foo").validate_as_target().is_err());
|
||||
assert!(p("proc_macro").validate_as_target().is_err());
|
||||
assert!(p("any(not(debug_assertions), windows)")
|
||||
.validate_as_target()
|
||||
.is_err());
|
||||
|
||||
assert!(p("feature = \"abc\"").validate_as_target().is_err());
|
||||
assert!(p("bar = \"def\"").validate_as_target().is_err());
|
||||
assert!(p("any(not(feature = \"def\"))")
|
||||
assert!(p("any(not(feature = \"def\"), target_arch = \"abc\")")
|
||||
.validate_as_target()
|
||||
.is_err());
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue