pub struct EnhancedAllocationInfo {
pub base: AllocationInfo,
pub source: AllocationSource,
pub call_stack: Vec<StackFrame>,
pub cross_boundary_events: Vec<BoundaryEvent>,
pub safety_violations: Vec<SafetyViolation>,
pub ffi_tracked: bool,
pub memory_passport: Option<MemoryPassport>,
pub ownership_history: Option<Vec<OwnershipTransferEvent>>,
}
Expand description
Enhanced allocation info with unsafe/FFI tracking
Fields§
§base: AllocationInfo
Base allocation info
source: AllocationSource
Source of the allocation
call_stack: Vec<StackFrame>
Call stack at allocation time
cross_boundary_events: Vec<BoundaryEvent>
Cross-boundary events
safety_violations: Vec<SafetyViolation>
Safety violations detected
ffi_tracked: bool
Whether this allocation is currently being tracked by FFI
memory_passport: Option<MemoryPassport>
Memory passport for cross-boundary tracking
ownership_history: Option<Vec<OwnershipTransferEvent>>
Ownership transfer history
Trait Implementations§
Source§impl Clone for EnhancedAllocationInfo
impl Clone for EnhancedAllocationInfo
Source§fn clone(&self) -> EnhancedAllocationInfo
fn clone(&self) -> EnhancedAllocationInfo
Returns a duplicate 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 EnhancedAllocationInfo
impl Debug for EnhancedAllocationInfo
Source§impl<'de> Deserialize<'de> for EnhancedAllocationInfo
impl<'de> Deserialize<'de> for EnhancedAllocationInfo
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
Auto Trait Implementations§
impl Freeze for EnhancedAllocationInfo
impl RefUnwindSafe for EnhancedAllocationInfo
impl Send for EnhancedAllocationInfo
impl Sync for EnhancedAllocationInfo
impl Unpin for EnhancedAllocationInfo
impl UnwindSafe for EnhancedAllocationInfo
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self
into a Left
variant of Either<Self, Self>
if into_left
is true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self
into a Left
variant of Either<Self, Self>
if into_left(&self)
returns true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read more