Rename BorrowData::location to BorrowData::reserve_location
in preparation for rewritting two phase borrow support
This commit is contained in:
parent
fedce67cd2
commit
580467d306
@ -250,7 +250,7 @@ impl<'cx, 'gcx, 'tcx> MirBorrowckCtxt<'cx, 'gcx, 'tcx> {
|
||||
|
||||
let new_closure_span = self.find_closure_span(span, context.loc);
|
||||
let span = new_closure_span.map(|(args, _)| args).unwrap_or(span);
|
||||
let old_closure_span = self.find_closure_span(issued_span, issued_borrow.location);
|
||||
let old_closure_span = self.find_closure_span(issued_span, issued_borrow.reserve_location);
|
||||
let issued_span = old_closure_span
|
||||
.map(|(args, _)| args)
|
||||
.unwrap_or(issued_span);
|
||||
@ -380,7 +380,7 @@ impl<'cx, 'gcx, 'tcx> MirBorrowckCtxt<'cx, 'gcx, 'tcx> {
|
||||
.last()
|
||||
.unwrap();
|
||||
|
||||
let borrow_span = self.mir.source_info(borrow.location).span;
|
||||
let borrow_span = self.mir.source_info(borrow.reserve_location).span;
|
||||
let proper_span = match *root_place {
|
||||
Place::Local(local) => self.mir.local_decls[local].source_info.span,
|
||||
_ => drop_span,
|
||||
@ -817,7 +817,7 @@ impl<'cx, 'gcx, 'tcx> MirBorrowckCtxt<'cx, 'gcx, 'tcx> {
|
||||
|
||||
// Retrieve span of given borrow from the current MIR representation
|
||||
pub fn retrieve_borrow_span(&self, borrow: &BorrowData) -> Span {
|
||||
self.mir.source_info(borrow.location).span
|
||||
self.mir.source_info(borrow.reserve_location).span
|
||||
}
|
||||
|
||||
// Retrieve type of a place for the current MIR representation
|
||||
|
@ -111,7 +111,9 @@ impl<'a, 'gcx, 'tcx> ActiveBorrows<'a, 'gcx, 'tcx> {
|
||||
#[allow(dead_code)]
|
||||
#[derive(Debug)]
|
||||
pub struct BorrowData<'tcx> {
|
||||
pub(crate) location: Location,
|
||||
/// Location where the borrow reservation starts.
|
||||
/// In many cases, this will be equal to the activation location but not always.
|
||||
pub(crate) reserve_location: Location,
|
||||
pub(crate) kind: mir::BorrowKind,
|
||||
pub(crate) region: Region<'tcx>,
|
||||
pub(crate) borrowed_place: mir::Place<'tcx>,
|
||||
@ -209,7 +211,8 @@ impl<'a, 'gcx, 'tcx> Borrows<'a, 'gcx, 'tcx> {
|
||||
if is_unsafe_place(self.tcx, self.mir, borrowed_place) { return; }
|
||||
|
||||
let borrow = BorrowData {
|
||||
location, kind, region,
|
||||
reserve_location: location,
|
||||
kind, region,
|
||||
borrowed_place: borrowed_place.clone(),
|
||||
assigned_place: assigned_place.clone(),
|
||||
};
|
||||
@ -245,7 +248,7 @@ impl<'a, 'gcx, 'tcx> Borrows<'a, 'gcx, 'tcx> {
|
||||
let mut found_it = false;
|
||||
for idx in &self.region_map[region] {
|
||||
let bd = &self.idx_vec[*idx];
|
||||
if bd.location == location &&
|
||||
if bd.reserve_location == location &&
|
||||
bd.kind == kind &&
|
||||
bd.region == region &&
|
||||
bd.borrowed_place == *place
|
||||
@ -277,7 +280,7 @@ impl<'a, 'gcx, 'tcx> Borrows<'a, 'gcx, 'tcx> {
|
||||
pub fn scope_tree(&self) -> &Lrc<region::ScopeTree> { &self.scope_tree }
|
||||
|
||||
pub fn location(&self, idx: BorrowIndex) -> &Location {
|
||||
&self.borrows[idx].location
|
||||
&self.borrows[idx].reserve_location
|
||||
}
|
||||
|
||||
/// Add all borrows to the kill set, if those borrows are out of scope at `location`.
|
||||
|
Loading…
x
Reference in New Issue
Block a user