Enum miri::Provenance
source · pub enum Provenance {
Concrete {
alloc_id: AllocId,
tag: BorTag,
},
Wildcard,
}
Expand description
Pointer provenance.
Variants§
Trait Implementations§
source§impl Clone for Provenance
impl Clone for Provenance
source§fn clone(&self) -> Provenance
fn clone(&self) -> Provenance
Returns a copy of the value. Read more
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source
. Read moresource§impl Debug for Provenance
impl Debug for Provenance
source§impl Hash for Provenance
impl Hash for Provenance
source§impl PartialEq<Provenance> for Provenance
impl PartialEq<Provenance> for Provenance
source§impl Provenance for Provenance
impl Provenance for Provenance
source§const OFFSET_IS_ADDR: bool = true
const OFFSET_IS_ADDR: bool = true
We use absolute addresses in the offset
of a Pointer<Provenance>
.
source§fn 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.)source§impl VisitTags for Provenance
impl VisitTags for Provenance
impl 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§
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
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