fn post_visit(mut self, expr: &Expr) -> DataFusionResult<Self> {
        if let Expr::BinaryExpr {
            left: _,
            op,
            right: _,
        } = expr
        {
            self.pop_stack_and_validate(op)?;
        }
        Ok(self)
    }
/// Invoked after all children of `expr` are visited.
Invoked after all children of `expr` are visited.
Invoked after all children of ` expr ` are visited .
fn post_visit(mut self, expr: &Expr) -> DataFusionResult<Self> {
        if let Expr::BinaryExpr {
            left: _,
            op,
            right: _,
        } = expr
        {
            self.pop_stack_and_validate(op)?;
        }
        Ok(self)
    }
fn post_visit ( mut self , expr : & Expr ) -> DataFusionResult < Self > { if let Expr :: BinaryExpr { left : _ , op , right : _ , } = expr { self . pop_stack_and_validate ( op ) ? ; } Ok ( self ) }
Invoked after all children of `expr` are visited.
Invoked after all children of ` expr ` are visited .
mut self
expr
&Expr
mut self
expr
&Expr