Remove the loop in Align::from_bytes
Perf is almost certainly irrelevant, but might as well simplify it, since `trailing_zeros` does exactly what's needed.
This commit is contained in:
parent
2a71115261
commit
99fd9cb697
@ -665,15 +665,12 @@ fn too_large(align: u64) -> String {
|
||||
format!("`{}` is too large", align)
|
||||
}
|
||||
|
||||
let mut bytes = align;
|
||||
let mut pow2: u8 = 0;
|
||||
while (bytes & 1) == 0 {
|
||||
pow2 += 1;
|
||||
bytes >>= 1;
|
||||
}
|
||||
if bytes != 1 {
|
||||
let tz = align.trailing_zeros();
|
||||
if align != (1 << tz) {
|
||||
return Err(not_power_of_2(align));
|
||||
}
|
||||
|
||||
let pow2 = tz as u8;
|
||||
if pow2 > Self::MAX.pow2 {
|
||||
return Err(too_large(align));
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user