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
//! Node: `cxx:Function:Luau.Analysis:Analysis/include/Luau/Constraint.h:372:get_mutable`
//! Source: `Analysis/include/Luau/Constraint.h:372-377` (hand-ported)

use crate::records::constraint::Constraint;
use crate::type_aliases::constraint_v::ConstraintVMember;

/// C++ `template<typename T> T* getMutable(Constraint& c)`.
pub fn get_mutable_constraint<T: ConstraintVMember>(c: &mut Constraint) -> *mut T {
    match T::get_if_mut(&mut c.c) {
        Some(r) => r as *mut T,
        None => core::ptr::null_mut(),
    }
}

#[allow(unused_imports)]
pub use get_mutable_constraint as get_mutable;