aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorGraydon Hoare <[email protected]>2011-01-03 18:22:27 -0800
committerGraydon Hoare <[email protected]>2011-01-03 18:22:27 -0800
commit0040a31076f750992ad903b2ae2b7a724808f028 (patch)
tree1eb091ad087ffb1aee769d218d9e2e420d30415a /src
parentActually return the correct node from the parser. (diff)
downloadrust-0040a31076f750992ad903b2ae2b7a724808f028.tar.xz
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 31ccd821..464735b4 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)));
}