diff --git a/src/libstd/iterator.rs b/src/libstd/iterator.rs index 198e63f83c6..1aca34894b4 100644 --- a/src/libstd/iterator.rs +++ b/src/libstd/iterator.rs @@ -333,6 +333,18 @@ pub trait IteratorUtil { /// ~~~ fn collect>(&mut self) -> B; + /// Loops through the entire iterator, collecting all of the elements into + /// a unique vector. This is simply collect() specialized for vectors. + /// + /// # Example + /// + /// ~~~ {.rust} + /// let a = [1, 2, 3, 4, 5]; + /// let b: ~[int] = a.iter().transform(|&x| x).to_owned_vec(); + /// assert!(a == b); + /// ~~~ + fn to_owned_vec(&mut self) -> ~[A]; + /// Loops through `n` iterations, returning the `n`th element of the /// iterator. /// @@ -529,6 +541,11 @@ impl> IteratorUtil for T { FromIterator::from_iterator(self) } + #[inline] + fn to_owned_vec(&mut self) -> ~[A] { + self.collect() + } + /// Return the `n`th item yielded by an iterator. #[inline] fn nth(&mut self, mut n: uint) -> Option {