fn pop_until(&mut self, depth: StackIndex) -> Vec<StackEntry> {
        assert!(depth.value < self.stack.len()); // `depth` must not yet have been popped
        let mut result = Vec::with_capacity(self.stack.len() - depth.value);
        while self.next_index() != depth {
            result.push(self.stack.pop().unwrap());
        }
        result
    }
// Pop all stack frames up to and and including the one at `depth`.
Pop all stack frames up to and and including the one at `depth`.
Pop all stack frames up to and and including the one at ` depth ` .
fn pop_until(&mut self, depth: StackIndex) -> Vec<StackEntry> {
        assert!(depth.value < self.stack.len()); // `depth` must not yet have been popped
        let mut result = Vec::with_capacity(self.stack.len() - depth.value);
        while self.next_index() != depth {
            result.push(self.stack.pop().unwrap());
        }
        result
    }
fn pop_until ( & mut self , depth : StackIndex ) -> Vec < StackEntry > { assert ! ( depth value self stack len ( ) ) ; // `depth` must not yet have been popped let mut result = Vec :: with_capacity ( self . stack . len ( ) - depth . value ) ; while self . next_index ( ) != depth { result . push ( self . stack . pop ( ) . unwrap ( ) ) ; } result }
Pop all stack frames up to and and including the one at `depth`.
Pop all stack frames up to and and including the one at ` depth ` .
&mut self
depth
StackIndex