From: Philip Herron Date: Fri, 21 Apr 2023 16:52:01 +0000 (+0100) Subject: gccrs: Fix ICE when we dont get a reference type X-Git-Tag: basepoints/gcc-15~2615 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=73ed16c0f8bc157bcb905e87cffcfd616ee7ea04;p=thirdparty%2Fgcc.git gccrs: Fix ICE when we dont get a reference type gcc/rust/ChangeLog: * typecheck/rust-hir-type-check-pattern.cc (TypeCheckPattern::visit): return so we dont hit undefined behaviour Signed-off-by: Philip Herron --- diff --git a/gcc/rust/typecheck/rust-hir-type-check-pattern.cc b/gcc/rust/typecheck/rust-hir-type-check-pattern.cc index f793b61cd99c..bde707682387 100644 --- a/gcc/rust/typecheck/rust-hir-type-check-pattern.cc +++ b/gcc/rust/typecheck/rust-hir-type-check-pattern.cc @@ -362,8 +362,11 @@ void TypeCheckPattern::visit (HIR::ReferencePattern &pattern) { if (parent->get_kind () != TyTy::TypeKind::REF) - rust_error_at (pattern.get_locus (), "expected %s, found reference", - parent->as_string ().c_str ()); + { + rust_error_at (pattern.get_locus (), "expected %s, found reference", + parent->as_string ().c_str ()); + return; + } TyTy::ReferenceType *ref_ty_ty = static_cast (parent); TyTy::BaseType *infered_base