Skip to main content

luaur_analysis/methods/
unifier_2_unify_unifier_2_alt_h.rs

1use crate::enums::unify_result::UnifyResult;
2use crate::records::intersection_type::IntersectionType;
3use crate::records::unifier_2::Unifier2;
4use crate::type_aliases::type_id::TypeId;
5
6impl Unifier2 {
7    pub fn unify_type_id_intersection_type(
8        &mut self,
9        sub_ty: TypeId,
10        super_intersection: &IntersectionType,
11    ) -> UnifyResult {
12        let mut result = UnifyResult::Ok;
13
14        for super_part in super_intersection.parts.iter() {
15            result = result & self.unify_type_id_type_id(sub_ty, *super_part);
16        }
17
18        result
19    }
20}