From: Muhammad Mahad Date: Sat, 2 Sep 2023 10:18:20 +0000 (+0500) Subject: gccrs: [E0532] Pattern arm did not match expected kind X-Git-Tag: basepoints/gcc-15~2172 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=5372086cf5243fa52c09bed8db49fe12918ab746;p=thirdparty%2Fgcc.git gccrs: [E0532] Pattern arm did not match expected kind 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 --- diff --git a/gcc/rust/typecheck/rust-hir-type-check-pattern.cc b/gcc/rust/typecheck/rust-hir-type-check-pattern.cc index 8e9dd556a3c0..9a74e159f1b2 100644 --- a/gcc/rust/typecheck/rust-hir-type-check-pattern.cc +++ b/gcc/rust/typecheck/rust-hir-type-check-pattern.cc @@ -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; } diff --git a/gcc/testsuite/rust/compile/issue-2029.rs b/gcc/testsuite/rust/compile/issue-2029.rs index 78569631eb11..dab200d7d8e3 100644 --- a/gcc/testsuite/rust/compile/issue-2029.rs +++ b/gcc/testsuite/rust/compile/issue-2029.rs @@ -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 } => () } }