@@ -124,7 +124,12 @@ config_data! {
124124 /// avoid checking unnecessary things.
125125 cargo_buildScripts_useRustcWrapper: bool = true ,
126126 /// List of cfg options to enable with the given values.
127- cargo_cfgs: FxHashMap <String , String > = FxHashMap :: default ( ) ,
127+ cargo_cfgs: FxHashMap <String , Option <String >> = {
128+ let mut m = FxHashMap :: default ( ) ;
129+ m. insert( "debug_assertions" . to_owned( ) , None ) ;
130+ m. insert( "miri" . to_owned( ) , None ) ;
131+ m
132+ } ,
128133 /// Extra arguments that are passed to every cargo invocation.
129134 cargo_extraArgs: Vec <String > = vec![ ] ,
130135 /// Extra environment variables that will be set when running cargo, rustc
@@ -1591,12 +1596,9 @@ impl Config {
15911596 global : CfgDiff :: new (
15921597 self . cargo_cfgs ( )
15931598 . iter ( )
1594- . map ( |( key, val) | {
1595- if val. is_empty ( ) {
1596- CfgAtom :: Flag ( key. into ( ) )
1597- } else {
1598- CfgAtom :: KeyValue { key : key. into ( ) , value : val. into ( ) }
1599- }
1599+ . map ( |( key, val) | match val {
1600+ Some ( val) => CfgAtom :: KeyValue { key : key. into ( ) , value : val. into ( ) } ,
1601+ None => CfgAtom :: Flag ( key. into ( ) ) ,
16001602 } )
16011603 . collect ( ) ,
16021604 vec ! [ ] ,
@@ -2667,6 +2669,9 @@ fn field_props(field: &str, ty: &str, doc: &[&str], default: &str) -> serde_json
26672669 "FxHashMap<Box<str>, usize>" => set ! {
26682670 "type" : "object" ,
26692671 } ,
2672+ "FxHashMap<String, Option<String>>" => set ! {
2673+ "type" : "object" ,
2674+ } ,
26702675 "Option<usize>" => set ! {
26712676 "type" : [ "null" , "integer" ] ,
26722677 "minimum" : 0 ,
0 commit comments