diff options
| -rw-r--r-- | src/libcollections/priority_queue.rs | 7 |
1 files changed, 3 insertions, 4 deletions
diff --git a/src/libcollections/priority_queue.rs b/src/libcollections/priority_queue.rs index 34cc0225815..28283cdbc51 100644 --- a/src/libcollections/priority_queue.rs +++ b/src/libcollections/priority_queue.rs @@ -527,10 +527,9 @@ impl<'a, T> Iterator<&'a T> for Items<'a, T> { } impl<T: Ord> FromIterator<T> for PriorityQueue<T> { - fn from_iter<Iter: Iterator<T>>(iter: Iter) -> PriorityQueue<T> { - let mut q = PriorityQueue::new(); - q.extend(iter); - q + fn from_iter<Iter: Iterator<T>>(mut iter: Iter) -> PriorityQueue<T> { + let vec: Vec<T> = iter.collect(); + PriorityQueue::from_vec(vec) } } |
