fn move_path_for(&mut self, place: &Place<'tcx>)
                     -> Result<MovePathIndex, MoveError<'tcx>>
    {
        debug!("lookup({:?})", place);
        match *place {
            Place::Local(local) => Ok(self.builder.data.rev_lookup.locals[local]),
            Place::Promoted(..) |
            Place::Static(..) => {
                Err(MoveError::cannot_move_out_of(self.loc, Static))
            }
            Place::Projection(ref proj) => {
                self.move_path_for_projection(place, proj)
            }
        }
    }
/// This creates a MovePath for a given place, returning an `MovePathError`
/// if that place can't be moved from.
///
/// NOTE: places behind references *do not* get a move path, which is
/// problematic for borrowck.
///
/// Maybe we should have separate "borrowck" and "moveck" modes.
This creates a MovePath for a given place, returning an `MovePathError`
if that place can't be moved from.

places behind references *do not* get a move path, which is
problematic for borrowck.

Maybe we should have separate "borrowck" and "moveck" modes.
This creates a MovePath for a given place returning an ` MovePathError ` if that place can ' t be moved from . places behind references * do not * get a move path which is problematic for borrowck . Maybe we should have separate " borrowck " and " moveck " modes .
fn move_path_for(&mut self, place: &Place<'tcx>)
                     -> Result<MovePathIndex, MoveError<'tcx>>
    {
        debug!("lookup({:?})", place);
        match *place {
            Place::Local(local) => Ok(self.builder.data.rev_lookup.locals[local]),
            Place::Promoted(..) |
            Place::Static(..) => {
                Err(MoveError::cannot_move_out_of(self.loc, Static))
            }
            Place::Projection(ref proj) => {
                self.move_path_for_projection(place, proj)
            }
        }
    }
fn move_path_for ( & mut self , place : & Place < ' tcx > ) -> Result < MovePathIndex , MoveError < ' tcx > > { debug ! ( " " place ) ; match * place { Place :: Local ( local ) => Ok ( self . builder . data . rev_lookup . locals [ local ] ) , Place :: Promoted ( .. ) | Place :: Static ( .. ) => { Err ( MoveError :: cannot_move_out_of ( self . loc , Static ) ) } Place :: Projection ( ref proj ) => { self . move_path_for_projection ( place , proj ) } } }
This creates a MovePath for a given place, returning an `MovePathError`
if that place can't be moved from.
This creates a MovePath for a given place returning an ` MovePathError ` if that place can ' t be moved from .
&mut self
place
&Place<'tcx>
&mut self
place
&Place<'tcx>