11use super :: ResolverAstLoweringExt ;
22use super :: { AstOwner , ImplTraitContext , ImplTraitPosition } ;
3- use super :: { LoweringContext , ParamMode } ;
4- use crate :: { Arena , FnDeclKind } ;
3+ use super :: { FnDeclKind , LoweringContext , ParamMode } ;
54
65use rustc_ast:: ptr:: P ;
76use rustc_ast:: visit:: AssocCtxt ;
@@ -12,12 +11,9 @@ use rustc_errors::struct_span_err;
1211use rustc_hir as hir;
1312use rustc_hir:: def:: { DefKind , Res } ;
1413use rustc_hir:: def_id:: { LocalDefId , CRATE_DEF_ID } ;
15- use rustc_hir:: definitions:: Definitions ;
1614use rustc_index:: vec:: { Idx , IndexVec } ;
17- use rustc_middle:: ty:: ResolverOutputs ;
18- use rustc_session:: cstore:: CrateStoreDyn ;
15+ use rustc_middle:: ty:: { ResolverOutputs , TyCtxt } ;
1916use rustc_session:: utils:: NtToTokenstream ;
20- use rustc_session:: Session ;
2117use rustc_span:: source_map:: DesugaringKind ;
2218use rustc_span:: symbol:: { kw, sym, Ident } ;
2319use rustc_span:: Span ;
@@ -28,12 +24,9 @@ use tracing::debug;
2824use std:: iter;
2925
3026pub ( super ) struct ItemLowerer < ' a , ' hir > {
31- pub ( super ) sess : & ' a Session ,
32- pub ( super ) definitions : & ' a mut Definitions ,
33- pub ( super ) cstore : & ' a CrateStoreDyn ,
34- pub ( super ) resolver : & ' a mut ResolverOutputs ,
27+ pub ( super ) tcx : TyCtxt < ' hir > ,
28+ pub ( super ) resolver : & ' hir ResolverOutputs ,
3529 pub ( super ) nt_to_tokenstream : NtToTokenstream ,
36- pub ( super ) arena : & ' hir Arena < ' hir > ,
3730 pub ( super ) ast_index : & ' a IndexVec < LocalDefId , AstOwner < ' a > > ,
3831 pub ( super ) owners : & ' a mut IndexVec < LocalDefId , hir:: MaybeOwner < & ' hir hir:: OwnerInfo < ' hir > > > ,
3932}
@@ -62,17 +55,16 @@ impl<'a, 'hir> ItemLowerer<'a, 'hir> {
6255 fn with_lctx (
6356 & mut self ,
6457 owner : NodeId ,
65- f : impl FnOnce ( & mut LoweringContext < ' _ , ' hir > ) -> hir:: OwnerNode < ' hir > ,
58+ f : impl FnOnce ( & mut LoweringContext < ' hir > ) -> hir:: OwnerNode < ' hir > ,
6659 ) {
6760 let next_node_id = self . resolver . next_node_id ;
6861 let mut lctx = LoweringContext {
6962 // Pseudo-globals.
70- sess : & self . sess ,
71- definitions : self . definitions ,
72- cstore : self . cstore ,
63+ tcx : self . tcx ,
64+ sess : & self . tcx . sess ,
7365 resolver : self . resolver ,
7466 nt_to_tokenstream : self . nt_to_tokenstream ,
75- arena : self . arena ,
67+ arena : self . tcx . hir_arena ,
7668
7769 // HirId handling.
7870 bodies : Vec :: new ( ) ,
@@ -145,7 +137,7 @@ impl<'a, 'hir> ItemLowerer<'a, 'hir> {
145137 let def_id = self . resolver . node_id_to_def_id [ & item. id ] ;
146138
147139 let parent_id = {
148- let parent = self . definitions . def_key ( def_id) . parent ;
140+ let parent = self . tcx . hir ( ) . def_key ( def_id) . parent ;
149141 let local_def_index = parent. unwrap ( ) ;
150142 LocalDefId { local_def_index }
151143 } ;
@@ -174,7 +166,7 @@ impl<'a, 'hir> ItemLowerer<'a, 'hir> {
174166 }
175167}
176168
177- impl < ' hir > LoweringContext < ' _ , ' hir > {
169+ impl < ' hir > LoweringContext < ' hir > {
178170 pub ( super ) fn lower_mod ( & mut self , items : & [ P < Item > ] , spans : & ModSpans ) -> hir:: Mod < ' hir > {
179171 hir:: Mod {
180172 spans : hir:: ModSpans {
@@ -1429,7 +1421,7 @@ pub(super) struct GenericsCtor<'hir> {
14291421}
14301422
14311423impl < ' hir > GenericsCtor < ' hir > {
1432- pub ( super ) fn into_generics ( self , arena : & ' hir Arena < ' hir > ) -> hir:: Generics < ' hir > {
1424+ pub ( super ) fn into_generics ( self , arena : & ' hir hir :: Arena < ' hir > ) -> hir:: Generics < ' hir > {
14331425 hir:: Generics {
14341426 params : arena. alloc_from_iter ( self . params ) ,
14351427 where_clause : self . where_clause ,
0 commit comments