RS.CLIPPY.MANUAL_IS_POWER_OF_TWO
Manually reimplementing `is_power_of_two`
This checker is a Clippy lint created by The Rust Project Contributors. The documentation shown here is a copy of the original documentation for: manual_is_power_of_two. Copyright ©2025 The Rust Team. All rights reserved.
What it does
Checks for expressions like x.count_ones() == 1 or x & (x - 1) == 0, with x and unsigned integer, which may be manual
reimplementations of x.is_power_of_two().
Why is this bad?
Manual reimplementations of is_power_of_two increase code complexity for little benefit.
Example
let a: u32 = 4;
let result = a.count_ones() == 1;
Use instead:
let a: u32 = 4;
let result = a.is_power_of_two();
Configuration
-
msrv: The minimum rust version that the project supports. Defaults to therust-versionfield inCargo.toml(default:
current version)