pub fn unpack_ref_struct_field(self, field_num: usize, is_mut_opt: Option<bool>) -> TypedValue {
        let field = self
            .ty
            .into_ref_struct_inst(is_mut_opt)
            .fields
            .remove(field_num);
        let val = match self.val {
            BaseValue::Struct(mut v) => v.remove(field_num),
            _ => unreachable!(),
        };
        TypedValue {
            ty: Type::Base(field.ty),
            val,
            ptr: Pointer::None,
        }
    }
/// Unpack one specific field from a struct reference
Unpack one specific field from a struct reference
Unpack one specific field from a struct reference
pub fn unpack_ref_struct_field(self, field_num: usize, is_mut_opt: Option<bool>) -> TypedValue {
        let field = self
            .ty
            .into_ref_struct_inst(is_mut_opt)
            .fields
            .remove(field_num);
        let val = match self.val {
            BaseValue::Struct(mut v) => v.remove(field_num),
            _ => unreachable!(),
        };
        TypedValue {
            ty: Type::Base(field.ty),
            val,
            ptr: Pointer::None,
        }
    }
pub fn unpack_ref_struct_field ( self , field_num : usize , is_mut_opt : Option < bool > ) -> TypedValue { let field = self . ty . into_ref_struct_inst ( is_mut_opt ) . fields . remove ( field_num ) ; let val = match self . val { BaseValue :: Struct ( mut v ) => v . remove ( field_num ) , _ => unreachable ! ( ) , } ; TypedValue { ty : Type :: Base ( field . ty ) , val , ptr : Pointer :: None , } }
Unpack one specific field from a struct reference
Unpack one specific field from a struct reference
self
field_num
usize
is_mut_opt
Option<bool>