]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
gccrs: [E0532] Pattern arm did not match expected kind
authorMuhammad Mahad <mahadtxt@gmail.com>
Sat, 2 Sep 2023 10:18:20 +0000 (15:18 +0500)
committerArthur Cohen <arthur.cohen@embecosm.com>
Tue, 16 Jan 2024 18:04:31 +0000 (19:04 +0100)
gcc/rust/ChangeLog:

* typecheck/rust-hir-type-check-pattern.cc (TypeCheckPattern::visit):
Added error code.

gcc/testsuite/ChangeLog:

* rust/compile/issue-2029.rs:
Updated for dejagnu testcase.

Signed-off-by: Muhammad Mahad <mahadtxt@gmail.com>
gcc/rust/typecheck/rust-hir-type-check-pattern.cc
gcc/testsuite/rust/compile/issue-2029.rs

index 8e9dd556a3c0ff92e03bd74b8449abb76bda3f2b..9a74e159f1b246d83cbccff7231eb8b7a78bddd7 100644 (file)
@@ -53,9 +53,10 @@ TypeCheckPattern::visit (HIR::TupleStructPattern &pattern)
   TyTy::BaseType *pattern_ty = TypeCheckExpr::Resolve (&pattern.get_path ());
   if (pattern_ty->get_kind () != TyTy::TypeKind::ADT)
     {
-      rust_error_at (pattern.get_locus (),
-                    "expected tuple struct/variant, found: %s",
-                    pattern_ty->get_name ().c_str ());
+      rust_error_at (
+       pattern.get_locus (), ErrorCode::E0532,
+       "expected tuple struct or tuple variant, found function %qs",
+       pattern_ty->get_name ().c_str ());
       return;
     }
 
index 78569631eb1167e4849fe6be9d4029f23e47e50d..dab200d7d8e389475750f0337c597049a72183db 100644 (file)
@@ -6,7 +6,7 @@ fn foo(_: usize) -> Foo {
 fn main() {
     match Foo(true) {
         foo(x)
-        // { dg-error "expected tuple struct/variant, found" "" { target *-*-* } .-1 }
+        // { dg-error "expected tuple struct or tuple variant, found function " "" { target *-*-* } .-1 }
         => ()
     }
 }