https://gcc.gnu.org/g:a929d6573468882a3e7217f5bd0ff65764e5a631

commit r15-8103-ga929d6573468882a3e7217f5bd0ff65764e5a631
Author: Nobel Singh <nobel2...@gmail.com>
Date:   Mon Apr 22 00:26:12 2024 +0545

    gccrs: Handle structs as scrutinee for match expressions
    
    gcc/rust/ChangeLog:
    
            * backend/rust-compile-expr.cc (check_match_scrutinee): Handle 
structs
    
    Signed-off-by: Nobel Singh <nobel2...@gmail.com>

Diff:
---
 gcc/rust/backend/rust-compile-expr.cc | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/gcc/rust/backend/rust-compile-expr.cc 
b/gcc/rust/backend/rust-compile-expr.cc
index 4d43a444221d..ac85628d03c7 100644
--- a/gcc/rust/backend/rust-compile-expr.cc
+++ b/gcc/rust/backend/rust-compile-expr.cc
@@ -954,8 +954,8 @@ check_match_scrutinee (HIR::MatchExpr &expr, Context *ctx)
       // this will need to change but for now the first pass implementation,
       // lets assert this is the case
       TyTy::ADTType *adt = static_cast<TyTy::ADTType *> (scrutinee_expr_tyty);
-      rust_assert (adt->is_enum ());
-      rust_assert (adt->number_of_variants () > 0);
+      if (adt->is_enum ())
+       rust_assert (adt->number_of_variants () > 0);
     }
   else if (scrutinee_kind == TyTy::TypeKind::FLOAT)
     {

Reply via email to