https://gcc.gnu.org/g:af1acc3599c0dcbc96b885bef81786a3d68b386a
commit r15-8756-gaf1acc3599c0dcbc96b885bef81786a3d68b386a Author: Pierre-Emmanuel Patry <pierre-emmanuel.pa...@embecosm.com> Date: Mon Jan 6 15:55:53 2025 +0100 gccrs: Resolved item type shall be differentiated later We need to query all namespaces and error out at a later stage if the retrieved item is wrong. gcc/rust/ChangeLog: * typecheck/rust-hir-trait-resolve.cc (TraitResolver::resolve_path_to_trait): Query all namespaces. Signed-off-by: Pierre-Emmanuel Patry <pierre-emmanuel.pa...@embecosm.com> Diff: --- gcc/rust/typecheck/rust-hir-trait-resolve.cc | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/gcc/rust/typecheck/rust-hir-trait-resolve.cc b/gcc/rust/typecheck/rust-hir-trait-resolve.cc index 82019328e16a..04af5abf8370 100644 --- a/gcc/rust/typecheck/rust-hir-trait-resolve.cc +++ b/gcc/rust/typecheck/rust-hir-trait-resolve.cc @@ -127,8 +127,10 @@ TraitResolver::resolve_path_to_trait (const HIR::TypePath &path, } else { - ok = resolver->lookup_resolved_type (path.get_mappings ().get_nodeid (), - &ref); + auto path_nodeid = path.get_mappings ().get_nodeid (); + ok = resolver->lookup_resolved_type (path_nodeid, &ref) + || resolver->lookup_resolved_name (path_nodeid, &ref) + || resolver->lookup_resolved_macro (path_nodeid, &ref); } if (!ok)