[gcc/devel/rust/master] Resolved item type shall be differentiated later
Thomas Schwinge
tschwinge@gcc.gnu.org
Wed Mar 26 14:09:52 GMT 2025
https://gcc.gnu.org/g:05348933bd4708a91bfce94720890f7d6fac615f
commit 05348933bd4708a91bfce94720890f7d6fac615f
Author: Pierre-Emmanuel Patry <pierre-emmanuel.patry@embecosm.com>
Date: Mon Jan 6 15:55:53 2025 +0100
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.patry@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 8b90039f2835..0048ff55b445 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)
More information about the Gcc-cvs
mailing list