diff options
| author | blake2-ppc <blake2-ppc> | 2013-07-16 16:39:24 +0200 |
|---|---|---|
| committer | blake2-ppc <blake2-ppc> | 2013-07-18 15:03:59 +0200 |
| commit | 7ef9e722b8a499cd0b84ab175a366cbe536a86e4 (patch) | |
| tree | 2086bd672f6d69ed4188ad3f64d3031fb3dde8f8 /src/librusti/program.rs | |
| parent | 0335339c184e46eac958841e0e021dbdab873efd (diff) | |
| download | rust-7ef9e722b8a499cd0b84ab175a366cbe536a86e4.tar.gz rust-7ef9e722b8a499cd0b84ab175a366cbe536a86e4.zip | |
hashmap: Remove .consume() has rename .consume_iter() to .consume()
Updated all users of HashMap, HashSet old .consume() to use .consume() with a for loop. Since .consume() takes the map or set by value, it needs awkward extra code to in librusti's use of @mut HashMap, where the map value can not be directly moved out.
Diffstat (limited to 'src/librusti/program.rs')
| -rw-r--r-- | src/librusti/program.rs | 10 |
1 files changed, 7 insertions, 3 deletions
diff --git a/src/librusti/program.rs b/src/librusti/program.rs index e3a32801ca9..276ad74e1d3 100644 --- a/src/librusti/program.rs +++ b/src/librusti/program.rs @@ -9,6 +9,7 @@ // except according to those terms. use std::cast; +use std::util; use std::hashmap::HashMap; use std::local_data; @@ -165,7 +166,8 @@ impl Program { None => {} } - do self.newvars.consume |name, var| { + let newvars = util::replace(&mut self.newvars, HashMap::new()); + for newvars.consume().advance |(name, var)| { self.local_vars.insert(name, var); } @@ -230,7 +232,8 @@ impl Program { /// it updates this cache with the new values of each local variable. pub fn consume_cache(&mut self) { let map = local_data::pop(tls_key).expect("tls is empty"); - do map.consume |name, value| { + let cons_map = util::replace(map, HashMap::new()); + for cons_map.consume().advance |(name, value)| { match self.local_vars.find_mut(&name) { Some(v) => { v.data = (*value).clone(); } None => { fail!("unknown variable %s", name) } @@ -341,7 +344,8 @@ impl Program { } // I'm not an @ pointer, so this has to be done outside. - do newvars.consume |k, v| { + let cons_newvars = util::replace(newvars, HashMap::new()); + for cons_newvars.consume().advance |(k, v)| { self.newvars.insert(k, v); } |
