const ONE: Self;
const MIN: Self;
const MAX: Self;
+ const BITS: Self;
}
pub trait PrimUInt: PrimInt + ConvertFrom<Self::SignedType> {
const ONE: Self = 1;
const MIN: Self = 0;
const MAX: Self = !0;
+ const BITS: Self = (0 as $uint).count_zeros() as $uint;
}
impl PrimInt for $sint {
const ZERO: Self = 0;
const ONE: Self = 1;
const MIN: Self = $sint::MIN;
const MAX: Self = $sint::MAX;
+ const BITS: Self = (0 as $sint).count_zeros() as $sint;
}
impl PrimUInt for $uint {
type SignedType = $sint;