Skip to main content

Module mutation

Module mutation 

Source
Expand description

Whether a stored expression can modify data anywhere in its own tree.

Used at definition time to reject a COMPUTED field body that writes: the walk descends into subqueries, idioms, blocks and closure bodies, so a mutation anywhere inside the body itself is found.

A function call stays opaque: the callee’s body lives in the catalog, which this crate cannot see, and whether it writes may depend on which branch the arguments select. Those are left to the runtime write refusal (Options::no_write), which fires at the point a write is actually reached. Call arguments are evaluated in place and are therefore walked.