Skip to main content

luaur_analysis/functions/
max_unifiable.rs

1//! Source: `Analysis/include/Luau/Unifiable.h:62-68` (hand-ported)
2use crate::records::type_level::TypeLevel;
3
4/// C++ `inline TypeLevel max(const TypeLevel& a, const TypeLevel& b)`.
5/// Returns the deeper/greater level: if `a` subsumes `b`, `b` is the greater.
6pub fn max(a: &TypeLevel, b: &TypeLevel) -> TypeLevel {
7    if a.subsumes(b) {
8        *b
9    } else {
10        *a
11    }
12}