diff options
Diffstat (limited to 'gcc/rust/backend/rust-compile-expr.h')
-rw-r--r-- | gcc/rust/backend/rust-compile-expr.h | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/gcc/rust/backend/rust-compile-expr.h b/gcc/rust/backend/rust-compile-expr.h index 9895540..dc4f909 100644 --- a/gcc/rust/backend/rust-compile-expr.h +++ b/gcc/rust/backend/rust-compile-expr.h @@ -221,6 +221,10 @@ public: translated = ctx->get_backend ()->var_expression (var, expr.get_locus ()); } + else if (ctx->lookup_pattern_binding (ref, &translated)) + { + return; + } else { rust_fatal_error (expr.get_locus (), @@ -1043,6 +1047,8 @@ public: void visit (HIR::DereferenceExpr &expr) override; + void visit (HIR::MatchExpr &expr) override; + protected: tree compile_dyn_dispatch_call (const TyTy::DynamicObjectType *dyn, TyTy::BaseType *receiver, |