Skip to main content

scan_function

Function scan_function 

Source
pub fn scan_function(func: &Function) -> Vec<Rejection>
Expand description

Walk func and return every rejection.

Empty Vec ⇔ the function is admissible to the Pliron pipeline modulo per-opcode lowering errors caught later. The detector is intentionally conservative: when in doubt, reject — it is cheaper to fall back to the blueprint detector than to half-lower a function and then bail.

The scan is O(n) in the number of instructions and allocates only the returned Vec. It does not run the Cranelift verifier and therefore makes no well-formedness guarantees on func beyond what the layout iterator exposes.