Skip to content

Commit 5bd797c

Browse files
committed
---
yaml --- r: 65046 b: refs/heads/master c: fc65626 h: refs/heads/master v: v3
1 parent b5579c2 commit 5bd797c

File tree

2 files changed

+6
-10
lines changed

2 files changed

+6
-10
lines changed

[refs]

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
---
2-
refs/heads/master: 073225572a1c7c7dc9f7c2740514557105950807
2+
refs/heads/master: fc656262a905a50eff2be54a87295d2952d29106
33
refs/heads/snap-stage1: e33de59e47c5076a89eadeb38f4934f58a3618a6
44
refs/heads/snap-stage3: 18e3db7392d2d0697b7e27d6d986139960144d85
55
refs/heads/try: 7b78b52e602bb3ea8174f9b2006bff3315f03ef9

trunk/src/libcore/iterator.rs

Lines changed: 5 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -325,17 +325,13 @@ pub struct FilterMapIterator<'self, A, B, T> {
325325
impl<'self, A, B, T: Iterator<A>> Iterator<B> for FilterMapIterator<'self, A, B, T> {
326326
#[inline]
327327
fn next(&mut self) -> Option<B> {
328-
loop {
329-
match self.iter.next() {
330-
None => { return None; }
331-
Some(a) => {
332-
match (self.f)(a) {
333-
Some(b) => { return Some(b); }
334-
None => { loop; }
335-
}
336-
}
328+
for self.iter.advance |x| {
329+
match (self.f)(x) {
330+
Some(y) => return Some(y),
331+
None => ()
337332
}
338333
}
334+
None
339335
}
340336
}
341337

0 commit comments

Comments
 (0)