Skip to main content

luaur_analysis/methods/
unifier_2_unify_unifier_2_alt_p.rs

1use crate::enums::unify_result::UnifyResult;
2use crate::records::any_type::AnyType;
3use crate::records::builtin_types::BuiltinTypes;
4use crate::records::metatable_type::MetatableType;
5use crate::records::unifier_2::Unifier2;
6use crate::type_aliases::type_id::TypeId;
7
8impl Unifier2 {
9    pub fn unify_any_type_metatable_type(
10        &mut self,
11        _sub_any: &AnyType,
12        super_metatable: &MetatableType,
13    ) -> UnifyResult {
14        let builtin_types = unsafe { &*self.builtin_types.as_ptr() };
15        let metatable_result =
16            self.unify_type_id_type_id(builtin_types.anyType, super_metatable.metatable);
17        if metatable_result != UnifyResult::Ok {
18            return metatable_result;
19        }
20        self.unify_type_id_type_id(builtin_types.anyType, super_metatable.table)
21    }
22}