diff options
| author | bors <bors@rust-lang.org> | 2013-02-12 20:40:19 -0800 |
|---|---|---|
| committer | bors <bors@rust-lang.org> | 2013-02-12 20:40:19 -0800 |
| commit | 27b3e01377ff9b25a38a76937c3d14cd9d0fb2b0 (patch) | |
| tree | d2f3367752c8410f35d30671b8dc175eb55db3c4 /src/libstd/priority_queue.rs | |
| parent | 1a394e57f7a622e67c13eae8bc26848eea31334a (diff) | |
| parent | ab2534974caf39e69b401442ff1a9077b94c46c1 (diff) | |
| download | rust-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.rs | 6 |
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); } } |
