From: Mahmoud Mohamed Date: Sun, 12 Mar 2023 23:26:13 +0000 (+0300) Subject: gccrs: hir: Fix ReferencePattern typechecking X-Git-Tag: basepoints/gcc-15~2791 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=a042b4954051709014d88a814185e4d33ba3afa8;p=thirdparty%2Fgcc.git gccrs: hir: Fix ReferencePattern typechecking The visit for TypeCheckPattern::visit (HIR::ReferencePattern) was missing an assignment to infered gcc/rust/ChangeLog: * typecheck/rust-hir-type-check-pattern.cc (TypeCheckPattern::visit): Add the missing infered type assignment Signed-off-by: Mahmoud Mohamed --- diff --git a/gcc/rust/typecheck/rust-hir-type-check-pattern.cc b/gcc/rust/typecheck/rust-hir-type-check-pattern.cc index e4cf1a8ac982..c2c39c962277 100644 --- a/gcc/rust/typecheck/rust-hir-type-check-pattern.cc +++ b/gcc/rust/typecheck/rust-hir-type-check-pattern.cc @@ -355,8 +355,14 @@ TypeCheckPattern::visit (HIR::ReferencePattern &pattern) parent->as_string ().c_str ()); TyTy::ReferenceType *ref_ty_ty = static_cast (parent); - TypeCheckPattern::Resolve (pattern.get_referenced_pattern ().get (), - ref_ty_ty->get_base ()); + TyTy::BaseType *infered_base + = TypeCheckPattern::Resolve (pattern.get_referenced_pattern ().get (), + ref_ty_ty->get_base ()); + infered + = new TyTy::ReferenceType (pattern.get_pattern_mappings ().get_hirid (), + TyTy::TyVar (infered_base->get_ref ()), + pattern.is_mut () ? Mutability::Mut + : Mutability::Imm); } void