_location: Location) {
if *local == RETURN_POINTER {
match self.destination {
- Lvalue::Local(l) => *local = l,
+ Lvalue::Local(l) => {
+ *local = l;
+ return;
+ },
ref lval => bug!("Return lvalue is {:?}, not local", lval)
}
}
let idx = local.index() - 1;
if idx < self.args.len() {
match self.args[idx] {
- Operand::Consume(Lvalue::Local(l)) => *local = l,
+ Operand::Consume(Lvalue::Local(l)) => {
+ *local = l;
+ return;
+ },
ref op => bug!("Arg operand `{:?}` is {:?}, not local", idx, op)
}
- } else {
- *local = self.local_map[Local::new(idx - self.args.len())];
}
+ *local = self.local_map[Local::new(idx - self.args.len())];
}
fn visit_lvalue(&mut self,