@@ -28,7 +28,8 @@ use rustc_middle::{
2828 middle:: exported_symbols:: {
2929 ExportedSymbol , SymbolExportInfo , SymbolExportKind , SymbolExportLevel ,
3030 } ,
31- query:: { ExternProviders , LocalCrate } ,
31+ query:: { LocalCrate } ,
32+ util:: Providers ,
3233 ty:: TyCtxt ,
3334} ;
3435use rustc_session:: config:: { CrateType , ErrorOutputType , OptLevel } ;
@@ -43,11 +44,11 @@ struct MiriCompilerCalls {
4344
4445impl rustc_driver:: Callbacks for MiriCompilerCalls {
4546 fn config ( & mut self , config : & mut Config ) {
46- config. override_queries = Some ( |_, _ , external_providers | {
47- external_providers . used_crate_source = |tcx, cnum| {
48- let mut providers = ExternProviders :: default ( ) ;
49- rustc_metadata:: provide_extern ( & mut providers) ;
50- let mut crate_source = ( providers. used_crate_source ) ( tcx, cnum) ;
47+ config. override_queries = Some ( |_, providers | {
48+ providers . extern_queries . used_crate_source = |tcx, cnum| {
49+ let mut providers = Providers :: default ( ) ;
50+ rustc_metadata:: provide ( & mut providers) ;
51+ let mut crate_source = ( providers. extern_queries . used_crate_source ) ( tcx, cnum) ;
5152 // HACK: rustc will emit "crate ... required to be available in rlib format, but
5253 // was not found in this form" errors once we use `tcx.dependency_formats()` if
5354 // there's no rlib provided, so setting a dummy path here to workaround those errors.
@@ -125,7 +126,7 @@ impl rustc_driver::Callbacks for MiriBeRustCompilerCalls {
125126 if config. opts . prints . is_empty ( ) && self . target_crate {
126127 // Queries overridden here affect the data stored in `rmeta` files of dependencies,
127128 // which will be used later in non-`MIRI_BE_RUSTC` mode.
128- config. override_queries = Some ( |_, local_providers, _ | {
129+ config. override_queries = Some ( |_, local_providers| {
129130 // `exported_symbols` and `reachable_non_generics` provided by rustc always returns
130131 // an empty result if `tcx.sess.opts.output_types.should_codegen()` is false.
131132 local_providers. exported_symbols = |tcx, LocalCrate | {
0 commit comments