@@ -17,6 +17,7 @@ use rustc::middle::cstore::{ExternCrate, ExternCrateSource};
1717use rustc:: util:: common:: record_time;
1818use rustc:: util:: nodemap:: FxHashSet ;
1919use rustc:: hir:: map:: Definitions ;
20+ use rustc:: hir:: def_id:: LOCAL_CRATE ;
2021
2122use std:: ops:: Deref ;
2223use std:: path:: PathBuf ;
@@ -430,7 +431,7 @@ impl<'a> CrateLoader<'a> {
430431 mut extern_crate : ExternCrate ,
431432 visited : & mut FxHashSet < ( CrateNum , bool ) > )
432433 {
433- if !visited. insert ( ( cnum, extern_crate. direct ) ) { return }
434+ if !visited. insert ( ( cnum, extern_crate. is_direct ( ) ) ) { return }
434435
435436 let cmeta = self . cstore . get_crate_data ( cnum) ;
436437 let mut old_extern_crate = cmeta. extern_crate . borrow_mut ( ) ;
@@ -441,14 +442,14 @@ impl<'a> CrateLoader<'a> {
441442 // - shorter paths to longer (tuple.2).
442443 let new_rank = (
443444 true ,
444- extern_crate. direct ,
445+ extern_crate. is_direct ( ) ,
445446 cmp:: Reverse ( extern_crate. path_len ) ,
446447 ) ;
447448 let old_rank = match * old_extern_crate {
448449 None => ( false , false , cmp:: Reverse ( usize:: max_value ( ) ) ) ,
449450 Some ( ref c) => (
450451 true ,
451- c. direct ,
452+ c. is_direct ( ) ,
452453 cmp:: Reverse ( c. path_len ) ,
453454 ) ,
454455 } ;
@@ -460,7 +461,7 @@ impl<'a> CrateLoader<'a> {
460461 drop ( old_extern_crate) ;
461462
462463 // Propagate the extern crate info to dependencies.
463- extern_crate. direct = false ;
464+ extern_crate. dependency_of = cnum ;
464465 for & dep_cnum in cmeta. dependencies . borrow ( ) . iter ( ) {
465466 self . update_extern_crate ( dep_cnum, extern_crate, visited) ;
466467 }
@@ -1030,7 +1031,7 @@ impl<'a> CrateLoader<'a> {
10301031 src : ExternCrateSource :: Extern ( def_id) ,
10311032 span : item. span ,
10321033 path_len,
1033- direct : true ,
1034+ dependency_of : LOCAL_CRATE ,
10341035 } ,
10351036 & mut FxHashSet :: default ( ) ,
10361037 ) ;
@@ -1057,7 +1058,7 @@ impl<'a> CrateLoader<'a> {
10571058 span,
10581059 // to have the least priority in `update_extern_crate`
10591060 path_len : usize:: max_value ( ) ,
1060- direct : true ,
1061+ dependency_of : LOCAL_CRATE ,
10611062 } ,
10621063 & mut FxHashSet :: default ( ) ,
10631064 ) ;
@@ -1081,7 +1082,7 @@ impl<'a> CrateLoader<'a> {
10811082 span,
10821083 // to have the least priority in `update_extern_crate`
10831084 path_len : usize:: max_value ( ) ,
1084- direct : true ,
1085+ dependency_of : LOCAL_CRATE ,
10851086 } ,
10861087 & mut FxHashSet :: default ( ) ,
10871088 ) ;
0 commit comments