diff options
| author | Jonas Schievink <jonasschievink@gmail.com> | 2020-06-14 20:22:13 +0200 |
|---|---|---|
| committer | Jonas Schievink <jonasschievink@gmail.com> | 2020-06-14 23:46:15 +0200 |
| commit | 9014df55c65fdb3d89d6273cf0ecdfbec2444cdb (patch) | |
| tree | 629dc2149a69dbd7d088a542a7ec6e90ab335508 /src | |
| parent | 99d30da6a8668181185b24c59e71a521a3c5f388 (diff) | |
| download | rust-9014df55c65fdb3d89d6273cf0ecdfbec2444cdb.tar.gz rust-9014df55c65fdb3d89d6273cf0ecdfbec2444cdb.zip | |
validator: print MIR instance on failure
Diffstat (limited to 'src')
| -rw-r--r-- | src/librustc_mir/transform/validate.rs | 10 |
1 files changed, 4 insertions, 6 deletions
diff --git a/src/librustc_mir/transform/validate.rs b/src/librustc_mir/transform/validate.rs index 8150c328316..625f40cd792 100644 --- a/src/librustc_mir/transform/validate.rs +++ b/src/librustc_mir/transform/validate.rs @@ -9,7 +9,6 @@ use rustc_middle::{ }, ty::{self, ParamEnv, TyCtxt}, }; -use rustc_span::def_id::DefId; #[derive(Copy, Clone, Debug)] enum EdgeKind { @@ -24,15 +23,14 @@ pub struct Validator { impl<'tcx> MirPass<'tcx> for Validator { fn run_pass(&self, tcx: TyCtxt<'tcx>, source: MirSource<'tcx>, body: &mut Body<'tcx>) { - let def_id = source.def_id(); - let param_env = tcx.param_env(def_id); - TypeChecker { when: &self.when, def_id, body, tcx, param_env }.visit_body(body); + let param_env = tcx.param_env(source.def_id()); + TypeChecker { when: &self.when, source, body, tcx, param_env }.visit_body(body); } } struct TypeChecker<'a, 'tcx> { when: &'a str, - def_id: DefId, + source: MirSource<'tcx>, body: &'a Body<'tcx>, tcx: TyCtxt<'tcx>, param_env: ParamEnv<'tcx>, @@ -47,7 +45,7 @@ impl<'a, 'tcx> TypeChecker<'a, 'tcx> { span, &format!( "broken MIR in {:?} ({}) at {:?}:\n{}", - self.def_id, + self.source.instance, self.when, location, msg.as_ref() |
