about summary refs log tree commit diff
path: root/src/libstd/priority_queue.rs
diff options
context:
space:
mode:
authorbors <bors@rust-lang.org>2013-02-12 20:40:19 -0800
committerbors <bors@rust-lang.org>2013-02-12 20:40:19 -0800
commit27b3e01377ff9b25a38a76937c3d14cd9d0fb2b0 (patch)
treed2f3367752c8410f35d30671b8dc175eb55db3c4 /src/libstd/priority_queue.rs
parent1a394e57f7a622e67c13eae8bc26848eea31334a (diff)
parentab2534974caf39e69b401442ff1a9077b94c46c1 (diff)
downloadrust-27b3e01377ff9b25a38a76937c3d14cd9d0fb2b0.tar.gz
rust-27b3e01377ff9b25a38a76937c3d14cd9d0fb2b0.zip
auto merge of #4914 : nikomatsakis/rust/issue-4856, r=nikomatsakis
and then adjust code to match. rs=unsound (will review post-landing)

rs=unsound
Diffstat (limited to 'src/libstd/priority_queue.rs')
-rw-r--r--src/libstd/priority_queue.rs6
1 files changed, 4 insertions, 2 deletions
diff --git a/src/libstd/priority_queue.rs b/src/libstd/priority_queue.rs
index 5248ab1742e..a64aa5e9687 100644
--- a/src/libstd/priority_queue.rs
+++ b/src/libstd/priority_queue.rs
@@ -81,7 +81,8 @@ impl <T: Ord> PriorityQueue<T> {
     /// Push an item onto the queue
     fn push(&mut self, item: T) {
         self.data.push(item);
-        self.siftup(0, self.len() - 1);
+        let new_len = self.len() - 1;
+        self.siftup(0, new_len);
     }
 
     /// Optimized version of a push followed by a pop
@@ -179,7 +180,8 @@ impl <T: Ord> PriorityQueue<T> {
     }
 
     priv fn siftdown(&mut self, pos: uint) {
-        self.siftdown_range(pos, self.len());
+        let len = self.len();
+        self.siftdown_range(pos, len);
     }
 }