Enum rustc_middle::mir::visit::PlaceContext
source · pub enum PlaceContext {
NonMutatingUse(NonMutatingUseContext),
MutatingUse(MutatingUseContext),
NonUse(NonUseContext),
}
Variants§
Implementations§
source§impl PlaceContext
impl PlaceContext
sourcepub fn is_address_of(&self) -> bool
pub fn is_address_of(&self) -> bool
Returns true
if this place context represents an address-of.
sourcepub fn is_storage_marker(&self) -> bool
pub fn is_storage_marker(&self) -> bool
Returns true
if this place context represents a storage live or storage dead marker.
sourcepub fn is_mutating_use(&self) -> bool
pub fn is_mutating_use(&self) -> bool
Returns true
if this place context represents a use that potentially changes the value.
sourcepub fn is_place_assignment(&self) -> bool
pub fn is_place_assignment(&self) -> bool
Returns true
if this place context represents an assignment statement.
Trait Implementations§
source§impl Clone for PlaceContext
impl Clone for PlaceContext
source§fn clone(&self) -> PlaceContext
fn clone(&self) -> PlaceContext
Returns a copy of the value. Read more
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source
. Read moresource§impl Debug for PlaceContext
impl Debug for PlaceContext
source§impl PartialEq<PlaceContext> for PlaceContext
impl PartialEq<PlaceContext> for PlaceContext
source§fn eq(&self, other: &PlaceContext) -> bool
fn eq(&self, other: &PlaceContext) -> bool
impl Copy for PlaceContext
impl Eq for PlaceContext
impl StructuralEq for PlaceContext
impl StructuralPartialEq for PlaceContext
Auto Trait Implementations§
impl RefUnwindSafe for PlaceContext
impl Send for PlaceContext
impl Sync for PlaceContext
impl Unpin for PlaceContext
impl UnwindSafe for PlaceContext
Blanket Implementations§
source§impl<'tcx, T> ArenaAllocatable<'tcx, IsCopy> for Twhere
T: Copy,
impl<'tcx, T> ArenaAllocatable<'tcx, IsCopy> for Twhere
T: Copy,
fn allocate_on<'a>(self, arena: &'a Arena<'tcx>) -> &'a mut T
fn allocate_from_iter<'a>(
arena: &'a Arena<'tcx>,
iter: impl IntoIterator<Item = T>
) -> &'a mut [T] ⓘ
source§impl<T, R> InternIteratorElement<T, R> for T
impl<T, R> InternIteratorElement<T, R> for T
type Output = R
fn intern_with<I, F>(iter: I, f: F) -> <T as InternIteratorElement<T, R>>::Outputwhere
I: Iterator<Item = T>,
F: FnOnce(&[T]) -> R,
source§impl<T> MaybeResult<T> for T
impl<T> MaybeResult<T> for T
source§impl<'tcx, T> ToPredicate<'tcx, T> for T
impl<'tcx, T> ToPredicate<'tcx, T> for T
fn to_predicate(self, _tcx: TyCtxt<'tcx>) -> T
source§impl<Tcx, T> Value<Tcx> for Twhere
Tcx: DepContext,
impl<Tcx, T> Value<Tcx> for Twhere
Tcx: DepContext,
default fn from_cycle_error(tcx: Tcx, _: &[QueryInfo]) -> T
Layout§
Note: Most layout information is completely unstable and may even differ between compilations. The only exception is types with certain repr(...)
attributes. Please see the Rust Reference’s “Type Layout” chapter for details on type layout guarantees.
Size: 2 bytes
Size for each variant:
NonMutatingUse
: 1 byteMutatingUse
: 1 byteNonUse
: 1 byte