#[macro_export]
macro_rules! usize {
() => {
$crate::types::UsizeNil
};
($first:literal $(,$rest:tt)* $(,)?) => {
$crate::types::Usize<$first, $crate::usize!($($rest,)*)>
}
}
#[macro_export]
macro_rules! u8 {
() => {
$crate::types::U8Nil
};
($first:literal $(,$rest:tt)* $(,)?) => {
$crate::types::U8<$first, $crate::u8!($($rest,)*)>
}
}
#[macro_export]
macro_rules! u16 {
() => {
$crate::types::U16Nil
};
($first:literal $(,$rest:tt)* $(,)?) => {
$crate::types::U16<$first, $crate::u16!($($rest,)*)>
}
}
#[macro_export]
macro_rules! u32 {
() => {
$crate::types::U32Nil
};
($first:literal $(,$rest:tt)* $(,)?) => {
$crate::types::U32<$first, $crate::u32!($($rest,)*)>
}
}
#[macro_export]
macro_rules! u64 {
() => {
$crate::types::U64Nil
};
($first:literal $(,$rest:tt)* $(,)?) => {
$crate::types::U64<$first, $crate::u64!($($rest,)*)>
}
}
#[macro_export]
macro_rules! u128 {
() => {
$crate::types::U128Nil
};
($first:literal $(,$rest:tt)* $(,)?) => {
$crate::types::U128<$first, $crate::u128!($($rest,)*)>
}
}
#[macro_export]
macro_rules! isize {
() => {
$crate::types::IsizeNil
};
($first:literal $(,$rest:tt)* $(,)?) => {
$crate::types::Isize<$first, $crate::isize!($($rest,)*)>
}
}
#[macro_export]
macro_rules! i8 {
() => {
$crate::types::I8Nil
};
($first:literal $(,$rest:tt)* $(,)?) => {
$crate::types::I8<$first, $crate::i8!($($rest,)*)>
}
}
#[macro_export]
macro_rules! i16 {
() => {
$crate::types::I16Nil
};
($first:literal $(,$rest:tt)* $(,)?) => {
$crate::types::I16<$first, $crate::i16!($($rest,)*)>
}
}
#[macro_export]
macro_rules! i32 {
() => {
$crate::types::I32Nil
};
($first:literal $(,$rest:tt)* $(,)?) => {
$crate::types::I32<$first, $crate::i32!($($rest,)*)>
}
}
#[macro_export]
macro_rules! i64 {
() => {
$crate::types::I64Nil
};
($first:literal $(,$rest:tt)* $(,)?) => {
$crate::types::I64<$first, $crate::i64!($($rest,)*)>
}
}
#[macro_export]
macro_rules! i128 {
() => {
$crate::types::I128Nil
};
($first:literal $(,$rest:tt)* $(,)?) => {
$crate::types::I128<$first, $crate::i128!($($rest,)*)>
}
}
#[macro_export]
macro_rules! char {
() => {
$crate::types::CharNil
};
($first:literal $(,$rest:tt)* $(,)?) => {
$crate::types::Char<$first, $crate::char!($($rest,)*)>
}
}
#[macro_export]
macro_rules! bool {
() => {
$crate::types::BoolNil
};
($first:literal $(,$rest:tt)* $(,)?) => {
$crate::types::Bool<$first, $crate::bool!($($rest,)*)>
}
}