From a042b4954051709014d88a814185e4d33ba3afa8 Mon Sep 17 00:00:00 2001 From: Mahmoud Mohamed Date: Mon, 13 Mar 2023 02:26:13 +0300 Subject: 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 --- gcc/rust/typecheck/rust-hir-type-check-pattern.cc | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) (limited to 'gcc') diff --git a/gcc/rust/typecheck/rust-hir-type-check-pattern.cc b/gcc/rust/typecheck/rust-hir-type-check-pattern.cc index e4cf1a8..c2c39c9 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 -- cgit v1.1