]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
gccrs: Fix ICE during path probe
authorPhilip Herron <herron.philip@googlemail.com>
Mon, 3 Feb 2025 15:15:40 +0000 (15:15 +0000)
committerPhilip Herron <philip.herron@embecosm.com>
Mon, 3 Feb 2025 19:20:26 +0000 (19:20 +0000)
It is valid for the query to fail here so its valid to not assert here.

gcc/rust/ChangeLog:

* typecheck/rust-hir-path-probe.cc (PathProbeType::visit): remove assertion

Signed-off-by: Philip Herron <herron.philip@googlemail.com>
gcc/rust/typecheck/rust-hir-path-probe.cc

index 16976c34989dbe3e6f7b42528b46112236060c9c..cdb2c58588bb33264f4259dd2b7ba35506519e91 100644 (file)
@@ -212,8 +212,8 @@ PathProbeType::visit (HIR::TypeAlias &alias)
     {
       HirId tyid = alias.get_mappings ().get_hirid ();
       TyTy::BaseType *ty = nullptr;
-      bool ok = query_type (tyid, &ty);
-      rust_assert (ok);
+      if (!query_type (tyid, &ty))
+       return;
 
       PathProbeCandidate::ImplItemCandidate impl_item_candidate{&alias,
                                                                current_impl};
@@ -232,8 +232,8 @@ PathProbeType::visit (HIR::ConstantItem &constant)
     {
       HirId tyid = constant.get_mappings ().get_hirid ();
       TyTy::BaseType *ty = nullptr;
-      bool ok = query_type (tyid, &ty);
-      rust_assert (ok);
+      if (!query_type (tyid, &ty))
+       return;
 
       PathProbeCandidate::ImplItemCandidate impl_item_candidate{&constant,
                                                                current_impl};
@@ -252,8 +252,8 @@ PathProbeType::visit (HIR::Function &function)
     {
       HirId tyid = function.get_mappings ().get_hirid ();
       TyTy::BaseType *ty = nullptr;
-      bool ok = query_type (tyid, &ty);
-      rust_assert (ok);
+      if (!query_type (tyid, &ty))
+       return;
 
       PathProbeCandidate::ImplItemCandidate impl_item_candidate{&function,
                                                                current_impl};