diff --git a/gcc/rust/resolve/rust-default-resolver.cc b/gcc/rust/resolve/rust-default-resolver.cc index 588caa4e6f0c..f1c0e5caffe8 100644 --- a/gcc/rust/resolve/rust-default-resolver.cc +++ b/gcc/rust/resolve/rust-default-resolver.cc @@ -110,6 +110,13 @@ DefaultResolver::visit (AST::IfLetExpr &expr) ctx.scoped (Rib::Kind::Normal, expr.get_node_id (), inner_vis); } +void +DefaultResolver::visit (AST::IfLetExprConseqElse &expr) +{ + DefaultResolver::visit (static_cast (expr)); + visit (expr.get_else_block ()); +} + void DefaultResolver::visit (AST::Trait &trait) { diff --git a/gcc/rust/resolve/rust-default-resolver.h b/gcc/rust/resolve/rust-default-resolver.h index 3fa037911075..cf0df68595f0 100644 --- a/gcc/rust/resolve/rust-default-resolver.h +++ b/gcc/rust/resolve/rust-default-resolver.h @@ -49,6 +49,7 @@ class DefaultResolver : public AST::DefaultASTVisitor void visit (AST::ForLoopExpr &expr) override; virtual void visit_if_let_patterns (AST::IfLetExpr &expr); void visit (AST::IfLetExpr &expr) override; + void visit (AST::IfLetExprConseqElse &expr) override; void visit (AST::Trait &) override; // used to handle Self insertion in TopLevel virtual void maybe_insert_big_self (AST::Impl &) {}