pub trait Element: Copy + private::Sealed {
const DATA_TRANSFER_ID: u8;
}
impl Element for u8 {
const DATA_TRANSFER_ID: u8 = 0;
}
impl Element for u16 {
const DATA_TRANSFER_ID: u8 = 1;
}
impl Element for u32 {
const DATA_TRANSFER_ID: u8 = 2;
}
impl Element for u64 {
const DATA_TRANSFER_ID: u8 = 3;
}
mod private {
pub trait Sealed {}
impl Sealed for u8 {}
impl Sealed for u16 {}
impl Sealed for u32 {}
impl Sealed for u64 {}
}