TerminatorKind::SwitchInt {
discr: Operand::Constant(ref c),
switch_ty,
- ref values,
ref targets,
..
} => {
let constant = c.literal.try_eval_bits(tcx, param_env, switch_ty);
if let Some(constant) = constant {
- let (otherwise, targets) = targets.split_last().unwrap();
- let mut ret = TerminatorKind::Goto { target: *otherwise };
- for (&v, t) in values.iter().zip(targets.iter()) {
+ let otherwise = targets.otherwise();
+ let mut ret = TerminatorKind::Goto { target: otherwise };
+ for (v, t) in targets.iter() {
if v == constant {
- ret = TerminatorKind::Goto { target: *t };
+ ret = TerminatorKind::Goto { target: t };
break;
}
}