Skip to content

Commit 02f9be8

Browse files
committed
Remove unzip() SizeHint hack
This was using an invalid iterator so is likely to end with buggy behaviour. It also doesn't even benefit many type in std including Vec so removing it shouldn't cause any problems.
1 parent 763f923 commit 02f9be8

File tree

1 file changed

+0
-15
lines changed

1 file changed

+0
-15
lines changed

src/libcore/iter/iterator.rs

Lines changed: 0 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,6 @@
1111
use clone::Clone;
1212
use cmp::{Ord, PartialOrd, PartialEq, Ordering};
1313
use default::Default;
14-
use marker;
1514
use num::{Zero, One};
1615
use ops::{Add, FnMut, Mul};
1716
use option::Option::{self, Some, None};
@@ -1747,23 +1746,9 @@ pub trait Iterator {
17471746
FromB: Default + Extend<B>,
17481747
Self: Sized + Iterator<Item=(A, B)>,
17491748
{
1750-
struct SizeHint<A>(usize, Option<usize>, marker::PhantomData<A>);
1751-
impl<A> Iterator for SizeHint<A> {
1752-
type Item = A;
1753-
1754-
fn next(&mut self) -> Option<A> { None }
1755-
fn size_hint(&self) -> (usize, Option<usize>) {
1756-
(self.0, self.1)
1757-
}
1758-
}
1759-
1760-
let (lo, hi) = self.size_hint();
17611749
let mut ts: FromA = Default::default();
17621750
let mut us: FromB = Default::default();
17631751

1764-
ts.extend(SizeHint(lo, hi, marker::PhantomData));
1765-
us.extend(SizeHint(lo, hi, marker::PhantomData));
1766-
17671752
for (t, u) in self {
17681753
ts.extend(Some(t));
17691754
us.extend(Some(u));

0 commit comments

Comments
 (0)