Struct pomelo_hir::hir::ValBind
source · Expand description
Binding of the names in a pattern to an expression.
Fields§
§rec: bool§pat: Idx<Pat>§expr: Idx<Expr>Implementations§
source§impl ValBind
impl ValBind
fn lower(ctx: &mut LoweringCtxt, b: &ValBind, dec_index: Idx<Dec>) -> Self
fn lower_fvalbind(
ctx: &mut LoweringCtxt,
parent: NodeParent,
b: &FvalBind,
_dec_index: Idx<Dec>
) -> Self
fn check_row_op(prev_op: &mut Option<bool>, row_op: bool)
fn check_row_vid(prev_vid: &mut Option<VId>, row_vid: VId)
fn check_row_arity(prev_n: &mut Option<usize>, row_n: usize)
fn make_row_pat(
ctx: &mut LoweringCtxt,
parent: NodeParent,
row: &FvalBindRow,
n_parameters: usize
) -> Idx<Pat>
fn make_row_expr(
ctx: &mut LoweringCtxt,
parent: NodeParent,
row: &FvalBindRow
) -> Idx<Expr>
sourcefn make_fresh_vids_and_outer_pat(
ctx: &mut LoweringCtxt,
parent: NodeParent,
n_parameters: usize
) -> (Vec<Idx<Pat>>, Idx<Expr>)
fn make_fresh_vids_and_outer_pat(
ctx: &mut LoweringCtxt,
parent: NodeParent,
n_parameters: usize
) -> (Vec<Idx<Pat>>, Idx<Expr>)
Returns:
(1) list of pats referring to fresh vids to be used in the chain of fns
(2) tuple expr referring to all of these fresh vids to be consumed by the generated case
expr