[−][src]Enum rustc_mir::interpret::MemPlaceMeta
Information required for the sound usage of a MemPlace.
Variants
Meta(Scalar<Tag>)The unsized payload (e.g. length for slices or vtable pointer for trait objects).
Sized types or unsized extern type
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]
pub fn unwrap_meta(self) -> Scalar<Tag>[src]
pub(in interpret::place) fn has_meta(
self
) -> bool[src]
self
) -> bool
pub fn erase_tag(self) -> MemPlaceMeta<()>[src]
Trait Implementations
impl<Tag: Clone> Clone for MemPlaceMeta<Tag>[src]
pub fn clone(&self) -> MemPlaceMeta<Tag>[src]
pub fn clone_from(&mut self, source: &Self)1.0.0[src]
impl<Tag: Copy> Copy for MemPlaceMeta<Tag>[src]
impl<Tag: Debug> Debug for MemPlaceMeta<Tag>[src]
impl<Tag: Eq> Eq for MemPlaceMeta<Tag>[src]
impl<Tag: Hash> Hash for MemPlaceMeta<Tag>[src]
pub fn hash<__H: Hasher>(&self, state: &mut __H)[src]
pub fn hash_slice<H>(data: &[Self], state: &mut H) where
H: Hasher, 1.3.0[src]
H: Hasher,
impl<'__ctx, Tag> HashStable<StableHashingContext<'__ctx>> for MemPlaceMeta<Tag> where
Tag: HashStable<StableHashingContext<'__ctx>>, [src]
Tag: HashStable<StableHashingContext<'__ctx>>,
pub 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]
pub fn eq(&self, other: &MemPlaceMeta<Tag>) -> bool[src]
pub fn ne(&self, other: &MemPlaceMeta<Tag>) -> bool[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> Any for T where
T: 'static + ?Sized, [src]
T: 'static + ?Sized,
impl<T> Borrow<T> for T where
T: ?Sized, [src]
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized, [src]
T: ?Sized,
pub fn borrow_mut(&mut self) -> &mut T[src]
impl<T> From<T> for T[src]
impl<T, U> Into<U> for T where
U: From<T>, [src]
U: From<T>,
impl<T> ToOwned for T where
T: Clone, [src]
T: Clone,
type Owned = T
The resulting type after obtaining ownership.
pub fn to_owned(&self) -> T[src]
pub fn clone_into(&self, target: &mut T)[src]
impl<T, U> TryFrom<U> for T where
U: Into<T>, [src]
U: Into<T>,
type Error = Infallible
The type returned in the event of a conversion error.
pub fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>[src]
impl<T, U> TryInto<U> for T where
U: TryFrom<T>, [src]
U: TryFrom<T>,
type Error = <U as TryFrom<T>>::Error
The type returned in the event of a conversion error.