fn interior_base<'a, 'tcx>(place: &'a mut Place<'tcx>)
                                                       -> &'a mut Place<'tcx> {
                                if let Place::Projection(ref mut proj) = *place {
                                    assert_ne!(proj.elem, ProjectionElem::Deref);
                                    return interior_base(&mut proj.base);
                                }
                                place
                            }
// Find the underlying local for this (necessarily interior) borrow.
// HACK(eddyb) using a recursive function because of mutable borrows.
Find the underlying local for this (necessarily interior) borrow.
HACK(eddyb) using a recursive function because of mutable borrows.
Find the underlying local for this ( necessarily interior ) borrow . HACK ( eddyb ) using a recursive function because of mutable borrows .
fn interior_base<'a, 'tcx>(place: &'a mut Place<'tcx>)
                                                       -> &'a mut Place<'tcx> {
                                if let Place::Projection(ref mut proj) = *place {
                                    assert_ne!(proj.elem, ProjectionElem::Deref);
                                    return interior_base(&mut proj.base);
                                }
                                place
                            }
fn interior_base < ' a , ' tcx > ( place : & ' a mut Place < ' tcx > ) -> & ' a mut Place < ' tcx > { if let Place :: Projection ( ref mut proj ) = * place { assert_ne ! ( proj elem ProjectionElem Deref ) ; return interior_base ( & mut proj . base ) ; } place }
Find the underlying local for this (necessarily interior) borrow.
Find the underlying local for this ( necessarily interior ) borrow .
place
&'a mut Place<'tcx>
place
&'a mut Place<'tcx>