diff --git a/src/boxiter.rs b/src/boxiter.rs index 033592d6a..8de9540b3 100644 --- a/src/boxiter.rs +++ b/src/boxiter.rs @@ -8,27 +8,29 @@ /// Iterator trait. /// /// Iterator element type is `A` -pub struct BoxIter { +pub struct BoxIter { /// The wrapped iterator pointer - pub iter: Box + 'static> + pub iter: Box } -impl BoxIter +impl BoxIter + where I: Iterator { /// Create a BoxIter from an iterator value - pub fn from_iter>(iter: I) -> BoxIter + pub fn from_iter(iter: I) -> BoxIter { - BoxIter::from_box(box iter as Box + 'static>) + BoxIter::from_box(box iter) } /// Create a BoxIter from an already boxed iterator - pub fn from_box(iter: Box + 'static>) -> BoxIter + pub fn from_box(iter: Box) -> BoxIter { BoxIter{iter: iter} } } -impl Iterator for BoxIter +impl Iterator for BoxIter + where I: Iterator { #[inline] fn next(&mut self) -> Option