diff options
author | Mahmoud Mohamed <mahadelr19@gmail.com> | 2023-03-13 02:26:13 +0300 |
---|---|---|
committer | Arthur Cohen <arthur.cohen@embecosm.com> | 2024-01-16 18:21:09 +0100 |
commit | a042b4954051709014d88a814185e4d33ba3afa8 (patch) | |
tree | 475bec5cd3c46b7338c2392ddc0e2f6f7db8af69 /gcc | |
parent | 2046aec032f743023a5e353735255d951e2e54d6 (diff) | |
download | gcc-a042b4954051709014d88a814185e4d33ba3afa8.zip gcc-a042b4954051709014d88a814185e4d33ba3afa8.tar.gz gcc-a042b4954051709014d88a814185e4d33ba3afa8.tar.bz2 |
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 <mahadelr19@gmail.com>
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/rust/typecheck/rust-hir-type-check-pattern.cc | 10 |
1 files changed, 8 insertions, 2 deletions
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<TyTy::ReferenceType *> (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 |