From: Muhammad Mahad Date: Thu, 17 Aug 2023 10:49:15 +0000 (+0500) Subject: gccrs: Invalid order of generic parameters X-Git-Tag: basepoints/gcc-15~2201 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=c7c9bbaa1a12c47ccd6e6c13cca6161e59f4fa5c;p=thirdparty%2Fgcc.git gccrs: Invalid order of generic parameters Added more userfriendly message. gcc/rust/ChangeLog: * parse/rust-parse-impl.h (Parser::parse_generic_params): Added more user friendly message. gcc/testsuite/ChangeLog: * rust/compile/generics13.rs: for dejagnu, Signed-off-by: Muhammad Mahad --- diff --git a/gcc/rust/parse/rust-parse-impl.h b/gcc/rust/parse/rust-parse-impl.h index 971d8c849551..d156ac2e48b1 100644 --- a/gcc/rust/parse/rust-parse-impl.h +++ b/gcc/rust/parse/rust-parse-impl.h @@ -3142,9 +3142,12 @@ Parser::parse_generic_params (EndTokenPred is_end_token) // FIXME: Add reordering hint if (order_error) - rust_error_at (generic_params.front ()->get_locus (), - "invalid order for generic parameters: lifetimes should " - "always come before types"); + { + Error error (generic_params.front ()->get_locus (), + "invalid order for generic parameters: lifetime parameters " + "must be declared prior to type and const parameters"); + add_error (std::move (error)); + } generic_params.shrink_to_fit (); return generic_params; diff --git a/gcc/testsuite/rust/compile/generics13.rs b/gcc/testsuite/rust/compile/generics13.rs index 05c75c5f63d7..b6b5eddae66a 100644 --- a/gcc/testsuite/rust/compile/generics13.rs +++ b/gcc/testsuite/rust/compile/generics13.rs @@ -1 +1 @@ -struct Foo; // { dg-error "invalid order for generic parameters: lifetimes should always come before types" } +struct Foo; // { dg-error "invalid order for generic parameters: lifetime parameters must be declared prior to type and const parameters" }