From 9fa749167680a2d4de9fa07cbb2c8336deb7d42f Mon Sep 17 00:00:00 2001 From: Marijn Haverbeke Date: Mon, 9 Jan 2012 11:32:18 +0100 Subject: [PATCH] Don't resolve upvars in fn() { ... } exprs Closes #1467 --- src/comp/middle/resolve.rs | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) diff --git a/src/comp/middle/resolve.rs b/src/comp/middle/resolve.rs index 24c8b2e204e2..664b2418d63b 100644 --- a/src/comp/middle/resolve.rs +++ b/src/comp/middle/resolve.rs @@ -486,12 +486,9 @@ fn visit_fn_with_scope(e: @env, fk: visit::fn_kind, decl: ast::fn_decl, for c: @ast::constr in decl.constraints { resolve_constr(e, c, sc, v); } let scope = alt fk { visit::fk_item_fn(_, tps) | visit::fk_res(_, tps) | - visit::fk_method(_, tps) { - scope_bare_fn(decl, id, tps) - } - visit::fk_anon(_) | visit::fk_fn_block. { - scope_fn_expr(decl, id, []) - } + visit::fk_method(_, tps) { scope_bare_fn(decl, id, tps) } + visit::fk_anon(ast::proto_bare.) { scope_bare_fn(decl, id, []) } + visit::fk_anon(_) | visit::fk_fn_block. { scope_fn_expr(decl, id, []) } }; visit::visit_fn(fk, decl, body, sp, id, cons(scope, @sc), v);