From 6ac790d2dbba1c13a7ae637560d82aba1ec77038 Mon Sep 17 00:00:00 2001 From: Owen Avery Date: Tue, 24 Dec 2024 16:02:40 -0500 Subject: gccrs: nr2.0: Handle "Self" properly in trait definitions gcc/rust/ChangeLog: * ast/rust-ast-visitor.cc (DefaultASTVisitor::visit): Visit implicit Self parameters of traits. * resolve/rust-late-name-resolver-2.0.cc (Late::visit): Resolve implicit Self parameters of traits. * resolve/rust-late-name-resolver-2.0.h: (Late::visit): Add trait visitor. * resolve/rust-toplevel-name-resolver-2.0.cc (TopLevel::visit): Insert resolutions for Self type parameters as well. gcc/testsuite/ChangeLog: * rust/compile/nr2/exclude: Remove entries. Signed-off-by: Owen Avery --- gcc/rust/ast/rust-ast-visitor.cc | 2 ++ 1 file changed, 2 insertions(+) (limited to 'gcc/rust/ast') diff --git a/gcc/rust/ast/rust-ast-visitor.cc b/gcc/rust/ast/rust-ast-visitor.cc index a390aa2..32e8025 100644 --- a/gcc/rust/ast/rust-ast-visitor.cc +++ b/gcc/rust/ast/rust-ast-visitor.cc @@ -997,6 +997,8 @@ DefaultASTVisitor::visit (AST::Trait &trait) visit_inner_attrs (trait); + visit (trait.get_implicit_self ()); + for (auto &generic : trait.get_generic_params ()) visit (generic); -- cgit v1.1