Enum rustc_const_eval::interpret::place::MemPlaceMeta [−][src]
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).
Tuple Fields of Meta
0: Scalar<Tag>
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
Trait Implementations
impl<'__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>>,
This method tests for self
and other
values to be equal, and is used
by ==
. Read more
This method tests for !=
.
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
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.