@@ -124,7 +124,12 @@ config_data! {
124
124
/// avoid checking unnecessary things.
125
125
cargo_buildScripts_useRustcWrapper: bool = true ,
126
126
/// 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
+ } ,
128
133
/// Extra arguments that are passed to every cargo invocation.
129
134
cargo_extraArgs: Vec <String > = vec![ ] ,
130
135
/// Extra environment variables that will be set when running cargo, rustc
@@ -1591,12 +1596,9 @@ impl Config {
1591
1596
global : CfgDiff :: new (
1592
1597
self . cargo_cfgs ( )
1593
1598
. 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 ( ) ) ,
1600
1602
} )
1601
1603
. collect ( ) ,
1602
1604
vec ! [ ] ,
@@ -2667,6 +2669,9 @@ fn field_props(field: &str, ty: &str, doc: &[&str], default: &str) -> serde_json
2667
2669
"FxHashMap<Box<str>, usize>" => set ! {
2668
2670
"type" : "object" ,
2669
2671
} ,
2672
+ "FxHashMap<String, Option<String>>" => set ! {
2673
+ "type" : "object" ,
2674
+ } ,
2670
2675
"Option<usize>" => set ! {
2671
2676
"type" : [ "null" , "integer" ] ,
2672
2677
"minimum" : 0 ,
0 commit comments