https://gcc.gnu.org/g:225748e0f12ea94181560d9cc6bc18a877e6addc

commit r15-8434-g225748e0f12ea94181560d9cc6bc18a877e6addc
Author: Owen Avery <powerboat9.ga...@gmail.com>
Date:   Tue Oct 15 22:10:35 2024 -0400

    gccrs: Handle const generic parameters during resolution 2.0
    
    gcc/rust/ChangeLog:
    
            * resolve/rust-toplevel-name-resolver-2.0.cc
            (TopLevel::visit): Handle ConstGenericParam.
            * resolve/rust-toplevel-name-resolver-2.0.h
            (TopLevel::visit): Likewise.
    
    Signed-off-by: Owen Avery <powerboat9.ga...@gmail.com>

Diff:
---
 gcc/rust/resolve/rust-toplevel-name-resolver-2.0.cc | 8 ++++++++
 gcc/rust/resolve/rust-toplevel-name-resolver-2.0.h  | 1 +
 2 files changed, 9 insertions(+)

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 d3a3c5d78bc9..92a115108e6c 100644
--- a/gcc/rust/resolve/rust-toplevel-name-resolver-2.0.cc
+++ b/gcc/rust/resolve/rust-toplevel-name-resolver-2.0.cc
@@ -286,6 +286,14 @@ TopLevel::visit (AST::TypeParam &type_param)
                         Namespace::Types);
 }
 
+void
+TopLevel::visit (AST::ConstGenericParam &const_param)
+{
+  insert_or_error_out (const_param.get_name (), const_param, 
Namespace::Values);
+
+  DefaultResolver::visit (const_param);
+}
+
 void
 TopLevel::visit (AST::TupleStruct &tuple_struct)
 {
diff --git a/gcc/rust/resolve/rust-toplevel-name-resolver-2.0.h 
b/gcc/rust/resolve/rust-toplevel-name-resolver-2.0.h
index cc301ed7fddf..e9e0306f11a1 100644
--- a/gcc/rust/resolve/rust-toplevel-name-resolver-2.0.h
+++ b/gcc/rust/resolve/rust-toplevel-name-resolver-2.0.h
@@ -164,6 +164,7 @@ private:
   void visit (AST::TypeAlias &type_item) override;
   void visit (AST::ExternCrate &crate) override;
   void visit (AST::TypeParam &type_param) override;
+  void visit (AST::ConstGenericParam &const_param) override;
 
   void visit (AST::UseDeclaration &use) override;
 };

Reply via email to