summary refs log tree commit diff
path: root/src/libsyntax
diff options
context:
space:
mode:
authorbors <bors@rust-lang.org>2013-12-16 01:16:29 -0800
committerbors <bors@rust-lang.org>2013-12-16 01:16:29 -0800
commite7b0e0adbbb9f41f79592822ffe1e5834222a96b (patch)
treec45f89350c6f25141be7d6b3bf595e65493c03ff /src/libsyntax
parentdc7a2e12223c297695d12ce6e428c44075ed080e (diff)
parentfb4a1d88f580a138cae7530313b6d5a05c5ff5bd (diff)
downloadrust-e7b0e0adbbb9f41f79592822ffe1e5834222a96b.tar.gz
rust-e7b0e0adbbb9f41f79592822ffe1e5834222a96b.zip
auto merge of #10994 : ktt3ja/rust/issue-10956, r=alexcrichton
Types used inside live struct or enum are now marked live.

Fix #10956 and #10993.

Diffstat (limited to 'src/libsyntax')
-rw-r--r--src/libsyntax/visit.rs4
1 files changed, 4 insertions, 0 deletions
diff --git a/src/libsyntax/visit.rs b/src/libsyntax/visit.rs
index 5d36109e454..5e5c12391d6 100644
--- a/src/libsyntax/visit.rs
+++ b/src/libsyntax/visit.rs
@@ -290,6 +290,10 @@ pub fn walk_variant<E:Clone, V:Visitor<E>>(visitor:&mut V,
                                      env.clone())
         }
     }
+    match variant.node.disr_expr {
+        Some(expr) => visitor.visit_expr(expr, env),
+        None => ()
+    }
 }
 
 pub fn skip_ty<E, V:Visitor<E>>(_: &mut V, _: &Ty, _: E) {