pub fn visit_lvalue<'a>(&'a self, mut f: impl FnMut(&'a AstString)) {
        fn recurse<'a>(x: &'a Assign, f: &mut impl FnMut(&'a AstString)) {
            match x {
                Assign::Identifier(x) => f(x),
                Assign::Tuple(xs) => xs.iter().for_each(|x| recurse(x, f)),
                _ => {}
            }
        }
        recurse(self, &mut f)
    }
/// Assuming this expression was on the left-hand-side of an assignment,
/// visit all the names that are bound by this assignment.
/// Note that assignments like `x[i] = n` don't bind any names.
Assuming this expression was on the left-hand-side of an assignment,
visit all the names that are bound by this assignment.
Note that assignments like `x[i] = n` don't bind any names.
Assuming this expression was on the left - hand - side of an assignment visit all the names that are bound by this assignment . Note that assignments like ` x [ i ] = n ` don ' t bind any names .
pub fn visit_lvalue<'a>(&'a self, mut f: impl FnMut(&'a AstString)) {
        fn recurse<'a>(x: &'a Assign, f: &mut impl FnMut(&'a AstString)) {
            match x {
                Assign::Identifier(x) => f(x),
                Assign::Tuple(xs) => xs.iter().for_each(|x| recurse(x, f)),
                _ => {}
            }
        }
        recurse(self, &mut f)
    }
pub fn visit_lvalue < ' a > ( & ' a self , mut f : impl FnMut ( & ' a AstString ) ) { fn recurse < ' a > ( x : & ' a Assign , f : & mut impl FnMut ( & ' a AstString ) ) { match x { Assign :: Identifier ( x ) => f ( x ) , Assign :: Tuple ( xs ) => xs . iter ( ) . for_each ( | x | recurse ( x , f ) ) , _ => { } } } recurse ( self , & mut f ) }
Assuming this expression was on the left-hand-side of an assignment,
visit all the names that are bound by this assignment.
Assuming this expression was on the left - hand - side of an assignment visit all the names that are bound by this assignment .
&'a self
f
impl FnMut(&'a AstString)
&'a self
f
impl FnMut(&'a AstString)