https://gcc.gnu.org/g:4ed53c58b4c8a119a8677c0237075f87f9b4162f

commit r15-8146-g4ed53c58b4c8a119a8677c0237075f87f9b4162f
Author: Owen Avery <powerboat9.ga...@gmail.com>
Date:   Wed Feb 28 20:19:04 2024 -0500

    gccrs: Improve handling of ConstantItem during name resolution 2.0
    
    gcc/rust/ChangeLog:
    
            * resolve/rust-default-resolver.cc
            (DefaultResolver::visit):
            Scope with Rib::Kind::ConstantItem instead
            of Rib::Kind::Item.
            * resolve/rust-toplevel-name-resolver-2.0.cc
            (TopLevel::visit): Remove redundancy in override of
            ConstantItem visitor.
    
    Signed-off-by: Owen Avery <powerboat9.ga...@gmail.com>

Diff:
---
 gcc/rust/resolve/rust-default-resolver.cc           | 2 +-
 gcc/rust/resolve/rust-toplevel-name-resolver-2.0.cc | 5 +----
 2 files changed, 2 insertions(+), 5 deletions(-)

diff --git a/gcc/rust/resolve/rust-default-resolver.cc 
b/gcc/rust/resolve/rust-default-resolver.cc
index 757acfe8595e..6de694f48f48 100644
--- a/gcc/rust/resolve/rust-default-resolver.cc
+++ b/gcc/rust/resolve/rust-default-resolver.cc
@@ -487,7 +487,7 @@ DefaultResolver::visit (AST::ConstantItem &item)
       };
 
       // FIXME: Why do we need a Rib here?
-      ctx.scoped (Rib::Kind::Item, item.get_node_id (), expr_vis);
+      ctx.scoped (Rib::Kind::ConstantItem, item.get_node_id (), expr_vis);
     }
 }
 
diff --git a/gcc/rust/resolve/rust-toplevel-name-resolver-2.0.cc 
b/gcc/rust/resolve/rust-toplevel-name-resolver-2.0.cc
index 926ed52036cf..746b2240d4b7 100644
--- a/gcc/rust/resolve/rust-toplevel-name-resolver-2.0.cc
+++ b/gcc/rust/resolve/rust-toplevel-name-resolver-2.0.cc
@@ -424,10 +424,7 @@ TopLevel::visit (AST::ConstantItem &const_item)
   insert_or_error_out (const_item.get_identifier (), const_item,
                       Namespace::Values);
 
-  auto expr_vis
-    = [this, &const_item] () { const_item.get_expr ().accept_vis (*this); };
-
-  ctx.scoped (Rib::Kind::ConstantItem, const_item.get_node_id (), expr_vis);
+  DefaultResolver::visit (const_item);
 }
 
 bool

Reply via email to