rust: ptr: replace unneeded use of build_assert

Since `ALIGN` is a const parameter, this assertion can be done in const
context using the `assert!` macro.

Suggested-by: Alice Ryhl <aliceryhl@google.com>
Signed-off-by: Alexandre Courbot <acourbot@nvidia.com>
Reviewed-by: Alice Ryhl <aliceryhl@google.com>
Link: https://patch.msgid.link/20251216-ptr_assert-v1-1-d8b2d5c5741d@nvidia.com
Signed-off-by: Miguel Ojeda <ojeda@kernel.org>
This commit is contained in:
Alexandre Courbot
2025-12-16 17:24:49 +09:00
committed by Miguel Ojeda
parent 1b18b37a2c
commit 84b1b49ecc

View File

@@ -5,8 +5,6 @@
use core::mem::align_of;
use core::num::NonZero;
use crate::build_assert;
/// Type representing an alignment, which is always a power of two.
///
/// It is used to validate that a given value is a valid alignment, and to perform masking and
@@ -40,10 +38,12 @@ impl Alignment {
/// ```
#[inline(always)]
pub const fn new<const ALIGN: usize>() -> Self {
build_assert!(
ALIGN.is_power_of_two(),
"Provided alignment is not a power of two."
);
const {
assert!(
ALIGN.is_power_of_two(),
"Provided alignment is not a power of two."
);
}
// INVARIANT: `align` is a power of two.
// SAFETY: `align` is a power of two, and thus non-zero.