diff options
author | Owen Avery <powerboat9.gamer@gmail.com> | 2025-01-02 05:29:03 -0500 |
---|---|---|
committer | CohenArthur <arthur.cohen@embecosm.com> | 2025-01-06 10:06:02 +0000 |
commit | 43369f262c5a3dc63ae6a14c679f25d06256084d (patch) | |
tree | d8df25f7eed080ccf9425745d68274d62cc4543a /gcc | |
parent | 9de42352bb28dc20752fa81ca26cf9929936a48a (diff) | |
download | gcc-43369f262c5a3dc63ae6a14c679f25d06256084d.zip gcc-43369f262c5a3dc63ae6a14c679f25d06256084d.tar.gz gcc-43369f262c5a3dc63ae6a14c679f25d06256084d.tar.bz2 |
nr2.0: Resolve type aliases inside trait definitions
gcc/rust/ChangeLog:
* resolve/rust-toplevel-name-resolver-2.0.cc
(TopLevel::visit): Add visitor for TraitItemType.
* resolve/rust-toplevel-name-resolver-2.0.h
(TopLevel::visit): Likewise.
gcc/testsuite/ChangeLog:
* rust/compile/nr2/exclude: Remove entries.
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.cc | 9 | ||||
-rw-r--r-- | gcc/rust/resolve/rust-toplevel-name-resolver-2.0.h | 1 | ||||
-rw-r--r-- | gcc/testsuite/rust/compile/nr2/exclude | 5 |
3 files changed, 10 insertions, 5 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 e51aef8..3690037 100644 --- a/gcc/rust/resolve/rust-toplevel-name-resolver-2.0.cc +++ b/gcc/rust/resolve/rust-toplevel-name-resolver-2.0.cc @@ -109,6 +109,15 @@ TopLevel::visit (AST::Trait &trait) DefaultResolver::visit (trait); } +void +TopLevel::visit (AST::TraitItemType &trait_item) +{ + insert_or_error_out (trait_item.get_identifier ().as_string (), trait_item, + Namespace::Types); + + DefaultResolver::visit (trait_item); +} + template <typename PROC_MACRO> static void insert_macros (std::vector<PROC_MACRO> ¯os, NameResolutionContext &ctx) 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 ce84cd3..081ad2d 100644 --- a/gcc/rust/resolve/rust-toplevel-name-resolver-2.0.h +++ b/gcc/rust/resolve/rust-toplevel-name-resolver-2.0.h @@ -148,6 +148,7 @@ private: void visit (AST::Module &module) override; void visit (AST::Trait &trait) override; + void visit (AST::TraitItemType &trait_item) override; void visit (AST::MacroRulesDefinition ¯o) override; void visit (AST::Function &function) override; void visit (AST::BlockExpr &expr) override; diff --git a/gcc/testsuite/rust/compile/nr2/exclude b/gcc/testsuite/rust/compile/nr2/exclude index e23669f3..da5880d 100644 --- a/gcc/testsuite/rust/compile/nr2/exclude +++ b/gcc/testsuite/rust/compile/nr2/exclude @@ -74,8 +74,6 @@ issue-2139.rs issue-2142.rs issue-2165.rs issue-2166.rs -issue-2190-1.rs -issue-2190-2.rs issue-2238.rs issue-2304.rs issue-2330.rs @@ -85,7 +83,6 @@ issue-2723-1.rs issue-2723-2.rs issue-2772-2.rs issue-2775.rs -issue-2747.rs issue-2782.rs issue-2812.rs issue-850.rs @@ -98,7 +95,6 @@ macros/mbe/macro-issue1233.rs macros/mbe/macro-issue1400.rs macros/mbe/macro13.rs macros/mbe/macro15.rs -macros/mbe/macro20.rs macros/mbe/macro23.rs macros/mbe/macro40.rs macros/mbe/macro43.rs @@ -198,7 +194,6 @@ iflet.rs issue-3033.rs issue-3009.rs issue-2323.rs -issue-2953-1.rs issue-2953-2.rs issue-1773.rs issue-2905-1.rs |