From 5db4f84f883513ff062f77c7eca5fdceeb58c825 Mon Sep 17 00:00:00 2001 From: Muhammad Mahad Date: Wed, 2 Aug 2023 16:21:15 +0500 Subject: gccrs: [E0308] mismatch types on assignment This errorcode emits when there are mismatch types between lhs & rhs of assignment operator & refactored message. This error code was used in many test cases, so updated the error comments. gcc/rust/ChangeLog: * typecheck/rust-unify.cc (UnifyRules::emit_type_mismatch): refactored & called error function. gcc/testsuite/ChangeLog: * rust/compile/arrays1.rs: changed comment to pass testcase. * rust/compile/bad_type1.rs: likewise. * rust/compile/bad_type2.rs: likewise. * rust/compile/const_generics_6.rs: likewise. * rust/compile/deadcode_err1.rs: likewise. * rust/compile/deadcode_err2.rs: likewise. * rust/compile/func1.rs: likewise. * rust/compile/func3.rs: likewise. * rust/compile/func4.rs: likewise. * rust/compile/func5.rs: likewise. * rust/compile/generics1.rs: likewise. * rust/compile/generics2.rs: likewise. * rust/compile/generics3.rs: likewise. * rust/compile/implicit_returns_err1.rs: likewise. * rust/compile/implicit_returns_err2.rs: likewise. * rust/compile/implicit_returns_err3.rs: likewise. * rust/compile/implicit_returns_err4.rs: likewise. * rust/compile/issue-1152.rs: likewise. * rust/compile/issue-2477.rs: likewise. * rust/compile/reference1.rs: likewise. * rust/compile/stmt_with_block_err1.rs: likewise. * rust/compile/traits1.rs: likewise. * rust/compile/traits2.rs: likewise. * rust/compile/tuple_mismatch.rs: likewise. * rust/compile/tuple_struct3.rs: likewise. * rust/compile/mismatched-types.rs: New test from rustc. Signed-off-by: Muhammad Mahad --- gcc/rust/typecheck/rust-unify.cc | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'gcc/rust') diff --git a/gcc/rust/typecheck/rust-unify.cc b/gcc/rust/typecheck/rust-unify.cc index 43cb57b..3027f09 100644 --- a/gcc/rust/typecheck/rust-unify.cc +++ b/gcc/rust/typecheck/rust-unify.cc @@ -122,7 +122,8 @@ UnifyRules::emit_type_mismatch () const rich_location r (line_table, locus); r.add_range (lhs.get_locus ()); r.add_range (rhs.get_locus ()); - rust_error_at (r, "expected %<%s%> got %<%s%>", + rust_error_at (r, ErrorCode::E0308, + "mismatched types, expected %qs but got %qs", expected->get_name ().c_str (), expr->get_name ().c_str ()); } -- cgit v1.1