pub fn unbox_from_mut_ref_ret(self) -> TypedValue {
        let (ty, val, ptr) = self.decompose();
        if cfg!(debug_assertions) {
            assert!(ty.is_ref(Some(true)));
        }
        let unboxed_ptr = match ptr {
            Pointer::RetRef(mut trace) => {
                let sub = trace.pop().unwrap();
                if cfg!(debug_assertions) {
                    assert!(trace.is_empty());
                }
                match sub {
                    Pointer::ArgRef(_, original_ptr) => *original_ptr,
                    _ => unreachable!(),
                }
            }
            _ => unreachable!(),
        };
        TypedValue {
            ty,
            val,
            ptr: unboxed_ptr,
        }
    }
/// Unwrap the pointer from the mutable reference to its original pointer
Unwrap the pointer from the mutable reference to its original pointer
Unwrap the pointer from the mutable reference to its original pointer
pub fn unbox_from_mut_ref_ret(self) -> TypedValue {
        let (ty, val, ptr) = self.decompose();
        if cfg!(debug_assertions) {
            assert!(ty.is_ref(Some(true)));
        }
        let unboxed_ptr = match ptr {
            Pointer::RetRef(mut trace) => {
                let sub = trace.pop().unwrap();
                if cfg!(debug_assertions) {
                    assert!(trace.is_empty());
                }
                match sub {
                    Pointer::ArgRef(_, original_ptr) => *original_ptr,
                    _ => unreachable!(),
                }
            }
            _ => unreachable!(),
        };
        TypedValue {
            ty,
            val,
            ptr: unboxed_ptr,
        }
    }
pub fn unbox_from_mut_ref_ret ( self ) -> TypedValue { let ( ty , val , ptr ) = self . decompose ( ) ; if cfg ! ( debug_assertions ) { assert ! ( ty is_ref ( Some ( true ) ) ) ; } let unboxed_ptr = match ptr { Pointer :: RetRef ( mut trace ) => { let sub = trace . pop ( ) . unwrap ( ) ; if cfg ! ( debug_assertions ) { assert ! ( trace is_empty ( ) ) ; } match sub { Pointer :: ArgRef ( _ , original_ptr ) => * original_ptr , _ => unreachable ! ( ) , } } _ => unreachable ! ( ) , } ; TypedValue { ty , val , ptr : unboxed_ptr , } }
Unwrap the pointer from the mutable reference to its original pointer
Unwrap the pointer from the mutable reference to its original pointer
self