@@ -45,7 +45,6 @@ use std::any::Any;
45
45
use std:: cell:: RefCell ;
46
46
use std:: ffi:: OsString ;
47
47
use std:: io:: { self , BufWriter , Write } ;
48
- use std:: lazy:: SyncLazy ;
49
48
use std:: marker:: PhantomPinned ;
50
49
use std:: path:: PathBuf ;
51
50
use std:: pin:: Pin ;
@@ -737,35 +736,35 @@ pub fn prepare_outputs(
737
736
Ok ( outputs)
738
737
}
739
738
740
- pub static DEFAULT_QUERY_PROVIDERS : SyncLazy < Providers > = SyncLazy :: new ( || {
741
- let providers = & mut Providers :: default ( ) ;
739
+ pub const DEFAULT_QUERY_PROVIDERS : Providers = {
740
+ let mut providers = Providers :: default ( ) ;
742
741
providers. analysis = analysis;
743
- proc_macro_decls:: provide ( providers) ;
744
- plugin:: build:: provide ( providers) ;
745
- rustc_middle:: hir:: provide ( providers) ;
746
- mir:: provide ( providers) ;
747
- mir_build:: provide ( providers) ;
748
- rustc_privacy:: provide ( providers) ;
749
- typeck:: provide ( providers) ;
750
- ty:: provide ( providers) ;
751
- traits:: provide ( providers) ;
752
- rustc_passes:: provide ( providers) ;
753
- rustc_resolve:: provide ( providers) ;
754
- rustc_traits:: provide ( providers) ;
755
- rustc_ty_utils:: provide ( providers) ;
756
- rustc_metadata:: provide ( providers) ;
757
- rustc_lint:: provide ( providers) ;
758
- rustc_symbol_mangling:: provide ( providers) ;
759
- rustc_codegen_ssa:: provide ( providers) ;
760
- * providers
761
- } ) ;
762
-
763
- pub static DEFAULT_EXTERN_QUERY_PROVIDERS : SyncLazy < Providers > = SyncLazy :: new ( || {
764
- let mut extern_providers = * DEFAULT_QUERY_PROVIDERS ;
742
+ proc_macro_decls:: provide ( & mut providers) ;
743
+ plugin:: build:: provide ( & mut providers) ;
744
+ rustc_middle:: hir:: provide ( & mut providers) ;
745
+ mir:: provide ( & mut providers) ;
746
+ mir_build:: provide ( & mut providers) ;
747
+ rustc_privacy:: provide ( & mut providers) ;
748
+ typeck:: provide ( & mut providers) ;
749
+ ty:: provide ( & mut providers) ;
750
+ traits:: provide ( & mut providers) ;
751
+ rustc_passes:: provide ( & mut providers) ;
752
+ rustc_resolve:: provide ( & mut providers) ;
753
+ rustc_traits:: provide ( & mut providers) ;
754
+ rustc_ty_utils:: provide ( & mut providers) ;
755
+ rustc_metadata:: provide ( & mut providers) ;
756
+ rustc_lint:: provide ( & mut providers) ;
757
+ rustc_symbol_mangling:: provide ( & mut providers) ;
758
+ rustc_codegen_ssa:: provide ( & mut providers) ;
759
+ providers
760
+ } ;
761
+
762
+ pub const DEFAULT_EXTERN_QUERY_PROVIDERS : Providers = {
763
+ let mut extern_providers = DEFAULT_QUERY_PROVIDERS ;
765
764
rustc_metadata:: provide_extern ( & mut extern_providers) ;
766
765
rustc_codegen_ssa:: provide_extern ( & mut extern_providers) ;
767
766
extern_providers
768
- } ) ;
767
+ } ;
769
768
770
769
pub struct QueryContext < ' tcx > {
771
770
gcx : & ' tcx GlobalCtxt < ' tcx > ,
@@ -808,10 +807,10 @@ pub fn create_global_ctxt<'tcx>(
808
807
let query_result_on_disk_cache = rustc_incremental:: load_query_result_cache ( sess) ;
809
808
810
809
let codegen_backend = compiler. codegen_backend ( ) ;
811
- let mut local_providers = * DEFAULT_QUERY_PROVIDERS ;
810
+ let mut local_providers = DEFAULT_QUERY_PROVIDERS ;
812
811
codegen_backend. provide ( & mut local_providers) ;
813
812
814
- let mut extern_providers = * DEFAULT_EXTERN_QUERY_PROVIDERS ;
813
+ let mut extern_providers = DEFAULT_EXTERN_QUERY_PROVIDERS ;
815
814
codegen_backend. provide ( & mut extern_providers) ;
816
815
codegen_backend. provide_extern ( & mut extern_providers) ;
817
816
0 commit comments