luaur-analysis 0.1.3

Luau type checker and type inference (Rust).
Documentation
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
use crate::records::selected_overload::SelectedOverload;
use crate::type_aliases::constraint_v::ConstraintV;
use crate::type_aliases::incompatibility_reason::IncompatibilityReason;
use crate::type_aliases::type_id::TypeId;
use alloc::vec::Vec;
use luaur_common::records::dense_hash_set::DenseHashSet;

#[derive(Debug, Clone)]
pub struct OverloadResolution {
    pub ok: Vec<TypeId>,
    pub non_functions: Vec<TypeId>,
    pub potential_overloads: Vec<(TypeId, Vec<ConstraintV>)>,
    pub incompatible_overloads: Vec<(TypeId, IncompatibilityReason)>,
    pub arity_mismatches: Vec<TypeId>,
    pub metamethods: DenseHashSet<TypeId>,
}