diff options
author | Muhammad Mahad <mahadtxt@gmail.com> | 2023-08-17 10:25:33 +0500 |
---|---|---|
committer | Philip Herron <philip.herron@embecosm.com> | 2023-08-17 09:53:37 +0000 |
commit | 3ef836fb091a14f083a31c009a9b89a6bfa9192c (patch) | |
tree | 86138a5b01b8f12c5f94f611a9be782b55b83a73 | |
parent | 0110145c1de18fb7859f0801c8d91edcf82b6c7d (diff) | |
download | gcc-3ef836fb091a14f083a31c009a9b89a6bfa9192c.zip gcc-3ef836fb091a14f083a31c009a9b89a6bfa9192c.tar.gz gcc-3ef836fb091a14f083a31c009a9b89a6bfa9192c.tar.bz2 |
gccrs: [E0380] Use of auto trait with method or associated item
gcc/rust/ChangeLog:
* parse/rust-parse-impl.h (Parser::parse_trait):
added errorcode & updated error message.
gcc/testsuite/ChangeLog:
* rust/compile/auto_trait_invalid.rs:
Updated comment.
Signed-off-by: Muhammad Mahad <mahadtxt@gmail.com>
-rw-r--r-- | gcc/rust/parse/rust-parse-impl.h | 4 | ||||
-rw-r--r-- | gcc/testsuite/rust/compile/auto_trait_invalid.rs | 2 |
2 files changed, 3 insertions, 3 deletions
diff --git a/gcc/rust/parse/rust-parse-impl.h b/gcc/rust/parse/rust-parse-impl.h index 49e8a5c..e54c7ef 100644 --- a/gcc/rust/parse/rust-parse-impl.h +++ b/gcc/rust/parse/rust-parse-impl.h @@ -4923,8 +4923,8 @@ Parser<ManagedTokenSource>::parse_trait (AST::Visibility vis, if (is_auto_trait && !trait_items.empty ()) { - add_error ( - Error (locus, "associated items are forbidden within auto traits")); + add_error (Error (locus, ErrorCode::E0380, + "auto traits cannot have associated items")); // FIXME: unsure if this should be done at parsing time or not for (const auto &item : trait_items) diff --git a/gcc/testsuite/rust/compile/auto_trait_invalid.rs b/gcc/testsuite/rust/compile/auto_trait_invalid.rs index 16dca57..66e4553 100644 --- a/gcc/testsuite/rust/compile/auto_trait_invalid.rs +++ b/gcc/testsuite/rust/compile/auto_trait_invalid.rs @@ -2,7 +2,7 @@ #![feature(optin_builtin_traits)] -unsafe auto trait Invalid { // { dg-error "associated items are forbidden within auto traits" } +unsafe auto trait Invalid { // { dg-error "auto traits cannot have associated items" } fn foo(); // { dg-message "remove this item" } fn bar() {} // { dg-message "remove this item" } |