@@ -6,6 +6,7 @@ use std::sync::OnceLock;
6
6
use build_helper:: git:: GitConfig ;
7
7
use camino:: { Utf8Path , Utf8PathBuf } ;
8
8
use semver:: Version ;
9
+ #[ cfg( bootstrap) ]
9
10
use serde:: de:: { Deserialize , Deserializer , Error as _} ;
10
11
11
12
use crate :: executor:: { ColorConfig , OutputFormat } ;
@@ -1064,7 +1065,8 @@ pub struct TargetCfg {
1064
1065
pub ( crate ) abi : String ,
1065
1066
#[ serde( rename = "target-family" , default ) ]
1066
1067
pub ( crate ) families : Vec < String > ,
1067
- #[ serde( rename = "target-pointer-width" , deserialize_with = "serde_parse_u32" ) ]
1068
+ #[ serde( rename = "target-pointer-width" ) ]
1069
+ #[ cfg_attr( bootstrap, serde( deserialize_with = "serde_parse_u32" ) ) ]
1068
1070
pub ( crate ) pointer_width : u32 ,
1069
1071
#[ serde( rename = "target-endian" , default ) ]
1070
1072
endian : Endian ,
@@ -1172,6 +1174,7 @@ fn rustc_output(config: &Config, args: &[&str], envs: HashMap<String, String>) -
1172
1174
String :: from_utf8 ( output. stdout ) . unwrap ( )
1173
1175
}
1174
1176
1177
+ #[ cfg( bootstrap) ]
1175
1178
fn serde_parse_u32 < ' de , D : Deserializer < ' de > > ( deserializer : D ) -> Result < u32 , D :: Error > {
1176
1179
let string = String :: deserialize ( deserializer) ?;
1177
1180
string. parse ( ) . map_err ( D :: Error :: custom)
0 commit comments