From e64085b0a2b512822ed7f020659fc6bdb8ed8ef5 Mon Sep 17 00:00:00 2001 From: Patrick Walton Date: Tue, 8 Mar 2011 18:11:00 -0800 Subject: rustc: Fold over the paths in tag patterns so that we can resolve type variables in them --- src/comp/middle/fold.rs | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) (limited to 'src') diff --git a/src/comp/middle/fold.rs b/src/comp/middle/fold.rs index 8a1dc70f..ccf3457b 100644 --- a/src/comp/middle/fold.rs +++ b/src/comp/middle/fold.rs @@ -452,11 +452,14 @@ fn fold_pat[ENV](&ENV env, ast_fold[ENV] fld, @ast.pat p) -> @ast.pat { ret fld.fold_pat_bind(env_, p.span, id, did, t); } case (ast.pat_tag(?path, ?pats, ?d, ?t)) { + auto ppath = fold_path(env, fld, path); + let vec[@ast.pat] ppats = vec(); for (@ast.pat pat in pats) { ppats += vec(fold_pat(env_, fld, pat)); } - ret fld.fold_pat_tag(env_, p.span, path, ppats, d, t); + + ret fld.fold_pat_tag(env_, p.span, ppath, ppats, d, t); } } } -- cgit v1.2.3