]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
gccrs: Handle TypeAlias during toplevel resolution 2.0
authorOwen Avery <powerboat9.gamer@gmail.com>
Thu, 10 Oct 2024 04:46:01 +0000 (00:46 -0400)
committerArthur Cohen <arthur.cohen@embecosm.com>
Wed, 19 Mar 2025 14:32:16 +0000 (15:32 +0100)
gcc/rust/ChangeLog:

* resolve/rust-toplevel-name-resolver-2.0.cc
(TopLevel::visit): Handle TypeAlias.
* resolve/rust-toplevel-name-resolver-2.0.h
(TopLevel::visit): Likewise.

gcc/testsuite/ChangeLog:

* rust/compile/nr2/exclude: Remove type-alias1.rs.

Signed-off-by: Owen Avery <powerboat9.gamer@gmail.com>
gcc/rust/resolve/rust-toplevel-name-resolver-2.0.cc
gcc/rust/resolve/rust-toplevel-name-resolver-2.0.h
gcc/testsuite/rust/compile/nr2/exclude

index 35732e244b4ffc447b09a53a27b94c021220c74d..b0e0c1b52dcecd47e63aec985ca7e18bbacfc87c 100644 (file)
@@ -348,6 +348,15 @@ TopLevel::visit (AST::ConstantItem &const_item)
   DefaultResolver::visit (const_item);
 }
 
+void
+TopLevel::visit (AST::TypeAlias &type_item)
+{
+  insert_or_error_out (type_item.get_new_type_name (), type_item,
+                      Namespace::Types);
+
+  DefaultResolver::visit (type_item);
+}
+
 static void
 flatten_rebind (
   const AST::UseTreeRebind &glob,
index 09b22612f78cf059c2589bed6f7d87d323455b21..cc301ed7fddfacc0f8ab277c90c1169e0b8a7410 100644 (file)
@@ -161,6 +161,7 @@ private:
   void visit (AST::Enum &enum_item) override;
   void visit (AST::Union &union_item) override;
   void visit (AST::ConstantItem &const_item) override;
+  void visit (AST::TypeAlias &type_item) override;
   void visit (AST::ExternCrate &crate) override;
   void visit (AST::TypeParam &type_param) override;
 
index e0aa15531e1f48908cd5129b888dc0710f30a560..1faa7b53622ed0489aa0ef21ea22844ddc382f09 100644 (file)
@@ -206,7 +206,6 @@ traits7.rs
 traits8.rs
 traits9.rs
 tuple_struct1.rs
-type-alias1.rs
 type-bindings1.rs
 unconstrained_type_param.rs
 undeclared_label.rs