[−][src]Struct rustc_mir::interpret::MemPlace
Fields
ptr: Scalar<Tag>A place may have an integral pointer for ZSTs, and since it might be turned back into a reference before ever being dereferenced. However, it may never be uninit.
align: Alignmeta: MemPlaceMeta<Tag>Metadata for unsized places. Interpretation is up to the type.
Must not be present for sized types, but can be missing for unsized types
(e.g., extern type).
Implementations
impl<Tag> MemPlace<Tag>[src]
pub fn replace_tag(self, new_tag: Tag) -> Self[src]
Replace ptr tag, maintain vtable tag (if any)
pub fn erase_tag(self) -> MemPlace[src]
pub(in interpret::place) fn from_scalar_ptr(
ptr: Scalar<Tag>,
align: Align
) -> Self[src]
ptr: Scalar<Tag>,
align: Align
) -> Self
pub fn from_ptr(ptr: Pointer<Tag>, align: Align) -> Self[src]
pub fn to_ref(self) -> Immediate<Tag>[src]
Turn a mplace into a (thin or wide) pointer, as a reference, pointing to the same space.
This is the inverse of ref_to_mplace.
pub fn offset<'tcx>(
self,
offset: Size,
meta: MemPlaceMeta<Tag>,
cx: &impl HasDataLayout
) -> InterpResult<'tcx, Self>[src]
self,
offset: Size,
meta: MemPlaceMeta<Tag>,
cx: &impl HasDataLayout
) -> InterpResult<'tcx, Self>
Trait Implementations
impl<Tag: Clone> Clone for MemPlace<Tag>[src]
impl<Tag: Copy> Copy for MemPlace<Tag>[src]
impl<Tag: Debug> Debug for MemPlace<Tag>[src]
impl<Tag: Eq> Eq for MemPlace<Tag>[src]
impl<Tag: Hash> Hash for MemPlace<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 MemPlace<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<MemPlace<Tag>> for MemPlace<Tag>[src]
pub fn eq(&self, other: &MemPlace<Tag>) -> bool[src]
pub fn ne(&self, other: &MemPlace<Tag>) -> bool[src]
impl<Tag> StructuralEq for MemPlace<Tag>[src]
impl<Tag> StructuralPartialEq for MemPlace<Tag>[src]
Auto Trait Implementations
impl<Tag> RefUnwindSafe for MemPlace<Tag> where
Tag: RefUnwindSafe,
Tag: RefUnwindSafe,
impl<Tag> Send for MemPlace<Tag> where
Tag: Send,
Tag: Send,
impl<Tag> Sync for MemPlace<Tag> where
Tag: Sync,
Tag: Sync,
impl<Tag> Unpin for MemPlace<Tag> where
Tag: Unpin,
Tag: Unpin,
impl<Tag> UnwindSafe for MemPlace<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.