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