]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
gccrs: backend: Allow anything as a match scrutinee
authorArthur Cohen <arthur.cohen@embecosm.com>
Tue, 24 Dec 2024 11:45:09 +0000 (11:45 +0000)
committerArthur Cohen <arthur.cohen@embecosm.com>
Mon, 24 Mar 2025 12:06:53 +0000 (13:06 +0100)
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

index 353a498dc4efff5e19f37804c7dfcc6916e974c1..887e476f234a3a52f5198154309357108ad393d5 100644 (file)
@@ -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)
     {