luaur_analysis/functions/
add_intersection.rs1use 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}