mirror of
https://github.com/rust-lang/rust.git
synced 2025-02-10 22:13:27 +00:00
make super_projection
take a PlaceRef
This commit is contained in:
parent
5ec4b060a7
commit
a9c6188889
@ -1002,7 +1002,7 @@ macro_rules! visit_place_fns {
|
||||
context: PlaceContext,
|
||||
location: Location,
|
||||
) {
|
||||
self.super_projection(place_ref.local, place_ref.projection, context, location);
|
||||
self.super_projection(place_ref, context, location);
|
||||
}
|
||||
|
||||
fn visit_projection_elem(
|
||||
@ -1037,15 +1037,15 @@ macro_rules! visit_place_fns {
|
||||
|
||||
fn super_projection(
|
||||
&mut self,
|
||||
local: Local,
|
||||
projection: &[PlaceElem<'tcx>],
|
||||
place_ref: PlaceRef<'tcx>,
|
||||
context: PlaceContext,
|
||||
location: Location,
|
||||
) {
|
||||
let mut cursor = projection;
|
||||
// FIXME: Use PlaceRef::iter_projections, once that exists.
|
||||
let mut cursor = place_ref.projection;
|
||||
while let &[ref proj_base @ .., elem] = cursor {
|
||||
cursor = proj_base;
|
||||
self.visit_projection_elem(local, cursor, elem, context, location);
|
||||
self.visit_projection_elem(place_ref.local, cursor, elem, context, location);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -414,8 +414,7 @@ impl UsedLocals {
|
||||
} else {
|
||||
// A definition. Although, it still might use other locals for indexing.
|
||||
self.super_projection(
|
||||
place.local,
|
||||
&place.projection,
|
||||
place.as_ref(),
|
||||
PlaceContext::MutatingUse(MutatingUseContext::Projection),
|
||||
location,
|
||||
);
|
||||
|
Loading…
Reference in New Issue
Block a user