Complete for_each_aliasing_place.

This commit is contained in:
Camille GILLOT 2023-01-30 17:37:56 +00:00
parent 9af191f86f
commit 67a8c16fe2
2 changed files with 15 additions and 0 deletions

View file

@ -1640,6 +1640,14 @@ impl<'tcx> PlaceRef<'tcx> {
}
}
/// Returns `true` if this `Place` contains a `Deref` projection.
///
/// If `Place::is_indirect` returns false, the caller knows that the `Place` refers to the
/// same region of memory as its base.
pub fn is_indirect(&self) -> bool {
self.projection.iter().any(|elem| elem.is_indirect())
}
/// If MirPhase >= Derefered and if projection contains Deref,
/// It's guaranteed to be in the first place
pub fn has_deref(&self) -> bool {