]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
Handle TypeAlias during toplevel resolution 2.0
authorOwen Avery <powerboat9.gamer@gmail.com>
Thu, 10 Oct 2024 04:46:01 +0000 (00:46 -0400)
committerP-E-P <32375388+P-E-P@users.noreply.github.com>
Thu, 10 Oct 2024 17:37:51 +0000 (17:37 +0000)
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 3dde48332545e13beb0d0b26de97d0143444e174..72c0425961c73981c1e18c3f0ddc22ff2a2601f1 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 6dc2de92f91447832312bdbcc88cd160273a2d31..d6783583ba4edd4cb9659db3d7fd409ee8a2e016 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