about summary refs log tree commit diff
path: root/src
diff options
context:
space:
mode:
authorGraydon Hoare <graydon@mozilla.com>2011-01-03 18:22:27 -0800
committerGraydon Hoare <graydon@mozilla.com>2011-01-03 18:22:27 -0800
commit0040a31076f750992ad903b2ae2b7a724808f028 (patch)
tree1eb091ad087ffb1aee769d218d9e2e420d30415a /src
parent019095c9e691cb9bb1357dab67bf1ca584b09d0e (diff)
downloadrust-0040a31076f750992ad903b2ae2b7a724808f028.tar.gz
rust-0040a31076f750992ad903b2ae2b7a724808f028.zip
Fix fold bug on expr_bind.
Diffstat (limited to 'src')
-rw-r--r--src/comp/middle/fold.rs3
1 files changed, 3 insertions, 0 deletions
diff --git a/src/comp/middle/fold.rs b/src/comp/middle/fold.rs
index 31ccd821f00..464735b40a6 100644
--- a/src/comp/middle/fold.rs
+++ b/src/comp/middle/fold.rs
@@ -444,6 +444,9 @@ fn fold_expr[ENV](&ENV env, ast_fold[ENV] fld, &@expr e) -> @expr {
             let vec[option.t[@ast.expr]] aargs_opt = vec();
             for (option.t[@ast.expr] t_opt in args_opt) {
                 alt (t_opt) {
+                    case (none[@ast.expr]) {
+                        aargs_opt += none[@ast.expr];
+                    }
                     case (some[@ast.expr](?e)) {
                         aargs_opt += vec(some(fold_expr(env_, fld, e)));
                     }