diff --git a/rust-version b/rust-version index b5ab3053c5..75fd76515d 100644 --- a/rust-version +++ b/rust-version @@ -1 +1 @@ -809e180a76ce97340bf4354ff357bc59e3ca40b2 +8f1bbd69e13c9e04a4c2b75612bc0c31af972439 diff --git a/src/bin/miri.rs b/src/bin/miri.rs index 9e95e4b0a4..8e45f62495 100644 --- a/src/bin/miri.rs +++ b/src/bin/miri.rs @@ -33,20 +33,21 @@ impl rustc_driver::Callbacks for MiriCompilerCalls { init_late_loggers(); compiler.session().abort_if_errors(); - compiler.global_ctxt().unwrap().peek_mut().enter(|tcx| { - let (entry_def_id, _) = tcx.entry_fn(LOCAL_CRATE).expect("no main function found!"); - let mut config = self.miri_config.clone(); + compiler.enter(|queries| { + queries.global_ctxt().unwrap().peek_mut().enter(|tcx| { + let (entry_def_id, _) = tcx.entry_fn(LOCAL_CRATE).expect("no main function found!"); + let mut config = self.miri_config.clone(); - // Add filename to `miri` arguments. - config.args.insert(0, compiler.input().filestem().to_string()); + // Add filename to `miri` arguments. + config.args.insert(0, compiler.input().filestem().to_string()); - if let Some(return_code) = miri::eval_main(tcx, entry_def_id, config) { - std::process::exit(i32::try_from(return_code).expect("Return value was too large!")); - } + if let Some(return_code) = miri::eval_main(tcx, entry_def_id, config) { + std::process::exit(i32::try_from(return_code).expect("Return value was too large!")); + } + }) }); compiler.session().abort_if_errors(); - Compilation::Stop } }