Skip to content

Commit eb9eade

Browse files
committed
librustc: De-@mut the CollectFreevarsVisitor
1 parent 2fa456d commit eb9eade

File tree

1 file changed

+9
-5
lines changed

1 file changed

+9
-5
lines changed

src/librustc/middle/freevars.rs

Lines changed: 9 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -33,8 +33,8 @@ pub type freevar_info = @~[@freevar_entry];
3333
pub type freevar_map = @mut HashMap<ast::NodeId, freevar_info>;
3434

3535
struct CollectFreevarsVisitor {
36-
seen: @mut HashMap<ast::NodeId, ()>,
37-
refs: @mut ~[@freevar_entry],
36+
seen: HashMap<ast::NodeId, ()>,
37+
refs: ~[@freevar_entry],
3838
def_map: resolve::DefMap,
3939
}
4040

@@ -90,8 +90,8 @@ impl Visitor<int> for CollectFreevarsVisitor {
9090
// in order to start the search.
9191
fn collect_freevars(def_map: resolve::DefMap, blk: ast::P<ast::Block>)
9292
-> freevar_info {
93-
let seen = @mut HashMap::new();
94-
let refs = @mut ~[];
93+
let seen = HashMap::new();
94+
let refs = ~[];
9595

9696
let mut v = CollectFreevarsVisitor {
9797
seen: seen,
@@ -100,7 +100,11 @@ fn collect_freevars(def_map: resolve::DefMap, blk: ast::P<ast::Block>)
100100
};
101101

102102
v.visit_block(blk, 1);
103-
return @(*refs).clone();
103+
let CollectFreevarsVisitor {
104+
refs,
105+
..
106+
} = v;
107+
return @refs;
104108
}
105109

106110
struct AnnotateFreevarsVisitor {

0 commit comments

Comments
 (0)