@@ -240,9 +240,9 @@ impl ProjectWorkspace {
240240 Some ( RustLibSource :: Path ( path) ) => ManifestPath :: try_from ( path. clone ( ) )
241241 . map_err ( |p| Some ( format ! ( "rustc source path is not absolute: {p}" ) ) ) ,
242242 Some ( RustLibSource :: Discover ) => {
243- sysroot. as_ref ( ) . ok ( ) . and_then ( Sysroot :: discover_rustc ) . ok_or_else ( || {
244- Some ( format ! ( "Failed to discover rustc source for sysroot." ) )
245- } )
243+ sysroot. as_ref ( ) . ok ( ) . and_then ( Sysroot :: discover_rustc_src ) . ok_or_else (
244+ || Some ( format ! ( "Failed to discover rustc source for sysroot." ) ) ,
245+ )
246246 }
247247 None => Err ( None ) ,
248248 } ;
@@ -279,8 +279,12 @@ impl ProjectWorkspace {
279279 }
280280 } ) ;
281281
282- let rustc_cfg =
283- rustc_cfg:: get ( Some ( & cargo_toml) , config. target . as_deref ( ) , & config. extra_env ) ;
282+ let rustc_cfg = rustc_cfg:: get (
283+ Some ( & cargo_toml) ,
284+ None ,
285+ config. target . as_deref ( ) ,
286+ & config. extra_env ,
287+ ) ;
284288
285289 let cfg_overrides = config. cfg_overrides . clone ( ) ;
286290 let data_layout = target_data_layout:: get (
@@ -335,7 +339,7 @@ impl ProjectWorkspace {
335339 tracing:: info!( src_root = %sysroot. src_root( ) , root = %sysroot. root( ) , "Using sysroot" ) ;
336340 }
337341
338- let rustc_cfg = rustc_cfg:: get ( None , target, extra_env) ;
342+ let rustc_cfg = rustc_cfg:: get ( None , sysroot . as_ref ( ) . ok ( ) , target, extra_env) ;
339343 ProjectWorkspace :: Json { project : project_json, sysroot, rustc_cfg, toolchain }
340344 }
341345
@@ -360,7 +364,7 @@ impl ProjectWorkspace {
360364 if let Ok ( sysroot) = & sysroot {
361365 tracing:: info!( src_root = %sysroot. src_root( ) , root = %sysroot. root( ) , "Using sysroot" ) ;
362366 }
363- let rustc_cfg = rustc_cfg:: get ( None , None , & Default :: default ( ) ) ;
367+ let rustc_cfg = rustc_cfg:: get ( None , sysroot . as_ref ( ) . ok ( ) , None , & Default :: default ( ) ) ;
364368 Ok ( ProjectWorkspace :: DetachedFiles { files : detached_files, sysroot, rustc_cfg } )
365369 }
366370
@@ -756,7 +760,7 @@ fn project_json_to_crate_graph(
756760 let target_cfgs = match target. as_deref ( ) {
757761 Some ( target) => cfg_cache
758762 . entry ( target)
759- . or_insert_with ( || rustc_cfg:: get ( None , Some ( target) , extra_env) ) ,
763+ . or_insert_with ( || rustc_cfg:: get ( None , sysroot , Some ( target) , extra_env) ) ,
760764 None => & rustc_cfg,
761765 } ;
762766
0 commit comments