diff --git a/src/constance/src/lib.rs b/src/constance/src/lib.rs index b003a56f6db..8503f0aa6bf 100644 --- a/src/constance/src/lib.rs +++ b/src/constance/src/lib.rs @@ -13,6 +13,7 @@ #![feature(unsafe_block_in_unsafe_fn)] // `unsafe fn` doesn't imply `unsafe {}` #![feature(never_type)] // `!` #![feature(specialization)] +#![feature(int_bits_const)] #![feature(untagged_unions)] // `union` with non-`Copy` fields #![cfg_attr(test, feature(is_sorted))] #![deny(unsafe_op_in_unsafe_fn)] diff --git a/src/constance/src/utils/ctz.rs b/src/constance/src/utils/ctz.rs index 89ab394a2be..f9e4be41b57 100644 --- a/src/constance/src/utils/ctz.rs +++ b/src/constance/src/utils/ctz.rs @@ -1,6 +1,5 @@ //! Count trailing zeros #![allow(clippy::if_same_then_else)] -use super::int::BinInteger; const USIZE_BITS: u32 = usize::BITS; diff --git a/src/constance/src/utils/int.rs b/src/constance/src/utils/int.rs index 0a3275a8403..57a3ddaa030 100644 --- a/src/constance/src/utils/int.rs +++ b/src/constance/src/utils/int.rs @@ -96,7 +96,7 @@ macro_rules! impl_binary_integer { impl BinInteger for $type { type OneDigits = OneDigits; - const BITS: u32 = core::mem::size_of::<$type>() as u32 * 8; + const BITS: u32 = <$type>::BITS; #[inline] fn ones(range: ops::Range) -> Self {