Struct rustc_mir::interpret::Allocation [−][src]
pub struct Allocation<Tag = (), Extra = ()> { bytes: Vec<u8, Global>, relocations: Relocations<Tag, AllocId>, init_mask: InitMask, pub size: Size, pub align: Align, pub mutability: Mutability, pub extra: Extra, }
Fields
bytes: Vec<u8, Global>Expand description
The actual bytes of the allocation. Note that the bytes of a pointer represent the offset of the pointer.
relocations: Relocations<Tag, AllocId>Expand description
Maps from byte addresses to extra data for each pointer.
Only the first byte of a pointer is inserted into the map; i.e.,
every entry in this map applies to pointer_size consecutive bytes starting
at the given offset.
init_mask: InitMaskExpand description
Denotes which part of this allocation is initialized.
size: SizeExpand description
The size of the allocation. Currently, must always equal bytes.len().
align: AlignExpand description
The alignment of the allocation to detect unaligned reads.
(Align guarantees that this is a power of two.)
mutability: MutabilityExpand description
true if the allocation is mutable.
Also used by codegen to determine if a static should be put into mutable memory,
which happens for static mut and static with interior mutability.
extra: ExtraExpand description
Extra state for the machine.
Auto Trait Implementations
impl<Tag, Extra> RefUnwindSafe for Allocation<Tag, Extra> where
Extra: RefUnwindSafe,
Tag: RefUnwindSafe,
Extra: RefUnwindSafe,
Tag: RefUnwindSafe,
impl<Tag, Extra> Send for Allocation<Tag, Extra> where
Extra: Send,
Tag: Send,
Extra: Send,
Tag: Send,
impl<Tag, Extra> Sync for Allocation<Tag, Extra> where
Extra: Sync,
Tag: Sync,
Extra: Sync,
Tag: Sync,
impl<Tag, Extra> Unpin for Allocation<Tag, Extra> where
Extra: Unpin,
Tag: Unpin,
Extra: Unpin,
Tag: Unpin,
impl<Tag, Extra> UnwindSafe for Allocation<Tag, Extra> where
Extra: UnwindSafe,
Tag: UnwindSafe,
Extra: UnwindSafe,
Tag: UnwindSafe,
Blanket Implementations
impl<T> BorrowMut<T> for T where
T: ?Sized, [src]
impl<T> BorrowMut<T> for T where
T: ?Sized, [src]pub fn borrow_mut(&mut self) -> &mut T[src]
pub fn borrow_mut(&mut self) -> &mut T[src]Mutably borrows from an owned value. Read more
impl<T> ToOwned for T where
T: Clone, [src]
impl<T> ToOwned for T where
T: Clone, [src]type Owned = T
type Owned = TThe resulting type after obtaining ownership.
pub fn to_owned(&self) -> T[src]
pub fn to_owned(&self) -> T[src]Creates owned data from borrowed data, usually by cloning. Read more
pub fn clone_into(&self, target: &mut T)[src]
pub fn clone_into(&self, target: &mut T)[src]🔬 This is a nightly-only experimental API. (toowned_clone_into)
recently added
Uses borrowed data to replace owned data, usually by cloning. Read more
impl<T> WithConstness for T[src]
impl<T> WithConstness for T[src]