/// Returns whether this lvalue is tracked by drop elaboration. This
/// includes all lvalues, except these (1.) behind references or arrays,
///  or (2.) behind ADT's with a Drop impl.
Returns whether this lvalue is tracked by drop elaboration. This
includes all lvalues, except these (1.) behind references or arrays,
or (2.) behind ADT's with a Drop impl.
Returns whether this lvalue is tracked by drop elaboration . This includes all lvalues except these ( 1 . ) behind references or arrays or ( 2 . ) behind ADT ' s with a Drop impl .
fn lvalue_is_tracked(&self, lv: &Lvalue<'tcx>) -> bool
    {
        // `lvalue_contents_drop_state_cannot_differ` only compares
        // the `lv` to its immediate contents, while this recursively
        // follows parent chain formed by `base` of each projection.
        if let &Lvalue::Projection(ref data) = lv {
            !super::lvalue_contents_drop_state_cannot_differ(self.tcx, self.mir, &data.base) &&
                self.lvalue_is_tracked(&data.base)
        } else {
            true
        }
    }
fn lvalue_is_tracked ( & self , lv : & Lvalue < ' tcx > ) -> bool { // `lvalue_contents_drop_state_cannot_differ` only compares // the `lv` to its immediate contents, while this recursively // follows parent chain formed by `base` of each projection. if let & Lvalue :: Projection ( ref data ) = lv { ! super :: lvalue_contents_drop_state_cannot_differ ( self . tcx , self . mir , & data . base ) && self . lvalue_is_tracked ( & data . base ) } else { true } }
Returns whether this lvalue is tracked by drop elaboration.
Returns whether this lvalue is tracked by drop elaboration .
&self
lv
&Lvalue<'tcx>