diff options
| author | Bruno de Oliveira Abinader <bruno.d@partner.samsung.com> | 2014-02-24 22:22:11 -0400 |
|---|---|---|
| committer | Bruno de Oliveira Abinader <bruno.d@partner.samsung.com> | 2014-02-27 08:35:18 -0400 |
| commit | 43bc6fcc62e3ad92c76ea8f160a6189ac86618f2 (patch) | |
| tree | 48efa5c1f889bbe51ea7976b1c4d050ddba835c8 | |
| parent | 0c8731e65ce535254114c6404d46b2074d96ab07 (diff) | |
Replaced list::each with iter() in get_region
| -rw-r--r-- | src/librustc/middle/typeck/mod.rs | 24 |
1 files changed, 9 insertions, 15 deletions
diff --git a/src/librustc/middle/typeck/mod.rs b/src/librustc/middle/typeck/mod.rs index c04e4f24b0d..dda45e839e1 100644 --- a/src/librustc/middle/typeck/mod.rs +++ b/src/librustc/middle/typeck/mod.rs @@ -73,7 +73,6 @@ use std::cell::RefCell; use collections::HashMap; use std::rc::Rc; use collections::List; -use collections::list; use syntax::codemap::Span; use syntax::print::pprust::*; use syntax::{ast, ast_map, abi}; @@ -311,23 +310,18 @@ pub fn require_same_types(tcx: ty::ctxt, // corresponding ty::Region pub type isr_alist = @List<(ty::BoundRegion, ty::Region)>; -trait get_and_find_region { - fn get(&self, br: ty::BoundRegion) -> ty::Region; - fn find(&self, br: ty::BoundRegion) -> Option<ty::Region>; +trait get_region<'a, T:'static> { + fn get(&'a self, br: ty::BoundRegion) -> ty::Region; } -impl get_and_find_region for isr_alist { - fn get(&self, br: ty::BoundRegion) -> ty::Region { - self.find(br).unwrap() - } - - fn find(&self, br: ty::BoundRegion) -> Option<ty::Region> { - let mut ret = None; - list::each(*self, |isr| { +impl<'a, T:'static> get_region <'a, T> for isr_alist { + fn get(&'a self, br: ty::BoundRegion) -> ty::Region { + let mut region = None; + for isr in self.iter() { let (isr_br, isr_r) = *isr; - if isr_br == br { ret = Some(isr_r); false } else { true } - }); - ret + if isr_br == br { region = Some(isr_r); break; } + }; + region.unwrap() } } |
