@@ -726,13 +726,16 @@ pub fn phase_2_configure_and_expand<'a>(sess: &Session,
726
726
727
727
krate = assign_node_ids ( sess, krate) ;
728
728
729
+ let resolver_arenas = Resolver :: arenas ( ) ;
730
+ let mut resolver = Resolver :: new ( sess, make_glob_map, & resolver_arenas) ;
731
+
729
732
// 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) ) ;
732
734
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
+ } ) ;
736
739
737
740
time ( sess. time_passes ( ) ,
738
741
"early lint checks" ,
@@ -742,9 +745,6 @@ pub fn phase_2_configure_and_expand<'a>(sess: &Session,
742
745
"AST validation" ,
743
746
|| ast_validation:: check_crate ( sess, & krate) ) ;
744
747
745
- let resolver_arenas = Resolver :: arenas ( ) ;
746
- let mut resolver = Resolver :: new ( sess, defs, make_glob_map, & resolver_arenas) ;
747
-
748
748
time ( sess. time_passes ( ) , "name resolution" , || {
749
749
resolver. resolve_crate ( & krate) ;
750
750
} ) ;
0 commit comments