Enum miri::machine::Provenance
source · [−]Expand description
Pointer provenance.
Variants
Concrete
Wildcard
Trait Implementations
sourceimpl Clone for Provenance
impl Clone for Provenance
sourcefn clone(&self) -> Provenance
fn clone(&self) -> Provenance
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 moresourceimpl Debug for Provenance
impl Debug for Provenance
sourceimpl Hash for Provenance
impl Hash for Provenance
sourceimpl PartialEq<Provenance> for Provenance
impl PartialEq<Provenance> for Provenance
sourceimpl Provenance for Provenance
impl Provenance for Provenance
sourceconst OFFSET_IS_ADDR: bool = true
const OFFSET_IS_ADDR: bool = true
We use absolute addresses in the offset
of a Pointer<Provenance>
.
sourceconst ERR_ON_PARTIAL_PTR_OVERWRITE: bool = false
const ERR_ON_PARTIAL_PTR_OVERWRITE: bool = false
We cannot err on partial overwrites, it happens too often in practice (due to unions).
sourcefn fmt(ptr: &Pointer<Self>, f: &mut Formatter<'_>) -> Result
fn fmt(ptr: &Pointer<Self>, f: &mut Formatter<'_>) -> Result
Determines how a pointer should be printed.
sourcefn get_alloc_id(self) -> Option<AllocId>
fn get_alloc_id(self) -> Option<AllocId>
If
OFFSET_IS_ADDR == false
, provenance must always be able to
identify the allocation this ptr points to (i.e., this must return Some
).
Otherwise this function is best-effort (but must agree with Machine::ptr_get_alloc
).
(Identifying the offset in that allocation, however, is harder – use Memory::ptr_get_alloc
for that.) Read moreimpl Copy for Provenance
impl Eq for Provenance
Auto Trait Implementations
impl RefUnwindSafe for Provenance
impl Send for Provenance
impl Sync for Provenance
impl Unpin for Provenance
impl UnwindSafe for Provenance
Blanket Implementations
sourceimpl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
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
impl<V, T> VZip<V> for Twhere
V: MultiLane<T>,
impl<V, T> VZip<V> for Twhere
V: MultiLane<T>,
fn vzip(self) -> V
Layout
Note: Most layout information is completely unstable and may even differ between compilations. The only exception is types with certain repr(...)
attributes. Please see the Rust Reference’s “Type Layout” chapter for details on type layout guarantees.
Size: 16 bytes
Size for each variant:
Concrete
: 16 bytesWildcard
: 0 bytes