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 eedb61c0712..674fa129943 100644 --- a/src/libcollections/priority_queue.rs +++ b/src/libcollections/priority_queue.rs @@ -529,10 +529,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) } } |
