@@ -13,7 +13,7 @@ use rustc_incremental::DepGraphFuture;
1313use rustc_lint:: LintStore ;
1414use rustc_middle:: arena:: Arena ;
1515use rustc_middle:: dep_graph:: DepGraph ;
16- use rustc_middle:: ty:: { self , GlobalCtxt , ResolverOutputs , TyCtxt } ;
16+ use rustc_middle:: ty:: { self , GlobalCtxt , TyCtxt } ;
1717use rustc_query_impl:: Queries as TcxQueries ;
1818use rustc_resolve:: Resolver ;
1919use rustc_session:: config:: { self , OutputFilenames , OutputType } ;
@@ -88,7 +88,6 @@ pub struct Queries<'tcx> {
8888 parse : Query < ast:: Crate > ,
8989 crate_name : Query < Symbol > ,
9090 register_plugins : Query < ( ast:: Crate , Lrc < LintStore > ) > ,
91- expansion : Query < ( Lrc < ast:: Crate > , ResolverOutputs , Lrc < LintStore > ) > ,
9291 dep_graph : Query < DepGraph > ,
9392 // This just points to what's in `gcx_cell`.
9493 gcx : Query < & ' tcx GlobalCtxt < ' tcx > > ,
@@ -107,7 +106,6 @@ impl<'tcx> Queries<'tcx> {
107106 parse : Default :: default ( ) ,
108107 crate_name : Default :: default ( ) ,
109108 register_plugins : Default :: default ( ) ,
110- expansion : Default :: default ( ) ,
111109 dep_graph : Default :: default ( ) ,
112110 gcx : Default :: default ( ) ,
113111 ongoing_codegen : Default :: default ( ) ,
@@ -169,30 +167,6 @@ impl<'tcx> Queries<'tcx> {
169167 } )
170168 }
171169
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-
196170 fn dep_graph ( & self ) -> Result < QueryResult < ' _ , DepGraph > > {
197171 self . dep_graph . compute ( || {
198172 let sess = self . session ( ) ;
@@ -212,7 +186,28 @@ impl<'tcx> Queries<'tcx> {
212186 pub fn global_ctxt ( & ' tcx self ) -> Result < QueryResult < ' _ , & ' tcx GlobalCtxt < ' tcx > > > {
213187 self . gcx . compute ( || {
214188 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+ } ;
216211
217212 let ty:: ResolverOutputs {
218213 untracked,
0 commit comments