Skip to main content

luaur_analysis/functions/
has_unification_too_complex.rs

1use crate::functions::get_error::get_type_error;
2use crate::records::type_error::TypeError;
3use crate::records::unification_too_complex::UnificationTooComplex;
4use crate::type_aliases::error_vec::ErrorVec;
5
6pub fn has_unification_too_complex(errors: &ErrorVec) -> Option<TypeError> {
7    let mut found: Option<TypeError> = None;
8
9    for te in errors.iter() {
10        let unification = unsafe { get_type_error::<UnificationTooComplex>(te) };
11        if !unification.is_null() {
12            found = Some(te.clone());
13            break;
14        }
15    }
16
17    found
18}