luaur_analysis/functions/get_def.rs
1//! Source: `Analysis/include/Luau/Def.h:73-77` (hand-ported)
2use crate::type_aliases::def_id_def::DefId;
3use crate::type_aliases::variant::VariantMember;
4
5/// C++ `template<typename T> const T* get(DefId def)`.
6pub fn get_def_id<T: VariantMember>(def: DefId) -> *const T {
7 unsafe {
8 match T::get_if(&(*def).v) {
9 Some(r) => r as *const T,
10 None => core::ptr::null(),
11 }
12 }
13}