@@ -45,19 +45,12 @@ impl Cfg {
45
45
pub ( crate ) fn validate_as_target ( & self ) -> Result < ( ) , ParseErrorKind > {
46
46
match self {
47
47
Cfg :: Name ( name) => match name. as_str ( ) {
48
- "unix " | "windows" => Ok ( ( ) ) ,
49
- _ => Err ( InvalidCfgName ( name . to_string ( ) ) ) ,
48
+ "test " | "debug_assertions" | "proc_macro" => Err ( InvalidCfgName ( name . to_string ( ) ) ) ,
49
+ _ => Ok ( ( ) ) ,
50
50
} ,
51
51
Cfg :: KeyPair ( name, _) => match name. as_str ( ) {
52
- "target_arch"
53
- | "target_feature"
54
- | "target_os"
55
- | "target_family"
56
- | "target_env"
57
- | "target_endian"
58
- | "target_pointer_width"
59
- | "target_vendor" => Ok ( ( ) ) ,
60
- _ => Err ( InvalidCfgKey ( name. to_string ( ) ) ) ,
52
+ "feature" => Err ( InvalidCfgKey ( name. to_string ( ) ) ) ,
53
+ _ => Ok ( ( ) ) ,
61
54
} ,
62
55
}
63
56
}
@@ -362,6 +355,7 @@ fn cfg_validate_as_target() {
362
355
assert ! ( p( "unix" ) . validate_as_target( ) . is_ok( ) ) ;
363
356
assert ! ( p( "windows" ) . validate_as_target( ) . is_ok( ) ) ;
364
357
assert ! ( p( "any(not(unix), windows)" ) . validate_as_target( ) . is_ok( ) ) ;
358
+ assert ! ( p( "foo" ) . validate_as_target( ) . is_ok( ) ) ;
365
359
366
360
assert ! ( p( "target_arch = \" abc\" " ) . validate_as_target( ) . is_ok( ) ) ;
367
361
assert ! ( p( "target_feature = \" abc\" " ) . validate_as_target( ) . is_ok( ) ) ;
@@ -373,16 +367,17 @@ fn cfg_validate_as_target() {
373
367
. validate_as_target( )
374
368
. is_ok( ) ) ;
375
369
assert ! ( p( "target_vendor = \" abc\" " ) . validate_as_target( ) . is_ok( ) ) ;
370
+ assert ! ( p( "bar = \" def\" " ) . validate_as_target( ) . is_ok( ) ) ;
376
371
372
+ assert ! ( p( "test" ) . validate_as_target( ) . is_err( ) ) ;
377
373
assert ! ( p( "debug_assertions" ) . validate_as_target( ) . is_err( ) ) ;
378
- assert ! ( p( "foo " ) . validate_as_target( ) . is_err( ) ) ;
374
+ assert ! ( p( "proc_macro " ) . validate_as_target( ) . is_err( ) ) ;
379
375
assert ! ( p( "any(not(debug_assertions), windows)" )
380
376
. validate_as_target( )
381
377
. is_err( ) ) ;
382
378
383
379
assert ! ( p( "feature = \" abc\" " ) . validate_as_target( ) . is_err( ) ) ;
384
- assert ! ( p( "bar = \" def\" " ) . validate_as_target( ) . is_err( ) ) ;
385
- assert ! ( p( "any(not(feature = \" def\" ))" )
380
+ assert ! ( p( "any(not(feature = \" def\" ), target_arch = \" abc\" )" )
386
381
. validate_as_target( )
387
382
. is_err( ) ) ;
388
383
}
0 commit comments