visitor.visit_ty(typ);
visitor.visit_generics(type_parameters)
}
+ ItemKind::Existential(ref bounds, ref type_parameters) => {
+ walk_list!(visitor, visit_param_bound, bounds);
+ visitor.visit_generics(type_parameters)
+ }
ItemKind::Enum(ref enum_definition, ref type_parameters) => {
visitor.visit_generics(type_parameters);
visitor.visit_enum_def(enum_definition, type_parameters, item.id, item.span)
ImplItemKind::Type(ref ty) => {
visitor.visit_ty(ty);
}
+ ImplItemKind::Existential(ref bounds) => {
+ walk_list!(visitor, visit_param_bound, bounds);
+ }
ImplItemKind::Macro(ref mac) => {
visitor.visit_mac(mac);
}
ExprKind::Try(ref subexpression) => {
visitor.visit_expr(subexpression)
}
- ExprKind::Catch(ref body) => {
+ ExprKind::TryBlock(ref body) => {
visitor.visit_block(body)
}
}
pub fn walk_arm<'a, V: Visitor<'a>>(visitor: &mut V, arm: &'a Arm) {
walk_list!(visitor, visit_pat, &arm.pats);
- walk_list!(visitor, visit_expr, &arm.guard);
+ if let Some(ref g) = &arm.guard {
+ match g {
+ Guard::If(ref e) => visitor.visit_expr(e),
+ }
+ }
visitor.visit_expr(&arm.body);
walk_list!(visitor, visit_attribute, &arm.attrs);
}