1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
use crate::utils::span::Span;

#[derive(Debug, PartialEq, Clone, Copy)]
pub struct DataType<'a> {
    pub span: Span,
    pub kind: DataTypeKind<'a>,
}

#[derive(Debug, PartialEq, Clone, Copy)]
pub enum DataTypeKind<'a> {
    Int,
    Bool,
    Float,
    Unit,
    StringType,
    CustomType(&'a str),
    FunctionType(&'a [DataType<'a>]),
}