Struct rustc::middle::borrowck::move_data::FlowedMoveData[src]
pub struct FlowedMoveData<'a> {
pub move_data: MoveData,
pub dfcx_moves: MoveDataFlow<'a>,
pub dfcx_assign: AssignDataFlow<'a>,
}Fields
move_data | |
dfcx_moves | |
dfcx_assign |
Methods
impl<'a> FlowedMoveData<'a>
fn new(move_data: MoveData, tcx: &'a ctxt, cfg: &'a CFG, id_range: IdRange, decl: &FnDecl, body: &Block) -> FlowedMoveData<'a>
fn each_path_moved_by(&self, id: NodeId, f: |&Move, &LoanPath| -> bool) -> bool
Iterates through each path moved by id
fn kind_of_move_of_path(&self, id: NodeId, loan_path: &Rc<LoanPath>) -> Option<MoveKind>
Returns the kind of a move of loan_path by id, if one exists.
fn each_move_of(&self, id: NodeId, loan_path: &Rc<LoanPath>, f: |&Move, &LoanPath| -> bool) -> bool
Iterates through each move of loan_path (or some base path
of loan_path) that may have occurred on entry to id without
an intervening assignment. In other words, any moves that
would invalidate a reference to loan_path at location id.
fn is_assignee(&self, id: NodeId) -> bool
True if id is the id of the LHS of an assignment
fn each_assignment_of(&self, id: NodeId, loan_path: &Rc<LoanPath>, f: |&Assignment| -> bool) -> bool
Iterates through every assignment to loan_path that
may have occurred on entry to id. loan_path must be
a single variable.