pub struct CorpusDiff {
pub addr: u64,
pub hallucinated: Vec<(String, Vec<u64>)>,
pub inlined_ok: Vec<String>,
pub vtable_dispatch: Vec<(String, Vec<u64>)>,
pub missing: Vec<u64>,
pub unported: Vec<u64>,
pub indirect_calls: u32,
}Expand description
Result of diffing a Rust function’s resolved body calls against the binary.
Fields§
§addr: u64§hallucinated: Vec<(String, Vec<u64>)>Rust calls a ported fn the binary never calls (and didn’t inline) — invented.
inlined_ok: Vec<String>Rust calls a ported fn the binary inlines — reclassified faithful.
vtable_dispatch: Vec<(String, Vec<u64>)>Rust DIRECTLY calls a method the binary dispatches through a known (declared) vtable —
the faithful form is a vcall. Once the vtable is declared, the call CAN be made
virtually, so it MUST be one.
missing: Vec<u64>Binary calls a ported fn the Rust body doesn’t (often inlined; review).
unported: Vec<u64>Binary calls with NO corpus origin (unported callees). The gate lets
bodies omit these with a TODO, so they never fire MISSING — but they
are real edges, and silently dropping them is the MISSING-unknown gap.
Informational only (feeds a macro NOTE, never a fatal).
indirect_calls: u32Auto Trait Implementations§
impl Freeze for CorpusDiff
impl RefUnwindSafe for CorpusDiff
impl Send for CorpusDiff
impl Sync for CorpusDiff
impl Unpin for CorpusDiff
impl UnsafeUnpin for CorpusDiff
impl UnwindSafe for CorpusDiff
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