Skip to content

Commit 3c3326b

Browse files
committed
---
yaml --- r: 149615 b: refs/heads/try2 c: 43bc6fc h: refs/heads/master i: 149613: 50c9728 149611: dc16dae 149607: 98fecbb 149599: 693f10e v: v3
1 parent 82cd179 commit 3c3326b

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
@@ -5,7 +5,7 @@ refs/heads/snap-stage3: 78a7676898d9f80ab540c6df5d4c9ce35bb50463
55
refs/heads/try: 519addf6277dbafccbb4159db4b710c37eaa2ec5
66
refs/tags/release-0.1: 1f5c5126e96c79d22cb7862f75304136e204f105
77
refs/heads/ndm: f3868061cd7988080c30d6d5bf352a5a5fe2460b
8-
refs/heads/try2: 0c8731e65ce535254114c6404d46b2074d96ab07
8+
refs/heads/try2: 43bc6fcc62e3ad92c76ea8f160a6189ac86618f2
99
refs/heads/dist-snap: ba4081a5a8573875fed17545846f6f6902c8ba8d
1010
refs/tags/release-0.2: c870d2dffb391e14efb05aa27898f1f6333a9596
1111
refs/tags/release-0.3: b5f0d0f648d9a6153664837026ba1be43d3e2503

branches/try2/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)