[gcc r14-7938] gccrs: Invalid order of generic parameters
Arthur Cohen
cohenarthur@gcc.gnu.org
Tue Jan 16 18:08:58 GMT 2024
https://gcc.gnu.org/g:c7c9bbaa1a12c47ccd6e6c13cca6161e59f4fa5c
commit r14-7938-gc7c9bbaa1a12c47ccd6e6c13cca6161e59f4fa5c
Author: Muhammad Mahad <mahadtxt@gmail.com>
Date: Thu Aug 17 15:49:15 2023 +0500
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 <mahadtxt@gmail.com>
Diff:
---
gcc/rust/parse/rust-parse-impl.h | 9 ++++++---
gcc/testsuite/rust/compile/generics13.rs | 2 +-
2 files changed, 7 insertions(+), 4 deletions(-)
diff --git a/gcc/rust/parse/rust-parse-impl.h b/gcc/rust/parse/rust-parse-impl.h
index 971d8c84955..d156ac2e48b 100644
--- a/gcc/rust/parse/rust-parse-impl.h
+++ b/gcc/rust/parse/rust-parse-impl.h
@@ -3142,9 +3142,12 @@ Parser<ManagedTokenSource>::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 05c75c5f63d..b6b5eddae66 100644
--- a/gcc/testsuite/rust/compile/generics13.rs
+++ b/gcc/testsuite/rust/compile/generics13.rs
@@ -1 +1 @@
-struct Foo<A, 'a>; // { dg-error "invalid order for generic parameters: lifetimes should always come before types" }
+struct Foo<A, 'a>; // { dg-error "invalid order for generic parameters: lifetime parameters must be declared prior to type and const parameters" }
More information about the Gcc-cvs
mailing list