luaur-analysis 0.1.3

Luau type checker and type inference (Rust).
Documentation
1
2
3
4
5
6
7
8
9
10
11
12
13
14
use crate::functions::follow_type::follow_type_id;
use crate::functions::get_type_alt_j::get_type_id;
use crate::records::primitive_type::{PrimitiveType, Type};
use crate::type_aliases::type_id::TypeId;

pub fn is_prim(ty: TypeId, prim_type: Type) -> bool {
    let followed = unsafe { follow_type_id(ty) };
    let p = unsafe { get_type_id::<PrimitiveType>(followed) };
    if p.is_null() {
        false
    } else {
        unsafe { (*p).r#type == prim_type }
    }
}