https://gcc.gnu.org/g:9e45b86996ebff8bc9ac99170a2d0e1374c8fd7f
commit 9e45b86996ebff8bc9ac99170a2d0e1374c8fd7f Author: Nobel Singh <nobel2...@gmail.com> Date: Mon Apr 22 00:26:12 2024 +0545 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 4d79501ccc3b..6f37dd8a23ef 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) {