about summary refs log tree commit diff
path: root/src/libsyntax/visit.rs
diff options
context:
space:
mode:
authorPatrick Walton <pcwalton@mimiga.net>2012-08-06 13:15:40 -0700
committerPatrick Walton <pcwalton@mimiga.net>2012-08-06 13:17:42 -0700
commitbff512a90facf2b0064f13737d44c716863f644d (patch)
tree72553ae018b6ed52c06e532346b35f3608d7559d /src/libsyntax/visit.rs
parent1e3143b34e66ca5157b03d3658d64d7c01563186 (diff)
downloadrust-bff512a90facf2b0064f13737d44c716863f644d.tar.gz
rust-bff512a90facf2b0064f13737d44c716863f644d.zip
rustc: Implement functional record update for structs
Diffstat (limited to 'src/libsyntax/visit.rs')
-rw-r--r--src/libsyntax/visit.rs3
1 files changed, 2 insertions, 1 deletions
diff --git a/src/libsyntax/visit.rs b/src/libsyntax/visit.rs
index 8d80f9663a3..1c92f26cabe 100644
--- a/src/libsyntax/visit.rs
+++ b/src/libsyntax/visit.rs
@@ -364,9 +364,10 @@ fn visit_expr<E>(ex: @expr, e: E, v: vt<E>) {
         for flds.each |f| { v.visit_expr(f.node.expr, e, v); }
         visit_expr_opt(base, e, v);
       }
-      expr_struct(p, flds) => {
+      expr_struct(p, flds, base) => {
         visit_path(p, e, v);
         for flds.each |f| { v.visit_expr(f.node.expr, e, v); }
+        visit_expr_opt(base, e, v);
       }
       expr_tup(elts) => for elts.each |el| { v.visit_expr(el, e, v); }
       expr_call(callee, args, _) => {