use crate::DataType;
#[allow(non_camel_case_types)]
#[derive(Debug, Clone, PartialEq)]
pub enum PrimitiveType {
i8,
i16,
i32,
i64,
i128,
isize,
u8,
u16,
u32,
u64,
u128,
usize,
f32,
f64,
bool,
char,
String,
}
impl PrimitiveType {
pub fn to_rust_str(&self) -> &'static str {
match self {
Self::i8 => "i8",
Self::i16 => "i16",
Self::i32 => "i32",
Self::i64 => "i64",
Self::i128 => "i128",
Self::isize => "isize",
Self::u8 => "u8",
Self::u16 => "u16",
Self::u32 => "u32",
Self::u64 => "u64",
Self::u128 => "u128",
Self::usize => "usize",
Self::f32 => "f32",
Self::f64 => "f64",
Self::bool => "bool",
Self::char => "char",
Self::String => "String",
}
}
}
impl From<PrimitiveType> for DataType {
fn from(t: PrimitiveType) -> Self {
Self::Primitive(t)
}
}