Skip to main content

luaur_analysis/functions/
get_refinement.rs

1//! Source: `Analysis/include/Luau/Refinement.h:59-63` (hand-ported)
2use crate::type_aliases::refinement_id_refinement::RefinementId;
3use crate::type_aliases::refinement_refinement::RefinementMember;
4
5/// C++ `template<typename T> const T* get(RefinementId refinement)`.
6pub fn get_refinement_id<T: RefinementMember>(refinement: RefinementId) -> *const T {
7    unsafe {
8        match T::get_if(&*refinement) {
9            Some(r) => r as *const T,
10            None => core::ptr::null(),
11        }
12    }
13}