pub(crate) fn pop(&mut self, expected: ScopeGuard, span: Span) -> CompileResult<Scope> {
        let ScopeGuard(expected) = expected;

        if self.scopes.len() != expected {
            return Err(CompileError::msg(
                &span,
                "the number of scopes do not match",
            ));
        }

        self.pop_unchecked(span)
    }
/// Pop the last scope and compare with the expected length.
Pop the last scope and compare with the expected length.
Pop the last scope and compare with the expected length .
pub(crate) fn pop(&mut self, expected: ScopeGuard, span: Span) -> CompileResult<Scope> {
        let ScopeGuard(expected) = expected;
        if self.scopes.len() != expected {
            return Err(CompileError::msg(
                &span,
                "the number of scopes do not match",
            ));
        }
        self.pop_unchecked(span)
    }
pub ( crate ) fn pop ( & mut self , expected : ScopeGuard , span : Span ) -> CompileResult < Scope > { let ScopeGuard ( expected ) = expected ; if self . scopes . len ( ) != expected { return Err ( CompileError :: msg ( & span , " " , ) ) ; } self . pop_unchecked ( span ) }
Pop the last scope and compare with the expected length.
Pop the last scope and compare with the expected length .
&mut self
expected
ScopeGuard
span
Span
&mut self
expected
ScopeGuard
span
Span