Enum rustc_const_eval::interpret::place::MemPlaceMeta
source · [−]pub enum MemPlaceMeta<Tag: Provenance = AllocId> {
Meta(Scalar<Tag>),
None,
Poison,
}Expand description
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).
None
Sized types or unsized extern type
Poison
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
sourceimpl<Tag: Provenance> MemPlaceMeta<Tag>
impl<Tag: Provenance> MemPlaceMeta<Tag>
Trait Implementations
sourceimpl<Tag: Clone + Provenance> Clone for MemPlaceMeta<Tag>
impl<Tag: Clone + Provenance> Clone for MemPlaceMeta<Tag>
sourcefn clone(&self) -> MemPlaceMeta<Tag>
fn clone(&self) -> MemPlaceMeta<Tag>
Returns a copy of the value. Read more
1.0.0 · sourcefn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from source. Read more
sourceimpl<Tag: Debug + Provenance> Debug for MemPlaceMeta<Tag>
impl<Tag: Debug + Provenance> Debug for MemPlaceMeta<Tag>
sourceimpl<Tag: Hash + Provenance> Hash for MemPlaceMeta<Tag>
impl<Tag: Hash + Provenance> Hash for MemPlaceMeta<Tag>
sourceimpl<'__ctx, Tag: Provenance> HashStable<StableHashingContext<'__ctx>> for MemPlaceMeta<Tag> where
Tag: HashStable<StableHashingContext<'__ctx>>,
impl<'__ctx, Tag: Provenance> HashStable<StableHashingContext<'__ctx>> for MemPlaceMeta<Tag> where
Tag: HashStable<StableHashingContext<'__ctx>>,
fn hash_stable(
&self,
__hcx: &mut StableHashingContext<'__ctx>,
__hasher: &mut StableHasher
)
sourceimpl<Tag: PartialEq + Provenance> PartialEq<MemPlaceMeta<Tag>> for MemPlaceMeta<Tag>
impl<Tag: PartialEq + Provenance> PartialEq<MemPlaceMeta<Tag>> for MemPlaceMeta<Tag>
sourcefn eq(&self, other: &MemPlaceMeta<Tag>) -> bool
fn eq(&self, other: &MemPlaceMeta<Tag>) -> bool
This method tests for self and other values to be equal, and is used
by ==. Read more
sourcefn ne(&self, other: &MemPlaceMeta<Tag>) -> bool
fn ne(&self, other: &MemPlaceMeta<Tag>) -> bool
This method tests for !=.
impl<Tag: Copy + Provenance> Copy for MemPlaceMeta<Tag>
impl<Tag: Eq + Provenance> Eq for MemPlaceMeta<Tag>
impl<Tag: Provenance> StructuralEq for MemPlaceMeta<Tag>
impl<Tag: Provenance> StructuralPartialEq for MemPlaceMeta<Tag>
Auto Trait Implementations
impl<Tag> RefUnwindSafe for MemPlaceMeta<Tag> where
Tag: RefUnwindSafe,
impl<Tag> Send for MemPlaceMeta<Tag> where
Tag: Send,
impl<Tag> Sync for MemPlaceMeta<Tag> where
Tag: Sync,
impl<Tag> Unpin for MemPlaceMeta<Tag> where
Tag: Unpin,
impl<Tag> UnwindSafe for MemPlaceMeta<Tag> where
Tag: UnwindSafe,
Blanket Implementations
sourceimpl<T> BorrowMut<T> for T where
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
const: unstable · sourcefn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Layout
Note: Unable to compute type layout, possibly due to this type having generic parameters. Layout can only be computed for concrete, fully-instantiated types.