Struct cranelift_isle::sema::Rule
source · pub struct Rule {
pub id: RuleId,
pub lhs: Pattern,
pub iflets: Vec<IfLet>,
pub rhs: Expr,
pub prio: i64,
pub pos: Pos,
}
Expand description
A term rewrite rule.
Fields
id: RuleId
This rule’s id.
lhs: Pattern
The left-hand side pattern that this rule matches.
iflets: Vec<IfLet>
Any subpattern “if-let” clauses.
rhs: Expr
The right-hand side expression that this rule evaluates upon successful match.
prio: i64
The priority of this rule, defaulted to 0 if it was missing in the source.
pos: Pos
The source position where this rule is defined.
Implementations
sourceimpl Rule
impl Rule
sourcepub fn visit<V: RuleVisitor>(&self, visitor: &mut V, termenv: &TermEnv) -> V::Expr
pub fn visit<V: RuleVisitor>(&self, visitor: &mut V, termenv: &TermEnv) -> V::Expr
Recursively visit every pattern and expression in this rule. Returns the RuleVisitor::Expr that was returned from RuleVisitor::add_expr when that function was called on the rule’s right-hand side.
Trait Implementations
Auto Trait Implementations
impl RefUnwindSafe for Rule
impl Send for Rule
impl Sync for Rule
impl Unpin for Rule
impl UnwindSafe for Rule
Blanket Implementations
sourceimpl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
const: unstable · sourcefn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more