1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
pub use crate::base::types::{ArcType as RcType, Flags, TypeExt, TypePtr};

#[cfg(test)]
mod tests {
    use super::*;

    use crate::base::{
        symbol::Symbol,
        types::{Generic, Type},
    };

    #[test]
    fn flags() {
        let gen = Type::<_, RcType>::generic(Generic::new(Symbol::from("a"), Default::default()));
        assert_eq!(gen.flags(), Flags::HAS_GENERICS);
        assert_eq!(
            Type::function(vec![gen.clone()], gen.clone()).flags(),
            Flags::HAS_GENERICS
        );
    }
}