about summary refs log tree commit diff
path: root/src/libsyntax
diff options
context:
space:
mode:
authorHavvy <ryan.havvy@gmail.com>2018-06-11 13:26:03 -0700
committerHavvy <ryan.havvy@gmail.com>2018-06-11 15:49:54 -0700
commit45748256ef51ae1fcd6bb033d057dc46756ebb4f (patch)
tree650972e50b806bf364b13ab4568cecb95ce7948c /src/libsyntax
parentcf3fcab9732f080222b21bce8399c97e97f2e3e9 (diff)
downloadrust-45748256ef51ae1fcd6bb033d057dc46756ebb4f.tar.gz
rust-45748256ef51ae1fcd6bb033d057dc46756ebb4f.zip
Long diagnostic for E0538
Diffstat (limited to 'src/libsyntax')
-rw-r--r--src/libsyntax/diagnostic_list.rs31
1 files changed, 30 insertions, 1 deletions
diff --git a/src/libsyntax/diagnostic_list.rs b/src/libsyntax/diagnostic_list.rs
index 9775a6475cc..1c78cac6b70 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'