Skip to content

Commit d674e8b

Browse files
committed
---
yaml --- r: 106475 b: refs/heads/try c: 43bc6fc h: refs/heads/master i: 106473: 2f1a13c 106471: 875cab5 v: v3
1 parent ae3d58b commit d674e8b

File tree

2 files changed

+10
-16
lines changed

2 files changed

+10
-16
lines changed

[refs]

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
refs/heads/master: b8ef9fd9c9f642ce7b8aed82782a1ed745d08d64
33
refs/heads/snap-stage1: e33de59e47c5076a89eadeb38f4934f58a3618a6
44
refs/heads/snap-stage3: b8601a3d8b91ad3b653d143307611f2f5c75617e
5-
refs/heads/try: 0c8731e65ce535254114c6404d46b2074d96ab07
5+
refs/heads/try: 43bc6fcc62e3ad92c76ea8f160a6189ac86618f2
66
refs/tags/release-0.1: 1f5c5126e96c79d22cb7862f75304136e204f105
77
refs/heads/ndm: f3868061cd7988080c30d6d5bf352a5a5fe2460b
88
refs/heads/try2: 147ecfdd8221e4a4d4e090486829a06da1e0ca3c

branches/try/src/librustc/middle/typeck/mod.rs

Lines changed: 9 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -73,7 +73,6 @@ use std::cell::RefCell;
7373
use collections::HashMap;
7474
use std::rc::Rc;
7575
use collections::List;
76-
use collections::list;
7776
use syntax::codemap::Span;
7877
use syntax::print::pprust::*;
7978
use syntax::{ast, ast_map, abi};
@@ -311,23 +310,18 @@ pub fn require_same_types(tcx: ty::ctxt,
311310
// corresponding ty::Region
312311
pub type isr_alist = @List<(ty::BoundRegion, ty::Region)>;
313312

314-
trait get_and_find_region {
315-
fn get(&self, br: ty::BoundRegion) -> ty::Region;
316-
fn find(&self, br: ty::BoundRegion) -> Option<ty::Region>;
313+
trait get_region<'a, T:'static> {
314+
fn get(&'a self, br: ty::BoundRegion) -> ty::Region;
317315
}
318316

319-
impl get_and_find_region for isr_alist {
320-
fn get(&self, br: ty::BoundRegion) -> ty::Region {
321-
self.find(br).unwrap()
322-
}
323-
324-
fn find(&self, br: ty::BoundRegion) -> Option<ty::Region> {
325-
let mut ret = None;
326-
list::each(*self, |isr| {
317+
impl<'a, T:'static> get_region <'a, T> for isr_alist {
318+
fn get(&'a self, br: ty::BoundRegion) -> ty::Region {
319+
let mut region = None;
320+
for isr in self.iter() {
327321
let (isr_br, isr_r) = *isr;
328-
if isr_br == br { ret = Some(isr_r); false } else { true }
329-
});
330-
ret
322+
if isr_br == br { region = Some(isr_r); break; }
323+
};
324+
region.unwrap()
331325
}
332326
}
333327

0 commit comments

Comments
 (0)