Skip to content

Commit d9f6ed9

Browse files
committed
---
yaml --- r: 4031 b: refs/heads/master c: 1b9dbcc h: refs/heads/master i: 4029: f8e27fb 4027: febcc81 4023: 31cd42b 4015: 58cc75f 3999: 63cf1dc 3967: a59c27b v: v3
1 parent c8993ba commit d9f6ed9

File tree

3 files changed

+7
-7
lines changed

3 files changed

+7
-7
lines changed

[refs]

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,2 @@
11
---
2-
refs/heads/master: 430cafbe50d1f59233f7b277f91a1e5406a65759
2+
refs/heads/master: 1b9dbcc5b430cbcc97d1debc417890bf8a0b2027

trunk/src/comp/middle/freevars.rs

+4-4
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ export annotate_freevars;
1313
export freevar_set;
1414
export freevar_map;
1515

16-
type freevar_set = ast::node_id[];
16+
type freevar_set = @ast::node_id[];
1717
type freevar_map = hashmap[ast::node_id, freevar_set];
1818

1919
// Searches through part of the AST for all references to locals or
@@ -23,7 +23,7 @@ type freevar_map = hashmap[ast::node_id, freevar_set];
2323
// in order to start the search.
2424
fn collect_freevars(&resolve::def_map def_map, &session::session sess,
2525
&fn (&walk::ast_visitor) walker,
26-
ast::node_id[] initial_decls) -> ast::node_id[] {
26+
ast::node_id[] initial_decls) -> freevar_set {
2727
type env =
2828
@rec(mutable ast::node_id[] refs,
2929
hashmap[ast::node_id, ()] decls,
@@ -79,12 +79,12 @@ fn collect_freevars(&resolve::def_map def_map, &session::session sess,
7979
walker(*visitor);
8080

8181
// Calculate (refs - decls). This is the set of captured upvars.
82-
let ast::node_id[] result = ~[];
82+
auto result = ~[];
8383
for (ast::node_id ref_id_ in e.refs) {
8484
auto ref_id = ref_id_;
8585
if (!decls.contains_key(ref_id)) { result += ~[ref_id]; }
8686
}
87-
ret result;
87+
ret @result;
8888
}
8989

9090
// Build a map from every function and for-each body to a set of the

trunk/src/comp/middle/trans.rs

+2-2
Original file line numberDiff line numberDiff line change
@@ -4285,7 +4285,7 @@ fn trans_for_each(&@block_ctxt cx, &@ast::local local, &@ast::expr seq,
42854285
auto decl_id = local.node.id;
42864286
auto upvars = cx.fcx.lcx.ccx.tcx.freevars.get(body.node.id);
42874287

4288-
auto environment_data = build_environment(cx, upvars);
4288+
auto environment_data = build_environment(cx, *upvars);
42894289
auto llenvptr = environment_data._0;
42904290
auto llenvptrty = environment_data._1;
42914291

@@ -4308,7 +4308,7 @@ fn trans_for_each(&@block_ctxt cx, &@ast::local local, &@ast::expr seq,
43084308

43094309
// Generate code to load the environment out of the
43104310
// environment pointer.
4311-
load_environment(cx, fcx, llenvptrty, upvars);
4311+
load_environment(cx, fcx, llenvptrty, *upvars);
43124312

43134313
// Add an upvar for the loop variable alias.
43144314
fcx.llupvars.insert(decl_id, llvm::LLVMGetParam(fcx.llfn, 3u));

0 commit comments

Comments
 (0)