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) {