1use std::fmt::Display;
2
3#[derive(Clone, 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 STRING(String),
20}
21
22impl Default for RunVar {
23 fn default() -> Self {
24 Self::I32(0)
25 }
26}
27
28try_into_impl!(i8, I8);
30try_into_impl!(i16, I16);
31try_into_impl!(i32, I32);
32try_into_impl!(i64, I64);
33try_into_impl!(i128, I128);
34try_into_impl!(isize, ISIZE);
35try_into_impl!(u8, U8);
36try_into_impl!(u16, U16);
37try_into_impl!(u32, U32);
38try_into_impl!(u64, U64);
39try_into_impl!(u128, U128);
40try_into_impl!(usize, USIZE);
41try_into_impl!(f32, F32);
42try_into_impl!(f64, F64);
43try_into_impl!(String, STRING);
44
45impl Display for RunVar {
62 fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
63 match self {
64 Self::I8(x) => write!(f, "{}", x),
65 Self::I16(x) => write!(f, "{}", x),
66 Self::I32(x) => write!(f, "{}", x),
67 Self::I64(x) => write!(f, "{}", x),
68 Self::I128(x) => write!(f, "{}", x),
69 Self::U8(x) => write!(f, "{}", x),
70 Self::U16(x) => write!(f, "{}", x),
71 Self::U32(x) => write!(f, "{}", x),
72 Self::U64(x) => write!(f, "{}", x),
73 Self::U128(x) => write!(f, "{}", x),
74 Self::F32(x) => write!(f, "{}", x),
75 Self::F64(x) => write!(f, "{}", x),
76 Self::USIZE(x) => write!(f, "{}", x),
77 Self::ISIZE(x) => write!(f, "{}", x),
78 Self::STRING(x) => write!(f, "{}", x)
79 }
80 }
81}