@@ -21,7 +21,6 @@ use rustc_span::symbol::sym;
2121use rustc_span:: Symbol ;
2222use std:: any:: Any ;
2323use std:: cell:: { RefCell , RefMut } ;
24- use std:: rc:: Rc ;
2524use std:: sync:: Arc ;
2625
2726/// Represent the result of a query.
@@ -88,7 +87,7 @@ pub struct Queries<'tcx> {
8887 parse : Query < ast:: Crate > ,
8988 crate_name : Query < Symbol > ,
9089 register_plugins : Query < ( ast:: Crate , Lrc < LintStore > ) > ,
91- expansion : Query < ( Lrc < ast:: Crate > , Rc < RefCell < BoxedResolver > > , Lrc < LintStore > ) > ,
90+ expansion : Query < ( Lrc < ast:: Crate > , BoxedResolver , Lrc < LintStore > ) > ,
9291 dep_graph : Query < DepGraph > ,
9392 // This just points to what's in `gcx_cell`.
9493 gcx : Query < & ' tcx GlobalCtxt < ' tcx > > ,
@@ -171,8 +170,7 @@ impl<'tcx> Queries<'tcx> {
171170
172171 pub fn expansion (
173172 & self ,
174- ) -> Result < QueryResult < ' _ , ( Lrc < ast:: Crate > , Rc < RefCell < BoxedResolver > > , Lrc < LintStore > ) > >
175- {
173+ ) -> Result < QueryResult < ' _ , ( Lrc < ast:: Crate > , BoxedResolver , Lrc < LintStore > ) > > {
176174 trace ! ( "expansion" ) ;
177175 self . expansion . compute ( || {
178176 let crate_name = * self . crate_name ( ) ?. borrow ( ) ;
@@ -188,7 +186,7 @@ impl<'tcx> Queries<'tcx> {
188186 let krate = resolver. access ( |resolver| {
189187 passes:: configure_and_expand ( sess, & lint_store, krate, crate_name, resolver)
190188 } ) ?;
191- Ok ( ( Lrc :: new ( krate) , Rc :: new ( RefCell :: new ( resolver) ) , lint_store) )
189+ Ok ( ( Lrc :: new ( krate) , resolver, lint_store) )
192190 } )
193191 }
194192
@@ -217,7 +215,7 @@ impl<'tcx> Queries<'tcx> {
217215 untracked,
218216 global_ctxt : untracked_resolutions,
219217 ast_lowering : untracked_resolver_for_lowering,
220- } = BoxedResolver :: to_resolver_outputs ( resolver) ;
218+ } = resolver. into_outputs ( ) ;
221219
222220 let gcx = passes:: create_global_ctxt (
223221 self . compiler ,
0 commit comments