@@ -45,7 +45,6 @@ use std::any::Any;
4545use std:: cell:: RefCell ;
4646use std:: ffi:: OsString ;
4747use std:: io:: { self , BufWriter , Write } ;
48- use std:: lazy:: SyncLazy ;
4948use std:: marker:: PhantomPinned ;
5049use std:: path:: PathBuf ;
5150use std:: pin:: Pin ;
@@ -737,35 +736,35 @@ pub fn prepare_outputs(
737736 Ok ( outputs)
738737}
739738
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 ( ) ;
742741 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 ;
765764 rustc_metadata:: provide_extern ( & mut extern_providers) ;
766765 rustc_codegen_ssa:: provide_extern ( & mut extern_providers) ;
767766 extern_providers
768- } ) ;
767+ } ;
769768
770769pub struct QueryContext < ' tcx > {
771770 gcx : & ' tcx GlobalCtxt < ' tcx > ,
@@ -808,10 +807,10 @@ pub fn create_global_ctxt<'tcx>(
808807 let query_result_on_disk_cache = rustc_incremental:: load_query_result_cache ( sess) ;
809808
810809 let codegen_backend = compiler. codegen_backend ( ) ;
811- let mut local_providers = * DEFAULT_QUERY_PROVIDERS ;
810+ let mut local_providers = DEFAULT_QUERY_PROVIDERS ;
812811 codegen_backend. provide ( & mut local_providers) ;
813812
814- let mut extern_providers = * DEFAULT_EXTERN_QUERY_PROVIDERS ;
813+ let mut extern_providers = DEFAULT_EXTERN_QUERY_PROVIDERS ;
815814 codegen_backend. provide ( & mut extern_providers) ;
816815 codegen_backend. provide_extern ( & mut extern_providers) ;
817816
0 commit comments