about summary refs log tree commit diff
path: root/src/comp/syntax
diff options
context:
space:
mode:
authorTim Chevalier <chevalier@alum.wellesley.edu>2011-07-11 18:11:16 -0700
committerTim Chevalier <chevalier@alum.wellesley.edu>2011-07-11 18:12:00 -0700
commit1870e975599e3687672db4656c60b494c2ce7232 (patch)
tree3f75c2817e550ffed23a02cdfad1e6555d02037c /src/comp/syntax
parente45819ad70f338b942fda745ef7127bde7c3577a (diff)
downloadrust-1870e975599e3687672db4656c60b494c2ce7232.tar.gz
rust-1870e975599e3687672db4656c60b494c2ce7232.zip
Visit the type argument in a port expression
This closes #664.
Diffstat (limited to 'src/comp/syntax')
-rw-r--r--src/comp/syntax/visit.rs9
1 files changed, 8 insertions, 1 deletions
diff --git a/src/comp/syntax/visit.rs b/src/comp/syntax/visit.rs
index 470a8e4e38d..9ff8ccb0c11 100644
--- a/src/comp/syntax/visit.rs
+++ b/src/comp/syntax/visit.rs
@@ -179,6 +179,13 @@ fn visit_ty[E](&@ty t, &E e, &vt[E] v) {
     }
 }
 
+fn visit_ty_opt[E](&option::t[@ty] ot, &E e, &vt[E] v) {
+    alt (ot) {
+        case (none) {}
+        case (some(?t)) { v.visit_ty(t, e, v); }
+    }
+}
+
 fn visit_constr[E](&@constr c, &E e, &vt[E] v) {
     // default
 
@@ -369,7 +376,7 @@ fn visit_expr[E](&@expr ex, &E e, &vt[E] v) {
         case (expr_log(_, ?x)) { v.visit_expr(x, e, v); }
         case (expr_check(_, ?x)) { v.visit_expr(x, e, v); }
         case (expr_assert(?x)) { v.visit_expr(x, e, v); }
-        case (expr_port(_)) { }
+        case (expr_port(?t)) { visit_ty_opt(t, e, v); }
         case (expr_chan(?x)) { v.visit_expr(x, e, v); }
         case (expr_anon_obj(?anon_obj, _)) {
             alt (anon_obj.fields) {