Lower closure binders to hir & properly check them
This commit is contained in:
@@ -925,7 +925,7 @@ pub fn walk_fn_kind<'v, V: Visitor<'v>>(visitor: &mut V, function_kind: FnKind<'
|
||||
FnKind::ItemFn(_, generics, ..) => {
|
||||
visitor.visit_generics(generics);
|
||||
}
|
||||
FnKind::Method(..) | FnKind::Closure => {}
|
||||
FnKind::Closure | FnKind::Method(..) => {}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1145,6 +1145,7 @@ pub fn walk_expr<'v, V: Visitor<'v>>(visitor: &mut V, expression: &'v Expr<'v>)
|
||||
walk_list!(visitor, visit_arm, arms);
|
||||
}
|
||||
ExprKind::Closure {
|
||||
binder: _,
|
||||
bound_generic_params,
|
||||
ref fn_decl,
|
||||
body,
|
||||
@@ -1153,7 +1154,13 @@ pub fn walk_expr<'v, V: Visitor<'v>>(visitor: &mut V, expression: &'v Expr<'v>)
|
||||
movability: _,
|
||||
} => {
|
||||
walk_list!(visitor, visit_generic_param, bound_generic_params);
|
||||
visitor.visit_fn(FnKind::Closure, fn_decl, body, expression.span, expression.hir_id)
|
||||
visitor.visit_fn(
|
||||
FnKind::Closure,
|
||||
fn_decl,
|
||||
body,
|
||||
expression.span,
|
||||
expression.hir_id,
|
||||
)
|
||||
}
|
||||
ExprKind::Block(ref block, ref opt_label) => {
|
||||
walk_list!(visitor, visit_label, opt_label);
|
||||
|
||||
Reference in New Issue
Block a user