Expand description
Shared helpers for the property checkers.
Argument/place resolution (target_value, eval_contract_expr), the
smt_check “negate and prove” primitive, and size/byte-width utilities used
by every checker family.
Functions§
- local_
param_ 🔒operand - Resolve a callee
Local(n)to the corresponding checkpoint operand, using the callee’s real argument count. ReturnsNonewhen the checkpoint has no callee ornis not an argument local. - maybe_
uninit_ 🔒inner - Unwrap
MaybeUninit<T>toT(orNonefor any other type).MaybeUninitis#[repr(transparent)]over a union, soMaybeUninit<T>andTshare size and alignment. - smart_
pointer_ 🔒pointee - Peel one level of smart-pointer indirection to the pointee type:
Box<T>/Vec<T>/NonNull<T>/Rc<T>/CString(matched byDefId), plus raw pointers and references. Used bycheck_allocatedto dischargeAllocated(p, Box<T>, n)after provenance resolution has already penetratedp(e.g. a&mut ManuallyDrop<Box<T>>) down to theTallocation: the box’s pointee is what actually occupies the allocation.