Skip to content

Commit 4415df7

Browse files
committed
---
yaml --- r: 77814 b: refs/heads/master c: a3d18bc h: refs/heads/master v: v3
1 parent 14d5e77 commit 4415df7

File tree

2 files changed

+13
-7
lines changed

2 files changed

+13
-7
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: fb0b388804ec6b4535e73a890feda7372182486f
2+
refs/heads/master: a3d18bc95b1639cf3cb967165f7104e2c79893f5
33
refs/heads/snap-stage1: e33de59e47c5076a89eadeb38f4934f58a3618a6
44
refs/heads/snap-stage3: 60fba4d7d677ec098e6a43014132fe99f7547363
55
refs/heads/try: ebfe63cd1c0b5d23f7ea60c69b4fde2e30cfd42a

trunk/src/libstd/iterator.rs

Lines changed: 12 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -929,9 +929,12 @@ pub struct Zip<T, U> {
929929
impl<A, B, T: Iterator<A>, U: Iterator<B>> Iterator<(A, B)> for Zip<T, U> {
930930
#[inline]
931931
fn next(&mut self) -> Option<(A, B)> {
932-
match (self.a.next(), self.b.next()) {
933-
(Some(x), Some(y)) => Some((x, y)),
934-
_ => None
932+
match self.a.next() {
933+
None => None,
934+
Some(x) => match self.b.next() {
935+
None => None,
936+
Some(y) => Some((x, y))
937+
}
935938
}
936939
}
937940

@@ -962,9 +965,12 @@ RandomAccessIterator<(A, B)> for Zip<T, U> {
962965

963966
#[inline]
964967
fn idx(&self, index: uint) -> Option<(A, B)> {
965-
match (self.a.idx(index), self.b.idx(index)) {
966-
(Some(x), Some(y)) => Some((x, y)),
967-
_ => None
968+
match self.a.idx(index) {
969+
None => None,
970+
Some(x) => match self.b.idx(index) {
971+
None => None,
972+
Some(y) => Some((x, y))
973+
}
968974
}
969975
}
970976
}

0 commit comments

Comments
 (0)