@@ -278,13 +278,13 @@ macro_rules! hash_result {
278278
279279macro_rules! get_provider {
280280 ( [ ] [ $tcx: expr, $name: ident, $key: expr] ) => { {
281- $tcx. query_system . local_providers. $name
281+ $tcx. queries . local_providers. $name
282282 } } ;
283283 ( [ ( separate_provide_extern) $( $rest: tt) * ] [ $tcx: expr, $name: ident, $key: expr] ) => { {
284284 if $key. query_crate_is_local( ) {
285- $tcx. query_system . local_providers. $name
285+ $tcx. queries . local_providers. $name
286286 } else {
287- $tcx. query_system . extern_providers. $name
287+ $tcx. queries . extern_providers. $name
288288 }
289289 } } ;
290290 ( [ $other: tt $( $modifiers: tt) * ] [ $( $args: tt) * ] ) => {
@@ -500,12 +500,11 @@ macro_rules! define_queries {
500500 }
501501
502502 #[ inline]
503- // key is only sometimes used
504503 #[ allow( unused_variables) ]
505- fn compute( tcx : TyCtxt <' tcx>, key: Self :: Key ) -> Self :: Value {
504+ fn compute( qcx : QueryCtxt <' tcx>, key: Self :: Key ) -> Self :: Value {
506505 query_provided_to_value:: $name(
507- tcx,
508- get_provider!( [ $( $modifiers) * ] [ tcx , $name, key] ) ( tcx, key)
506+ qcx . tcx,
507+ get_provider!( [ $( $modifiers) * ] [ qcx , $name, key] ) ( qcx . tcx, key)
509508 )
510509 }
511510
@@ -664,12 +663,18 @@ macro_rules! define_queries {
664663 }
665664}
666665
667- use crate :: OnDiskCache ;
666+ use crate :: { ExternProviders , OnDiskCache , Providers } ;
668667
669668impl < ' tcx > Queries < ' tcx > {
670- pub fn new ( on_disk_cache : Option < OnDiskCache < ' tcx > > ) -> Self {
669+ pub fn new (
670+ local_providers : Providers ,
671+ extern_providers : ExternProviders ,
672+ on_disk_cache : Option < OnDiskCache < ' tcx > > ,
673+ ) -> Self {
671674 use crate :: query_structs;
672675 Queries {
676+ local_providers : Box :: new ( local_providers) ,
677+ extern_providers : Box :: new ( extern_providers) ,
673678 query_structs : make_dep_kind_array ! ( query_structs) . to_vec ( ) ,
674679 on_disk_cache,
675680 jobs : AtomicU64 :: new ( 1 ) ,
@@ -683,6 +688,8 @@ macro_rules! define_queries_struct {
683688 input: ( $( ( [ $( $modifiers: tt) * ] [ $( $attr: tt) * ] [ $name: ident] ) ) * ) ) => {
684689 #[ derive( Default ) ]
685690 pub struct Queries <' tcx> {
691+ local_providers: Box <Providers >,
692+ extern_providers: Box <ExternProviders >,
686693 query_structs: Vec <$crate:: plumbing:: QueryStruct <' tcx>>,
687694 pub on_disk_cache: Option <OnDiskCache <' tcx>>,
688695 jobs: AtomicU64 ,
0 commit comments