Skip to content

Commit 5c40e51

Browse files
committed
Use usize::BITS instead of 8 * std::mem::size_of::<usize>()
This ports rust-lang/rust@1e2dba1e, part of rust-lang/rust#76492. `usize::BITS` was stabilized in Rust 1.53.0.
1 parent 52a20d8 commit 5c40e51

File tree

1 file changed

+2
-4
lines changed

1 file changed

+2
-4
lines changed

src/binary_heap.rs

+2-4
Original file line numberDiff line numberDiff line change
@@ -157,7 +157,7 @@ use std::slice;
157157
// use std::vec::Drain;
158158
use compare::Compare;
159159
use core::fmt;
160-
use core::mem::{size_of, swap, ManuallyDrop};
160+
use core::mem::{swap, ManuallyDrop};
161161
use core::ptr;
162162
#[cfg(feature = "serde")]
163163
use serde::{Deserialize, Serialize};
@@ -1008,11 +1008,9 @@ impl<T, C: Compare<T>> BinaryHeap<T, C> {
10081008

10091009
let tail_len = self.len() - start;
10101010

1011-
// `usize::BITS` requires Rust 1.53.0 or greater.
1012-
#[allow(clippy::manual_bits)]
10131011
#[inline(always)]
10141012
fn log2_fast(x: usize) -> usize {
1015-
8 * size_of::<usize>() - (x.leading_zeros() as usize) - 1
1013+
(usize::BITS - x.leading_zeros() - 1) as usize
10161014
}
10171015

10181016
// `rebuild` takes O(self.len()) operations

0 commit comments

Comments
 (0)