diff options
| author | Dylan DPC <dylan.dpc@gmail.com> | 2020-11-09 19:06:59 +0100 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2020-11-09 19:06:59 +0100 |
| commit | 7924ecc341d5e7dcdaff22bfd16e76da136c9112 (patch) | |
| tree | 655e42f94111b39e2447aef6346a82c869de8c95 | |
| parent | 4e0695b79fbe5acc5ef1df82166b283368a643ac (diff) | |
| parent | 103f7a499b2eeff908ce9234c812262a9e87a16f (diff) | |
| download | rust-7924ecc341d5e7dcdaff22bfd16e76da136c9112.tar.gz rust-7924ecc341d5e7dcdaff22bfd16e76da136c9112.zip | |
Rollup merge of #78830 - lcnr:mir-folder, r=oli-obk
fix `super_visit_with` for `Terminator` fixes https://github.com/rust-lang/rust/pull/78182#discussion_r509265149 r? `@oli-obk` cc `@LeSeulArtichaut`
| -rw-r--r-- | compiler/rustc_middle/src/mir/type_foldable.rs | 31 |
1 files changed, 14 insertions, 17 deletions
diff --git a/compiler/rustc_middle/src/mir/type_foldable.rs b/compiler/rustc_middle/src/mir/type_foldable.rs index 391bd8be7e4..0801188b278 100644 --- a/compiler/rustc_middle/src/mir/type_foldable.rs +++ b/compiler/rustc_middle/src/mir/type_foldable.rs @@ -109,24 +109,21 @@ impl<'tcx> TypeFoldable<'tcx> for Terminator<'tcx> { args.visit_with(visitor) } Assert { ref cond, ref msg, .. } => { - if cond.visit_with(visitor).is_break() { - use AssertKind::*; - match msg { - BoundsCheck { ref len, ref index } => { - len.visit_with(visitor)?; - index.visit_with(visitor) - } - Overflow(_, l, r) => { - l.visit_with(visitor)?; - r.visit_with(visitor) - } - OverflowNeg(op) | DivisionByZero(op) | RemainderByZero(op) => { - op.visit_with(visitor) - } - ResumedAfterReturn(_) | ResumedAfterPanic(_) => ControlFlow::CONTINUE, + cond.visit_with(visitor)?; + use AssertKind::*; + match msg { + BoundsCheck { ref len, ref index } => { + len.visit_with(visitor)?; + index.visit_with(visitor) + } + Overflow(_, l, r) => { + l.visit_with(visitor)?; + r.visit_with(visitor) + } + OverflowNeg(op) | DivisionByZero(op) | RemainderByZero(op) => { + op.visit_with(visitor) } - } else { - ControlFlow::CONTINUE + ResumedAfterReturn(_) | ResumedAfterPanic(_) => ControlFlow::CONTINUE, } } InlineAsm { ref operands, .. } => operands.visit_with(visitor), |
