pub fn pop(&mut self) -> Result<(), StateError> {
        if self.scheduled.is_some() {
            return Err(StateError::StateAlreadyQueued);
        }

        if self.stack.len() == 1 {
            return Err(StateError::StackEmpty);
        }

        self.scheduled = Some(ScheduledOperation::Pop);
        Ok(())
    }
/// Same as [Self::set], but does a pop operation instead of a set operation
Same as [Self::set], but does a pop operation instead of a set operation
Same as [ Self :: set ] but does a pop operation instead of a set operation
pub fn pop(&mut self) -> Result<(), StateError> {
        if self.scheduled.is_some() {
            return Err(StateError::StateAlreadyQueued);
        }
        if self.stack.len() == 1 {
            return Err(StateError::StackEmpty);
        }
        self.scheduled = Some(ScheduledOperation::Pop);
        Ok(())
    }
pub fn pop ( & mut self ) -> Result < ( ) , StateError > { if self . scheduled . is_some ( ) { return Err ( StateError :: StateAlreadyQueued ) ; } if self . stack . len ( ) == 1 { return Err ( StateError :: StackEmpty ) ; } self . scheduled = Some ( ScheduledOperation :: Pop ) ; Ok ( ( ) ) }
Same as [Self::set], but does a pop operation instead of a set operation
Same as [ Self :: set ] but does a pop operation instead of a set operation
&mut self
&mut self