pub struct Allocation<Prov = CtfeProvenance, Extra = (), Bytes = Box<[u8]>>where
Prov: Provenance,{
bytes: Bytes,
provenance: ProvenanceMap<Prov>,
init_mask: InitMask,
pub align: Align,
pub mutability: Mutability,
pub extra: Extra,
}
Expand description
This type represents an Allocation in the Miri/CTFE core engine.
Its public API is rather low-level, working directly with allocation offsets and a custom error
type to account for the lack of an AllocId on this level. The Miri/CTFE core engine memory
module provides higher-level access.
Fields§
§bytes: Bytes
§provenance: ProvenanceMap<Prov>
§init_mask: InitMask
§align: Align
The alignment of the allocation to detect unaligned reads.
(Align
guarantees that this is a power of two.)
mutability: Mutability
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: Extra
Extra state for the machine.
Auto Trait Implementations§
impl<Prov, Extra, Bytes> Freeze for Allocation<Prov, Extra, Bytes>
impl<Prov, Extra, Bytes> RefUnwindSafe for Allocation<Prov, Extra, Bytes>
impl<Prov, Extra, Bytes> Send for Allocation<Prov, Extra, Bytes>
impl<Prov, Extra, Bytes> Sync for Allocation<Prov, Extra, Bytes>
impl<Prov, Extra, Bytes> Unpin for Allocation<Prov, Extra, Bytes>
impl<Prov, Extra, Bytes> UnwindSafe for Allocation<Prov, Extra, Bytes>
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more