Skip to content

Commit 868c46c

Browse files
committed
---
yaml --- r: 272839 b: refs/heads/beta c: 430b3e1 h: refs/heads/master i: 272837: 15bc4af 272835: 62d417c 272831: 57e693e
1 parent 8637cb0 commit 868c46c

File tree

2 files changed

+11
-7
lines changed

2 files changed

+11
-7
lines changed

[refs]

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ refs/tags/0.9: 36870b185fc5f5486636d4515f0e22677493f225
2323
refs/tags/0.10: ac33f2b15782272ae348dbd7b14b8257b2148b5a
2424
refs/tags/0.11.0: e1247cb1d0d681be034adb4b558b5a0c0d5720f9
2525
refs/tags/0.12.0: f0c419429ef30723ceaf6b42f9b5a2aeb5d2e2d1
26-
refs/heads/beta: a928c8360c14660c6eeb4bfa29d6ad54ac0029f4
26+
refs/heads/beta: 430b3e19606cf76288a383b89428107756d4aa61
2727
refs/tags/1.0.0-alpha: e42bd6d93a1d3433c486200587f8f9e12590a4d7
2828
refs/heads/tmp: e06d2ad9fcd5027bcaac5b08fc9aa39a49d0ecd3
2929
refs/tags/1.0.0-alpha.2: 4c705f6bc559886632d3871b04f58aab093bfa2f

branches/beta/src/libcore/iter.rs

Lines changed: 10 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -4605,8 +4605,10 @@ impl<A: Step + One> Iterator for ops::RangeInclusive<A> where
46054605
Empty { .. } => (None, None), // empty iterators yield no values
46064606

46074607
NonEmpty { ref mut start, ref mut end } => {
4608-
let one = A::one();
4609-
if start <= end {
4608+
if start == end {
4609+
(Some(mem::replace(end, A::one())), Some(mem::replace(start, A::one())))
4610+
} else if start < end {
4611+
let one = A::one();
46104612
let mut n = &*start + &one;
46114613
mem::swap(&mut n, start);
46124614

@@ -4620,7 +4622,7 @@ impl<A: Step + One> Iterator for ops::RangeInclusive<A> where
46204622
// ^ are we done yet?
46214623
Some(n)) // < the value to output
46224624
} else {
4623-
(Some(mem::replace(start, one)), None)
4625+
(Some(mem::replace(start, A::one())), None)
46244626
}
46254627
}
46264628
};
@@ -4664,15 +4666,17 @@ impl<A: Step + One> DoubleEndedIterator for ops::RangeInclusive<A> where
46644666
Empty { .. } => return None,
46654667

46664668
NonEmpty { ref mut start, ref mut end } => {
4667-
let one = A::one();
4668-
if start <= end {
4669+
if start == end {
4670+
(Some(mem::replace(start, A::one())), Some(mem::replace(end, A::one())))
4671+
} else if start < end {
4672+
let one = A::one();
46694673
let mut n = &*end - &one;
46704674
mem::swap(&mut n, end);
46714675

46724676
(if n == *start { Some(mem::replace(start, one)) } else { None },
46734677
Some(n))
46744678
} else {
4675-
(Some(mem::replace(end, one)), None)
4679+
(Some(mem::replace(end, A::one())), None)
46764680
}
46774681
}
46784682
};

0 commit comments

Comments
 (0)