diff --git a/src/librustc_trans/mir/analyze.rs b/src/librustc_trans/mir/analyze.rs index 96ef26d3f6f8..0f95668302c8 100644 --- a/src/librustc_trans/mir/analyze.rs +++ b/src/librustc_trans/mir/analyze.rs @@ -260,7 +260,9 @@ pub fn cleanup_kinds<'a, 'tcx>(mir: &mir::Mir<'tcx>) -> IndexVec { - set_successor(funclet, succ); + if funclet != succ { + set_successor(funclet, succ); + } } CleanupKind::Internal { funclet: succ_funclet } => { if funclet != succ_funclet {