pub fn try_visit_scalars_mut1<F, E>(&mut self, f: &mut F) -> Result<(), E>
    where
        F: FnMut(&mut MirScalarExpr) -> Result<(), E>,
    {
        use MirRelationExpr::*;
        match self {
            Map { scalars, .. } => {
                for s in scalars {
                    f(s)?;
                }
            }
            Filter { predicates, .. } => {
                for p in predicates {
                    f(p)?;
                }
            }
            FlatMap { exprs, .. } => {
                for expr in exprs {
                    f(expr)?;
                }
            }
            Join { equivalences, .. } => {
                for equivalence in equivalences {
                    for expr in equivalence {
                        f(expr)?;
                    }
                }
            }
            ArrangeBy { keys, .. } => {
                for key in keys {
                    for s in key {
                        f(s)?;
                    }
                }
            }
            Reduce {
                group_key,
                aggregates,
                ..
            } => {
                for s in group_key {
                    f(s)?;
                }
                for agg in aggregates {
                    f(&mut agg.expr)?;
                }
            }
            Constant { .. }
            | Get { .. }
            | Let { .. }
            | Project { .. }
            | TopK { .. }
            | Negate { .. }
            | Threshold { .. }
            | Union { .. } => (),
        }
        Ok(())
    }
/// Fallible visitor for the [`MirScalarExpr`]s directly owned by this relation expression.
///
/// The `f` visitor should not recursively descend into owned [`MirRelationExpr`]s.
Fallible visitor for the [`MirScalarExpr`]s directly owned by this relation expression.
The `f` visitor should not recursively descend into owned [`MirRelationExpr`]s.
Fallible visitor for the [ ` MirScalarExpr ` ] s directly owned by this relation expression . The ` f ` visitor should not recursively descend into owned [ ` MirRelationExpr ` ] s .
pub fn try_visit_scalars_mut1<F, E>(&mut self, f: &mut F) -> Result<(), E>
    where
        F: FnMut(&mut MirScalarExpr) -> Result<(), E>,
    {
        use MirRelationExpr::*;
        match self {
            Map { scalars, .. } => {
                for s in scalars {
                    f(s)?;
                }
            }
            Filter { predicates, .. } => {
                for p in predicates {
                    f(p)?;
                }
            }
            FlatMap { exprs, .. } => {
                for expr in exprs {
                    f(expr)?;
                }
            }
            Join { equivalences, .. } => {
                for equivalence in equivalences {
                    for expr in equivalence {
                        f(expr)?;
                    }
                }
            }
            ArrangeBy { keys, .. } => {
                for key in keys {
                    for s in key {
                        f(s)?;
                    }
                }
            }
            Reduce {
                group_key,
                aggregates,
                ..
            } => {
                for s in group_key {
                    f(s)?;
                }
                for agg in aggregates {
                    f(&mut agg.expr)?;
                }
            }
            Constant { .. }
            | Get { .. }
            | Let { .. }
            | Project { .. }
            | TopK { .. }
            | Negate { .. }
            | Threshold { .. }
            | Union { .. } => (),
        }
        Ok(())
    }
pub fn try_visit_scalars_mut1 < F , E > ( & mut self , f : & mut F ) -> Result < ( ) , E > where F : FnMut ( & mut MirScalarExpr ) -> Result < ( ) , E > , { use MirRelationExpr :: * ; match self { Map { scalars , .. } => { for s in scalars { f ( s ) ? ; } } Filter { predicates , .. } => { for p in predicates { f ( p ) ? ; } } FlatMap { exprs , .. } => { for expr in exprs { f ( expr ) ? ; } } Join { equivalences , .. } => { for equivalence in equivalences { for expr in equivalence { f ( expr ) ? ; } } } ArrangeBy { keys , .. } => { for key in keys { for s in key { f ( s ) ? ; } } } Reduce { group_key , aggregates , .. } => { for s in group_key { f ( s ) ? ; } for agg in aggregates { f ( & mut agg . expr ) ? ; } } Constant { .. } | Get { .. } | Let { .. } | Project { .. } | TopK { .. } | Negate { .. } | Threshold { .. } | Union { .. } => ( ) , } Ok ( ( ) ) }
Fallible visitor for the [`MirScalarExpr`]s directly owned by this relation expression.
Fallible visitor for the [ ` MirScalarExpr ` ] s directly owned by this relation expression .
&mut self
f
&mut F
&mut self
f
&mut F