diff --git a/src/libcollections/priority_queue.rs b/src/libcollections/priority_queue.rs index 34cc02258157f..28283cdbc5109 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 FromIterator for PriorityQueue { - fn from_iter>(iter: Iter) -> PriorityQueue { - let mut q = PriorityQueue::new(); - q.extend(iter); - q + fn from_iter>(mut iter: Iter) -> PriorityQueue { + let vec: Vec = iter.collect(); + PriorityQueue::from_vec(vec) } }