@@ -726,13 +726,16 @@ pub fn phase_2_configure_and_expand<'a>(sess: &Session,
726726
727727 krate = assign_node_ids ( sess, krate) ;
728728
729+ let resolver_arenas = Resolver :: arenas ( ) ;
730+ let mut resolver = Resolver :: new ( sess, make_glob_map, & resolver_arenas) ;
731+
729732 // Collect defintions for def ids.
730- let defs =
731- time ( sess. time_passes ( ) , "collecting defs" , || hir_map:: collect_definitions ( & krate) ) ;
733+ time ( sess. time_passes ( ) , "collecting defs" , || resolver. definitions . collect ( & krate) ) ;
732734
733- time ( sess. time_passes ( ) ,
734- "external crate/lib resolution" ,
735- || read_local_crates ( sess, & cstore, & defs, & krate, crate_name, & sess. dep_graph ) ) ;
735+ time ( sess. time_passes ( ) , "external crate/lib resolution" , || {
736+ let defs = & resolver. definitions ;
737+ read_local_crates ( sess, & cstore, defs, & krate, crate_name, & sess. dep_graph )
738+ } ) ;
736739
737740 time ( sess. time_passes ( ) ,
738741 "early lint checks" ,
@@ -742,9 +745,6 @@ pub fn phase_2_configure_and_expand<'a>(sess: &Session,
742745 "AST validation" ,
743746 || ast_validation:: check_crate ( sess, & krate) ) ;
744747
745- let resolver_arenas = Resolver :: arenas ( ) ;
746- let mut resolver = Resolver :: new ( sess, defs, make_glob_map, & resolver_arenas) ;
747-
748748 time ( sess. time_passes ( ) , "name resolution" , || {
749749 resolver. resolve_crate ( & krate) ;
750750 } ) ;
0 commit comments