From: Arthur Cohen <arthur.co...@embecosm.com>

gcc/rust/ChangeLog:

        * backend/rust-compile-expr.cc (check_match_scrutinee): Allow anything 
to be used as a
        match scrutinee, not just ADTs.
---
 gcc/rust/backend/rust-compile-expr.cc | 6 +-----
 1 file changed, 1 insertion(+), 5 deletions(-)

diff --git a/gcc/rust/backend/rust-compile-expr.cc 
b/gcc/rust/backend/rust-compile-expr.cc
index 353a498dc4e..887e476f234 100644
--- a/gcc/rust/backend/rust-compile-expr.cc
+++ b/gcc/rust/backend/rust-compile-expr.cc
@@ -31,6 +31,7 @@
 #include "convert.h"
 #include "print-tree.h"
 #include "rust-system.h"
+#include "rust-tyty.h"
 
 namespace Rust {
 namespace Compile {
@@ -1035,11 +1036,6 @@ check_match_scrutinee (HIR::MatchExpr &expr, Context 
*ctx)
     }
 
   TyTy::TypeKind scrutinee_kind = scrutinee_expr_tyty->get_kind ();
-  rust_assert ((TyTy::is_primitive_type_kind (scrutinee_kind)
-               && scrutinee_kind != TyTy::TypeKind::NEVER)
-              || scrutinee_kind == TyTy::TypeKind::ADT
-              || scrutinee_kind == TyTy::TypeKind::TUPLE
-              || scrutinee_kind == TyTy::TypeKind::REF);
 
   if (scrutinee_kind == TyTy::TypeKind::FLOAT)
     {
-- 
2.45.2

Reply via email to