From 45748256ef51ae1fcd6bb033d057dc46756ebb4f Mon Sep 17 00:00:00 2001 From: Havvy Date: Mon, 11 Jun 2018 13:26:03 -0700 Subject: [PATCH 1/2] Long diagnostic for E0538 --- src/libsyntax/diagnostic_list.rs | 31 ++++++++++++++++++++++++++++++- 1 file changed, 30 insertions(+), 1 deletion(-) diff --git a/src/libsyntax/diagnostic_list.rs b/src/libsyntax/diagnostic_list.rs index 9775a6475ccd6..1c78cac6b70f2 100644 --- a/src/libsyntax/diagnostic_list.rs +++ b/src/libsyntax/diagnostic_list.rs @@ -93,6 +93,36 @@ For more information about the cfg attribute, read: https://doc.rust-lang.org/reference.html#conditional-compilation "##, +E0538: r##" +Attribute contains multiple of the same meta item. + +Erroneous code example: + +```compile_fail,E0538 +#[deprecated( + since="1.0.0", + note="First deprecation note.", + note="Second deprecation note." // error: multiple same meta item +)] +fn deprecated_function() {} +``` + +Meta items are the key-value pairs inside of an attribute. Each key may only be +used once in each attribute. + +To fix the problem, remove all but one of the meta items with the same key. + +Example: + +``` +#[deprecated( + since="1.0.0", + note="First deprecation note." +)] +fn deprecated_function() {} +``` +"##, + E0541: r##" An unknown meta item was used. @@ -347,7 +377,6 @@ and likely to change in the future. } register_diagnostics! { - E0538, // multiple [same] items E0539, // incorrect meta item E0540, // multiple rustc_deprecated attributes E0542, // missing 'since' From e9e0ca0382e9e5da4db89f22ec0de15dbd966d32 Mon Sep 17 00:00:00 2001 From: Havvy Date: Mon, 11 Jun 2018 17:21:15 -0700 Subject: [PATCH 2/2] Slightly better summary for E0538 --- src/libsyntax/diagnostic_list.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/libsyntax/diagnostic_list.rs b/src/libsyntax/diagnostic_list.rs index 1c78cac6b70f2..ab8317bfa027e 100644 --- a/src/libsyntax/diagnostic_list.rs +++ b/src/libsyntax/diagnostic_list.rs @@ -94,7 +94,7 @@ https://doc.rust-lang.org/reference.html#conditional-compilation "##, E0538: r##" -Attribute contains multiple of the same meta item. +Attribute contains same meta item more than once. Erroneous code example: