1
1
use super :: ResolverAstLoweringExt ;
2
2
use super :: { AstOwner , ImplTraitContext , ImplTraitPosition } ;
3
- use super :: { LoweringContext , ParamMode } ;
4
- use crate :: { Arena , FnDeclKind } ;
3
+ use super :: { FnDeclKind , LoweringContext , ParamMode } ;
5
4
6
5
use rustc_ast:: ptr:: P ;
7
6
use rustc_ast:: visit:: AssocCtxt ;
@@ -12,12 +11,9 @@ use rustc_errors::struct_span_err;
12
11
use rustc_hir as hir;
13
12
use rustc_hir:: def:: { DefKind , Res } ;
14
13
use rustc_hir:: def_id:: { LocalDefId , CRATE_DEF_ID } ;
15
- use rustc_hir:: definitions:: Definitions ;
16
14
use rustc_index:: vec:: { Idx , IndexVec } ;
17
- use rustc_middle:: ty:: ResolverOutputs ;
18
- use rustc_session:: cstore:: CrateStoreDyn ;
15
+ use rustc_middle:: ty:: { ResolverOutputs , TyCtxt } ;
19
16
use rustc_session:: utils:: NtToTokenstream ;
20
- use rustc_session:: Session ;
21
17
use rustc_span:: source_map:: DesugaringKind ;
22
18
use rustc_span:: symbol:: { kw, sym, Ident } ;
23
19
use rustc_span:: Span ;
@@ -28,12 +24,9 @@ use tracing::debug;
28
24
use std:: iter;
29
25
30
26
pub ( 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 ,
35
29
pub ( super ) nt_to_tokenstream : NtToTokenstream ,
36
- pub ( super ) arena : & ' hir Arena < ' hir > ,
37
30
pub ( super ) ast_index : & ' a IndexVec < LocalDefId , AstOwner < ' a > > ,
38
31
pub ( super ) owners : & ' a mut IndexVec < LocalDefId , hir:: MaybeOwner < & ' hir hir:: OwnerInfo < ' hir > > > ,
39
32
}
@@ -62,17 +55,16 @@ impl<'a, 'hir> ItemLowerer<'a, 'hir> {
62
55
fn with_lctx (
63
56
& mut self ,
64
57
owner : NodeId ,
65
- f : impl FnOnce ( & mut LoweringContext < ' _ , ' hir > ) -> hir:: OwnerNode < ' hir > ,
58
+ f : impl FnOnce ( & mut LoweringContext < ' hir > ) -> hir:: OwnerNode < ' hir > ,
66
59
) {
67
60
let next_node_id = self . resolver . next_node_id ;
68
61
let mut lctx = LoweringContext {
69
62
// Pseudo-globals.
70
- sess : & self . sess ,
71
- definitions : self . definitions ,
72
- cstore : self . cstore ,
63
+ tcx : self . tcx ,
64
+ sess : & self . tcx . sess ,
73
65
resolver : self . resolver ,
74
66
nt_to_tokenstream : self . nt_to_tokenstream ,
75
- arena : self . arena ,
67
+ arena : self . tcx . hir_arena ,
76
68
77
69
// HirId handling.
78
70
bodies : Vec :: new ( ) ,
@@ -145,7 +137,7 @@ impl<'a, 'hir> ItemLowerer<'a, 'hir> {
145
137
let def_id = self . resolver . node_id_to_def_id [ & item. id ] ;
146
138
147
139
let parent_id = {
148
- let parent = self . definitions . def_key ( def_id) . parent ;
140
+ let parent = self . tcx . hir ( ) . def_key ( def_id) . parent ;
149
141
let local_def_index = parent. unwrap ( ) ;
150
142
LocalDefId { local_def_index }
151
143
} ;
@@ -174,7 +166,7 @@ impl<'a, 'hir> ItemLowerer<'a, 'hir> {
174
166
}
175
167
}
176
168
177
- impl < ' hir > LoweringContext < ' _ , ' hir > {
169
+ impl < ' hir > LoweringContext < ' hir > {
178
170
pub ( super ) fn lower_mod ( & mut self , items : & [ P < Item > ] , spans : & ModSpans ) -> hir:: Mod < ' hir > {
179
171
hir:: Mod {
180
172
spans : hir:: ModSpans {
@@ -1429,7 +1421,7 @@ pub(super) struct GenericsCtor<'hir> {
1429
1421
}
1430
1422
1431
1423
impl < ' 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 > {
1433
1425
hir:: Generics {
1434
1426
params : arena. alloc_from_iter ( self . params ) ,
1435
1427
where_clause : self . where_clause ,
0 commit comments