From eb9eade1dfe98301b68b8970a642034e6aa8bbe3 Mon Sep 17 00:00:00 2001 From: Patrick Walton Date: Fri, 20 Dec 2013 20:24:18 -0800 Subject: [PATCH] librustc: De-`@mut` the `CollectFreevarsVisitor` --- src/librustc/middle/freevars.rs | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/src/librustc/middle/freevars.rs b/src/librustc/middle/freevars.rs index 10b72b06048d..2b1154480c82 100644 --- a/src/librustc/middle/freevars.rs +++ b/src/librustc/middle/freevars.rs @@ -33,8 +33,8 @@ pub type freevar_info = @~[@freevar_entry]; pub type freevar_map = @mut HashMap; struct CollectFreevarsVisitor { - seen: @mut HashMap, - refs: @mut ~[@freevar_entry], + seen: HashMap, + refs: ~[@freevar_entry], def_map: resolve::DefMap, } @@ -90,8 +90,8 @@ impl Visitor for CollectFreevarsVisitor { // in order to start the search. fn collect_freevars(def_map: resolve::DefMap, blk: ast::P) -> freevar_info { - let seen = @mut HashMap::new(); - let refs = @mut ~[]; + let seen = HashMap::new(); + let refs = ~[]; let mut v = CollectFreevarsVisitor { seen: seen, @@ -100,7 +100,11 @@ fn collect_freevars(def_map: resolve::DefMap, blk: ast::P) }; v.visit_block(blk, 1); - return @(*refs).clone(); + let CollectFreevarsVisitor { + refs, + .. + } = v; + return @refs; } struct AnnotateFreevarsVisitor {