pub trait Transform: Debug {
    fn transform(
        relation: &mut MirRelationExpr,
        args: TransformArgs<'_>
    ) -> Result<(), TransformError>; fn recursion_safe(&self) -> bool { ... } fn debug(&self) -> String { ... } }
Expand description

Types capable of transforming relation expressions.

Required Methods§

Transform a relation into a functionally equivalent relation.

Provided Methods§

Indicates if the transform can be safely applied to expressions containing LetRec AST nodes.

A string describing the transform.

This is useful mainly when iterating through many Box<Transform> and one wants to judge progress before some defect occurs.