use core::marker::PhantomData;
use super::Type;
use crate::traits::Afi;
#[derive(Clone, Copy, Debug, Hash, PartialEq, Eq)]
pub struct Mask<T: Type, A: Afi>(A::Primitive, PhantomData<T>);
impl<A: Afi, T: Type> Mask<T, A> {
pub const fn new(bits: A::Primitive) -> Self {
Self(bits, PhantomData)
}
pub const fn into_primitive(self) -> A::Primitive {
self.0
}
}