From 308e30eb7a3ec98392b0cbb0ebad354318a86148 Mon Sep 17 00:00:00 2001 From: gaurikholkar Date: Wed, 28 Feb 2018 00:27:29 +0530 Subject: [PATCH] adding Visitor changes --- src/librustc_mir/borrow_check/mod.rs | 24 +++++++++++++++++++++++- 1 file changed, 23 insertions(+), 1 deletion(-) diff --git a/src/librustc_mir/borrow_check/mod.rs b/src/librustc_mir/borrow_check/mod.rs index e5e8ffdc2f38..207097a71c37 100644 --- a/src/librustc_mir/borrow_check/mod.rs +++ b/src/librustc_mir/borrow_check/mod.rs @@ -17,7 +17,7 @@ use rustc::hir::map::definitions::DefPathData; use rustc::infer::InferCtxt; use rustc::ty::{self, ParamEnv, TyCtxt}; use rustc::ty::maps::Providers; -use rustc::mir::{AssertMessage, BasicBlock, BorrowKind, Location, Place}; +use rustc::mir::{AssertMessage, BasicBlock, BorrowKind, Local, Location, Place, Visitor}; use rustc::mir::{Mir, Mutability, Operand, Projection, ProjectionElem, Rvalue}; use rustc::mir::{Field, Statement, StatementKind, Terminator, TerminatorKind}; use rustc::mir::ClosureRegionRequirements; @@ -56,6 +56,20 @@ mod prefixes; use std::borrow::Cow; +struct FindLocalAssignmentVisitor { + from: Local, + loc: Vec, +} + +impl<'tcx> Visitor<'tcx> for FindLocalAssignmentVisitor { + fn visit_local(&mut self, + local: &mut Local, + _: PlaceContext<'tcx>, + _: Location) { + Visitor::visit_local(local,) + } +} + pub(crate) mod nll; pub fn provide(providers: &mut Providers) { @@ -2271,3 +2285,11 @@ impl ContextKind { } } } + +impl Mir { + fn find_assignments(&self, local: Local) -> Vec + { + + } +} +