pub fn scalars_mut(&mut self) -> Vec<&mut Scalar> {
        let mut scalars: Vec<&mut Scalar> = Vec::new();
        match *self {
            Expression::Scalar(ref mut scalar) => scalars.push(scalar),
            Expression::Constant(_) => {}
            Expression::Add(ref mut lhs, ref mut rhs)
            | Expression::Sub(ref mut lhs, ref mut rhs)
            | Expression::Mul(ref mut lhs, ref mut rhs)
            | Expression::Divu(ref mut lhs, ref mut rhs)
            | Expression::Modu(ref mut lhs, ref mut rhs)
            | Expression::Divs(ref mut lhs, ref mut rhs)
            | Expression::Mods(ref mut lhs, ref mut rhs)
            | Expression::And(ref mut lhs, ref mut rhs)
            | Expression::Or(ref mut lhs, ref mut rhs)
            | Expression::Xor(ref mut lhs, ref mut rhs)
            | Expression::Shl(ref mut lhs, ref mut rhs)
            | Expression::Shr(ref mut lhs, ref mut rhs)
            | Expression::Cmpeq(ref mut lhs, ref mut rhs)
            | Expression::Cmpneq(ref mut lhs, ref mut rhs)
            | Expression::Cmplts(ref mut lhs, ref mut rhs)
            | Expression::Cmpltu(ref mut lhs, ref mut rhs) => {
                scalars.append(&mut lhs.scalars_mut());
                scalars.append(&mut rhs.scalars_mut());
            }
            #[cfg(feature = "il-expression-ashr")]
            Expression::AShr(ref mut lhs, ref mut rhs) => {
                scalars.append(&mut lhs.scalars_mut());
                scalars.append(&mut rhs.scalars_mut());
            }
            Expression::Zext(_, ref mut rhs)
            | Expression::Sext(_, ref mut rhs)
            | Expression::Trun(_, ref mut rhs) => {
                scalars.append(&mut rhs.scalars_mut());
            }
            Expression::Ite(ref mut cond, ref mut then, ref mut else_) => {
                scalars.append(&mut cond.scalars_mut());
                scalars.append(&mut then.scalars_mut());
                scalars.append(&mut else_.scalars_mut());
            }
        }
        scalars
    }
/// Return mutable references to all `Scalars` in this `Expression`.
Return mutable references to all `Scalars` in this `Expression`.
Return mutable references to all ` Scalars ` in this ` Expression ` .
pub fn scalars_mut(&mut self) -> Vec<&mut Scalar> {
        let mut scalars: Vec<&mut Scalar> = Vec::new();
        match *self {
            Expression::Scalar(ref mut scalar) => scalars.push(scalar),
            Expression::Constant(_) => {}
            Expression::Add(ref mut lhs, ref mut rhs)
            | Expression::Sub(ref mut lhs, ref mut rhs)
            | Expression::Mul(ref mut lhs, ref mut rhs)
            | Expression::Divu(ref mut lhs, ref mut rhs)
            | Expression::Modu(ref mut lhs, ref mut rhs)
            | Expression::Divs(ref mut lhs, ref mut rhs)
            | Expression::Mods(ref mut lhs, ref mut rhs)
            | Expression::And(ref mut lhs, ref mut rhs)
            | Expression::Or(ref mut lhs, ref mut rhs)
            | Expression::Xor(ref mut lhs, ref mut rhs)
            | Expression::Shl(ref mut lhs, ref mut rhs)
            | Expression::Shr(ref mut lhs, ref mut rhs)
            | Expression::Cmpeq(ref mut lhs, ref mut rhs)
            | Expression::Cmpneq(ref mut lhs, ref mut rhs)
            | Expression::Cmplts(ref mut lhs, ref mut rhs)
            | Expression::Cmpltu(ref mut lhs, ref mut rhs) => {
                scalars.append(&mut lhs.scalars_mut());
                scalars.append(&mut rhs.scalars_mut());
            }
            #[cfg(feature = "il-expression-ashr")]
            Expression::AShr(ref mut lhs, ref mut rhs) => {
                scalars.append(&mut lhs.scalars_mut());
                scalars.append(&mut rhs.scalars_mut());
            }
            Expression::Zext(_, ref mut rhs)
            | Expression::Sext(_, ref mut rhs)
            | Expression::Trun(_, ref mut rhs) => {
                scalars.append(&mut rhs.scalars_mut());
            }
            Expression::Ite(ref mut cond, ref mut then, ref mut else_) => {
                scalars.append(&mut cond.scalars_mut());
                scalars.append(&mut then.scalars_mut());
                scalars.append(&mut else_.scalars_mut());
            }
        }
        scalars
    }
pub fn scalars_mut ( & mut self ) -> Vec < & mut Scalar > { let mut scalars : Vec < & mut Scalar > = Vec :: new ( ) ; match * self { Expression :: Scalar ( ref mut scalar ) => scalars . push ( scalar ) , Expression :: Constant ( _ ) => { } Expression :: Add ( ref mut lhs , ref mut rhs ) | Expression :: Sub ( ref mut lhs , ref mut rhs ) | Expression :: Mul ( ref mut lhs , ref mut rhs ) | Expression :: Divu ( ref mut lhs , ref mut rhs ) | Expression :: Modu ( ref mut lhs , ref mut rhs ) | Expression :: Divs ( ref mut lhs , ref mut rhs ) | Expression :: Mods ( ref mut lhs , ref mut rhs ) | Expression :: And ( ref mut lhs , ref mut rhs ) | Expression :: Or ( ref mut lhs , ref mut rhs ) | Expression :: Xor ( ref mut lhs , ref mut rhs ) | Expression :: Shl ( ref mut lhs , ref mut rhs ) | Expression :: Shr ( ref mut lhs , ref mut rhs ) | Expression :: Cmpeq ( ref mut lhs , ref mut rhs ) | Expression :: Cmpneq ( ref mut lhs , ref mut rhs ) | Expression :: Cmplts ( ref mut lhs , ref mut rhs ) | Expression :: Cmpltu ( ref mut lhs , ref mut rhs ) => { scalars . append ( & mut lhs . scalars_mut ( ) ) ; scalars . append ( & mut rhs . scalars_mut ( ) ) ; } # [ cfg ( feature " " ) ] Expression :: AShr ( ref mut lhs , ref mut rhs ) => { scalars . append ( & mut lhs . scalars_mut ( ) ) ; scalars . append ( & mut rhs . scalars_mut ( ) ) ; } Expression :: Zext ( _ , ref mut rhs ) | Expression :: Sext ( _ , ref mut rhs ) | Expression :: Trun ( _ , ref mut rhs ) => { scalars . append ( & mut rhs . scalars_mut ( ) ) ; } Expression :: Ite ( ref mut cond , ref mut then , ref mut else_ ) => { scalars . append ( & mut cond . scalars_mut ( ) ) ; scalars . append ( & mut then . scalars_mut ( ) ) ; scalars . append ( & mut else_ . scalars_mut ( ) ) ; } } scalars }
Return mutable references to all `Scalars` in this `Expression`.
Return mutable references to all ` Scalars ` in this ` Expression ` .
&mut self
&mut self