1use std::fmt::Display;
2
3#[derive(Clone, Copy, PartialEq, PartialOrd)]
4pub enum RunVar {
5 I8(i8),
6 I16(i16),
7 I32(i32),
8 I64(i64),
9 I128(i128),
10 U8(u8),
11 U16(u16),
12 U32(u32),
13 U64(u64),
14 U128(u128),
15 F32(f32),
16 F64(f64),
17 USIZE(usize),
18 ISIZE(isize)
19}
20
21impl Default for RunVar {
22 fn default() -> Self {
23 Self::I32(0)
24 }
25}
26
27try_into_impl!(i8, I8);
29try_into_impl!(i16, I16);
30try_into_impl!(i32, I32);
31try_into_impl!(i64, I64);
32try_into_impl!(i128, I128);
33try_into_impl!(isize, ISIZE);
34try_into_impl!(u8, U8);
35try_into_impl!(u16, U16);
36try_into_impl!(u32, U32);
37try_into_impl!(u64, U64);
38try_into_impl!(u128, U128);
39try_into_impl!(usize, USIZE);
40try_into_impl!(f32, F32);
41try_into_impl!(f64, F64);
42
43impl Display for RunVar {
60 fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
61 match self {
62 Self::I8(x) => write!(f, "{}", x),
63 Self::I16(x) => write!(f, "{}", x),
64 Self::I32(x) => write!(f, "{}", x),
65 Self::I64(x) => write!(f, "{}", x),
66 Self::I128(x) => write!(f, "{}", x),
67 Self::U8(x) => write!(f, "{}", x),
68 Self::U16(x) => write!(f, "{}", x),
69 Self::U32(x) => write!(f, "{}", x),
70 Self::U64(x) => write!(f, "{}", x),
71 Self::U128(x) => write!(f, "{}", x),
72 Self::F32(x) => write!(f, "{}", x),
73 Self::F64(x) => write!(f, "{}", x),
74 Self::USIZE(x) => write!(f, "{}", x),
75 Self::ISIZE(x) => write!(f, "{}", x)
76 }
77 }
78}