aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorPierre-Emmanuel Patry <pierre-emmanuel.patry@embecosm.com>2025-01-06 15:55:53 +0100
committerP-E-P <32375388+P-E-P@users.noreply.github.com>2025-01-29 10:45:07 +0000
commit05348933bd4708a91bfce94720890f7d6fac615f (patch)
tree9b28a2ce17dd75792f2a5051e7e2867682b25b90 /gcc
parent47fd13da4f825706f59ffd039ce8c6cf9d4767d5 (diff)
downloadgcc-05348933bd4708a91bfce94720890f7d6fac615f.zip
gcc-05348933bd4708a91bfce94720890f7d6fac615f.tar.gz
gcc-05348933bd4708a91bfce94720890f7d6fac615f.tar.bz2
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>
Diffstat (limited to 'gcc')
-rw-r--r--gcc/rust/typecheck/rust-hir-trait-resolve.cc6
1 files 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 8b90039..0048ff5 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)