@@ -13,7 +13,7 @@ use rustc_incremental::DepGraphFuture;
13
13
use rustc_lint:: LintStore ;
14
14
use rustc_middle:: arena:: Arena ;
15
15
use rustc_middle:: dep_graph:: DepGraph ;
16
- use rustc_middle:: ty:: { self , GlobalCtxt , ResolverOutputs , TyCtxt } ;
16
+ use rustc_middle:: ty:: { self , GlobalCtxt , TyCtxt } ;
17
17
use rustc_query_impl:: Queries as TcxQueries ;
18
18
use rustc_resolve:: Resolver ;
19
19
use rustc_session:: config:: { self , OutputFilenames , OutputType } ;
@@ -88,7 +88,6 @@ pub struct Queries<'tcx> {
88
88
parse : Query < ast:: Crate > ,
89
89
crate_name : Query < Symbol > ,
90
90
register_plugins : Query < ( ast:: Crate , Lrc < LintStore > ) > ,
91
- expansion : Query < ( Lrc < ast:: Crate > , ResolverOutputs , Lrc < LintStore > ) > ,
92
91
dep_graph : Query < DepGraph > ,
93
92
// This just points to what's in `gcx_cell`.
94
93
gcx : Query < & ' tcx GlobalCtxt < ' tcx > > ,
@@ -107,7 +106,6 @@ impl<'tcx> Queries<'tcx> {
107
106
parse : Default :: default ( ) ,
108
107
crate_name : Default :: default ( ) ,
109
108
register_plugins : Default :: default ( ) ,
110
- expansion : Default :: default ( ) ,
111
109
dep_graph : Default :: default ( ) ,
112
110
gcx : Default :: default ( ) ,
113
111
ongoing_codegen : Default :: default ( ) ,
@@ -169,30 +167,6 @@ impl<'tcx> Queries<'tcx> {
169
167
} )
170
168
}
171
169
172
- pub fn expansion (
173
- & self ,
174
- ) -> Result < QueryResult < ' _ , ( Lrc < ast:: Crate > , ResolverOutputs , Lrc < LintStore > ) > > {
175
- trace ! ( "expansion" ) ;
176
- self . expansion . compute ( || {
177
- let crate_name = * self . crate_name ( ) ?. borrow ( ) ;
178
- let ( krate, lint_store) = self . register_plugins ( ) ?. steal ( ) ;
179
- let _timer = self . session ( ) . timer ( "configure_and_expand" ) ;
180
- let sess = self . session ( ) ;
181
-
182
- let arenas = Resolver :: arenas ( ) ;
183
- let mut resolver = Resolver :: new (
184
- sess,
185
- & krate,
186
- crate_name,
187
- self . codegen_backend ( ) . metadata_loader ( ) ,
188
- & arenas,
189
- ) ;
190
- let krate =
191
- passes:: configure_and_expand ( sess, & lint_store, krate, crate_name, & mut resolver) ?;
192
- Ok ( ( Lrc :: new ( krate) , resolver. into_outputs ( ) , lint_store) )
193
- } )
194
- }
195
-
196
170
fn dep_graph ( & self ) -> Result < QueryResult < ' _ , DepGraph > > {
197
171
self . dep_graph . compute ( || {
198
172
let sess = self . session ( ) ;
@@ -212,7 +186,28 @@ impl<'tcx> Queries<'tcx> {
212
186
pub fn global_ctxt ( & ' tcx self ) -> Result < QueryResult < ' _ , & ' tcx GlobalCtxt < ' tcx > > > {
213
187
self . gcx . compute ( || {
214
188
let crate_name = * self . crate_name ( ) ?. borrow ( ) ;
215
- let ( krate, resolver_outputs, lint_store) = self . expansion ( ) ?. steal ( ) ;
189
+ let ( krate, resolver_outputs, lint_store) = {
190
+ let ( krate, lint_store) = self . register_plugins ( ) ?. steal ( ) ;
191
+ let _timer = self . session ( ) . timer ( "configure_and_expand" ) ;
192
+ let sess = self . session ( ) ;
193
+
194
+ let arenas = Resolver :: arenas ( ) ;
195
+ let mut resolver = Resolver :: new (
196
+ sess,
197
+ & krate,
198
+ crate_name,
199
+ self . codegen_backend ( ) . metadata_loader ( ) ,
200
+ & arenas,
201
+ ) ;
202
+ let krate = passes:: configure_and_expand (
203
+ sess,
204
+ & lint_store,
205
+ krate,
206
+ crate_name,
207
+ & mut resolver,
208
+ ) ?;
209
+ ( Lrc :: new ( krate) , resolver. into_outputs ( ) , lint_store)
210
+ } ;
216
211
217
212
let ty:: ResolverOutputs {
218
213
untracked,
0 commit comments