@@ -219,6 +219,8 @@ impl<'a> CrateLoader<'a> {
219219
220220        let  cnum_map = self . resolve_crate_deps ( root,  & crate_root,  & metadata,  cnum,  span,  dep_kind) ; 
221221
222+         let  dependencies:  Vec < CrateNum >  = cnum_map. iter ( ) . cloned ( ) . collect ( ) ; 
223+ 
222224        let  def_path_table = record_time ( & self . sess . perf_stats . decode_def_path_tables_time ,  || { 
223225            crate_root. def_path_table . decode ( ( & metadata,  self . sess ) ) 
224226        } ) ; 
@@ -239,8 +241,9 @@ impl<'a> CrateLoader<'a> {
239241            } ) , 
240242            root :  crate_root, 
241243            blob :  metadata, 
242-             cnum_map :   Lock :: new ( cnum_map ) , 
244+             cnum_map, 
243245            cnum, 
246+             dependencies :  Lock :: new ( dependencies) , 
244247            codemap_import_info :  RwLock :: new ( vec ! [ ] ) , 
245248            attribute_cache :  Lock :: new ( [ Vec :: new ( ) ,  Vec :: new ( ) ] ) , 
246249            dep_kind :  Lock :: new ( dep_kind) , 
@@ -392,7 +395,7 @@ impl<'a> CrateLoader<'a> {
392395
393396        // Propagate the extern crate info to dependencies. 
394397        extern_crate. direct  = false ; 
395-         for  & dep_cnum in  cmeta. cnum_map . borrow ( ) . iter ( )  { 
398+         for  & dep_cnum in  cmeta. dependencies . borrow ( ) . iter ( )  { 
396399            self . update_extern_crate ( dep_cnum,  extern_crate,  visited) ; 
397400        } 
398401    } 
@@ -1040,7 +1043,7 @@ impl<'a> CrateLoader<'a> {
10401043            } 
10411044
10421045            info ! ( "injecting a dep from {} to {}" ,  cnum,  krate) ; 
1043-             data. cnum_map . borrow_mut ( ) . push ( krate) ; 
1046+             data. dependencies . borrow_mut ( ) . push ( krate) ; 
10441047        } ) ; 
10451048    } 
10461049} 
0 commit comments