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.