add a debug log for more MC failures

I don't see why MC should fail on well-formed code, so it might be a
better idea to just add a `delay_span_bug` there (anyone remember the
`cat_expr Errd` bug from the 1.0 days?).

However, I don't think this is a good idea to backport a new delay_span_bug
into stable and this code is going away soon-ish anyway.
This commit is contained in:
Ariel Ben-Yehuda 2018-07-11 01:09:48 +03:00
parent 05d6e55fab
commit df33cf4cb0

View file

@ -105,7 +105,10 @@ use rustc::hir::{self, PatKind};
// a variation on try that just returns unit
macro_rules! ignore_err {
($e:expr) => (match $e { Ok(e) => e, Err(_) => return () })
($e:expr) => (match $e { Ok(e) => e, Err(_) => {
debug!("ignoring mem-categorization error!");
return ()
}})
}
///////////////////////////////////////////////////////////////////////////
@ -1034,7 +1037,7 @@ impl<'a, 'gcx, 'tcx> RegionCtxt<'a, 'gcx, 'tcx> {
debug!("link_pattern(discr_cmt={:?}, root_pat={:?})",
discr_cmt,
root_pat);
let _ = self.with_mc(|mc| {
ignore_err!(self.with_mc(|mc| {
mc.cat_pattern(discr_cmt, root_pat, |sub_cmt, sub_pat| {
match sub_pat.node {
// `ref x` pattern
@ -1051,7 +1054,7 @@ impl<'a, 'gcx, 'tcx> RegionCtxt<'a, 'gcx, 'tcx> {
_ => {}
}
})
});
}));
}
/// Link lifetime of borrowed pointer resulting from autoref to lifetimes in the value being