@@ -19,7 +19,7 @@ use rustc::lint;
1919use rustc:: util:: nodemap:: DefIdSet ;
2020use rustc_trans:: back:: link;
2121use rustc_resolve as resolve;
22- use rustc_front:: lowering:: lower_crate;
22+ use rustc_front:: lowering:: { lower_crate, LoweringContext } ;
2323
2424use syntax:: { ast, codemap, diagnostic} ;
2525use syntax:: feature_gate:: UnstableFeatures ;
@@ -37,7 +37,7 @@ pub use rustc::session::search_paths::SearchPaths;
3737/// Are we generating documentation (`Typed`) or tests (`NotTyped`)?
3838pub enum MaybeTyped < ' a , ' tcx : ' a > {
3939 Typed ( & ' a ty:: ctxt < ' tcx > ) ,
40- NotTyped ( session:: Session )
40+ NotTyped ( & ' a session:: Session )
4141}
4242
4343pub type ExternalPaths = RefCell < Option < HashMap < DefId ,
@@ -135,11 +135,13 @@ pub fn run_core(search_paths: SearchPaths, cfgs: Vec<String>, externs: Externs,
135135
136136 let krate = driver:: assign_node_ids ( & sess, krate) ;
137137 // Lower ast -> hir.
138- let mut hir_forest = hir_map:: Forest :: new ( lower_crate ( & krate) ) ;
138+ let foo = & 42 ;
139+ let lcx = LoweringContext :: new ( foo, & sess, & krate) ;
140+ let mut hir_forest = hir_map:: Forest :: new ( lower_crate ( & lcx, & krate) ) ;
139141 let arenas = ty:: CtxtArenas :: new ( ) ;
140142 let hir_map = driver:: make_map ( & sess, & mut hir_forest) ;
141143
142- driver:: phase_3_run_analysis_passes ( sess,
144+ driver:: phase_3_run_analysis_passes ( & sess,
143145 hir_map,
144146 & arenas,
145147 name,
@@ -194,5 +196,5 @@ pub fn run_core(search_paths: SearchPaths, cfgs: Vec<String>, externs: Externs,
194196 * analysis. inlined . borrow_mut ( ) = map;
195197 analysis. deref_trait_did = ctxt. deref_trait_did . get ( ) ;
196198 ( krate, analysis)
197- } ) . 1
199+ } )
198200}
0 commit comments