@@ -278,13 +278,13 @@ macro_rules! hash_result {
278
278
279
279
macro_rules! get_provider {
280
280
( [ ] [ $tcx: expr, $name: ident, $key: expr] ) => { {
281
- $tcx. query_system . local_providers. $name
281
+ $tcx. queries . local_providers. $name
282
282
} } ;
283
283
( [ ( separate_provide_extern) $( $rest: tt) * ] [ $tcx: expr, $name: ident, $key: expr] ) => { {
284
284
if $key. query_crate_is_local( ) {
285
- $tcx. query_system . local_providers. $name
285
+ $tcx. queries . local_providers. $name
286
286
} else {
287
- $tcx. query_system . extern_providers. $name
287
+ $tcx. queries . extern_providers. $name
288
288
}
289
289
} } ;
290
290
( [ $other: tt $( $modifiers: tt) * ] [ $( $args: tt) * ] ) => {
@@ -500,12 +500,11 @@ macro_rules! define_queries {
500
500
}
501
501
502
502
#[ inline]
503
- // key is only sometimes used
504
503
#[ 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 {
506
505
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)
509
508
)
510
509
}
511
510
@@ -664,12 +663,18 @@ macro_rules! define_queries {
664
663
}
665
664
}
666
665
667
- use crate :: OnDiskCache ;
666
+ use crate :: { ExternProviders , OnDiskCache , Providers } ;
668
667
669
668
impl < ' 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 {
671
674
use crate :: query_structs;
672
675
Queries {
676
+ local_providers : Box :: new ( local_providers) ,
677
+ extern_providers : Box :: new ( extern_providers) ,
673
678
query_structs : make_dep_kind_array ! ( query_structs) . to_vec ( ) ,
674
679
on_disk_cache,
675
680
jobs : AtomicU64 :: new ( 1 ) ,
@@ -683,6 +688,8 @@ macro_rules! define_queries_struct {
683
688
input: ( $( ( [ $( $modifiers: tt) * ] [ $( $attr: tt) * ] [ $name: ident] ) ) * ) ) => {
684
689
#[ derive( Default ) ]
685
690
pub struct Queries <' tcx> {
691
+ local_providers: Box <Providers >,
692
+ extern_providers: Box <ExternProviders >,
686
693
query_structs: Vec <$crate:: plumbing:: QueryStruct <' tcx>>,
687
694
pub on_disk_cache: Option <OnDiskCache <' tcx>>,
688
695
jobs: AtomicU64 ,
0 commit comments