Module non_overlap

Module non_overlap 

Source
Expand description

SMT lowering for the NonOverlap safety property.

NonOverlap(a, b) is mostly used by copy/swap-style unsafe APIs. The contract tells us which pointer arguments must be disjoint; the element count usually comes from the call itself, e.g. copy_nonoverlapping(src, dst, count).

Functionsยง

assignment_source_for_local ๐Ÿ”’
check ๐Ÿ”’
Check NonOverlap by lowering two pointer ranges to a common SMT obligation.
resolve_callsite_copy ๐Ÿ”’
rvalue_source_place ๐Ÿ”’