Lines Matching refs:expression
167 [S-expression](https://en.wikipedia.org/wiki/S-expression) syntax,
237 and right-hand side (RHS), or *expression*. The left-hand and
327 *expression* that generates a new term. This expression can use parts
334 the output expression:
342 possible terms while an expression must specify a specific rewrite
522 The expression (right-hand side) is made up of the following
523 expression operators:
531 ...) BODY ...)`. Each variable's initialization expression can refer
660 expression of a rule have the same type.
665 then uses this to typecheck the rewrite expression. The result of this
700 MyType2, z: u32 }`. We then typecheck the rewrite expression.
702 * Every expression also has an expected type, from the surrounding
703 context. We check that the provided expression matches this type.
705 * The top-level rewrite expression must have the same type as the
713 * A `let` expression provides types for additional variable bindings;
783 left-hand (pattern) or right-hand (expression) side of a rule.
985 evaluate the expression (`EXPR2` or `EXPR3` above) first. An
986 expression in an if-let context is allowed to be "fallible": the
990 the fallible constructors below.) If the expression evaluation
998 right-hand side expression.
1002 In order for an expression to be used in an if-let clause, it has to
1003 be *pure*: it cannot have side-effects. A pure expression is one that
1030 side expression of each rule that rewrites the term is also checked
1067 To enable more succinct expression of this idiom, we allow the
1124 side expression; this can invoke further constructors for its
1175 expression and builds its return value from its argument
1285 needed, in either a pattern (LHS) or an expression (RHS). These
1410 "expression" node (which we reach once we have a successful rule
1415 execute the sequence of "expression instructions" in the leaf. Each
1418 becomes one leaf node with expression instructions.