diff options
author | Muhammad Mahad <mahadtxt@gmail.com> | 2023-08-17 15:49:15 +0500 |
---|---|---|
committer | CohenArthur <arthur.cohen@embecosm.com> | 2023-08-23 10:02:15 +0000 |
commit | a6134331c80856bdcb3269bee81b2c80e728f6f8 (patch) | |
tree | 579ceb0b401e2ad39848df98d118258fc178bde7 /gcc | |
parent | ba4db84d492626c95cad491877a5bd7e5cc412e8 (diff) | |
download | gcc-a6134331c80856bdcb3269bee81b2c80e728f6f8.zip gcc-a6134331c80856bdcb3269bee81b2c80e728f6f8.tar.gz gcc-a6134331c80856bdcb3269bee81b2c80e728f6f8.tar.bz2 |
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>
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/rust/parse/rust-parse-impl.h | 9 | ||||
-rw-r--r-- | 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 e54c7ef..c52be32 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 05c75c5..b6b5edd 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" } |