@@ -138,8 +138,8 @@ impl ProjectWorkspace {
138138 ProjectWorkspace :: Cargo { cargo, sysroot } => {
139139 let mut roots = Vec :: with_capacity ( cargo. packages ( ) . len ( ) + sysroot. crates ( ) . len ( ) ) ;
140140 for pkg in cargo. packages ( ) {
141- let root = pkg. root ( & cargo ) . to_path_buf ( ) ;
142- let member = pkg. is_member ( & cargo ) ;
141+ let root = cargo [ pkg] . root ( ) . to_path_buf ( ) ;
142+ let member = cargo [ pkg] . is_member ;
143143 roots. push ( PackageRoot :: new ( root, member) ) ;
144144 }
145145 for krate in sysroot. crates ( ) {
@@ -164,7 +164,7 @@ impl ProjectWorkspace {
164164 ProjectWorkspace :: Cargo { cargo, sysroot : _sysroot } => {
165165 let mut out_dirs = Vec :: with_capacity ( cargo. packages ( ) . len ( ) ) ;
166166 for pkg in cargo. packages ( ) {
167- if let Some ( out_dir) = pkg. out_dir ( & cargo ) {
167+ if let Some ( out_dir) = & cargo [ pkg] . out_dir {
168168 out_dirs. push ( out_dir. to_path_buf ( ) ) ;
169169 }
170170 }
@@ -309,18 +309,18 @@ impl ProjectWorkspace {
309309 // Next, create crates for each package, target pair
310310 for pkg in cargo. packages ( ) {
311311 let mut lib_tgt = None ;
312- for tgt in pkg. targets ( & cargo ) {
313- let root = tgt. root ( & cargo ) ;
312+ for & tgt in cargo [ pkg] . targets . iter ( ) {
313+ let root = cargo [ tgt] . root . as_path ( ) ;
314314 if let Some ( file_id) = load ( root) {
315- let edition = pkg. edition ( & cargo ) ;
315+ let edition = cargo [ pkg] . edition ;
316316 let cfg_options = {
317317 let mut opts = default_cfg_options. clone ( ) ;
318- opts. insert_features ( pkg. features ( & cargo ) . iter ( ) . map ( Into :: into) ) ;
318+ opts. insert_features ( cargo [ pkg] . features . iter ( ) . map ( Into :: into) ) ;
319319 opts
320320 } ;
321321 let mut env = Env :: default ( ) ;
322322 let mut extern_source = ExternSource :: default ( ) ;
323- if let Some ( out_dir) = pkg. out_dir ( cargo ) {
323+ if let Some ( out_dir) = & cargo [ pkg] . out_dir {
324324 // FIXME: We probably mangle non UTF-8 paths here, figure out a better solution
325325 env. set ( "OUT_DIR" , out_dir. to_string_lossy ( ) . to_string ( ) ) ;
326326 if let Some ( & extern_source_id) = extern_source_roots. get ( out_dir) {
@@ -330,16 +330,16 @@ impl ProjectWorkspace {
330330 let crate_id = crate_graph. add_crate_root (
331331 file_id,
332332 edition,
333- Some ( CrateName :: normalize_dashes ( pkg. name ( & cargo ) ) ) ,
333+ Some ( CrateName :: normalize_dashes ( & cargo [ pkg] . name ) ) ,
334334 cfg_options,
335335 env,
336336 extern_source,
337337 ) ;
338- if tgt. kind ( & cargo ) == TargetKind :: Lib {
338+ if cargo [ tgt] . kind == TargetKind :: Lib {
339339 lib_tgt = Some ( crate_id) ;
340340 pkg_to_lib_crate. insert ( pkg, crate_id) ;
341341 }
342- if tgt. is_proc_macro ( & cargo ) {
342+ if cargo [ tgt] . is_proc_macro {
343343 if let Some ( proc_macro) = libproc_macro {
344344 if crate_graph
345345 . add_dep (
@@ -351,7 +351,7 @@ impl ProjectWorkspace {
351351 {
352352 log:: error!(
353353 "cyclic dependency on proc_macro for {}" ,
354- pkg. name( & cargo )
354+ & cargo [ pkg] . name
355355 )
356356 }
357357 }
@@ -371,15 +371,15 @@ impl ProjectWorkspace {
371371 // For root projects with dashes in their name,
372372 // cargo metadata does not do any normalization,
373373 // so we do it ourselves currently
374- CrateName :: normalize_dashes ( pkg. name ( & cargo ) ) ,
374+ CrateName :: normalize_dashes ( & cargo [ pkg] . name ) ,
375375 to,
376376 )
377377 . is_err ( )
378378 {
379379 {
380380 log:: error!(
381381 "cyclic dependency between targets of {}" ,
382- pkg. name( & cargo )
382+ & cargo [ pkg] . name
383383 )
384384 }
385385 }
@@ -391,23 +391,23 @@ impl ProjectWorkspace {
391391 . add_dep ( from, CrateName :: new ( "core" ) . unwrap ( ) , core)
392392 . is_err ( )
393393 {
394- log:: error!( "cyclic dependency on core for {}" , pkg. name( & cargo ) )
394+ log:: error!( "cyclic dependency on core for {}" , & cargo [ pkg] . name)
395395 }
396396 }
397397 if let Some ( alloc) = liballoc {
398398 if crate_graph
399399 . add_dep ( from, CrateName :: new ( "alloc" ) . unwrap ( ) , alloc)
400400 . is_err ( )
401401 {
402- log:: error!( "cyclic dependency on alloc for {}" , pkg. name( & cargo ) )
402+ log:: error!( "cyclic dependency on alloc for {}" , & cargo [ pkg] . name)
403403 }
404404 }
405405 if let Some ( std) = libstd {
406406 if crate_graph
407407 . add_dep ( from, CrateName :: new ( "std" ) . unwrap ( ) , std)
408408 . is_err ( )
409409 {
410- log:: error!( "cyclic dependency on std for {}" , pkg. name( & cargo ) )
410+ log:: error!( "cyclic dependency on std for {}" , & cargo [ pkg] . name)
411411 }
412412 }
413413 }
@@ -416,7 +416,7 @@ impl ProjectWorkspace {
416416 // Now add a dep edge from all targets of upstream to the lib
417417 // target of downstream.
418418 for pkg in cargo. packages ( ) {
419- for dep in pkg. dependencies ( & cargo ) {
419+ for dep in cargo [ pkg] . dependencies . iter ( ) {
420420 if let Some ( & to) = pkg_to_lib_crate. get ( & dep. pkg ) {
421421 for & from in pkg_crates. get ( & pkg) . into_iter ( ) . flatten ( ) {
422422 if crate_graph
@@ -425,8 +425,8 @@ impl ProjectWorkspace {
425425 {
426426 log:: error!(
427427 "cyclic dependency {} -> {}" ,
428- pkg. name( & cargo ) ,
429- dep. pkg. name( & cargo )
428+ & cargo [ pkg] . name,
429+ & cargo [ dep. pkg] . name
430430 )
431431 }
432432 }
0 commit comments