diff --git a/src/libcore/iter/iterator.rs b/src/libcore/iter/iterator.rs index 8fb71295a88..6f5bb2747df 100644 --- a/src/libcore/iter/iterator.rs +++ b/src/libcore/iter/iterator.rs @@ -11,7 +11,6 @@ use clone::Clone; use cmp::{Ord, PartialOrd, PartialEq, Ordering}; use default::Default; -use marker; use num::{Zero, One}; use ops::{Add, FnMut, Mul}; use option::Option::{self, Some, None}; @@ -1748,23 +1747,9 @@ pub trait Iterator { FromB: Default + Extend, Self: Sized + Iterator, { - struct SizeHint(usize, Option, marker::PhantomData); - impl Iterator for SizeHint { - type Item = A; - - fn next(&mut self) -> Option { None } - fn size_hint(&self) -> (usize, Option) { - (self.0, self.1) - } - } - - let (lo, hi) = self.size_hint(); let mut ts: FromA = Default::default(); let mut us: FromB = Default::default(); - ts.extend(SizeHint(lo, hi, marker::PhantomData)); - us.extend(SizeHint(lo, hi, marker::PhantomData)); - for (t, u) in self { ts.extend(Some(t)); us.extend(Some(u));