Skip to content

Commit 2e2ea68

Browse files
committed
Auto merge of #3079 - rust-lang:rustup-2023-09-24, r=saethlin
Automatic sync from rustc
2 parents 2fc9aaa + 642beb8 commit 2e2ea68

File tree

2 files changed

+9
-8
lines changed

2 files changed

+9
-8
lines changed

rust-version

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
2d08657901d8fec8f51f203dc8a38e25c162e834
1+
42ca6e4e5760a548a6fa858482de6d237f6fb3b8

src/bin/miri.rs

Lines changed: 8 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -28,8 +28,9 @@ use rustc_middle::{
2828
middle::exported_symbols::{
2929
ExportedSymbol, SymbolExportInfo, SymbolExportKind, SymbolExportLevel,
3030
},
31-
query::{ExternProviders, LocalCrate},
31+
query::LocalCrate,
3232
ty::TyCtxt,
33+
util::Providers,
3334
};
3435
use rustc_session::config::{CrateType, ErrorOutputType, OptLevel};
3536
use rustc_session::search_paths::PathKind;
@@ -43,11 +44,11 @@ struct MiriCompilerCalls {
4344

4445
impl 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

Comments
 (0)