pub enum TrackElem {
Field(FieldIdx),
Variant(VariantIdx),
Discriminant,
DerefLen,
}
Expand description
The set of projection elements that can be used by a tracked place.
Although only field projections are currently allowed, this could change in the future.
Variants§
Trait Implementations§
source§impl PartialEq<TrackElem> for TrackElem
impl PartialEq<TrackElem> for TrackElem
source§impl<V, T> TryFrom<ProjectionElem<V, T>> for TrackElem
impl<V, T> TryFrom<ProjectionElem<V, T>> for TrackElem
impl Copy for TrackElem
impl Eq for TrackElem
impl StructuralEq for TrackElem
impl StructuralPartialEq for TrackElem
Auto Trait Implementations§
impl RefUnwindSafe for TrackElem
impl Send for TrackElem
impl Sync for TrackElem
impl Unpin for TrackElem
impl UnwindSafe for TrackElem
Blanket Implementations§
source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
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: 8 bytes
Size for each variant:
Field
: 4 bytesVariant
: 4 bytesDiscriminant
: 0 bytesDerefLen
: 0 bytes