devela/num/int/
alias.rs
1#![allow(non_camel_case_types)]
4
5use crate::paste;
6
7macro_rules! iusize_alias {
9 ($casted:literal, $sign:literal, $ty:ident, $($width:literal : $cast:ty),+) => { paste! {
10 $(
11 #[doc = crate::TAG_PRIMITIVE!()]
12 #[doc = $casted " pointer-sized " $sign " integer primitive."]
13 #[cfg(target_pointer_width = $width)]
14 pub type $ty = $cast;
15 )+
16 }}
17}
18iusize_alias!["A downcasted", "signed", isize_down, "16":i8, "32":i16, "64":i32, "128":i64];
19iusize_alias!["A downcasted", "unsigned", usize_down, "16":u8, "32":u16, "64":u32, "128":u64];
20
21iusize_alias!["An upcasted", "signed", isize_up, "8":i16, "16":i32, "32":i64, "64":i128];
22iusize_alias!["An upcasted", "unsigned", usize_up, "8":u16, "16":u32, "32":u64, "64":u128];