pub fn stack_struct_popn(
    state: &AbstractState,
    struct_index: StructDefinitionIndex,
) -> Result<AbstractState, VMError> {
    let state_copy = state.clone();
    let mut state = state.clone();
    let struct_def = state_copy.module.struct_def_at(struct_index);
    let struct_def_view = StructDefinitionView::new(&state_copy.module, struct_def);
    let number_of_pops = struct_def_view.fields().iter().len();
    for _ in 0..number_of_pops {
        state = stack_pop(&state)?;
    }
    Ok(state)
}
/// Pop the number of stack values required to construct the struct
/// at `struct_index`
Pop the number of stack values required to construct the struct
at `struct_index`
Pop the number of stack values required to construct the struct at ` struct_index `
pub fn stack_struct_popn(
    state: &AbstractState,
    struct_index: StructDefinitionIndex,
) -> Result<AbstractState, VMError> {
    let state_copy = state.clone();
    let mut state = state.clone();
    let struct_def = state_copy.module.struct_def_at(struct_index);
    let struct_def_view = StructDefinitionView::new(&state_copy.module, struct_def);
    let number_of_pops = struct_def_view.fields().iter().len();
    for _ in 0..number_of_pops {
        state = stack_pop(&state)?;
    }
    Ok(state)
}
pub fn stack_struct_popn ( state : & AbstractState , struct_index : StructDefinitionIndex , ) -> Result < AbstractState , VMError > { let state_copy = state . clone ( ) ; let mut state = state . clone ( ) ; let struct_def = state_copy . module . struct_def_at ( struct_index ) ; let struct_def_view = StructDefinitionView :: new ( & state_copy . module , struct_def ) ; let number_of_pops = struct_def_view . fields ( ) . iter ( ) . len ( ) ; for _ in 0 .. number_of_pops { state = stack_pop ( & state ) ? ; } Ok ( state ) }
Pop the number of stack values required to construct the struct
at `struct_index`
Pop the number of stack values required to construct the struct at ` struct_index `
state
&AbstractState
struct_index
StructDefinitionIndex