Enum rustc_mir::interpret::MemPlaceMeta [−][src]
Expand description
Information required for the sound usage of a MemPlace.
Variants
Meta(Scalar<Tag>)Expand description
The unsized payload (e.g. length for slices or vtable pointer for trait objects).
Expand description
Sized types or unsized extern type
Expand description
The address of this place may not be taken. This protects the MemPlace from coming from
a ZST Operand without a backing allocation and being converted to an integer address. This
should be impossible, because you can’t take the address of an operand, but this is a second
protection layer ensuring that we don’t mess up.
Implementations
impl<Tag> MemPlaceMeta<Tag>[src]
impl<Tag> MemPlaceMeta<Tag>[src]pub fn unwrap_meta(self) -> Scalar<Tag>[src]
fn has_meta(self) -> bool[src]
pub fn erase_tag(self) -> MemPlaceMeta<()>[src]
Trait Implementations
impl<Tag: Clone> Clone for MemPlaceMeta<Tag>[src]
impl<Tag: Clone> Clone for MemPlaceMeta<Tag>[src]fn clone(&self) -> MemPlaceMeta<Tag>[src]
fn clone(&self) -> MemPlaceMeta<Tag>[src]Returns a copy of the value. Read more
fn clone_from(&mut self, source: &Self)1.0.0[src]
fn clone_from(&mut self, source: &Self)1.0.0[src]Performs copy-assignment from source. Read more
impl<Tag: Debug> Debug for MemPlaceMeta<Tag>[src]
impl<Tag: Debug> Debug for MemPlaceMeta<Tag>[src]impl<Tag: Hash> Hash for MemPlaceMeta<Tag>[src]
impl<Tag: Hash> Hash for MemPlaceMeta<Tag>[src]impl<'__ctx, Tag> HashStable<StableHashingContext<'__ctx>> for MemPlaceMeta<Tag> where
Tag: HashStable<StableHashingContext<'__ctx>>, [src]
impl<'__ctx, Tag> HashStable<StableHashingContext<'__ctx>> for MemPlaceMeta<Tag> where
Tag: HashStable<StableHashingContext<'__ctx>>, [src]fn hash_stable(
&self,
__hcx: &mut StableHashingContext<'__ctx>,
__hasher: &mut StableHasher
)[src]
&self,
__hcx: &mut StableHashingContext<'__ctx>,
__hasher: &mut StableHasher
)
impl<Tag: PartialEq> PartialEq<MemPlaceMeta<Tag>> for MemPlaceMeta<Tag>[src]
impl<Tag: PartialEq> PartialEq<MemPlaceMeta<Tag>> for MemPlaceMeta<Tag>[src]fn eq(&self, other: &MemPlaceMeta<Tag>) -> bool[src]
fn eq(&self, other: &MemPlaceMeta<Tag>) -> bool[src]This method tests for self and other values to be equal, and is used
by ==. Read more
fn ne(&self, other: &MemPlaceMeta<Tag>) -> bool[src]
fn ne(&self, other: &MemPlaceMeta<Tag>) -> bool[src]This method tests for !=.
impl<Tag: Copy> Copy for MemPlaceMeta<Tag>[src]
impl<Tag: Eq> Eq for MemPlaceMeta<Tag>[src]
impl<Tag> StructuralEq for MemPlaceMeta<Tag>[src]
impl<Tag> StructuralPartialEq for MemPlaceMeta<Tag>[src]
Auto Trait Implementations
impl<Tag> RefUnwindSafe for MemPlaceMeta<Tag> where
Tag: RefUnwindSafe,
Tag: RefUnwindSafe,
impl<Tag> Send for MemPlaceMeta<Tag> where
Tag: Send,
Tag: Send,
impl<Tag> Sync for MemPlaceMeta<Tag> where
Tag: Sync,
Tag: Sync,
impl<Tag> Unpin for MemPlaceMeta<Tag> where
Tag: Unpin,
Tag: Unpin,
impl<Tag> UnwindSafe for MemPlaceMeta<Tag> where
Tag: UnwindSafe,
Tag: UnwindSafe,
Blanket Implementations
impl<T> BorrowMut<T> for T where
T: ?Sized, [src]
impl<T> BorrowMut<T> for T where
T: ?Sized, [src]pub fn borrow_mut(&mut self) -> &mut T[src]
pub fn borrow_mut(&mut self) -> &mut T[src]Mutably borrows from an owned value. Read more
impl<T> ToOwned for T where
T: Clone, [src]
impl<T> ToOwned for T where
T: Clone, [src]type Owned = T
type Owned = TThe resulting type after obtaining ownership.
pub fn to_owned(&self) -> T[src]
pub fn to_owned(&self) -> T[src]Creates owned data from borrowed data, usually by cloning. Read more
pub fn clone_into(&self, target: &mut T)[src]
pub fn clone_into(&self, target: &mut T)[src]🔬 This is a nightly-only experimental API. (toowned_clone_into)
recently added
Uses borrowed data to replace owned data, usually by cloning. Read more
impl<T> WithConstness for T[src]
impl<T> WithConstness for T[src]