From: Owen Avery <[email protected]>
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 <[email protected]>
---
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