@@ -18,6 +18,7 @@ use rustc_lint::{unerased_lint_store, BufferedEarlyLint, EarlyCheckNode, LintSto
1818use rustc_metadata:: creader:: CStore ;
1919use rustc_middle:: arena:: Arena ;
2020use rustc_middle:: dep_graph:: DepGraph ;
21+ use rustc_middle:: hooks;
2122use rustc_middle:: query:: { ExternProviders , Providers } ;
2223use rustc_middle:: ty:: { self , GlobalCtxt , RegisteredTools , TyCtxt } ;
2324use rustc_mir_build as mir_build;
@@ -645,15 +646,16 @@ fn output_filenames(tcx: TyCtxt<'_>, (): ()) -> Arc<OutputFilenames> {
645646 outputs. into ( )
646647}
647648
648- pub static DEFAULT_QUERY_PROVIDERS : LazyLock < Providers > = LazyLock :: new ( || {
649+ pub static DEFAULT_QUERY_PROVIDERS : LazyLock < ( Providers , hooks :: Providers ) > = LazyLock :: new ( || {
649650 let providers = & mut Providers :: default ( ) ;
651+ let hooks = & mut hooks:: Providers :: default ( ) ;
650652 providers. analysis = analysis;
651653 providers. hir_crate = rustc_ast_lowering:: lower_to_hir;
652654 providers. output_filenames = output_filenames;
653655 providers. resolver_for_lowering = resolver_for_lowering;
654656 providers. early_lint_checks = early_lint_checks;
655657 proc_macro_decls:: provide ( providers) ;
656- rustc_const_eval:: provide ( providers) ;
658+ rustc_const_eval:: provide ( providers, hooks ) ;
657659 rustc_middle:: hir:: provide ( providers) ;
658660 mir_borrowck:: provide ( providers) ;
659661 mir_build:: provide ( providers) ;
@@ -672,7 +674,7 @@ pub static DEFAULT_QUERY_PROVIDERS: LazyLock<Providers> = LazyLock::new(|| {
672674 rustc_lint:: provide ( providers) ;
673675 rustc_symbol_mangling:: provide ( providers) ;
674676 rustc_codegen_ssa:: provide ( providers) ;
675- * providers
677+ ( * providers, * hooks )
676678} ) ;
677679
678680pub static DEFAULT_EXTERN_QUERY_PROVIDERS : LazyLock < ExternProviders > = LazyLock :: new ( || {
@@ -702,8 +704,8 @@ pub fn create_global_ctxt<'tcx>(
702704 let query_result_on_disk_cache = rustc_incremental:: load_query_result_cache ( sess) ;
703705
704706 let codegen_backend = compiler. codegen_backend ( ) ;
705- let mut local_providers = * DEFAULT_QUERY_PROVIDERS ;
706- codegen_backend. provide ( & mut local_providers) ;
707+ let ( mut local_providers, mut hooks ) = * DEFAULT_QUERY_PROVIDERS ;
708+ codegen_backend. provide ( & mut local_providers, & mut hooks ) ;
707709
708710 let mut extern_providers = * DEFAULT_EXTERN_QUERY_PROVIDERS ;
709711 codegen_backend. provide_extern ( & mut extern_providers) ;
@@ -732,6 +734,7 @@ pub fn create_global_ctxt<'tcx>(
732734 query_result_on_disk_cache,
733735 incremental,
734736 ) ,
737+ hooks,
735738 )
736739 } )
737740 } )
0 commit comments