From: Owen Avery <powerboat9.ga...@gmail.com> gcc/rust/ChangeLog:
* resolve/rust-default-resolver.cc (DefaultResolver::visit): Call DefaultASTVisitor::visit even on ConstantItem instances without expressions. gcc/testsuite/ChangeLog: * rust/compile/nr2/exclude: Remove issue-3642.rs. Signed-off-by: Owen Avery <powerboat9.ga...@gmail.com> --- gcc/rust/resolve/rust-default-resolver.cc | 22 +++++++++------------- gcc/testsuite/rust/compile/nr2/exclude | 1 - 2 files changed, 9 insertions(+), 14 deletions(-) diff --git a/gcc/rust/resolve/rust-default-resolver.cc b/gcc/rust/resolve/rust-default-resolver.cc index 5f5dd09ca6f..cdd41e37b78 100644 --- a/gcc/rust/resolve/rust-default-resolver.cc +++ b/gcc/rust/resolve/rust-default-resolver.cc @@ -361,19 +361,15 @@ DefaultResolver::visit (AST::MatchExpr &expr) void DefaultResolver::visit (AST::ConstantItem &item) { - if (item.has_expr ()) - { - auto expr_vis_1 - = [this, &item] () { AST::DefaultASTVisitor::visit (item); }; - - auto expr_vis_2 = [this, &item, &expr_vis_1] () { - ctx.canonical_ctx.scope (item.get_node_id (), item.get_identifier (), - std::move (expr_vis_1)); - }; - - // FIXME: Why do we need a Rib here? - ctx.scoped (Rib::Kind::ConstantItem, item.get_node_id (), expr_vis_2); - } + auto expr_vis_1 = [this, &item] () { AST::DefaultASTVisitor::visit (item); }; + + auto expr_vis_2 = [this, &item, &expr_vis_1] () { + ctx.canonical_ctx.scope (item.get_node_id (), item.get_identifier (), + std::move (expr_vis_1)); + }; + + // FIXME: Why do we need a Rib here? + ctx.scoped (Rib::Kind::ConstantItem, item.get_node_id (), expr_vis_2); } void diff --git a/gcc/testsuite/rust/compile/nr2/exclude b/gcc/testsuite/rust/compile/nr2/exclude index 82faf1ae0ce..dfaba888dc5 100644 --- a/gcc/testsuite/rust/compile/nr2/exclude +++ b/gcc/testsuite/rust/compile/nr2/exclude @@ -1,4 +1,3 @@ issue-3315-2.rs torture/alt_patterns1.rs -issue-3642.rs # please don't delete the trailing newline -- 2.49.0