Skip to main content

luaur_analysis/functions/
add_intersection.rs

1use crate::records::builtin_types::BuiltinTypes;
2use crate::records::intersection_builder::IntersectionBuilder;
3use crate::records::type_arena::TypeArena;
4use crate::type_aliases::type_id::TypeId;
5
6pub fn add_intersection(
7    arena: *mut TypeArena,
8    builtin_types: *mut BuiltinTypes,
9    list: &[TypeId],
10) -> TypeId {
11    let mut ib = IntersectionBuilder::intersection_builder(arena, builtin_types);
12    ib.reserve(list.len());
13    for &part in list {
14        ib.add(part);
15    }
16    ib.build()
17}