@@ -28,7 +28,8 @@ use rustc_middle::{
28
28
middle:: exported_symbols:: {
29
29
ExportedSymbol , SymbolExportInfo , SymbolExportKind , SymbolExportLevel ,
30
30
} ,
31
- query:: { ExternProviders , LocalCrate } ,
31
+ query:: { LocalCrate } ,
32
+ util:: Providers ,
32
33
ty:: TyCtxt ,
33
34
} ;
34
35
use rustc_session:: config:: { CrateType , ErrorOutputType , OptLevel } ;
@@ -43,11 +44,11 @@ struct MiriCompilerCalls {
43
44
44
45
impl rustc_driver:: Callbacks for MiriCompilerCalls {
45
46
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) ;
51
52
// HACK: rustc will emit "crate ... required to be available in rlib format, but
52
53
// was not found in this form" errors once we use `tcx.dependency_formats()` if
53
54
// 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 {
125
126
if config. opts . prints . is_empty ( ) && self . target_crate {
126
127
// Queries overridden here affect the data stored in `rmeta` files of dependencies,
127
128
// 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| {
129
130
// `exported_symbols` and `reachable_non_generics` provided by rustc always returns
130
131
// an empty result if `tcx.sess.opts.output_types.should_codegen()` is false.
131
132
local_providers. exported_symbols = |tcx, LocalCrate | {
0 commit comments