parent
f2de42c39a
commit
98ca6d0c61
|
@ -129,14 +129,21 @@ fn visit_expr(ex: @expr, cx: ctx, v: visit::vt<ctx>) {
|
||||||
}
|
}
|
||||||
expr_call(f, args, _) {
|
expr_call(f, args, _) {
|
||||||
v.visit_expr(f, cx, v);
|
v.visit_expr(f, cx, v);
|
||||||
let i = 0u;
|
let i = 0u, fns = [];
|
||||||
for arg_t in ty::ty_fn_args(cx.tcx, ty::expr_ty(cx.tcx, f)) {
|
let arg_ts = ty::ty_fn_args(cx.tcx, ty::expr_ty(cx.tcx, f));
|
||||||
alt arg_t.mode {
|
for arg in args {
|
||||||
by_mut_ref. { clear_if_path(cx, args[i], v, false); }
|
alt arg.node {
|
||||||
_ { v.visit_expr(args[i], cx, v); }
|
expr_fn(_) { fns += [arg]; }
|
||||||
|
_ {
|
||||||
|
alt arg_ts[i].mode {
|
||||||
|
by_mut_ref. { clear_if_path(cx, arg, v, false); }
|
||||||
|
_ { v.visit_expr(arg, cx, v); }
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
i += 1u;
|
i += 1u;
|
||||||
}
|
}
|
||||||
|
for f in fns { v.visit_expr(f, cx, v); }
|
||||||
}
|
}
|
||||||
_ { visit::visit_expr(ex, cx, v); }
|
_ { visit::visit_expr(ex, cx, v); }
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue