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.