self.consume_expr(&**input);
}
- for &(_, ref output, is_rw) in &ia.outputs {
- self.mutate_expr(expr, &**output,
- if is_rw { WriteAndRead } else { JustWrite });
+ for output in &ia.outputs {
+ if output.is_indirect {
+ self.consume_expr(&*output.expr);
+ } else {
+ self.mutate_expr(expr, &*output.expr,
+ if output.is_rw { WriteAndRead } else { JustWrite });
+ }
}
}
debug!("walk_block(blk.id={})", blk.id);
for stmt in &blk.stmts {
- self.walk_stmt(&**stmt);
+ self.walk_stmt(stmt);
}
if let Some(ref tail_expr) = blk.expr {