aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorOwen Avery <powerboat9.gamer@gmail.com>2024-10-10 00:46:01 -0400
committerP-E-P <32375388+P-E-P@users.noreply.github.com>2024-10-10 17:37:51 +0000
commit3bff5cf047e452c479d60ca0daff05056d7bf11a (patch)
tree38b1053d91d44aca1df52a61050ac4aa6863e71e /gcc
parent1a030d34cd79900be410de5fc95b18d3109a79cd (diff)
downloadgcc-3bff5cf047e452c479d60ca0daff05056d7bf11a.zip
gcc-3bff5cf047e452c479d60ca0daff05056d7bf11a.tar.gz
gcc-3bff5cf047e452c479d60ca0daff05056d7bf11a.tar.bz2
Handle TypeAlias during toplevel resolution 2.0
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>
Diffstat (limited to 'gcc')
-rw-r--r--gcc/rust/resolve/rust-toplevel-name-resolver-2.0.cc9
-rw-r--r--gcc/rust/resolve/rust-toplevel-name-resolver-2.0.h1
-rw-r--r--gcc/testsuite/rust/compile/nr2/exclude1
3 files changed, 10 insertions, 1 deletions
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 3dde483..72c0425 100644
--- a/gcc/rust/resolve/rust-toplevel-name-resolver-2.0.cc
+++ b/gcc/rust/resolve/rust-toplevel-name-resolver-2.0.cc
@@ -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,
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 6dc2de9..d678358 100644
--- a/gcc/rust/resolve/rust-toplevel-name-resolver-2.0.h
+++ b/gcc/rust/resolve/rust-toplevel-name-resolver-2.0.h
@@ -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;
diff --git a/gcc/testsuite/rust/compile/nr2/exclude b/gcc/testsuite/rust/compile/nr2/exclude
index e0aa155..1faa7b5 100644
--- a/gcc/testsuite/rust/compile/nr2/exclude
+++ b/gcc/testsuite/rust/compile/nr2/exclude
@@ -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