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
15
16
17
use crate::records::builtin_types::BuiltinTypes;
use crate::records::type_arena::TypeArena;
use crate::records::union_builder::UnionBuilder;
use crate::type_aliases::type_id::TypeId;

pub fn add_union(
    arena: *mut TypeArena,
    builtin_types: *mut BuiltinTypes,
    list: &[TypeId],
) -> TypeId {
    let mut ub = UnionBuilder::union_builder(arena, builtin_types);
    ub.reserve(list.len());
    for &option in list.iter() {
        ub.add(option);
    }
    ub.build()
}