FunctionsΒ§
- callee_
calls_ πother_ local - Return true if the callee body contains any Call terminator (to local functions that may have side effects), meaning the callee is not self-contained.
- callee_
contains_ πpointer_ arithmetic - Check whether a callee body contains pointer arithmetic calls.
- detect_
index_ πdisjoint_ validator - Detect an βindex disjoint validatorβ: a function whose body loads elements
from an array argument, and returns early (
Err) both when an element is out of range against a scalar argument (>= len) and when two elements are equal (a duplicate). Returns(indices_arg, len_arg). - local_
must_ πwrite_ args - Return callee argument indices that are definitely written on every reachable return path.
- local_
return_ πdependencies - Use the existing dataflow graph to approximate local callee return deps.
- named_
index_ πdisjoint_ validator - Recognize the standard-library
get_disjoint_check_validhelper as a trusted index-disjoint validator by name. - path_
ends_ πin_ return - trace_
to_ πcallee_ arg - Trace backward from an operand (inner call arg) through Copy/Move/Cast assignments to the outer calleeβs argument local, returning its index.
- try_
from_ πraw_ parts_ wrapper_ effect - Detect when a local callee wraps
from_raw_parts(ptr, len)and produce aReturnFreshAllocationeffect with the correct element size. - try_
pointer_ πarith_ wrapper_ effect - Detect when a local callee wraps a pointer-arithmetic call (add/sub) and
produce the correct
ReturnPointerAdd/ReturnPointerSubeffect. - write_
args_ πon_ path